Shannon 是一款面向 Web 应用程序和 API 的自主白盒 AI 渗透测试工具。它会分析你的源代码,识别攻击向量,并执行真实的漏洞利用,从而在漏洞进入生产环境之前证明其存在。
[!NOTE] Shannon 2.0 正式发布
Shannon 是一款面向 Web 应用和 API 的自主 AI 渗透测试器。
它会分析你的源代码,识别攻击路径,并在漏洞进入生产环境之前执行真实漏洞利用来加以证明。
本仓库是 Shannon 开源版:完整智能体,可通过命令行在本地运行。
[!TIP] AI 智能体和 LLM: 请从 llms.txt 入手获取本仓库的简明地图,或使用 llms-full.txt 获取将 README 和文档合并为一个文件的版本。
Shannon 是由 Keygraph 开发的自主 AI 渗透测试器。它将源代码分析与实时漏洞利用相结合,对 Web 应用及其底层 API 执行安全测试。
Shannon 会分析你的 Web 应用源代码以识别潜在攻击向量,然后使用浏览器自动化和命令行工具,对运行中的应用及其 API 执行真实漏洞利用。最终报告只收录具有可用概念验证(PoC)的漏洞。
Shannon 就是那个智能体。本仓库是 Shannon 开源版,即由你自己运行的独立渗透测试器。同一个 Shannon 也为 Keygraph 平台(Keygraph 的商业渗透测试产品)提供支持。两者的对比请参阅版本。
得益于 Claude Code 和 Cursor 等工具,你的团队可以一刻不停地交付代码。但你的渗透测试呢?一年才进行一次。这就造成了巨大的安全缺口。在其余 364 天里,你可能正在不知不觉中将漏洞交付到生产环境。
Shannon 通过提供按需、自动化的渗透测试来弥合这一缺口,可针对每一次构建或发布运行。
以下是 Shannon 开源版针对故意留有漏洞的应用程序生成的渗透测试报告示例:
npx 工作流所需。[!WARNING] Shannon 会主动执行漏洞利用。请仅针对你拥有或已获得明确书面授权测试的应用和环境运行它。请勿对生产系统运行 Shannon。
# Configure credentials with the interactive wizard.
npx @keygraph/shannon setup
# Run a pentest against a source-available target.
npx @keygraph/shannon start -u https://your-app.com -r /path/to/your-repo
Shannon 会从 Docker Hub 拉取 worker 镜像,启动所需的本地基础设施,以只读方式将目标仓库挂载到临时 worker 容器中,并将结果写入本地工作区。
关于源码构建、认证扫描、特定提供商的设置以及平台说明,请参阅文档。
[!TIP] 更倾向于使用订阅而不是 API 额度?
- OpenAI Codex: 最新版 Shannon 支持 ChatGPT Plus 和 Pro 订阅。请按照 OpenAI Codex 订阅设置指南 开始使用。
- Claude Code: 最新版 Shannon 不支持 Claude Code 订阅。请按照 Claude Code 订阅设置指南 使用
1.9.0版本,它是基于 Claude Agent SDK 的最终发布版。
Shannon 以两种方式提供:Shannon 开源版(由你自己运行的渗透测试器)和 Keygraph 平台(持续运行 Shannon 并围绕其闭环完整 AppSec 生命周期的商业渗透测试产品)。
Shannon 开源版(本仓库)是独立的渗透测试器:一个用于白盒、以漏洞利用为证明的 CLI 智能体,可对你拥有或获授权测试的 Web 应用和 API 进行测试。它读取你的源代码,规划攻击,执行真实漏洞利用,并且只报告它能证明的内容。它按需运行,在其定位上已经完整。你将它指向一个目标,它执行渗透测试,然后输出报告。
Keygraph 平台 是一款由 Shannon 驱动、面向企业就绪的持续渗透测试产品。在 Keygraph 平台中,增强版 Shannon 会在一个经加固和编排的环境中持续运行,该环境以 Keygraph 的完整代码分析栈为数据来源。围绕这一引擎,平台闭环了从分析到经核验修复的完整漏洞生命周期:
Shannon 是 Keygraph 平台核心的证明引擎。Shannon 开源版让你可以自行运行这一引擎。Keygraph 平台则围绕 Shannon 提供持续分析、发现管理、修复、验证和企业级部署。
欢迎访问 Keygraph 网站 了解更多,阅读 Keygraph 平台技术概览,开始免费试用或预约演示,或联系 [email protected]。
Shannon 采用将源代码分析与实时漏洞利用相结合的多智能体工作流:
┌──────────────────────┐
│ Pre-Reconnaissance │
│ (source code scan) │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Reconnaissance │
│ (attack surface │
│ mapping) │
└──────────┬───────────┘
│
▼
┌──────────┴───────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Vuln │ │ Vuln │ │ ... │
│(Injection)│ │ (XSS) │ │ │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Exploit │ │ Exploit │ │ ... │
│(Injection)│ │ (XSS) │ │ │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
└──────┬───────┴─────────────┘
│
▼
┌──────────────────────┐
│ Reporting │
└──────────────────────┘
从宏观层面来看:
每次扫描都在一个临时 Docker 容器中运行,配有隔离的工作区,并为每次调用进行编排。
使用这些指南获取操作层面的详细信息:
Shannon 不是被动扫描器。它的漏洞利用智能体可以创建用户、提交表单、变更应用状态、触发对外请求,并以其他方式影响目标系统。请使用带一次性数据的沙箱、预发布(staging)或本地开发环境。
你有责任合法且合乎道德地使用 Shannon。不要将 Shannon 指向你不拥有或未获明确授权测试的系统、仓库或应用。
重要限制:
在全新环境中运行 Shannon 之前,请阅读完整的安全性与限制指南。
Shannon 开源版采用 GNU Affero General Public License v3.0 许可。
对于需要不同许可条款、商业支持、私有再分发、托管服务使用或更广泛部署选项(包括 Keygraph 平台)的组织,可提供商业和企业许可。
商业许可请联系 [email protected]。
Keygraph 是 Shannon 背后的公司。它还打造了 Keygraph 平台——这一商业智能体化渗透测试产品闭环了完整的 AppSec 生命周期,并以增强版 Shannon 作为其渗透测试引擎。
社区在线答疑时间(Community office hours) 提供针对 bug、部署和配置问题的实操帮助。
加入 Discord 提问、分享反馈,并与其他 Shannon 用户交流。
目前,Keygraph 不接受外部代码贡献。欢迎提交 issue 进行 bug 报告和功能请求:
保持联系:
由 Keygraph 打造
| 目标 | 摘要 | 报告 |
|---|
| OWASP Juice Shop | 20+ 个漏洞,包括身份认证绕过、SQL 注入、IDOR 和 SSRF。 | 查看报告 |
| c{api}tal API | 约 15 个严重和高危 API 发现,包括命令注入、认证绕过和批量赋值。 | 查看报告 |
| OWASP crAPI | 15+ 个严重和高危发现,涉及 JWT、注入、SSRF 和 API 授权路径。 | 查看报告 |
| AppSec 生命周期阶段 | Shannon 开源版 | Keygraph 平台 |
|---|
| 分析 | 将源码基本透传给 LLM 以规划攻击 | 真实解析代码库,另加 Code Property Graph、SAST、带可达性分析的 SCA、密钥、IaC 和容器 |
| 渗透测试与证明 | 仅白盒,以漏洞利用为证明 | 增强版白盒,另加黑盒和灰盒模式,持续运行 |
| 发现管理 | 本地 Markdown 报告 | 规范化发现系统:跨来源去重、负责人、SLA、仪表盘、Jira 同步,以及专业渗透测试级 PDF 报告 |
| 修复与验证 | 根据报告手动修复,然后重新运行完整扫描进行验证 | 自动化修复:以修复内容开启 PR,并通过针对性复测验证,无需重新运行完整扫描 |
| 部署与运维 | 本地 CLI 和 Docker worker | 自托管、物理隔离、BYOK、持续运行、企业级集成 |
| 许可证与支持 | AGPL-3.0,社区 | 商业,提供支持 |
| 指南 | 用途 |
|---|
| 源码构建与 CLI 命令 | 克隆、构建、常用命令、输出路径和本地开发。 |
| 配置 | 认证测试、登录流程、交战规则和报告过滤器。 |
| AI 提供商 | 选择模型、受支持的提供商(Anthropic、OpenAI、xAI、AWS Bedrock 以及任何其他受 Pi 支持的提供商)和自定义网关。 |
| 平台与网络 | Windows/WSL2、Linux、macOS、Docker 网络、本地应用和自定义主机名。 |
| 工作区与恢复 | 命名工作区、恢复中断的扫描以及工作区存储。 |
| 安全性与限制 | 授权使用要求、非生产环境指南、变更性影响、成本和模型注意事项。 |
| 覆盖范围与路线图 | 当前漏洞覆盖范围和计划中的工作。 |
| Keygraph 平台 | 持续、智能体化的渗透测试平台:代码分析、黑盒和白盒测试、发现管理、修复、验证和企业级部署。 |