我构建了一个 Multi-Agent AI Pen Tester,因为 AI 编码工具正在发布漏洞代码

发布: (2026年5月3日 GMT+8 15:35)
7 分钟阅读
原文: Dev.to

Source: Dev.to

Aaron Sood

问题

AI 编码助手随处可见。开发者使用 Claude、Copilot 和 Cursor 以比以往更快的速度交付代码——但他们也在交付

  • SQL 注入
  • 硬编码的密钥
  • 认证失效
  • XSS

AI 工具优化的是可运行的代码,而不是安全的代码。典型输出:

  • 一个可以工作的登录表单,但可以通过 ‘ OR 1=1-- 轻易绕过。
  • 为了让演示快速运行而硬编码的 API 密钥。
  • 除非你明确要求,否则没有输入验证。

大多数独立开发者和小团队从不雇佣渗透测试人员。一次基础渗透测试费用为 $500–$2,000,且可能需要数周才能安排,于是漏洞直接被发布。

介绍 VulnSwarm

VulnSwarm 部署了一群专门的 AI 代理,模拟真实的渗透测试团队。它不是单一的整体模型,而是每个代理都有明确的角色:

AgentRole
🔭 Recon Agent绘制攻击面,识别入口点,指纹技术栈,标记最高风险区域。
💥 Exploit Agent使用 Recon 数据,判断哪些真正可被利用。按严重性、可利用性和影响(类似 CVSS 评分)对每个发现进行评级。
🗡️ Red Team Agent站在攻击者角度思考。将漏洞串联成真实的攻击路径,寻找最坏情况。
🛡️ Blue Team Agent防御方。编写具体的代码层面修复方案,并根据工作量与影响进行优先级排序。
📄 Report Agent将所有信息整合成专业的渗透测试报告,提供整体风险评分、严重性细分和整改路线图。

这些代理 相互辩论:Red Team 对 Exploit 分析提出挑战,Blue Team 对严重性评级进行反驳,Report Agent 则汇总并细化输出。

OWASP Juice Shop 上的测试

手动测试(≈30 秒)

  1. 使用电子邮件字段中的 ' OR 1=1-- 登录为管理员。
  2. 访问位于 /administration 的管理员面板。
  3. 获取了 21 个用户的电子邮件地址。
  4. 在客户反馈中发现了泄露的加密钱包助记词。

VulnSwarm 自动化发现(≈15 分钟,CPU‑only VPS,llama3.2:3b

严重程度发现CVSS
🔴 Critical文件上传端点 – 可利用来注入恶意代码或窃取数据。9.0
🔴 Critical未验证的 API 端点 – 缺乏输入验证和消毒。9.0
🟠 Medium缺少 Content‑Security‑Policy5.3
🟠 Medium缺少 Strict‑Transport‑Security5.3
🟠 Medium缺少 X‑XSS‑Protection5.3
🟠 Medium缺少 Referrer‑Policy5.3
🟠 Medium缺少 Permissions‑Policy5.3

更大的模型(例如 qwen2.5:14bClaude)也能捕获我手动发现的 SQL 注入。

多代理架构如何工作

安全分析受益于 多个视角相互争论,就像真实的安全团队一样。

Your Code/App


┌──────────┐    ┌───────────┐    ┌──────────┐    ┌─────────┐
│  Recon   │───▶│  Exploit  │───▶│ Red Team │───▶│  Blue   │
│  Agent   │    │   Agent   │    │  Agent   │    │  Team   │
└──────────┘    └───────────┘    └──────────┘    └────┬────┘


                                            ┌──────────┐
                                            │  Report  │
                                            │  Agent   │
                                            └──────────┘
  • Recon 只能看到原始代码/应用程序。
  • Exploit 只能看到 Recon 数据(没有修复信息)。
  • Red Team 只能看到 Exploit 的发现(没有修复信息)。
  • Blue Team 只能看到攻击路径(没有 Recon 信息)。
  • Report 能看到全部信息并生成面向开发者的文档。

运行 VulnSwarm

VulnSwarm 支持 Claude、GPT‑4o、Gemini、OpenRouter 和 Ollama。要 免费且本地运行它:

# 克隆仓库
git clone https://github.com/aaronsood/VulnSwarm.git
cd VulnSwarm

# 安装 Python 依赖
pip install -r requirements.txt

拉取本地模型(可选)

ollama pull llama3.2:3b

启动扫描器

python -m cli.main

启动测试目标(OWASP Juice Shop)

docker run --rm -p 3000:3000 bkimminich/juice-shop

然后将 VulnSwarm 指向 http://localhost:3000/
默认情况下,网页扫描仅限本地主机——VulnSwarm 不会触及您不拥有的任何内容。

做的事情(尚未实现)

  • 这只是一次 初步审查,并不能取代专业安全团队。
  • 它无法发现需要深度业务逻辑理解的零日漏洞或新颖攻击链。
  • 小模型会遗漏大模型能够捕获的发现。
  • 没有 CI/CD 或 GitHub Actions 集成(路线图项目)。

路线图包括更深入的模型支持、CI/CD 插件以及更丰富的报告。

更大的图景

使用 AI 来发现漏洞是 诗意 的:我们让能够编写代码的机器也帮助我们编写更安全的代码。VulnSwarm 解决了最常见的痛点——那 99 % 的开发者在没有任何安全审查且没有预算的情况下发布代码——通过为他们提供一种经济实惠、自动化的“第一‑线防御”。

VulnSwarm

AI 带来的挑战与责任。

随着 AI 编码工具成为软件编写的默认方式,AI 安全工具必须跟上步伐。

关于项目

  • 开源 – MIT 许可证
  • 早期阶段 – 非常欢迎贡献,尤其是来自安全或 AI 工具领域的朋友

代码仓库

GitHub: aaronsood/VulnSwarm

在一个星期六使用仅 CPU 的 VPS、一个特意设计可被攻击的 Web 应用以及大量咖啡构建并测试。

0 浏览
Back to Blog

相关文章

阅读更多 »

Claude 运行快速。Codex 发布。

摘要:我给 Claude 和 Codex 两个大型编码任务。- Claude 大约在一小时内完成。- Codex 大约用了八小时。乍一看,这看起来像是……