> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# Shannon AI渗透测试框架
- URL: https://www.hubwiz.com/blog/shannon-ai-peneration-testing-framework/
- Published: 2026-03-07T05:44:21.000Z
- Updated: 2026-03-07T05:44:21.000Z
- Description: Shannon 是由 Keygraph 构建的完全自主 AI 渗透测试工具。它的工作是在别人之前攻破你的 Web 应用。
- Author: admin
- Tags: AGENT, SHANNON, #Import 2026-10-14 14:41

你对当年没有成为道德黑客、网络安全工程师或渗透测试员感到失望，那时这对你来说意味着一切。

**我也失败了；我唯一能证明的证据是我曾参加过但从未完成的认证考试。**

但现在你真的还需要这些吗？

随着 AI 每天都在打破网络安全的门槛。

让我们把这场争论留到另一天，先专注于 [Shannon](https://github.com/KeygraphHQ/shannon?ref=hubwiz.com)，这个正在打破预期的最新渗透测试工具。

## 1、Shannon 是什么？

![](https://www.hubwiz.com/blog/content/images/2026/03/image-44.png)

Shannon 是由 [***Keygraph***](https://keygraph.io/?ref=hubwiz.com) 构建的完全自主 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](https://www.hubwiz.com/blog/content/images/2026/03/1-Mm_4QIWjw5aAWIvAPmdpOA-1.gif)

如果你的发行版显示 VERSION 1，请升级它：

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

```

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

```
wsl --install Ubuntu-24.04

```

![None](https://www.hubwiz.com/blog/content/images/2026/03/1-GHlMYjVoncPDadFIGUx86w-1.gif)

### 3.2 安装 Docker Desktop

从 [docker.com](https://www.docker.com/products/docker-desktop/?ref=hubwiz.com) 下载 Docker Desktop 并在 Windows 上安装。

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

![None](https://www.hubwiz.com/blog/content/images/2026/03/1-nPw-92H_SBRV9-_olDpYfQ-1.gif)

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

### 3.3 克隆 Shannon

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

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

```

![None](https://www.hubwiz.com/blog/content/images/2026/03/1-kLodvNwKnH01X_2jBy4CKw-1.gif)

### 3.4 添加你的 Anthropic API 密钥

在 Shannon 目录中，创建你的 `.env` 文件：

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

```

![None](https://www.hubwiz.com/blog/content/images/2026/03/1-n2PJNyC6hN_0k06quRAeLg-1.gif)

将 `your-api-key` 替换为你的实际密钥，从 [Anthropic Console](https://console.anthropic.com/?ref=hubwiz.com) 获取。

完成后，确认它已保存：

```
cat .env

```

![None](https://www.hubwiz.com/blog/content/images/2026/03/1-sQEvZJ5mZHcTOnLGKN8G9A-1.png)

> **`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**](https://owasp.org/www-project-juice-shop/?ref=hubwiz.com)

![](https://www.hubwiz.com/blog/content/images/2026/03/image-45.png)

> **这是一个专门为此类测试设计的故意有漏洞的 Web 应用：**

```
git clone https://github.com/juice-shop/juice-shop.git ./repos/juice-shop

```

![None](https://www.hubwiz.com/blog/content/images/2026/03/1-m36VyFblDj54I118084QpQ-1.gif)

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

一切都准备好后，用一个命令启动 Shannon：

```
./shannon start URL=https://your-app.com REPO=juice-shop

```

![None](https://www.hubwiz.com/blog/content/images/2026/03/1-iI8OgL-L1B7BYj4J_m1FZQ-1.gif)

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

![](https://www.hubwiz.com/blog/content/images/2026/03/image-46.png)

要实时监控进度：

```
./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](https://www.hubwiz.com/blog/content/images/2026/03/1-Ljj7QcH2a3r4z7pxZ4BP0w-1.png)

### 阶段 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](https://medium.com/ai-software-engineer/i-tried-shannon-ai-and-discovered-noobs-can-now-do-penetration-testing-0c257536c9ca?ref=hubwiz.com)

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