首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >96%漏洞发现率碾压商业工具!Shannon:全自主AI渗透测试Agent,34K Star

96%漏洞发现率碾压商业工具!Shannon:全自主AI渗透测试Agent,34K Star

原创
作者头像
CoovallyAIHub
发布2026-04-10 16:03:19
发布2026-04-10 16:03:19
5210
举报

导读

你的团队用AI编程工具每天部署代码,但渗透测试一年做一次——中间364天的安全空白谁来填?传统扫描器报一堆"可能存在"的漏洞,安全工程师还要逐条验证;请一次人工渗透测试,周期数周、成本数万美元。

Shannon给出的回答是:一个能读源代码、能自己操作浏览器发起攻击、打不进去就不报告的全自主渗透测试Agent。在清理版XBOW基准的白盒测试中,它以96.15%的漏洞利用成功率(100/104)拿到了目前公开的最高分之一。本文将从它的"不报假阳性"设计哲学、五阶段多Agent架构、基准成绩的适用条件,到实际使用成本,完整拆解这个项目。


项目信息

项目

信息

GitHub

KeygraphHQ/shannon

Stars

34,858

许可证

AGPL-3.0

组织

KeygraphHQ


一、不是扫描器:No Exploit, No Report

理解Shannon的第一步,是明确它不是什么。

传统的DAST(动态应用安全测试)工具和SAST(静态应用安全测试)工具,本质上是模式匹配——扫描代码或HTTP响应中的已知危险模式,输出一份"疑似漏洞"清单。安全团队拿到这份清单后,往往要花大量时间逐条验证,其中大量是假阳性。

Shannon的核心设计原则用一句话概括*"POC or it didn't happen"(没有PoC就等于没发生)。具体来说:

  • Shannon会实际发起攻击:通过浏览器自动化注入SQL、构造XSS载荷、发送SSRF请求
  • 只有成功利用的漏洞才会进入最终报告,附带可直接复制粘贴的PoC(概念验证)代码
  • 无法利用的漏洞会被标记为"假阳性"或"潜在",不进入报告

这意味着安全团队拿到的每一条发现都是已验证的、可复现的。在官方提供的OWASP Juice Shop测试报告中,Shannon发现了20+个漏洞,涵盖SQL注入认证绕过(Critical)、UNION注入数据提取(Critical)、SSRF、XSS、多种授权绕过等类别。值得注意的是,在另外两个测试目标(c{api}tal API、OWASP crAPI)上,Shannon的XSS检测零假阳性——它正确识别出这些应用具备健壮的XSS防御,没有误报。

当然,"打不进去就不报"也意味着Shannon不覆盖无法主动利用的问题,如脆弱的第三方库依赖、弱加密算法配置等静态分析类发现。Help Net Security在2026年2月的评测中也指出:Shannon"擅长它所做的事,但忽略业务逻辑缺陷或不在其攻击列表中的配置问题"。这是"proof-by-exploitation"方法论的固有边界。


二、五阶段管线与多Agent架构

Shannon的技术架构有两个关键词:五阶段管线多Agent并行。底层推理引擎基于Anthropic Claude Agent SDK,采用三层模型配置:Claude Haiku 4.5负责摘要、Claude Sonnet 4.6负责安全分析、Claude Opus 4.6负责深度推理。

整个渗透测试流程分为五个阶段:

阶段1:Pre-Recon(预侦察)

这一阶段同时进行外部扫描和源代码分析。外部扫描使用Nmap(端口发现)、Subfinder(子域名枚举)、WhatWeb(技术栈识别)等工具;源代码分析则映射应用架构、安全相关组件和完整攻击面。Shannon是白盒工具(white-box),需要访问应用源代码——这是它区别于黑盒扫描器的核心前提。

阶段2:Recon(侦察)

桥接静态分析和动态分析。Shannon通过Playwright浏览器自动化验证端点是否真实存在、映射认证流程、清点所有输入向量。它还支持自动处理2FA/TOTP登录(包括SSO),无需人工干预。

阶段3:Vulnerability Analysis(漏洞分析)——5个并行Agent

这是架构的核心。Shannon同时启动5个独立的分析Agent,各负责一个漏洞类别:

Agent

分析方法

覆盖范围

Injection

Source→Sink污点追踪

SQL/命令/文件/模板/反序列化注入

XSS

Sink→Source污点追踪

HTML渲染上下文中的跨站脚本

SSRF

Sink→Source污点追踪

HTTP客户端、原始socket、URL打开器

Auth

Guard验证

缺失的安全控制(限速、会话管理等)

Authz

Guard验证

缺失的授权检查(水平/垂直/上下文)

5个Agent并发运行,互不阻塞。

阶段4:Exploitation(漏洞利用)——5个并行Agent

每个分析Agent完成后,对应的利用Agent立即启动(流水线式并行)。利用Agent通过Playwright浏览器自动化执行真实攻击,将每个发现分类为三种状态:EXPLOITED(已利用)、POTENTIAL(潜在)、FALSE POSITIVE(假阳性)。只有EXPLOITED进入最终报告。

阶段5:Reporting(报告)

综合所有证据,生成渗透测试级别的执行报告,包括去重、严重性评估和修复建议。

在工程层面,Shannon使用Temporal做持久化工作流编排,具备崩溃恢复能力——如果中途中断,可以通过命名工作空间恢复运行,不重复已完成的Agent。每个Agent的进度通过git commit检查点保存,自动重试最多3次。整个工作负载运行在Docker隔离容器中,每次扫描一个独立容器,互不干扰。


三、XBOW基准96.15%的条件与细节

Shannon在XBOW基准上取得了96.15%的漏洞利用成功率(100/104)。这是一个值得拆解的数字——不仅因为成绩本身,更因为理解它的适用条件很重要。

测试条件说明:

  • XBOW基准由104个故意设置漏洞的应用组成,是一个开源的安全评估基准
  • Shannon使用的是清理版本:系统性移除了描述性变量名、源代码注释、文件路径/文件名提示、应用标题、Dockerfile配置中的提示(hints)
  • 测试模式为白盒(white-box),即Shannon可以访问应用源代码
  • 原始XBOW基准在黑盒模式下,领先的AI Agent和专家人类渗透测试员的成功率约为85%

各漏洞类型的成绩如下:

漏洞类型

总数

成功

成功率

Broken Authorization

25

25

100%

SQL Injection

7

7

100%

Blind SQL Injection

3

3

100%

SSRF / Misconfiguration

22

21

95.45%

XSS

23

22

95.65%

Server-Side Template Injection

13

12

92.31%

Command Injection

11

10

90.91%

总计

104

100

96.15%

AuthorizationSQL Injection达到100%,是Shannon的强项。成功率相对较低的是命令注入(90.91%)和SSTI(92.31%)。

4个失败案例也值得关注:

  • XBEN-10(XSS):Agent正确识别了漏洞和字符黑名单,但错判了JSFuck载荷的可行性,放弃了可行的利用路径
  • XBEN-22(SSTI+默认凭据+路径遍历):成功利用3个漏洞中的2个,将SSTI误分类为假阳性
  • XBEN-34(RFI):发现了文件包含漏洞但将其分类为LFI而非RFI,导致利用技术错误
  • XBEN-82(通过SSRF的命令注入):识别了完整攻击路径但分析Agent误分类eval(),利用Agent未能启动本地Web服务器

这4个失败案例的共同特征是:Shannon找到了漏洞但在利用阶段犯了判断错误,而非完全遗漏。

关于与商业DAST工具的对比:部分媒体报道提及"大多数商业DAST工具在可比评估中难以达到30-40%成功率",但这一说法未引用具体的原始测试数据来源。更重要的是,Shannon的96.15%是在白盒模式+源代码访问的条件下取得的,商业DAST通常是黑盒测试,二者的测试前提不同,不宜直接对比。作为参考,同类AI安全工具在XBOW基准上的公开成绩包括:KinoSec 92.3%(黑盒模式)、Xfenser AI 88.5%、XBOW自身商业平台约85%(黑盒)。


四、成本与上手

成本方面,Shannon官方README给出的数据:单次完整扫描耗时1-1.5小时,API成本约$50 USD(README中基于Claude Sonnet 4.5的测试数据,当前架构默认使用Claude Sonnet 4.6),范围在$40-55之间,取决于模型定价和应用复杂度。Help Net Security的评测中提到中等规模应用约$8-10 API成本,可能对应更小规模或部分测试的场景。

对比传统人工渗透测试一次数万美元、耗时数周的成本,$50/次、1小时出报告的门槛确实低了几个数量级。但需要注意的是,Shannon官方也在免责声明中提醒:LLM仍可能产生幻觉,需人工验证所有发现的合法性和严重性

上手方式有两种:

npx模式(推荐,零安装):

代码语言:javascript
复制
npx @keygraph/shannon setup          # 一次性配置
npx @keygraph/shannon start -u https://your-app.com -r /path/to/repo

本地模式(完整构建):

代码语言:javascript
复制
git clone https://github.com/KeygraphHQ/shannon.git
cd shannon
echo "ANTHROPIC_API_KEY=your-key" > .env
pnpm install && pnpm build
./shannon start -u https://your-app.com -r /path/to/repo

前置条件包括Docker、Node.js 18+、Anthropic API Key(推荐)。Shannon也支持AWS Bedrock、Google Vertex AI和Router模式(可选OpenAI/OpenRouter)。配置选项支持YAML文件指定认证方式(表单登录、SSO、API认证、Basic Auth),也支持2FA/TOTP和自定义登录流程。

几个使用注意事项:

  1. 绝对不能对未授权的系统使用——Shannon会执行真实攻击(创建用户、修改/删除数据),未经授权扫描违法
  2. 不建议在生产环境运行——利用Agent的攻击行为可能产生破坏性影响
  3. 扫描的仓库可能对AI进行提示注入——这是官方明确列出的安全风险
  4. Shannon Lite是白盒工具,需要访问源代码仓库

产品线方面,Shannon分为两个版本:开源的Shannon Lite(AGPL-3.0,即本文介绍的版本)和商业的Shannon Pro。Pro版本增加了Code Property Graph静态分析引擎、业务逻辑安全测试、SCA可达性分析、秘密检测、以及"静态-动态关联"能力(静态分析发现的漏洞自动喂给动态渗透管线去利用)。Shannon Lite不接受外部代码贡献(Pull Request),只接受Issue。


五、总结与思考

Shannon代表了一种正在成型的安全工具范式:不是报告"可能存在的风险",而是用Agent自主完成从源代码分析到实际攻击的完整链条,只报告打得进去的漏洞。基于Claude Agent SDK的多Agent架构、Temporal持久化工作流、Docker隔离执行,构成了一个工程完成度较高的Agent系统。96.15%的XBOW基准成绩(白盒清理版条件下),加上OWASP Juice Shop上20+个真实漏洞的发现,验证了这一方法论在已知漏洞场景中的有效性。

在此基础上,有几点值得进一步思考。Shannon Lite当前只覆盖5类可主动利用的漏洞(注入、XSS、SSRF、认证、授权),不涉及业务逻辑缺陷、配置错误、第三方依赖等静态分析类问题——这些恰恰是传统SAST/SCA工具的覆盖范围。因此,Shannon更适合定位为安全工具链中的动态验证层,而非替代全部安全测试流程。另外,$50/次的API成本虽然远低于人工渗透测试,但对于需要频繁扫描的CI/CD场景,累积成本仍需评估。LLM判断错误导致的4个失败案例也说明,当前Agent在多步推理链条中的可靠性仍有提升空间——但从96.15%的整体成功率看,这个方向的可行性已经得到初步验证。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导读
  • 一、不是扫描器:No Exploit, No Report
  • 二、五阶段管线与多Agent架构
  • 三、XBOW基准96.15%的条件与细节
  • 四、成本与上手
  • 五、总结与思考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档