Shannon - AI自主渗透测试工具完全指南
项目简介
Shannon 是由 Keygraph 开发的自主化 AI 白盒渗透测试工具,专为 Web 应用程序和 API 设计。它通过分析源代码、执行真实漏洞利用、生成可复现 PoC 报告的方式,实现端到端的自动化安全测试。
“Thanks to tools like Claude Code and Cursor, your team ships code non-stop. But your penetration test? That happens once a year. This creates a massive security gap.”
项目数据:
- GitHub Stars:43.6k
- 主要语言:TypeScript(92.5%)
- 许可证:AGPL-3.0
- 最新版本:v1.2.0(2026年5月)
- 仓库地址:https://github.com/KeygraphHQ/shannon
核心特性
1. 完全自主运行
单条命令即可启动完整渗透测试流程。Shannon 自动处理 2FA/TOTP 登录(包括 SSO)、浏览器导航、漏洞利用和报告生成,全程无需人工干预。
2. 白盒代码分析
与传统的黑盒扫描器不同,Shannon 结合源代码分析指导攻击策略,理解应用框架、入口点和潜在攻击面,让动态测试更有针对性。
3. 可复现的 PoC 漏洞利用
最终报告仅包含已验证、可利用的发现,附带可复制粘贴的 PoC(概念验证),确保每个漏洞都是真实可利用的。
4. OWASP 漏洞覆盖
| 漏洞类别 | 支持状态 |
|---|---|
| 认证失效 | ✅ |
| 授权失效 | ✅ |
| 注入攻击 | ✅ |
| 跨站脚本(XSS) | ✅ |
| 服务端请求伪造(SSRF) | ✅ |
5. 多代理并行架构
5 个并发代理分别负责不同漏洞类别(注入、XSS、认证、授权、SSRF),并行执行分析和漏洞利用,大幅提升测试效率。
工作原理
Shannon 采用五阶段多代理架构,结合白盒源代码分析与动态漏洞利用:
┌──────────────────────┐ |
每个阶段都有独立的 AI 代理负责,无法利用的假设作为误报丢弃,确保”无漏洞利用,无报告”。
产品版本对比
Shannon 有两个版本,满足不同需求:
| 特性 | Shannon Lite(免费开源) | Shannon Pro(商业版) |
|---|---|---|
| 静态分析 | 代码审查提示 | 完整的代理式 SAST、SCA、密钥检测 |
| 动态测试 | 自主 AI 渗透测试 | 带静态-动态关联的渗透测试 |
| 分析引擎 | 代码审查 | 基于 CPG 的数据流分析 + LLM 推理 |
| 业务逻辑测试 | 无 | 自动不变量发现、模糊测试 |
| CI/CD 集成 | 手动/CLI | 原生 CI/CD、GitHub PR 扫描 |
| 部署方式 | CLI | 托管云或自托管 Runner |
环境准备
系统要求
| 依赖 | 说明 |
|---|---|
| Docker | 容器运行时(必须安装) |
| Node.js 18+ | npx 命令所需 |
| pnpm | 仅 Clone Build 模式需要 |
| AI 提供商凭证 | Anthropic API Key(推荐) |
AI 模型配置
Shannon 使用 Claude 模型的三级架构:
| 层级 | 默认模型 | 用途 |
|---|---|---|
| Small | Claude Haiku 4.5 | 摘要生成 |
| Medium | Claude Sonnet 4.6 | 安全分析 |
| Large | Claude Opus 4.7 | 深度推理 |
⚠️ Shannon 仅官方支持 Claude 模型。完整测试约 1-1.5 小时,使用 Claude 4.5 Sonnet 约花费 $50 USD。
平台支持
| 平台 | 支持状态 |
|---|---|
| macOS | ✅ 完全支持 |
| Linux | ✅ 支持 |
| Windows | ⚠️ 仅 WSL2 |
安装与使用
方式一:npx 快速启动(推荐)
# 1. 交互式配置凭证(首次使用) |
CLI 底层会自动从 Docker Hub 拉取预构建镜像(约 1GB),以只读方式挂载目标仓库。
方式二:Clone 本地构建
# 克隆仓库 |
高级用法
# 使用配置文件(含登录信息、规则等) |
测试本地应用
Docker 容器无法直接访问宿主机的 localhost,需使用特殊地址:
npx @keygraph/shannon start -u http://host.docker.internal:3000 -r /path/to/repo |
配置详解
完整的配置文件支持认证信息、测试规则、报告过滤等高级功能:
# 目标环境描述(可选,帮助 AI 更好理解应用) |
AI 提供商配置
除了 Anthropic API(推荐),Shannon 还支持多种 AI 提供商:
Anthropic API(推荐)
export ANTHROPIC_API_KEY=your-api-key |
AWS Bedrock
export CLAUDE_CODE_USE_BEDROCK=1 |
Google Vertex AI
export CLAUDE_CODE_USE_VERTEX=1 |
自定义代理
可通过设置 ANTHROPIC_BASE_URL 使用 LiteLLM 等代理转发请求,适合需要自定义路由的场景。
实测效果
Shannon 在多个知名安全测试靶场上表现优异:
XBOW 安全基准测试
在无提示、源码感知变体中得分 **96.15%**(104 个漏洞利用中成功 100 个)。
OWASP Juice Shop
- 单次运行发现 20+ 个漏洞
- 包括 SQL 注入认证绕过、管理员权限提升、IDOR 漏洞、SSRF 内网侦察等
crAPI
- 发现 15+ 个严重和高危漏洞
- 包括多种 JWT 攻击(Algorithm Confusion、alg:none)、PostgreSQL 完全接管、XSS 零误报等
输出报告
每次扫描完成后,Shannon 在工作空间目录生成完整报告:
workspaces/{hostname}_{sessionId}/ |
工作空间与断点续扫
每次扫描自动创建工作空间,支持中断恢复:
# 启动命名工作空间 |
⚠️ 恢复时 URL 必须与原始工作空间匹配,防止跨目标污染。每个代理的进度通过 git commits 检查点保存。
安全警告
Shannon 是主动渗透测试工具,不是被动扫描器,使用时务必注意:
- ⚠️ 不要在生产环境运行 — 仅限沙箱、预发布或本地开发环境
- 建议在虚拟机中运行以最大化隔离
- 需要明确书面授权,未授权扫描和利用是非法的
- LLM 仍可能产生幻觉,需人工验证所有报告发现
- Windows Defender 可能将报告中的漏洞利用代码标记为恶意软件
总结
Shannon 代表了 AI 驱动安全测试的前沿方向。通过结合源代码分析与动态漏洞利用,它能在 1-2 小时内完成传统渗透测试需要数天的工作,且生成的 PoC 都是经过验证的真实漏洞。
适用场景:
- 开发团队的持续安全测试
- 安全团队的效率倍增工具
- 开源项目的安全审计
- CI/CD 管道中的自动化安全门禁
不足之处:
- 完整测试成本较高(约 $50/次)
- 仅支持 Claude 模型
- Windows 需通过 WSL2 使用
- 目前不支持外部 PR 贡献
对于需要在开发流程中嵌入安全测试的团队来说,Shannon Lite 的开源免费版本已经是一个非常强大的起点。
GitHub 仓库:https://github.com/KeygraphHQ/shannon






