janderik/vuln-forge

GitHub: janderik/vuln-forge

一款集端口扫描、服务检测、Web 漏洞探测和 CVE 匹配于一体的并发漏洞扫描器,支持生成专业 HTML 和 JSON 报告。

Stars: 0 | Forks: 0

# VulnForge 🔍 [![CI](https://github.com/vulnforge/vulnforge/actions/workflows/ci.yml/badge.svg)](https://github.com/vulnforge/vulnforge/actions/workflows/ci.yml) [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Security](https://img.shields.io/badge/security-scanner-red.svg)]() **VulnForge** 是一款针对网络服务和 Web 应用的全面、并发漏洞扫描器。它将端口扫描、服务指纹识别、Web 漏洞测试和 CVE 匹配整合到一个单一的 CLI 工具中,并提供丰富的输出和专业的报告。 ## 功能 - **端口扫描器** — TCP connect 扫描和模拟 SYN 扫描,支持可配置的端口范围和并发 - **服务检测** — 对 HTTP、SSH、FTP、MySQL、PostgreSQL、Redis 等进行 Banner 抓取和指纹识别 - **Web 漏洞扫描器** — 反射型 XSS 检测、SQL 注入探测、目录枚举、安全标头分析、cookie 审计 - **CVE 检查器** — 内置约 50 条针对 Apache、Nginx、OpenSSH、MySQL、PostgreSQL、Redis、IIS 等的真实 CVE 数据库;可选的 CIRCL API 丰富功能 - **报告生成** — 专业的 HTML(包含严重程度徽章、表格、摘要卡片)和 JSON 输出 - **丰富的 CLI** — 通过 `rich` 库实现彩色输出、进度提示和基于严重程度的格式化 - **并发架构** — 完全支持 async/await 和信号量限制的并发 ## 架构 ``` vuln-forge/ ├── src/ │ ├── cli.py # CLI entry point (click + rich) │ ├── scanners/ │ │ ├── base.py # Abstract BaseScanner + ScanResult dataclass │ │ ├── port_scanner.py # TCP/SYN port scanning │ │ ├── service_detector.py # Banner grabbing + service fingerprinting │ │ ├── web_vuln.py # XSS, SQLi, directory busting, header analysis │ │ └── cve_checker.py # CVE matching (local DB + CIRCL API) │ ├── report/ │ │ └── generator.py # HTML & JSON report generation │ └── db/ │ └── cve_cache.py # SQLite-backed CVE cache with ~50 built-in entries ├── tests/ # pytest test suite ├── data/payloads/ # XSS payload library └── Dockerfile # Containerized deployment ``` ## 安装说明 ``` # 从 source git clone https://github.com/vulnforge/vulnforge.git cd vulnforge pip install -r requirements.txt pip install -e . # 使用 Docker docker build -t vulnforge . docker run --rm vulnforge --help ``` ## 使用说明 ``` Usage: vulnforge scan [OPTIONS] TARGET Options: -p, --ports TEXT Port range (e.g. 22,80,443 or 1-1000) --scan-type [tcp_connect|syn] --timeout FLOAT Timeout per port in seconds --concurrency INTEGER Max concurrent connections --service-detect Enable service detection --web-scan Enable web vulnerability scan --cve-check Enable CVE matching --circl-api Use CIRCL API for CVE lookups -o, --output TEXT Output file path -f, --format [html|json] Output format -v, --verbose Enable debug logging --help Show help ``` ### 示例 ``` # 包含所有模块的完整扫描 vulnforge scan example.com # 快速端口扫描 vulnforge scan 192.168.1.1 -p 22,80,443,3306 --service-detect # 仅进行 Web 漏洞扫描 vulnforge scan https://example.com --web-scan -o report.html # 结合 CVE 匹配 + CIRCL API 进行扫描 vulnforge scan target.local --cve-check --circl-api # 查找特定产品的 CVE vulnforge cves Apache --version 2.4.49 # 列出可用的 XSS payloads vulnforge list-payloads # JSON 输出 vulnforge scan example.com -f json -o scan.json ``` ## CVE 数据库 VulnForge 内置了一个基于 SQLite 的 CVE 数据库,包含约 50 条记录,涵盖: | Product | Sample CVEs | |------------|------------------------------------------------| | Apache | CVE-2023-25690, CVE-2022-26377, CVE-2024-24795 | | Nginx | CVE-2023-44487, CVE-2021-23017, CVE-2024-24989 | | OpenSSH | CVE-2024-6387 (regreSSHion), CVE-2023-38408 | | MySQL | CVE-2023-21971, CVE-2023-22053, CVE-2023-22102 | | PostgreSQL | CVE-2023-2454, CVE-2023-2455, CVE-2024-0985 | | Redis | CVE-2022-0543, CVE-2023-41056, CVE-2023-45145 | | IIS | CVE-2023-38171, CVE-2023-36418 | | 及更多 | SMB, RDP, VNC, MongoDB, WinRM, FTP, SMTP | ## 测试 ``` pytest tests/ -v pytest tests/ -v --coverage --cov=src ``` ## 许可证 MIT 许可证 — 见 [LICENSE](LICENSE)。
标签:CISA项目, Claude, CVE检测, Python, Web安全, 加密, 安全规则引擎, 密码管理, 异步并发, 插件系统, 数据统计, 无后门, 漏洞扫描器, 端口扫描, 蓝队分析, 请求拦截, 逆向工具