Shannon AI渗透测试框架

Shannon 是由 Keygraph 构建的完全自主 AI 渗透测试工具。它的工作是在别人之前攻破你的 Web 应用。

Shannon AI渗透测试框架
微信 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
None

如果你的发行版显示 VERSION 1,请升级它:

wsl --set-version <distro-name> 2

Ubuntu 24.04 是此设置推荐的发行版。

wsl --install Ubuntu-24.04
None

3.2 安装 Docker Desktop

docker.com 下载 Docker Desktop 并在 Windows 上安装。

安装后,转到 Settings → General 并启用 "Use the WSL 2-based engine."

None
在继续之前请确保 Docker 正在运行——Shannon 在 Docker 容器内运行。

3.3 克隆 Shannon

打开你的 WSL 终端并克隆仓库:

git clone https://github.com/KeygraphHQ/shannon.git
cd shannon
None

3.4 添加你的 Anthropic API 密钥

在 Shannon 目录中,创建你的 .env 文件:

cat > .env << 'EOF'
ANTHROPIC_API_KEY=your-api-key
CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
EOF
None

your-api-key 替换为你的实际密钥,从 Anthropic Console 获取。

完成后,确认它已保存:

cat .env
None
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
None

3.6 运行你的第一次渗透测试

一切都准备好后,用一个命令启动 Shannon:

./shannon start URL=https://your-app.com REPO=juice-shop
None
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 分四个阶段工作,理解它们有助于你稍后阅读输出。

None

阶段 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

汇智网翻译整理,转载请标明出处