tuannguyen14/SpectreWeb-AI
GitHub: tuannguyen14/SpectreWeb-AI
一款面向手动 Web 渗透测试的自学习 AI 助手,通过 MCP 协议集成多种安全工具与 AI 分析能力,辅助安全人员绕过防御并挖掘复杂漏洞。
Stars: 9 | Forks: 3
# 👻 Spectreweb AI v6.0.0
```
███████╗██████╗ ███████╗ ██████╗████████╗██████╗ ███████╗
██╔════╝██╔══██╗██╔════╝██╔════╝╚══██╔══╝██╔══██╗██╔════╝
███████╗██████╔╝█████╗ ██║ ██║ ██████╔╝█████╗
╚════██║██╔═══╝ ██╔══╝ ██║ ██║ ██╔══██╗██╔══╝
███████║██║ ███████╗╚██████╗ ██║ ██║ ██║███████╗
╚══════╝╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝
██╗ ██╗███████╗██████╗
██║ ██║██╔════╝██╔══██╗
██║ █╗ ██║█████╗ ██████╔╝
██║███╗██║██╔══╝ ██╔══██╗
╚███╔███╔╝███████╗██████╔╝
╚══╝╚══╝ ╚══════╝╚═════╝
```
## 🎯 Spectreweb AI 为何与众不同
### ❌ 传统自动扫描器的问题
| 工具 | 局限性 |
|------|------------|
| Nuclei, Nikto | 被 WAF 拦截,基于签名,易于检测 |
| Burp Scanner | 速度慢,许可证昂贵,非 AI 原生 |
| OWASP ZAP | 噪声多,存在大量误报 |
| 通用自动化工具 | 被限速,IP 被封禁,遗漏逻辑漏洞 |
### ✅ Spectreweb AI:AI 驱动的手动测试
**Spectreweb 不是自动扫描器** – 它是用于手动渗透测试的 **AI 驱动助手**:
```
┌─────────────────────────────────────────────────────────────────────┐
│ 🎯 SPECTREWEB AI PHILOSOPHY │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ❌ Auto scan → Blocked by WAF → Fail │
│ ✅ AI analyzes → Human decides → Smart tests → Success │
│ │
│ "Don’t brute force the target – outsmart it." |
│ │
└─────────────────────────────────────────────────────────────────────┘
```
### 🔥 核心差异
| 功能 | 传统方式 | Spectreweb AI |
|---------|-------------|--------------|
| **方法** | 盲目自动扫描 | AI 引导,操作员驱动的测试 |
| **WAF 绕过** | 祈祷能行 | 生成 10+ 种智能绕过变体 |
| **Payload** | 静态字典 | 上下文感知,可变 Payload |
| **速率限制** | 被拦截 | 检测、适应并调整速率 |
| **误报** | 很多 | AI 辅助验证 |
| **逻辑漏洞** | 经常遗漏 | AI 建议业务逻辑测试用例 |
| **会话** | 无状态 | 持久化发现和上下文 |
## 🧠 自学习 AI (v4.1.0 新增!)
Spectreweb AI 包含一个 **自学习本地 AI**,它会随着您的使用变得更聪明:
```
┌─────────────────────────────────────────────────────────────────────┐
│ 🧠 SELF-LEARNING AI ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Your Scans │────▶│ Learning │────▶│ Local AI │ │
│ │ & Feedback │ │ Store (SQL) │ │ Models │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────────────────────────────┐ │
│ │ AI Orchestrator │ │
│ │ Local AI ←→ Remote AI (hybrid) │ │
│ └──────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
```
### 🎓 AI 学到了什么
| 模型 | 学习来源 | 用途 |
|-------|-------------|---------|
| **SecretClassifier** | 您的真/假阳性反馈 | 减少机密检测中的误报 |
| **EndpointRiskScorer** | 攻击历史和结果 | 优先处理高风险端点 |
| **PayloadRanker** | 实际有效的 Payload | 优先使用有效的 Payload |
### 🚀 它是如何工作的 (自动!)
```
# 1. 只需正常使用工具 - 数据会自动收集!
deep_secret_hunt("target.com") # → Secrets saved to learning store
attack_session.run_attack(...) # → Attack results saved to learning store
# 2. 标记发现以训练 AI (通过 MCP 工具或 API)
learning_label("secret_abc123", "false_positive")
learning_label("secret_xyz789", "true_positive")
# 3. 准备好后自动训练 (或手动触发)
ai_auto_train() # → Trains if 50+ labeled samples & 10+ new since last train
ai_train() # → Force train immediately
# 4. 从您的历史记录中获取智能洞察
ai_insights()
# → {"attack_effectiveness": {"sqli": 0.15, "xss": 0.08}, "recommendations": [...]}
# 5. 未来的扫描将自动使用学习到的模型!
ai_classify_secret(secret_type="aws_key", entropy=4.8, in_test_file=True)
# → {"is_real": false, "confidence": 0.85, "model_used": "ml"}
```
### 🔧 用于自学习的 MCP 工具
| 工具 | 描述 |
|------|-------------|
| `ai_status` | 获取 AI 模型和学习存储状态 |
| `ai_train` | 手动训练模型 |
| `ai_auto_train` | 如有足够新数据则自动训练 |
| `ai_insights` | 从历史记录中获取智能建议 |
| `ai_classify_secret` | 使用本地 AI 对机密进行分类 |
| `ai_score_endpoint` | 评估端点漏洞风险 |
| `learning_stats` | 查看学习存储统计信息 |
| `learning_list_findings` | 列出存储的发现 |
| `learning_label` | 标记发现 (反馈循环) |
| `learning_export` | 将学习数据导出为 JSON |
### 🔄 混合 AI 策略
- **本地 AI** (快速、免费、个性化):
- 机密分类
- 端点风险评分
- Payload 排序
- **远程 AI** (负载较重,用于复杂推理):
- 深度漏洞分析
- Exploit 构思与优化
- 报告撰写与润色
AI 编排器会自动选择最合适的后端。
## ⚡ 核心功能
### 🛡️ WAF 绕过与规避
```
# 为任何 payload 生成 10+ 种绕过变体
waf_bypass("")
# 输出: URL 编码, 双重编码, unicode, hex,
# 大小写混合, 空字节, 注释等。
```
### 🔀 Payload 变异
```
# 使用多种技术变异 payload
mutate_payload("' OR '1'='1", "case,encode,whitespace,comments")
# 输出: 15+ 种变体以绕过过滤器
```
### 🔑 IDOR 测试
```
# 为任何 ID 生成 IDOR 测试用例
generate_idor_tests("12345")
# → 递减, 递增, 零, 负数, 数组注入
generate_idor_tests("550e8400-e29b-41d4-a716-446655440000")
# → null UUID, 修改后的 UUID 等。
```
### 🔓 认证绕过
```
# 26 种绕过认证的技术
generate_auth_bypass("/admin")
# → 方法覆盖, 路径操纵, header 绕过
```
### 👑 权限提升
```
# privesc 测试用例
generate_privesc_tests("user")
# → role 参数, 隐藏参数, JWT claims
```
### 📊 响应分析
```
# 分析错误以进行信息泄露
analyze_error_response(error_page)
# → stack traces, DB 错误, 路径, 版本
# 从响应中提取 secrets
extract_secrets(response_body)
# → API keys, tokens, 密码, 内部 IPs
```
## 🚀 快速开始
### 1. 克隆并安装
```
git clone https://github.com/your-repo/spectreweb-ai
cd spectreweb-ai
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装依赖项
pip install -r requirements.txt
```
### 2. 安装安全工具 (推荐在 Kali Linux 上)
```
# ProjectDiscovery 工具
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/projectdiscovery/subfinder/cmd/subfinder@latest
go install github.com/projectdiscovery/katana/cmd/katana@latest
go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
# 其他工具
go install github.com/tomnomnom/waybackurls@latest
go install github.com/lc/gau/v2/cmd/gau@latest
go install github.com/hahwul/dalfox/v2@latest
# 添加到 PATH
echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.zshrc
```
### 3. 启动 Spectreweb 服务器
```
python server.py
# 输出:
# 👻 Spectreweb AI v6.0.0 - 正在启动...
# ✅ 服务器运行于 http://127.0.0.1:8888
```
### 4. 配置 MCP (适用于 Windsurf / Claude / 兼容 MCP 的客户端)
```
{
"mcpServers": {
"spectreweb-ai": {
"command": "python",
"args": ["/path/to/spectreweb-ai/mcp_client.py"],
"env": {
"SPECTREWEB_SERVER": "http://127.0.0.1:8888"
}
}
}
}
```
## 🛠️ 工具概览 (60+ MCP 工具)
### 🎯 手动测试 (操作员优先)
| 工具 | 描述 |
|------|-------------|
| `mutate_payload` | 🔀 使用绕过技术变异 Payload |
| `get_polyglot` | 🎯 适用于多种上下文的 Polyglot Payload |
| `waf_bypass` | 🛡️ 生成 WAF 绕过变体 |
| `test_rate_limit` | ⏱️ 测试速率限制行为 |
| `generate_idor_tests` | 🔑 IDOR 测试用例 (数字、UUID、Base64) |
| `generate_privesc_tests` | 👑 权限提升测试 |
| `generate_auth_bypass` | 🔓 26 种认证绕过技术 |
| `analyze_error_response` | 🔍 信息泄露分析 |
| `extract_secrets` | 🔐 从响应中提取机密 |
| `suggest_tests` | 💡 AI 建议的后续测试 |
### 🧠 AI 分析
| 工具 | 描述 |
|------|-------------|
| `ai_analyze` | 自动分析漏洞与技术检测 |
| `ai_detect_tech` | 识别 CMS、框架、WAF |
| `ai_classify_endpoint` | 将 URL 分类 → 攻击向量 |
| `ai_get_hints` | 上下文感知的挖掘提示 |
### 📋 智能报告
| 工具 | 描述 |
|------|-------------|
| `load_context` | 🚨 加载先前的发现 (请首先调用!) |
| `get_report` | 获取/创建持久化报告 |
| `add_finding` | 添加发现及其严重程度 |
| `get_next_steps` | AI 建议的后续步骤 |
### 🔍 侦察
| 工具 | 描述 |
|------|-------------|
| `httpx_probe` | HTTP 探测与技术检测 |
| `subfinder_scan` | 子域名发现 |
| `katana_crawl` | 现代网络爬虫 |
| `waybackurls` | 历史 URL (带限制) |
| `gau_urls` | 来自多种来源的 URL |
| `naabu_scan` | 快速端口扫描 |
### ⚔️ 攻击工具
| 工具 | 描述 |
|------|-------------|
| `test_xss` / `get_xss_advanced` | 带有上下文感知 Payload 的 XSS |
| `test_sqli` / `get_sqli_advanced` | 带有特定数据库 Payload 的 SQLi |
| `test_ssrf` / `get_ssrf_bypasses` | 带有绕过技术的 SSRF |
| `test_race` | 竞态条件测试 |
| `test_graphql` | GraphQL 内省与攻击 |
| `jwt_attack_*` | JWT none/混淆/注入 |
| `get_nosql_payloads` | NoSQL 注入 Payload |
### 🔐 Payload 与编码
| 工具 | 描述 |
|------|-------------|
| `encode_payload` | URL, Base64, HTML, Hex |
| `decode_payload` | 解码任何格式 |
| `get_wordlist` | SecLists (带自动解析) |
## 💡 真实工作流
### Bug Bounty 示例
```
You: "Test target.com for vulnerabilities"
Spectreweb AI:
1. 🔍 Recon: httpx_probe → Cloudflare WAF detected
2. 🛡️ Adapt: waf_bypass payloads generated
3. 🎯 Test: mutate_payload for XSS with 15 variations
4. 📊 Analyze: Found reflected input, WAF blocking