KeygraphHQ/shannon

安全

一个自动化的 AI 渗透测试代理:先读 Web 应用源码找攻击路径,再在运行环境中执行真实利用来证明漏洞。

49,941
5,727
TypeScript
AGPL-3.0
创建于 1 年前

如果你维护带 API 的 Web 应用,想要有代码依据的漏洞利用证据而不只是一份扫描器猜测清单,这个项目值得一看。但请把它跑在可丢弃的预发布环境里,并留出人工复核报告的时间。

解决什么问题

上线前你想知道这次发布有没有真正可被利用的漏洞,但现有手段都很慢:扫描器只能告诉你某类写法存在;人工渗透测试能给出证据,却要预约和等待。Shannon 改的是中间这一步——它先读应用源码,推断可能成立的攻击路径,再用浏览器自动化和命令行工具对运行中的应用及其 API 实际发起利用,验证这些路径是否真的走得通。按项目自己的说法,“没有利用,就不写进报告”,因此报告只保留带有可运行证明的发现。

有什么不同

它的核心思路是让源码分析来指导利用,而不是两者各干各的。这样它能把精力放在黑盒扫描器从外部猜不到的路径上,报告也以“已演示的利用”而非“疑似弱点”来呈现。README 还提到团队自己整理了与 Aikido、XBOW 的对比文档,使用 Doyensec 对 Photoview 2.4.0 的公开研究作为共同目标;这属于与厂商相关的证据,写明了方法和局限,不应直接当作独立结论。

代价是它并非被动工具。它的代理可以创建用户、提交表单、改动应用状态、触发对外请求,所以 README 明确要求使用沙箱、预发布或本地环境,并准备可丢弃的数据。它也有意保持范围克制:穷尽式的 agentic SAST、更广的扫描覆盖、集中治理和完整漏洞生命周期管理都放在商业版本里。报告仍需人来读,因为 README 承认 LLM 生成的细节可能证据薄弱或出错。

谁值得试

适合已有预发布环境、希望把可重复的利用验证放进开发或 CI/CD 流程的小型产品或平台团队,尤其是 API 与页面同样重要的 Web 应用。有明确授权目标、也习惯分诊报告的人最能发挥“代码加利用”这套方法的价值。

不适合两类人:想直接对着生产环境或第三方站点跑的人,以及需要完全被动、不改变任何状态的审计的人。想要单一面板汇总所有扫描覆盖并长期跟踪漏洞的团队,会发现这部分不在开源代理范围内;不愿为每次运行支付模型 API 费用的人也应另寻方案。另外,项目明确不建议扫描不熟悉或对抗性的代码库,因为读源码本身可能让工具受到提示注入影响。

使用条件与边界

一次完整运行大约需要 1 到 1.5 小时,并按模型价格与应用复杂度产生 LLM API 费用。你需要自备模型凭据:Anthropic、OpenAI、xAI 和 AWS Bedrock 已内置,其他供应商可通过代理或网关接入;如果目录里没有,可以用自定义模型配置文件传入。模型若不能稳定遵循工具调用约束,结果会变差。

许可证是 AGPL-3.0,商业和企业条款可另行协商,覆盖私有再分发、托管服务等场景。项目目前不接受外部代码贡献,反馈问题或提需求是影响它的实际途径。由于利用过程会改变状态,日常维护的重点是保留专用测试环境和复核流程,而不是把任何一次运行当作无副作用的操作。

HotRepo 点评

HotRepo 在 2026-05-17 记录到 42,540 星,2026-10-28 为 49,899 星,但期间只有 3 个日榜观测点,无法据此判断热度是否持续。Hacker News 上的讨论也很有限:2026 年 2 月的一个帖子拿到 4 分、无评论;另一个帖子中有评论者于 2026-02-07 表达了对工具被滥用的担忧,但所给材料里没有项目方的回应。真要依赖它之前,先看它自己的对比文档如何区分“已确认的利用”和“仅仅尝试过”。

项目源码与说明

本文由 AI 根据项目 README 生成,更新于 2026年10月28日,以项目官方文档为准。

Hacker News 讨论

Shannon – Autonomous AI Hacker
▲ 4 · 0 条评论 · 2026年2月6日
Shannon: Claude Code for Pen Testing: #1 on Github today
▲ 3 · 2 条评论 · 2026年2月7日