Shannon AI渗透测试框架
Shannon 是由 Keygraph 构建的完全自主 AI 渗透测试工具。它的工作是在别人之前攻破你的 Web 应用。
微信 ezpoda免费咨询:AI编程 | AI模型微调| AI私有化部署 | Tripo 3D | Meshy AI
你对当年没有成为道德黑客、网络安全工程师或渗透测试员感到失望,那时这对你来说意味着一切。
我也失败了;我唯一能证明的证据是我曾参加过但从未完成的认证考试。
但现在你真的还需要这些吗?
随着 AI 每天都在打破网络安全的门槛。
让我们把这场争论留到另一天,先专注于 Shannon,这个正在打破预期的最新渗透测试工具。
1、Shannon 是什么?

Shannon 是由 Keygraph 构建的完全自主 AI 渗透测试工具。
它的工作是在别人之前攻破你的 Web 应用。
它在你的源代码中搜索攻击向量,启动内置浏览器,然后执行真实的漏洞利用、注入攻击、身份验证绕过和权限升级,以证明漏洞是可利用的。
在 XBOW 基准测试——一项严格、无提示的安全测试标准上,Shannon Lite 达到了 96.15% 的成功率。
2、它解决了什么问题?
像 Claude Code 和 Cursor 这样的工具使得以前所未有的速度发布代码成为可能。
Shannon 充当你按需的白盒渗透测试员,每次你发布代码时它都在。
与传统扫描仪的关键区别在于,除非 Shannon 能证明漏洞是可利用的,否则它不会标记任何内容。
如果它无法执行攻击,它会丢弃该发现。
仅凭这一点,它就比大多数收费的企业级工具更有用。
3、在 Windows (WSL2) 上设置 Shannon
在 Shannon 工作之前,你需要三件事:
- Docker Desktop 已安装并运行
- WSL2 在 Windows 上已启用
- 一个 Anthropic API 密钥
3.1 启用 WSL2
以管理员身份打开 PowerShell 并运行:
wsl --install
wsl --set-default-version 2
如果你已经安装了 WSL,请确认它运行的是版本 2:
wsl --list --verbose

如果你的发行版显示 VERSION 1,请升级它:
wsl --set-version <distro-name> 2
Ubuntu 24.04 是此设置推荐的发行版。
wsl --install Ubuntu-24.04

3.2 安装 Docker Desktop
从 docker.com 下载 Docker Desktop 并在 Windows 上安装。
安装后,转到 Settings → General 并启用 "Use the WSL 2-based engine."

在继续之前请确保 Docker 正在运行——Shannon 在 Docker 容器内运行。
3.3 克隆 Shannon
打开你的 WSL 终端并克隆仓库:
git clone https://github.com/KeygraphHQ/shannon.git
cd shannon

3.4 添加你的 Anthropic API 密钥
在 Shannon 目录中,创建你的 .env 文件:
cat > .env << 'EOF'
ANTHROPIC_API_KEY=your-api-key
CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
EOF

将 your-api-key 替换为你的实际密钥,从 Anthropic Console 获取。
完成后,确认它已保存:
cat .env

CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000 这一行很重要——它为 Shannon 提供足够的令牌容量来处理跨多个文件的深度分析。*3.5 准备你的目标仓库
Shannon 需要访问你应用的源代码。
将你想要测试的仓库放在 ./repos/ 目录中:*git clone https://github.com/your-org/your-repo.git ./repos/your-repo
对于本演练,我们将使用 OWASP Juice Shop

这是一个专门为此类测试设计的故意有漏洞的 Web 应用:
git clone https://github.com/juice-shop/juice-shop.git ./repos/juice-shop

3.6 运行你的第一次渗透测试
一切都准备好后,用一个命令启动 Shannon:
./shannon start URL=https://your-app.com REPO=juice-shop

Shannon 将构建容器,启动工作流,并返回一个工作流 ID。从现在开始,渗透测试在后台运行。

要实时监控进度:
./shannon logs
或者在 Windows 浏览器中打开 Temporal Web UI。首先,获取你的 WSL IP:
ip addr
然后导航到 http://<wsl-ip>:8233
在任何真实情况下运行之前有一个重要的注意事项:Shannon 不是被动扫描仪。
它执行实时漏洞利用,这意味着它会在你指向的任何目标上创建用户、修改数据和触发真实的攻击链。
仅在沙盒、暂存或本地环境中运行它。绝不要在生产环境中运行。*
4、运行渗透测试
一旦你执行命令,Shannon 就不会再询问任何其他内容。
./shannon start URL=http://host.docker.internal:3000 REPO=juice-shop
请注意 URL——因为 Docker 容器无法访问主机上的 localhost,所以你要使用 host.docker.internal 代替。
Shannon 返回一个工作流 ID 并在后台消失。从现在开始,整个渗透测试自动运行。
5、Shannon 在幕后做什么
Shannon 分四个阶段工作,理解它们有助于你稍后阅读输出。

阶段 1 —— 侦察
Shannon 读取你的源代码并映射整个攻击面。
它识别每个 API 端点、身份验证机制和入口点。同时,它使用 Nmap 和 Subfinder 等工具扫描正在运行的应用程序,并与代码中发现的内容进行交叉引用。
在这个阶段结束时,它对攻击位置有了完整的了解。
阶段 2 —— 漏洞分析
Shannon 启动并行代理——每个 OWASP 漏洞类别一个——并同时让它们进行搜索。
每个代理在代码库中追踪用户输入,寻找危险路径。*
注入风险、损坏的身份验证流程、SSRF 入口点——同时分析,而不是一个接一个。
阶段 3 —— 漏洞利用
这是将 Shannon 与你以前使用过的所有扫描仪区分开来的阶段。
每个漏洞假设都会交给一个专门的漏洞利用代理。它的唯一工作是通过执行实际攻击——通过浏览器、命令行或自定义脚本——来证明发现是真实的。*
如果它无法利用它,发现就会被丢弃。
阶段 4 —— 报告
所有幸存于阶段 3 的内容都会被编译成最终报告。
只有经过验证的、可复制的漏洞利用才会被包含在内——完整带有可复制粘贴的概念验证。*
6、监控进度
当 Shannon 工作时,你有两种方式跟随进度。
终端中的实时日志:
./shannon logs
或者使用 Temporal Web UI 进行每个阶段的可视化分解:
# 首先获取你的 WSL IP
ip addr
# 然后在 Windows 浏览器中打开
http://<wsl-ip>:8233
在 OWASP Juice Shop 上的完整运行需要 1 到 1.5 小时。不要关闭你的终端——让它运行。
7、Shannon 在 OWASP Juice Shop 上发现了什么
在对 Juice Shop 的单次自动运行中,Shannon 在测试的每个 OWASP 类别中发现了超过 20 个高影响漏洞。
以下是突出的发现:
- 完整的身份验证绕过——Shannon 通过注入攻击窃取了整个用户数据库,无需任何凭证。
- 完整的权限升级——它通过利用注册工作流绕过创建了一个新的管理员账户。
- IDOR 利用——通过针对损坏的授权缺陷,访问和修改了任何用户的私人数据和购物车。
- SSRF 攻击——发现了服务器端请求伪造漏洞,并将其用于内部网络侦察。
这些发现中的每一个都带有可复制的概念验证。
你的报告会自动保存到:
audit-logs/{hostname}_{sessionId}/deliverables/comprehensive_security_assessment_report.md
8、报告的结构
每个发现都遵循相同的格式:
- 漏洞类型——它属于哪个类别(注入、XSS、损坏的身份验证、SSRF)
- 在哪里发现——Shannon 针对的具体端点或代码路径
- 它做了什么——Shannon 执行的确切攻击以确认它
- 概念验证——你可以自己运行以验证的可复制粘贴漏洞利用
如果报告中的一些术语对你来说是新的,以下是主要术语的含义。
- 注入:Shannon 找到了一种方法向应用程序发送恶意输入,数据库将其作为命令执行。在 Juice Shop 的情况下,这导致完整的数据库外泄——每个用户记录,都没有一个有效的登录就被拉取出来。
- 损坏的身份验证和授权:损坏的身份验证意味着 Shannon 在没有有效凭证的情况下进入了。损坏的授权意味着一旦进入,它访问了它无权触及的数据和账户。
- IDOR(不安全的直接对象引用):损坏的授权的一个子集。Shannon 通过更改请求中的 ID 值访问了其他用户的私人数据。
- SSRF(服务器端请求伪造):Shannon 欺骗应用程序代表其进行内部网络请求。这为内部基础设施侦察打开了大门。
9、结束语
Shannon 并不适合每个人;使用 Claude Sonnet 运行完整的 Shannon 渗透测试每次运行大约花费 50 美元。
它有两个版本。
- Shannon Lite 是根据 AGPL-3.0 开源的。它就是我们在本指南中一直在使用的。它涵盖了四个核心 OWASP 漏洞类别——注入、XSS、损坏的身份验证和 SSRF——并且对于你自己应用程序的内部安全测试是免费的。
- Shannon Pro 是为企业构建的商业版本。它增加了 CI/CD 管道集成、专门的支持和先进的 LLM 驱动的数据流分析引擎,使其在更大的代码库中具有更深的覆盖范围。如果你在大规模运行安全测试,你应该考虑这个版本。
Shannon Lite 仅限白盒;它需要访问你的源代码才能工作。如果你正在测试第三方应用程序或黑盒目标,这不是正确的工具。
它也不会捕获所有内容;当前版本针对四个漏洞类别。易受攻击的第三方库或不安全的服务器配置等问题不在其范围内。
并且仍然需要人工监督,因为它由 LLM 驱动,这意味着最终报告有时可能包含薄弱的发现。
原文链接: I Tried Shannon AI: And Discovered Noobs Can Now Do Penetration Testing
汇智网翻译整理,转载请标明出处