yavuzscnplt/vulnpilot

GitHub: yavuzscnplt/vulnpilot

基于 Claude 大模型编排的 Web 应用安全扫描器,通过智能规划、调度 nuclei/subfinder 等工具及内置探针,实现自动化漏洞扫描与结果分类报告。

Stars: 0 | Forks: 0

# 🛡️ VulnPilot **AI 编排的 Web 应用安全扫描器。** VulnPilot 使用由 Claude 驱动的“大脑”来规划安全扫描,驱动成熟的开源工具(nuclei, subfinder)以及内置探针,然后将结果分类整理成人类可读的报告——JSON, Markdown 和独立的 HTML 页面。 它是一个**安全编排器**,而不是又一个扫描器:它没有重新发明检测引擎,而是让优秀的引擎协同工作,并在其上添加判断层。 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/yavuzscnplt/vulnpilot/actions/workflows/ci.yml) ![Python](https://img.shields.io/badge/python-3.10%2B-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![Status](https://img.shields.io/badge/status-alpha-orange) ## ⚠️ 免责声明 / 法律声明 VulnPilot **仅供授权的安全测试使用。** 仅对您拥有或获得明确书面测试许可的系统运行它。 ## 工作原理 ``` ┌──────────┐ ┌───────────────┐ ┌──────────────┐ │ Hedef │ ──▶ │ 🧠 AI PLAN │ ──▶ │ ▶ EXECUTE │ └──────────┘ │ araç seçimi │ │ araçları koş │ └───────────────┘ └──────┬───────┘ │ ┌───────────────┐ ▼ 📄 Rapor ◀────── │ 📝 AI TRİAJ │ ◀── bulguları topla JSON/MD/HTML │ özet + öncelik │ └───────────────┘ ``` 1. **规划** — Claude 查看目标及该机器上可用的工具,并选择安全的扫描计划(不会建议破坏性/DoS 操作)。 2. **执行** — 选定的工具依次运行。如果没有外部工具,内部的 Python 探针依然能产生真实的发现。 3. **解读** — Claude 将原始发现转化为执行摘要 + 优先处理的修复列表。 ## 工具 | 工具 | 类型 | 功能 | 要求 | |------|-----|----------|------------| | `http_probe` | 内置 | 安全标头、Cookie 标志、技术信息泄露 | — (始终运行) | | `tls_probe` | 内置 | TLS 版本 + 证书有效性/过期时间 | — (始终运行) | | `nuclei` | 外部 | 已知漏洞/CVE 及错误配置扫描 | [`nuclei`](https://github.com/projectdiscovery/nuclei) | | `subfinder` | 外部 | 被动子域名发现 | [`subfinder`](https://github.com/projectdiscovery/subfinder) | 添加新工具只需一个文件:继承 `Tool` 类,并使用 `@register` 标记。 ## 安装说明 ``` git clone https://github.com/yavuzscnplt/vulnpilot.git cd vulnpilot pip install -e . # AI beyni için (opsiyonel): pip install -e ".[ai]" cp .env.example .env # ve ANTHROPIC_API_KEY doldur ``` 外部工具(可选,用于更深入的扫描): ``` # ProjectDiscovery araçları — Go gerekir go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest ``` ## 用法 ``` # Kayıtlı araçları ve durumlarını gör vulnpilot tools # Bir hedefi tara (yetki onayı ister) vulnpilot scan https://ornek.com # Kendi lokal uygulamanı test et, onayı atla, raporu aç vulnpilot scan http://localhost:8080 --yes --open # Rapor klasörünü değiştir vulnpilot scan https://ornek.com -o ./ciktilar ``` 输出: `reports/_.{json,md,html}` ### 终端输出示例 ``` ╭───────────────────────────╮ │ VulnPilot v0.1 │ │ AI-orkestralı güvenlik... │ ╰───────────────────────────╯ Hedef: http://localhost:8080 (lokal/özel) Kullanılabilir araçlar: http_probe, tls_probe AI beyni: açık 🧠 AI araç planı çıkarıyor 📋 http_probe, tls_probe ▶ http_probe ✓ http_probe: 4 bulgu ▶ tls_probe ✓ tls_probe: 1 bulgu 📝 AI özet/triaj yazıyor ``` ## 架构 ``` vulnpilot/ ├── cli.py # Typer + Rich terminal arayüzü ├── config.py # ortam değişkeni tabanlı ayarlar ├── scope.py # yetki/kapsam koruması (etik omurga) ├── llm.py # Claude sarmalayıcı + AI-kapalı fallback ├── orchestrator.py # plan → execute → interpret döngüsü ├── models.py # tipli veri modelleri (Finding, ScanReport…) ├── report.py # JSON / Markdown / HTML üretimi └── tools/ # eklenti araçlar (@register ile kaydolur) ├── base.py # Tool ABC + registry ├── http_probe.py ├── tls_probe.py ├── nuclei.py └── subfinder.py ``` 设计原则:插件架构(新工具 = 一个文件)、优雅降级(即使缺少工具/AI 也能运行)、单文件可共享 HTML 报告,以及**授权优先** — 未经批准绝不发送任何流量。 ## 开发 ``` pip install -e ".[dev]" pytest # testler (ağ/harici araç gerektirmez) ruff check . # lint ``` ## 路线图 - [ ] 用于主动扫描的 OWASP ZAP 集成 - [ ] API (REST/GraphQL) endpoint 发现和 fuzzing - [ ] 并行工具执行 - [ ] 自主代理模式(AI 尝试自己的 payload) - [ ] SARIF 输出(CI/CD 集成) ## 许可证 MIT — 详情请见 [LICENSE](LICENSE)。
标签:AI编排, Python, Web安全扫描, 主机安全, 动态插桩, 实时处理, 密码管理, 无后门, 自动化安全工具, 逆向工具