pracda/ai-redteam-swarm
GitHub: pracda/ai-redteam-swarm
一个受授权控制的AI驱动攻击性安全测试集群,通过多代理协调真实工具进行自动化漏洞扫描、LLM验证和合规映射,实现从发现到修复的完整闭环。
Stars: 0 | Forks: 0
# AI 红队集群
一个自主、**受授权控制**的攻击性安全测试集群 —— 它是
[AI DevSecOps 平台](../ai-devsecops-platform)的攻击性版本。将其指向一个 URL 或
代码库,**协调器**就会启动专家**代理**来运行**真实的安全
工具**,然后 AI 会验证每一个结果,剔除误报,为每个问题评分
(CVSS),将其映射到已知弱点 (CWE / OWASP Top-10 / CVE) 和合规框架
(HIPAA / GDPR / PCI-DSS / SOC2),并生成清晰的报告。
每一次 LLM 调用都会通过运行在 `:8080` 上的现有 **llm-api-gateway** 进行路由 —— 继承其
身份验证、速率限制、提示词注入扫描和审计日志记录。
```
POST /api/v1/engagements ─▶ Orchestrator
│ authorize + scope-gate (refuses without an authorizer;
│ blocks out-of-scope hosts)
│ fingerprint the target
▼
Planner (which agents + focus)
┌──────────┬─────────┼─────────┬──────────┐
Recon Injection Access Config SCA / SAST / Compliance …
└──────────┴─────────┼─────────┴──────────┘ run in parallel; real tools + LLM triage
▼
Consensus (dedupe + risk verdict)
▼
Markdown report · dashboard · PDF
```
## 状态 — 所有阶段均已构建并验证
- **阶段 1:** FastAPI 骨架、网关客户端、授权 + 范围控制、侦察代理、
SQLite 持久化、Markdown 报告。
- **阶段 2:** 完整的代理阵容 —— 侦察 / 配置 / 访问 / api-logic / injection (URL) 以及
sca / sast (代码库) —— 每个代理都内置了纯 Python 探针,并辅以可选的外部工具
(nuclei, sqlmap, semgrep, gitleaks, trivy/osv-scanner, pip-audit);基于代理阵容的 LLM 规划器。
- **阶段 3:** 确定性的 **CVSS v3.1** 评分 (`app/scoring.py`),其严重程度根据
分数区间进行调和;发现结果附带 CWE / OWASP / CVE。
- **阶段 4:** **合规代理** (`app/compliance.py`),将发现结果映射到
HIPAA / GDPR / PCI-DSS / SOC2 控制缺口。
- **阶段 5:** 具有针对每次测试任务的深入查看功能及 **PDF 导出**的仪表板
(`GET /api/v1/engagements/{id}/report.pdf`)。
- **阶段 6:** 受范围保护的**爬虫** (`app/tools/crawler.py`),可发现链接、
带参数的端点和表单,并将结果反馈给 injection 代理(现在会测试每一个
发现的 GET/POST 参数),外加**经过身份验证的测试** —— 在请求中传递 `auth_headers` /
`auth_cookies`(或在仪表板中),每个代理请求都会携带该
会话,因此测试可以触及登录墙背后。密钥永远不会被记录或持久化。
- **阶段 7 — 真实的漏洞溯源** (`app/knowledge.py`):依赖项的发现结果会与
**OSV.dev** (无需 key) 进行比对解析,以获取权威的 CVE ID + CVSS 向量,因此 SCA 不再
依赖模型的记忆;其他发现结果中引用的 CVE 会根据 **NVD** 进行验证,
捏造的 ID 会被丢弃。这些是对公开漏洞数据库的参考查找(并非针对
目标),因此它们会绕过范围保护,并在离线时优雅降级。
- **阶段 8 — 发现 → 修复 → 验证循环** (`app/workorder.py`, `app/integrations.py`):
- `GET /api/v1/engagements/{id}/work-order` —— 将发现结果作为结构化工单。
- `POST /api/v1/engagements/{id}/handoff` —— 将该工单移交给 **AI DevSecOps
平台**的直接提取端点 (`POST /api/v1/work-orders`,可通过 `DEVSECOPS_URL` 配置,默认为 `:8090`),它会将其转化为优先级排序的修复计划并
返回 (**修复**)。
- `POST /api/v1/engagements/{id}/reverify` —— 重新运行与此基线关联的
新测试任务的相同范围;`GET /api/v1/engagements/{id}/diff` 报告 **已修复 / 仍存在 /
新增** (**验证**)。仪表板为每个测试任务提供 Hand-off 和 Re-verify 按钮。
DevSecOps 的提取端位于该项目的 `…/remediation/` 下 (WorkOrderController,
RemediationService, RemediationEntity),并复用其现有的网关客户端。
## 运行它
前置条件:Python 3.12+,以及运行在 `:8080` 上的 llm-api-gateway。
```
python -m venv .venv; .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
# gateway org key (复用 DevSecOps 的那个)
New-Item -ItemType Directory -Force .secrets | Out-Null
Set-Content .secrets\gateway-api-key.txt ""
python -m uvicorn app.main:app --port 8091 --reload
# dashboard: http://localhost:8091/dashboard.html
```
### 启动测试任务 (API)
```
curl -X POST http://localhost:8091/api/v1/engagements \
-H "Content-Type: application/json" \
-d '{"target":"https://localhost:3000","target_type":"URL",
"authorized_by":"me","allowed_hosts":["localhost"],"mode":"ACTIVE"}'
```
读取回执:`GET /api/v1/engagements`, `GET /api/v1/engagements/{id}`,
`GET /api/v1/engagements/{id}/report.md`, `GET /api/v1/stats`。
### 推荐工具(自动检测;缺失的工具会优雅降级)
`nuclei`, `sqlmap`, `semgrep`, `gitleaks`, `trivy`, `sslyze`, `nmap` (+ 可选的 OWASP ZAP)。
阶段 1 不需要任何这些工具 —— 它使用内置的 HTTP/TLS 探测。
### 安全的实战练习目标
OWASP **Juice Shop** 或 **DVWA** (已 Docker 化) —— 故意设计的漏洞且合法的攻击目标。
```
docker run --rm -p 3000:3000 bkimminich/juice-shop
```
标签:AI红队, CISA项目, 大语言模型(LLM), 安全编排与自动化(SOAR), 实时处理, 密码管理, 智能体(Swarm), 自动化渗透测试, 逆向工具