hiratinspace/specter-ai
GitHub: hiratinspace/specter-ai
一个由 Claude AI 驱动的攻击面侦测平台,并行执行多种侦察模块并自动生成风险评估报告。
Stars: 0 | Forks: 0

# SpecterAI
**攻击面情报平台**:由 Claude AI 驱动的侦测工具。
[](LICENSE)
[](https://www.python.org/)
[在线演示](https://specter-ai-8p3g.onrender.com) · [报告 Bug](https://github.com/hiratinspace/specter-ai/issues) · [用法](#usage)
## 截图
| Dashboard | 实时扫描进度 | 报告视图 |
|---|---|---|
|  |  |  |
## 目录
- [功能简介](#what-it-does)
- [工作原理](#how-it-works)
- [功能](#features)
- [用法](#usage)
- [CLI](#cli)
- [Web 仪表盘](#web-dashboard)
- [配置](#configuration)
- [环境要求](#requirements)
- [项目结构](#project-structure)
- [许可证](#license)
## 功能简介
针对目标域名或 IP 并行运行四个侦测模块,然后将汇总的发现发送给 Claude 进行 AI 驱动的分析和风险评估。输出结构化的 Markdown 报告,或者通过 Web 仪表盘实时查看,并通过 SSE 提供实时进度。
| 模块 | 收集的信息 |
|---|---|
| DNS / WHOIS | 子域名、注册商信息、DNS 记录 |
| 端口扫描 | 开放端口(前 20 快速 / 前 1000 完整)、服务 banner |
| HTTP 探测 | 标头、服务器技术指纹识别、安全配置错误 |
| SSL/TLS | 证书详情、有效期、密码弱点 |
## 工作原理
```
target ─┬─▶ DNS / WHOIS enumeration ─┐
├─▶ Port scan + banner grab ├─▶ aggregator ─▶ Claude (risk analysis) ─▶ report
├─▶ HTTP header probe │ (CLI: Markdown file · Web: live dashboard)
└─▶ SSL/TLS inspection ──────┘
```
这四个模块并发运行,它们的结果会被合并为一个结构化的摘要。该摘要将被发送给 Claude,后者会返回风险等级、关键发现以及后续步骤(以结构化 JSON 格式),随后这些内容将被渲染到最终报告中。
## 功能
- **四个并行运行的侦测模块**:DNS/WHOIS、带 banner 抓取的端口扫描、HTTP 标头分析、SSL/TLS 检查
- 通过 Claude **进行 AI 驱动的风险评估**:执行摘要、关键发现以及建议的后续步骤
- **实时 Web 仪表盘**:通过 Server-Sent Events 展示实时扫描进度,并按浏览器会话提供扫描历史记录
- **CLI 模式**:用于脚本编写或离线使用(`--no-ai` 会完全跳过 Claude 调用)
- **快速或完整扫描模式**:前 20 个端口用于快速扫描,前 1000 个端口用于更深入的覆盖
- **速率限制**(Web 仪表盘上每个 IP 每分钟限制 5 次扫描),以确保演示对所有人都可用
- **可导出的报告**:通过仪表盘下载 Markdown 或原始 JSON
## 用法
### CLI
```
pip install -r requirements.txt
export ANTHROPIC_API_KEY=your_key_here
python specter-ai.py --target example.com --mode quick
python specter-ai.py --target example.com --mode full --output report.md
python specter-ai.py --target example.com --no-ai # skip AI analysis
```
**Flags**
| Flag | 描述 |
|---|---|
| `--target / -t` | 目标域名或 IP(必填) |
| `--mode / -m` | `quick`(前 20 个端口)或 `full`(前 1000 个)。默认:`quick` |
| `--output / -o` | 输出文件名。默认:`
_report.md` |
| `--no-ai` | 跳过 Claude 分析(离线 / 无 API key) |
### Web 仪表盘
```
python3 web/app.py
# 打开 http://localhost:5000
```
通过 SSE 提供实时扫描进度,并在完成后提供完整的报告视图和扫描历史记录。尝试在一个合法的测试目标上运行它:
```
python3 specter-ai.py --target scanme.nmap.org
```
## 配置
| 变量 | 必填 | 描述 |
|---|---|---|
| `ANTHROPIC_API_KEY` | 用于 AI 分析 | Claude API key。忽略此项并传入 `--no-ai` (CLI) 或禁用 "AI 分析" (Web) 即可在没有它的情况下运行 |
| `SECRET_KEY` | 可选 | 用于 Web 仪表盘的 Flask session 签名 key。如果未提供,则回退到每次进程重启时生成的随机 key |
## 环境要求
- Python 3.10+
- `ANTHROPIC_API_KEY` 环境变量(用于 AI 分析)
```
anthropic>=0.25.0
dnspython>=2.4.0
python-whois>=0.9.0
requests>=2.31.0
flask>=3.0.0
gunicorn>=21.2.0
```
## 项目结构
```
specter-ai.py # CLI entrypoint
web/app.py # Flask web dashboard
modules/ # dns_enum, port_scan, http_probe, ssl_check
core/ # aggregator, ai_analyst (Claude integration)
report/ # Markdown report generator
assets/screenshots/ # README screenshots
```
## 许可证
Apache License 2.0。详情请参阅 [LICENSE](LICENSE)。
由 **Hirat Rahman Rahi** 使用 Python 开发,首次发布于 2026 年 4 月 8 日。
标签:Claude API, DLL 劫持, GitHub, Python, 大语言模型, 实时处理, 攻击面测绘, 无后门, 自动化渗透测试, 逆向工具