SherlockRen/openclaw-scanner
GitHub: SherlockRen/openclaw-scanner
面向 OpenClaw 环境的轻量级内网资产扫描器,集成端口探测、指纹识别、漏洞检查和敏感路径扫描功能。
Stars: 0 | Forks: 0
# clawscanner
[中文文档](./README.zh-CN.md)
`clawscanner` 是一个基于 Go 语言的 OpenClaw 环境内部资产扫描器。
它提供快速 TCP 端口探测、OpenClaw 指纹检测、基于版本的基础漏洞检查、敏感路径暴露检查以及 JSON 报告输出。
## 功能特性
- **目标输入**
- 单个主机/IP:`192.168.1.10`
- CIDR:`192.168.1.0/24`
- URL 输入规范化:`https://10.0.0.8`(自动提取主机名)
- 多个目标:以逗号分隔
- **端口扫描**
- 默认端口:`18789,19001,443,80,8080,8443`
- 自定义端口列表/范围:`--ports 80,443,8080` 或 `--ports 8000-8100`
- 可配置并发:`--threads`(默认:`100`)
- 可配置 TCP 超时:`--timeout` 秒(默认:`30`)
- **OpenClaw 指纹识别(仅限开放端口)**
- HTML/正文标记 (`openclaw/moltbot/clawdbot`)
- HTTP 头 (`Server` / `X-Powered-By`)
- Health API (`/api/v1/health`)
- Favicon mmh3 匹配(默认哈希:`-1172715710`)
- 按 `target + port` 聚合,多次命中时提升置信度
- **漏洞/泄露检查(仅限开放端口)**
- 通用产品的版本比较检查
- 敏感路径探测(`/.env`, `/.git/config` 等),具备基础的误报削减机制
- **报告与输出**
- 彩色终端进度 + 汇总表
- JSON 报告输出到文件(`-o`)或标准输出(省略时)
- 每个发现包含 `target`,可选 `port` 和可选 `accessUrl`
## 快速开始
### 构建
```
go build -o clawscanner ./cmd/clawscanner
```
### 运行
```
./clawscanner 192.168.1.0/24 --ports 80,443,8080 -o results.json
```
### 示例(URL 目标)
```
./clawscanner https://137.184.38.179 --ports 443 -o results.json
```
## 命令行用法
```
clawscanner [--ports 18789,8080,3000] [--threads 100] [--timeout 30] [-o results.json]
```
### 标志
- `--ports`:自定义端口列表/范围
- `--threads`:探测并发数(默认 `100`)
- `--timeout`:TCP 拨号超时时间(秒)(默认 `30`)
- `-o`:JSON 输出文件路径
- `--quiet`:禁用进度日志和美观的终端摘要
- `--requester`, `--scope`, `--time-window`, `--source`:授权元数据
## 输出格式 (JSON)
顶层字段:
- `schemaVersion`
- `taskMeta`(`taskId`,时间戳,状态,`targetCount`,`portCount`)
- `summary`(`findingCount`)
- `findings[]`
发现(Finding)字段包括:
- `findingId`, `findingType`, `severity`, `ruleId`
- `target`,可选 `port`,可选 `accessUrl`
- `evidencePattern`, `evidenceMasked`
- `confidence`, `requiresManualReview`, `falsePositiveState`, `recommendation`
## 开发
### 验证
```
./scripts/verify.sh
```
此操作运行:
1. `gofmt -w ./cmd ./internal`
2. `go vet ./...`
3. `go test ./...`
4. `go build ./...`
## 项目结构
- `cmd/clawscanner/main.go` — CLI 入口和终端输出
- `internal/discovery/` — 目标解析和 TCP/HTTP 服务发现
- `internal/vulnscan/` — 指纹识别、版本检查、路径泄露检查
- `internal/models/result.go` — 报告数据模型
- `internal/output/json.go` — JSON 报告写入器
## 注意事项
- 指纹/漏洞检查**仅针对扫描返回的开放端口**执行。
- TLS 探测当前使用宽松验证模式,以提高实际资产识别覆盖率。
标签:C2日志可视化, favicon哈希, Go语言, Homebrew安装, HTTP安全, JSON报告, OpenClaw, TCP探测, 内网资产扫描, 实时处理, 密码管理, 指纹识别, 插件系统, 敏感路径扫描, 数据统计, 日志审计, 版本比对, 程序破解, 端口扫描, 网络安全, 网络安全审计, 隐私保护