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