你现在的开发工作流大概率是这样的:前端用 Cursor 搓 UI,后端用 Claude Code 狂暴合并 PR,整个团队的交付速度像打了鸡血。
但安全测试呢?依然停留在石器时代。
要么花大价钱请渗透测试团队一年做一次“合规性表演”;要么在 CI/CD 里塞满各种 SAST/DAST 扫描器,每天面对成百上千个“疑似 SQL 注入”、“可能存在 XSS”的弱智告警,开发和安全团队在无尽的误报中互相扯皮。
今天我们要拆解的 GitHub 热榜项目 Shannon(KeygraphHQ/shannon),就是来掀翻这套旧逻辑的。它是一个全自主的 AI 渗透测试系统,核心原则极其残暴:No Exploit, No Report(没有成功利用,就不写进报告)。
它不给你发“疑似风险”的废话,它只给你看“我是怎么把你的数据库拖出来的”实锤证据。
扒掉 AI 的外衣,里面全是工程化
市面上有太多套个 Prompt 就敢叫“AI Agent”的玩具,但深入看 Shannon 的源码目录,你会发现它的工程化成熟度极高。它本质上是用重型后端架构,强行给大模型兜底。
1. 用 Temporal 解决 AI 的“脑瘫”问题
跑过复杂 AI Agent 的人都知道,大模型在执行长任务时极易崩溃、死循环或丢失上下文。Shannon 没有自己手写脆弱的重试逻辑,而是直接引入了工业级的 Temporal 作为工作流引擎。
这种典型的后端与架构设计,让 Shannon 的渗透过程变成了“可持久化”的。系统被拆分为 5 个 Phase,每个 Agent 的每一步操作都有心跳检测和 Checkpoint。跑了两个小时断网了?没关系,重启后 Temporal 会让它从上一个断点继续黑。
2. 五阶段流水线与并发压榨
Shannon 模拟了真实红队的作业流,但用机器算力实现了降维打击:
- Phase 1 & 2(侦察):先读你的源码(白盒),理解路由和鉴权;然后调用 Playwright 驱动真实浏览器去点按摸索(黑盒),画出攻击面。
- Phase 3(漏洞分析):同时启动 5 个 Agent,分别针对 Injection、XSS、Auth、AuthZ、SSRF 进行数据流追踪,生成“假设漏洞队列”。
- Phase 4(动态利用):这是最体现安全与渗透价值的一环。系统根据队列,条件触发 Exploit Agent。它会真实发送恶意 Payload,尝试拿到回显。
- Phase 5(报告):汇总所有成功的 PoC(概念验证),输出最终报告。
3. MCP 协议:给大模型装上“机械臂”
纯文本模型是没法渗透的。Shannon 通过自建 MCP(Model Context Protocol)Server,给 Claude 挂载了真实的工具箱。除了常规的文件读写,它甚至内置了 generate_totp 工具,AI 可以自己算 2FA 动态验证码去绕过登录限制。
它真的能干掉安全工程师吗?
别急着吹它有多神,作为极客,我们得看看它的底裤。
杀手锏在于“零误报”。因为它的报告全都是跑通的 PoC,开发人员拿到报告根本无法反驳,只能老老实实去修代码。这极大地降低了沟通摩擦力。
但它的致命隐患在于“假阴性(False Negative)”。
“No Exploit, No Report” 是一把双刃剑。如果 Shannon 因为测试环境的网络抖动、WAF 拦截、或者 Claude 某次推理短路而没有利用成功,这个漏洞就会被直接丢弃。机器没黑进去,不代表黑客黑不进去。 如果你完全依赖它做安全背书,一旦漏掉一个致命逻辑漏洞,代价就是毁灭性的。
另外,算一下经济账。官方文档透露,跑一次完整的 5 阶段测试,大约需要消耗 50 美元的 Claude 4.5 Sonnet API 费用。对于一年一次的渗透来说很便宜,但如果你想把它塞进每次 PR 的流水线里,这笔账绝不是个小数目。
最近在云栈社区的AI & 算法讨论区里,大家对这类 Agent 的共识是:它目前更适合作为高级安全工程师的“外包打工仔”,而不是替代品。 让人类去定策略、搞绕过,让 Shannon 去干那些枯燥的遍历和截图写 PoC 的脏活。
别在生产环境玩火
Shannon 的部署门槛不高,但危险系数极高。它是一个会真实注入脏数据、创建垃圾账号、甚至可能把服务打挂的突变型工具。
前置避坑指南:
- 绝对不要在生产环境运行。 必须准备一个独立的 Staging 或 Sandbox 环境。
- 它是白盒工具。 Shannon Lite 版强依赖源码分析,你需要把目标代码的 Repo 路径喂给它,纯黑盒盲打它搞不定。
- 你需要一个有额度的 Anthropic API Key。
核心启动逻辑:
克隆代码后,直接用官方提供的 Bash 脚本拉起 Docker 容器:
export ANTHROPIC_API_KEY="你的Key"
./shannon start URL=https://你的测试环境.com REPO=/本地/源码/路径
启动后,别傻看着终端,直接打开浏览器访问 http://localhost:8233 进入 Temporal 的 Web UI,你可以清晰地看到这群 AI 杀手是如何分工协作、重试报错、最终打穿你的系统的。测试结束后,去源码目录下的 deliverables/ 提取你的“受害报告”。
📚 相关配套资源:
- 项目 GitHub:
KeygraphHQ/shannon
- 官方网站:
keygraph.io
- 前端开发课程:
https://yunpan.plus/f/13
- 渗透与逆向课程:
https://yunpan.plus/f/17
当 AI 开始攻击 AI 写的代码,安全攻防的门槛正在被彻底重塑。与其焦虑,不如现在就把它跑起来。
关注《异或Lambda》,每天为你拆解最硬核的未来生产力。今天的科幻,明天的日常。
标签:#云栈社区 #Shannon #Github #网络安全 #AI智能体 #渗透测试 #DevSecOps