Shannon:让 AI 替你当黑客,自动找出 Web 应用的真实漏洞
你的代码每天都在更新,但渗透测试一年只做一次?Shannon 来填补这 364 天的安全空白。

了解 Shannon
Shannon 是一个全自动 AI 渗透测试工具,由 Keygraph 团队开源(AGPL-3.0 协议)。它不是传统的漏洞扫描器——它模拟真正的黑客行为,自主分析你的源代码,操控浏览器执行真实攻击,最终交付一份的渗透测试报告。
在 XBOW 基准测试中,Shannon Lite 取得了 96.15% 的成功率。GitHub 上已获得 10.6k Star,是近期安全领域最受关注的开源项目之一。

运行原理
Shannon 模拟人类渗透测试人员的工作方法,采用多智能体架构,分四个阶段执行:
阶段一:侦察(Reconnaissance) → 分析源代码 + 使用 Nmap、Subfinder 等工具扫描目标,构建完整的攻击面地图。
阶段二:漏洞分析(Vulnerability Analysis) → 多个专项 Agent 并行工作,分别针对注入、XSS、SSRF、认证绕过等 OWASP 漏洞类型进行数据流追踪,输出"可能的攻击路径"假设列表。
阶段三:漏洞利用(Exploitation) → 对每条假设路径执行真实攻击——包括浏览器自动化、命令行工具、自定义脚本。严格执行"打不通就不报"策略,消灭误报。
阶段四:报告(Reporting) → 汇总所有验证成功的漏洞,生成渗透测试级报告,每个漏洞附带可直接复制粘贴的 PoC 复现步骤。
整个过程完全自主运行,从启动到出报告,你只需要一条命令。
┌──────────────────────┐
│ Reconnaissance │
└──────────┬───────────┘
│
▼
┌──────────┴───────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Vuln Analysis │ │ Vuln Analysis │ │ ... │
│ (Injection) │ │ (XSS) │ │ │
└─────────┬───────┘ └─────────┬───────┘ └─────────┬───────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Exploitation │ │ Exploitation │ │ ... │
│ (Injection) │ │ (XSS) │ │ │
└─────────┬───────┘ └─────────┬───────┘ └─────────┬───────┘
│ │ │
└─────────┬─────────┴───────────────────┘
│
▼
┌──────────────────────┐
│ Reporting │
└──────────────────────┘
部署与运行全流程
环境准备
你只需要两样东西:
- Docker:Shannon 运行在容器中,确保环境隔离。安装地址:
https://docs.docker.com/get-docker/ - Anthropic API Key(推荐):从
https://console.anthropic.com获取。也支持 Claude Code OAuth Token,或实验性地通过 OpenRouter 使用 OpenAI / Gemini 模型。
第一步:克隆项目
git clone https://github.com/KeygraphHQ/shannon.git
cd shannon
第二步:配置凭证
方式 A:环境变量(推荐快速上手)
export ANTHROPIC_API_KEY="你的API密钥"
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
方式 B:创建 .env 文件(推荐长期使用)
cat > .env << 'EOF'
ANTHROPIC_API_KEY=你的API密钥
CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
EOF
第三步:启动渗透测试
./shannon start URL=https://你的应用地址.com REPO=/你的源码路径
Shannon 会自动构建容器、启动工作流,并返回一个工作流 ID。整个测试在后台运行。
如果你在本地测试:Docker 容器无法直接访问宿主机的 localhost,需要改用
host.docker.internal:
./shannon start URL=http://host.docker.internal:3000 REPO=/path/to/repo
第四步:监控进度
# 查看实时日志
./shannon logs
# 查询特定工作流的进度
./shannon query ID=shannon-1234567890
# 打开 Temporal Web UI 查看详细状态
open http://localhost:8233
第五步:查看结果
测试完成后,报告默认保存在 ./audit-logs/ 目录下:
audit-logs/{hostname}_{sessionId}/
├── session.json # 会话指标数据
├── agents/ # 各 Agent 的执行日志
├── prompts/ # Prompt 快照(用于复现)
└── deliverables/
└── comprehensive_security_assessment_report.md # 最终安全评估报告
第六步:停止服务
# 停止容器(保留工作流数据)
./shannon stop
# 完全清理(删除所有数据)
./shannon stop CLEAN=true
普通用户/团队能用来做什么?
🔒 独立开发者 / 小团队
你可能没有预算请专业安全团队做渗透测试。Shannon 就是你的免费安全顾问——把你的 Side Project 或 SaaS 应用跑一遍,看看有没有明显的安全漏洞,防患于未然。
🏢 企业开发团队
将 Shannon 纳入 CI/CD 流程(Pro 版支持),每次重大发布前自动跑一轮渗透测试。不再依赖一年一次的安全审计,让安全测试跟上你的发布节奏。
🎓 安全学习者
对 Web 安全感兴趣但不知从何入手?搭建一个 OWASP Juice Shop 靶场,让 Shannon 跑一遍,然后仔细阅读它生成的报告——每个漏洞是怎么发现的、怎么利用的、怎么修复的,比看教程生动得多。
🛡️ 安全从业者
作为专业渗透测试的辅助工具,Shannon 可以在正式测试前快速扫一遍,帮你锁定重点攻击面,节省大量手工侦察时间。
使用须知
- 切勿在生产环境运行:Shannon 会执行真实攻击,可能修改数据、创建用户、触发副作用
- 必须获得授权:只能测试你拥有或获得书面授权的系统,未授权扫描违法
- 费用提示:一次完整测试大约耗时 1-1.5 小时,使用 Claude Sonnet 模型约花费 $50 USD
- 人工复核必不可少:AI 仍可能产生幻觉内容,报告中的每个发现都应人工验证
写在最后
Shannon 代表了 AI 在网络安全领域的一个重要方向:不是替代安全工程师,而是把渗透测试从"一年一次的奢侈品"变成"随时可用的基础设施"。对于快速迭代的现代开发团队来说,这可能是补齐安全短板最务实的方式之一。
项目地址:github.com/KeygraphHQ/…
官网:keygraph.io
Discord 社区:discord.gg/KAqzSHHpRt
💬 你用过哪款 AI 编程工具?欢迎评论区分享你的体验! ⭐ 觉得有用?点个「在看」让更多开发者看到这篇对比!