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), 自动化渗透测试, 逆向工具