FrancescoStabile/numasec
GitHub: FrancescoStabile/numasec
一款基于多代理架构的AI渗透测试工具,能在终端自动执行侦察、漏洞发现、攻击链串联和报告生成。
Stars: 28 | Forks: 7
numasec
真正能发现漏洞的 AI 渗透测试工具。开源。直接在终端运行。
在 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) 构建。**
[](https://www.linkedin.com/in/francesco-stabile-dev)
[](https://x.com/Francesco_Sta)
[MIT License](LICENSE)标签:AI代理, AI安全, AI网络安全, Chat Copilot, CISA项目, Claude集成, DeepSeek安全, GPT安全应用, HTTP工具, LLM安全应用, PTES方法论, Python安全工具, 大语言模型安全, 安全测试, 开源安全工具, 攻击性安全, 攻击链, 无线安全, 机密管理, 终端工具, 网络安全, 网络安全审计, 自动化攻击, 自动化渗透测试, 逆向工具, 逆向工程平台, 隐私保护