FrancescoStabile/numasec

GitHub: FrancescoStabile/numasec

一款基于多代理架构的AI渗透测试工具,能在终端自动执行侦察、漏洞发现、攻击链串联和报告生成。

Stars: 28 | Forks: 7

numasec

真正能发现漏洞的 AI 渗透测试工具。开源。直接在终端运行。

numasec running a pentest against OWASP Juice Shop

MIT License Python 3.11+ Build Release PyPI

在 OWASP Juice Shop 上达到 96% 漏洞召回率 · 10 个专业代理 · 21 个安全工具 · PTES 方法论

## 快速开始 ``` pip install numasec numasec ``` 或使用 Docker: ``` docker run -it francescosta/numasec ``` 或从源码安装: ``` curl -fsSL https://numasec.dev/install | bash ``` 输入 `/target https://yourapp.com` 然后观察它工作。AI 会扫描、发现漏洞、串联攻击并编写报告。你只需观察、批准和引导。 支持 **Claude、GPT-4、Gemini、DeepSeek、Mistral**,或任何 OpenAI 兼容模型。 ## 为什么选择 numasec 大多数"AI 安全工具"只是包装了一个扫描器就自称 AI。numasec 不同——它是一个**10 个专业代理的团队**,通过真实的渗透测试方法论运行**21 个攻击性安全工具**。 它不仅发现漏洞,还会**串联它们**:JavaScript 中的泄露 API 密钥 → SSRF → 云元数据 → 账户接管。然后编写包含 CVSS 分数、CWE ID、OWASP 类别和修复建议的专业报告。 **在真实目标上测试的结果:** | 目标 | 发现的漏洞 | 覆盖率 | |---|---|---| | OWASP Juice Shop v17 | 25/26 个真实漏洞 | **96% 召回率** | | DVWA | 7/7 个漏洞类别 | **100%** | | WebGoat | 所有模块 20+ 个漏洞 | **全模块覆盖** | ## 它能发现什么
**注入攻击** - SQL 注入(盲注、时间盲注、联合注入、报错注入) - NoSQL 注入 - OS 命令注入 - 服务端模板注入 - XXE 注入 - GraphQL introspection 和注入 **认证与访问** - JWT 攻击(alg:none、弱 HS256、kid 遍历) - OAuth 配置错误 - 默认凭证和密码喷洒 - IDOR - CSRF - 权限提升 **客户端与服务端** - XSS(反射型、存储型、DOM) - SSRF(带云元数据检测) - CORS 配置错误 - 路径遍历 / LFI - 开放重定向 - HTTP 请求走私 - 竞态条件 - 文件上传绕过
每个发现都会自动补充 **CWE ID**、**CVSS 3.1 分数**、**OWASP Top 10 类别**、**MITRE ATT&CK 技术**,以及可操作的**修复指导**。 ## 多代理架构 numasec 不是单个机器人——而是一个协调的专业代理团队,每个代理都有不同的角色和权限: ### 主要代理 | 代理 | 角色 | 职责 | |---|---|---| | 🔴 **pentest** | 完整 PTES 方法论 | 侦察 → 发现 → 漏洞评估 → 利用 → 报告 | | 🔵 **recon** | 情报收集 | 端口扫描、指纹识别、子域名枚举、服务探测——不进行利用 | | 🟠 **hunt** | OWASP Top 10 猎手 | 对所有 10 个 OWASP 类别进行系统性、激进测试 | | 🟡 **review** | 安全代码审查 | 对源代码、diff、提交、PR 进行静态分析 | | 🟢 **report** | 报告与发现 | 发现管理、严重性验证、报告生成 | ### 子代理 | 代理 | 角色 | |---|---| | **scanner** | 执行自动化漏洞扫描(被动 → 半主动 → 主动) | | **analyst** | 验证结果、消除误报、关联攻击链 | | **reporter** | 生成 SARIF / Markdown / HTML / JSON 报告 | | **explore** | CVE 研究、漏洞利用文档、知识库查询 | 每个代理都有**定制的权限**——recon 代理不能运行漏洞利用,review 代理不能启动扫描器。analyst 代理使用严格的证据标准过滤误报,然后才会将发现纳入报告。 ## 安全工具 幕后是 21 个专用安全工具和 38 个异步扫描器——覆盖侦察、注入测试、认证攻击、访问控制、文件上传绕过、竞态条件、请求走私、带外检测等。AI 会根据发现的目标信息自动选择和编排它们。 内置的**34 个模板知识库**涵盖检测模式、漏洞利用技术、有效载荷和修复建议——所以 AI 不会凭空想象攻击方法,而是查找资料。支持使用你自己的模板和插件扩展。 ## 报告 四种输出格式,全部自动生成: | 格式 | 用途 | |---|---| | **SARIF** | 导入 GitHub Code Scanning、GitLab SAST 或任何 SARIF 查看器 | | **HTML** | 自包含报告,可分享给团队 | | **Markdown** | 粘贴到工单、文档或 wiki | | **JSON** | 接入你的流水线或仪表板 | 每个报告都包含执行摘要,包含风险评分(0-100)、严重程度细分、OWASP 覆盖矩阵、攻击链文档,以及每个发现的修复建议。 ## OWASP Top 10 覆盖 TUI 标题在渗透测试进行时实时跟踪所有 10 个 OWASP 类别的测试覆盖。每个类别自动映射到相关工具——所以你始终知道已测试和未测试的内容。 ## 安装 ### pip(推荐) ``` pip install numasec numasec ``` 首次运行时自动下载 TUI 二进制文件。无需 Bun、Node 或其他运行时。 ### Docker ``` docker run -it francescosta/numasec ``` 完整 TUI + 全部 21 个安全工具。多架构(amd64、arm64)。 ### 从源码安装 ``` curl -fsSL https://numasec.dev/install | bash ``` 或手动: ``` git clone https://github.com/FrancescoStabile/numasec.git cd numasec pip install -e ".[all]" # Python backend cd agent && bun install && bun run build # TUI ``` ## 使用方法 ``` numasec # Start interactive TUI ``` ### 斜杠命令 | 命令 | 描述 | |---|---| | `/target ` | 设置目标并开始侦察 | | `/findings` | 列出所有发现的漏洞 | | `/report ` | 生成报告(markdown、html、sarif、json) | | `/coverage` | 显示 OWASP Top 10 覆盖矩阵 | | `/creds` | 列出发现的凭证 | | `/evidence ` | 显示特定发现的证据 | | `/review` | 对代码更改进行安全审查 | | `/init` | 分析应用并创建安全配置文件 | ### 代理模式 切换代理以执行不同任务: - **pentest** —— 完整方法论,默认 - **recon** —— 仅侦察,不进行利用 - **hunt** —— 激进的 OWASP Top 10 测试 - **review** —— 安全代码审查(无网络扫描) - **report** —— 发现管理和交付物 ## LLM 提供商 | 提供商 | 模型 | |---|---| | Anthropic | Claude Opus、Sonnet、Haiku | | OpenAI | GPT-4o、GPT-4、o1 | | Google | Gemini Pro、Flash | | AWS Bedrock | Claude、Llama | | Azure OpenAI | GPT-4、GPT-4o | | Mistral | Large、Medium | | DeepSeek | V2、Coder | | OpenRouter | 通过聚合的任何模型 | | GitHub Copilot | Copilot 模型 | | Google Vertex | 通过 Vertex 的 Gemini | | GitLab | GitLab 模型 | ## 开发 ``` pip install -e ".[all]" # 测试(1273 个单元测试 + 3 个基准测试套件) pytest tests/ -v pytest tests/ -m "not slow and not benchmark" # fast run # Lint 和类型检查 ruff check numasec/ ruff format numasec/ mypy numasec/ # TypeScript TUI cd agent && bun install cd packages/numasec && bun run typecheck cd packages/numasec && bun test ``` ### 基准测试 ``` # Juice Shop(96% 召回率) JUICE_SHOP_URL=http://localhost:3000 pytest tests/benchmarks/test_juice_shop.py -v # DVWA(100% 覆盖率) DVWA_TARGET=http://localhost:8080 pytest tests/benchmarks/test_dvwa.py -v # WebGoat WEBGOAT_TARGET=http://localhost:8081/WebGoat pytest tests/benchmarks/test_webgoat.py -v ``` ### 使用插件扩展 将带有 `register(registry)` 函数的 Python 文件放入 `~/.numasec/plugins/`,或将 YAML 扫描器模板放入 `~/.numasec/templates/`。 ## 工作原理 ``` ┌─────────────────────────────────────────────────────────────┐ │ Terminal TUI │ │ (TypeScript/Bun • SolidJS reactive UI • 5 agent modes) │ └────────────────────────────┬────────────────────────────────┘ │ ┌────────────────────────────▼────────────────────────────────┐ │ Security Engine │ │ ┌─────────────┐ ┌───────────────┐ ┌───────────────────┐ │ │ │ 21 Security │ │ 34 Knowledge │ │ Session Store │ │ │ │ Tools │ │ Base Templates│ │ │ │ │ └──────┬──────┘ └───────────────┘ └───────────────────┘ │ │ │ │ │ ┌──────▼──────────────────────────────────────────────┐ │ │ │ 38 Skills │ │ │ │ Injection · Auth · Access · Recon · Fuzzing │ │ │ │ Client-side · Server-side · Out-of-band · ... │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` TUI 驱动 AI 对话。AI 调用安全工具。每个工具协调一个或多个异步扫描器。发现结果自动丰富(CWE → CVSS → OWASP → MITRE ATT&CK),去重并分组到攻击链中。报告从会话存储生成。 **没有凭空想象的方法论。** 知识库提供真实的检测模式、漏洞利用技术和有效载荷。基于 CHECKMATE 论文的确定性规划器根据检测到的技术选择测试——不涉及 LLM。 **由 [Francesco Stabile](https://www.linkedin.com/in/francesco-stabile-dev) 构建。** [![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=flat-square&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/francesco-stabile-dev) [![](https://img.shields.io/badge/X-000000?style=flat-square&logo=x&logoColor=white)](https://x.com/Francesco_Sta) [MIT License](LICENSE)
标签:AI代理, AI安全, AI网络安全, Chat Copilot, CISA项目, Claude集成, DeepSeek安全, GPT安全应用, HTTP工具, LLM安全应用, PTES方法论, Python安全工具, 大语言模型安全, 安全测试, 开源安全工具, 攻击性安全, 攻击链, 无线安全, 机密管理, 终端工具, 网络安全, 网络安全审计, 自动化攻击, 自动化渗透测试, 逆向工具, 逆向工程平台, 隐私保护