Shannon:会真正动手打洞的 AI 自动化渗透测试代理

Shannon
AI
安全
开源
渗透测试
AGPL
2026/9/30
·

阅读时间: 大约 9 分钟

Shannon:会真正动手打洞的 AI 自动化渗透测试代理

Shannon 的交互式启动器:选择 AI 提供商与模型后写入 ~/.shannon/config.toml,仅授权测试使用

市面上”应用安全扫描”工具不少,但绝大多数停留在”基于规则告诉你这里可能有问题”,误报满天飞。Keygraph 开源的 Shannon(AGPL-3.0,最新 v3.3.0)走了一条更激进的路:它是一个自治的 AI 渗透测试代理(autonomous AI pentester),先分析你的源码定位攻击面,然后真的用浏览器自动化和命令行工具去打这个运行中的应用和 API,只有成功复现出可工作的 PoC(概念验证)的漏洞才会写进报告——官方口号是 “No exploit, no report”(不利用,不报告)。本文基于其官方 GitHub README,分析它的机制、成本与安全边界。

一、背景:从”扫描”到”验证”

传统 SAST/DAST 的痛点是噪声:静态分析报出成百上千条”疑似漏洞”,安全团队要花大量时间人工排雷,真正能利用的没几个。Shannon 的思路是把 LLM Agent 当一个”自动化的初级渗透测试工程师”:它不满足于指出”这里可能有 SQL 注入”,而是真的注入一次、看到数据返回,才确信这是个漏洞。据 Koala 项目库介绍,这类工具在 XBOW 基础测试上达到约 96% 成功率、并在 OWASP Juice Shop 中找出 20 多个高危漏洞——这类数字来自第三方基准,选型时应以官方 README 附录的 Photoview 实测报告与 Doyensec 研究方法为准。

二、是什么:源码分析 + 实时利用的双阶段代理

官方对它的定义很明确:

Shannon 分析 Web 应用的源码以识别潜在攻击向量,再用浏览器自动化与命令行工具对运行中的应用及其 API 执行真实利用。只有具备可工作 PoC 的漏洞才进入最终报告。

它是 Keygraph 商业渗透平台背后的同一个 Shannon,本仓库是”你在本地命令行自己跑”的开源版。启动方式极简单:

npx @keygraph/shannon@latest setup
npx @keygraph/shannon@latest start -u https://your-app.com -r /path/to/your/repo

运行时,Shannon 从 Docker Hub 拉取 worker 镜像、在本地起临时基础设施,把目标仓库只读挂载进一个一次性(ephemeral)worker 容器,结果写到本地 workspace。前置要求是 Docker、Node.js 18+ 以及你自己的 AI 提供商密钥。

Shannon 官方标识,标注 -Authorized Security Testing Only-

三、技术机制

Shannon 的关键能力(官方)包括:

  • 高级代码分析先行:先绘制应用架构、信任边界、接口、数据流与关键资产,再把可信攻击路径交给后续的实时渗透代理;
  • 自治执行:一条命令跑完侦察、分析、利用、报告全流程;
  • OWASP 导向覆盖:测试可利用的注入、XSS、SSRF、失效认证、失效授权;
  • 认证态测试:支持凭据、登录流、TOTP、邮件验证、重点范围与交战规则配置;
  • 可恢复工作区:中断的扫描可续跑,不重复已完成的工作;
  • 多格式报告:产出带证据的 PDF、Markdown,以及 JSON 与 SARIF 2.1.0(利用模式默认开启 SARIF);
  • 提供商无关 + BYOK:内置 Anthropic、OpenAI、xAI、AWS Bedrock,也兼容 Ollama/vLLM/LM Studio 本地模型、OpenRouter、LiteLLM 网关;Keygraph 不经手你的模型流量。

它还提供官方 GitHub Action 与 GitLab CI/CD 组件,可以对预发环境做持续渗透,并在”被成功利用且达到设定严重级”时让流水线失败——注意官方明确:只有状态为 exploited 的发现才会卡流水线,纯代码分析假设不会。

四、关键数据与口径

维度官方口径
协议GNU AGPL v3.0(商业/企业授权另售)
版本v3.3.0(27 个 release,TypeScript 占约 94.9%)
单次完整扫描耗时官方称约 1–1.5 小时
LLM 成本按模型定价与应用复杂度产生 API 费用(Koala 称单次约 3–5 美元)
报告格式PDF / Markdown / JSON / SARIF 2.1.0
实测样例Photoview 2.4.0(Doyensec 对比 Aikido/XBOW 的同一版本),给出 DeepSeek v4 Flash、Grok 4.6、Claude Opus 5 多份报告

五、评测方法批判:它”真打”,所以风险与成本都更高

这一节是理解 Shannon 的关键:

  1. 它会改写目标状态:官方明确警告,利用代理可以创建用户、提交表单、修改应用状态、触发对外请求。因此只能跑在沙箱、预发或本地开发环境,且数据应可丢弃;严禁对生产环境运行。
  2. “低误报”是有代价的:No exploit, no report 把误报压到极低,但代价是——打不出来的漏洞就不报告。一个真实存在但 Agent 没能成功利用的漏洞会被静默漏掉,它的高命中率不等于全覆盖。
  3. 结果仍需人工复核:官方自己写明”LLM 生成的报告可能包含支撑薄弱或错误的细节”,发现仍需人工审阅。
  4. 成本与时长不便宜:1–1.5 小时的模型调用,对大型代码库反复跑,API 费用可观;本地小模型虽可省成本,但官方警告”不遵守工具调用约束的模型会产出更弱的渗透结果”。
  5. 提示注入风险:官方明确”不要扫描不可信或带对抗性的代码库”——会读源码的 AI 工具本身可能被源码里的提示注入攻击。
  6. 前沿模型依赖:Anthropic/OpenAI 对网络安全 workload 有实时安全策略,需先完成”合法安全测试者”的合规流程,否则扫描可能中途被打断。

六、优势与局限

优势:

  1. PoC 验证显著压低误报:报告即可利用,省去大量人工排雷;
  2. 源码 + 动态利用结合,比纯黑盒扫描更能找到逻辑漏洞与授权缺陷;
  3. 原生 SARIF 与 CI/CD,能卡发布流水线,融入现有安全工程;
  4. BYOK、数据不出域,私有部署友好。

局限:

  1. AGPL-3.0:想闭源集成或做托管服务的公司需评估传染性条款;
  2. 白盒/源码可见为前提:需要把仓库交给它分析,纯黑盒外部网站不在其设计中心;
  3. 真打洞有风险,只能在隔离环境跑;
  4. 长耗时 + API 成本,不适合频繁全量跑;
  5. 不替代人类渗透测试:官方反复强调它是补充而非替代。

七、谁该关注

  • 有预发环境、想在 CI 里加一道”可利用性闸门”的工程团队;
  • 被误报淹没、想要”报告即可复现”的安全团队;
  • 想探索 AI 红队/自治渗透边界的研究者。

但请把最上面那条警告记牢:它是一个会真实发起攻击的代理。在你拥有、且有书面授权的隔离环境里玩;千万别图省事直接对生产或他人系统跑——那既是合规红线,也可能真的把数据打坏。

参考来源