00:00:00这是 Shannon,一款开源的自主 AI 渗透测试工具,它能进行代码分析并执行
00:00:05实时漏洞利用。它利用浏览器自动化技术来发现各种安全漏洞,从服务端
00:00:11请求伪造、跨站脚本攻击到 SQL 注入等等,并为您提供一份详细且
00:00:17全面的安全报告,且保证零误报。但随着 Claude
00:00:22代码安全的发布,加上 Shannon 是基于 Claude SDK 构建的,这意味着你无法使用
00:00:27现有的订阅服务。那么,学习一个可能不会存在太久的工具还有意义吗?
00:00:31请点击订阅,让我们深入探讨一下。
00:00:32在我之前的一份工作中,我们在重大版本发布前会向外部渗透测试人员支付数千美元,
00:00:38结果只发现了一些我们需要修复的漏洞,然后还要再次测试,
00:00:43这浪费了我们大量的时间,当然还有金钱。而这正是 Shannon 存在的意义。
00:00:48你可以根据需要运行 Shannon 任意次。你甚至可以将其放入 CI/CD 流水线中并
00:00:53自动运行。而且因为它是开源的,所以完全免费。当然,它也有付费版本,
00:00:58我们稍后会讨论。作为一个非安全专家,我更愿意让我的项目通过 Shannon 运行,
00:01:03而不是启动 Kali Linux。事实上,让我们看看 Shannon 的实际操作。Shannon 是
00:01:08使用 Anthropic Agent SDK 构建的。所以你需要一个 Claude API 密钥才能运行。
00:01:13遗憾的是,订阅账号也不行。但我已经在一台 VPS 上使用非 root 用户安装了它,
00:01:20我准备针对 OWASP Juice Shop 运行它,这是一个专门设计了大量漏洞
00:01:25用于测试的应用。我已经克隆了 Shannon 的仓库,如果你想运行它,你也需要这样做。
00:01:30为了使其正常工作,你需要将想要测试的仓库放在 Shannon
00:01:34仓库的 repos 目录下。我已经把 Juice Shop 放在这里了。随着 Juice Shop 项目的运行,
00:01:39我将运行这个命令,它将连接到本地运行的应用进行浏览器测试,
00:01:44并连接到 repo 目录内的仓库以扫描代码。如果你是
00:01:50第一次运行 Shannon,因为它使用了 Docker Compose,它首先需要从
00:01:54Docker Hub 拉取一系列镜像。但因为我已经完成过这个过程,所以它直接跳转到了这里。
00:01:58我们得到了一个 Temporal 工作流的链接,可以通过 Web UI 查看,
00:02:03界面显示了所有需要执行的步骤。或者我们可以运行这个命令来实时查看日志,
00:02:07我有时更喜欢这样做,因为 Web UI 并不总是显示最全的信息。
00:02:12但等等,Temporal 是什么?我以为我们在聊 Shannon。
00:02:16Shannon 的渗透测试可能需要一到几个小时,具体取决于项目的规模,而 Temporal
00:02:21确保了无论发生什么情况,执行都是持久的。所以即使你的电脑在渗透测试中途崩溃,
00:02:26或者你的 Claude 余额用完了需要充值,你也不会丢失任何进度。Temporal
00:02:32会准确记住你中断的地方,并从该检查点重启 Shannon。如果你想要
00:02:36关于 Temporal 的专门视频,请在评论区告诉我。它还负责编排 Shannon 所有的阶段
00:02:42和活动。虽然只有五个阶段,但每个阶段内部都会发生很多事情。
00:02:47让我展示给你看。首先是预检阶段,确保 API 凭证有效、
00:02:53Docker 容器已就绪,且仓库确实存在。然后是预侦察阶段,它会分析
00:03:00代码以了解应用的工作原理,包括架构、映射入口点和安全模式。
00:03:05接下来是实际的侦察阶段,这与预侦察非常不同,因为在这里
00:03:12使用了 Playwright 来导航应用。它会点击按钮、填写表单,并利用这些
00:03:18来观察网络请求、截屏、查看 Cookie,基本上是映射出应用的所有功能。
00:03:24然后第四阶段会并行执行五条流水线。这里我们有
00:03:31与注入相关的漏洞和利用,然后是跨站脚本 (XSS) 漏洞和利用,
00:03:38接着是身份验证、服务端请求伪造 (SSRF)。最后是授权,即访问
00:03:45特权数据或其他人的信息。所有这些都是在五个不同的代理上并行发生的,
00:03:52用于寻找漏洞,另外还有五个用于漏洞利用。最后我们进入第五阶段,
00:03:59它通过结合最后五项检查,将所有内容汇编成一份全面的渗透测试报告。
00:04:07说到报告,让我们看看渗透测试进展如何。在大约两个半小时后,
00:04:12整个过程已经完成,我们可以看到它从预检验证开始,
00:04:17然后进入预侦察,接着是侦察代理。之后这里运行了所有的
00:04:25漏洞检查。包括注入漏洞代理、跨站脚本、授权和 SSRF。
00:04:31你可以看到其中一些绿线不是实心的。这是因为它必须重试,
00:04:36因为我的 Cloud 余额用完了。你可以看到这里写着数字 2,而其他那些
00:04:40没有任何重试。所以如果没有这些重试,它可能会比两个半小时更快,
00:04:46但我认为不会少于两个小时。总之,在完成五项漏洞检查后,
00:04:51它会继续进行五项漏洞利用检查。我们可以看到这里的 SSRF、
00:04:56身份验证利用、注入利用等等。一旦这些全部完成,
00:05:02我们可以看到身份验证利用耗时最长。最后它使用报告代理汇总一切。
00:05:07当然,如果愿意,我们可以展开所有这些项以查看每个阶段的更多信息,
00:05:13但我不是 Temporal 专家,我相信如果翻阅文档,会有更多关于
00:05:17如何使用该平台的内容。但现在让我们来看看 Shannon 生成的最终报告。
00:05:22在 Juice Shop 项目的 deliverables 目录下,我们可以看到它生成的
00:05:28所有报告列表。这比我想象的要多得多。让我们先看这份报告,
00:05:33它是身份验证分析。你可以看到顶部有一个摘要。在这里,
00:05:37它指出已识别出 11 个关键漏洞,我们可以看到它们是什么。
00:05:43比如,六个身份验证端点中有零个强制执行 HTTPS,这很正常,因为我是在
00:05:47本地运行。此外,还缺少适当的 CUSP 控制。
00:05:52而且身份验证端点没有足够的速率限制。这些都很详细。
00:05:56如果你向下滚动,可以看到具体问题是什么、发生在何处,
00:06:01以及导致问题的端点。我不想让大家感到无聊去逐一查看每份报告,
00:06:05但让我们看看总结报告,也就是 “综合安全评估报告”。
00:06:10在这里面,有关于所用模型、项目范围的详细信息。现在
00:06:15向下滚动,可以看到它发现了四个已被完全利用的关键身份验证漏洞,
00:06:21并在此列出。哇,这非常彻底,但看看这个。如果我们
00:06:26继续向下滚动,它给出了报告摘要。这是第一个 IDOR 漏洞,
00:06:31再往下看,我们可以看到攻击者究竟是如何利用它的。包括他们可以运行的
00:06:38带有详细信息的具体 curl 命令,以及他们可以提取的信息类型。
00:06:43每个漏洞都有这种级别的详细说明,这说明了
00:06:48评估过程是多么细致。如果你感兴趣,我会在描述栏留下所有
00:06:54报告的链接。但对于 Claude Sonnet 扫描一个仓库来说,两个半小时确实很久。
00:06:59Shannon Pro 有什么可以帮忙的吗?看起来 Shannon Pro 并不能
00:07:04提高速度,但它确实提供了其他功能,比如 CVSS 评分,
00:07:09这是基础版或免费版没有的。它还有 CI/CD 流水线支持、API 访问。更
00:07:16重要的是,如果你是企业用户,你会得到期望的一切,包括 OWASP
00:07:22合规性报告,以及 SOC 2 和 PCI DSS。所以尽管两个半小时很长,
00:07:27但我做了一些研究,发现 Shannon 的第一次运行时间最长,
00:07:32之后的运行速度会快得多。我知道你在想什么。一次渗透测试用
00:07:37Claude Sonnet 3.5 跑了快两个半小时。这得花多少钱?只能说,很多。
00:07:43我充值了大约 66 美元,最后只剩下这么点。也就是说,跑这次
00:07:50渗透测试花了将近 60 美元的 Claude 额度,虽然比雇佣人工测试便宜,
00:07:55但仍是一笔不小的开支。我很想使用我的 Claude Pro 或 Max 订阅,这会让
00:08:00整个过程便宜得多,希望 Claude 的代码安全功能在正式发布后
00:08:05能支持这一点。除非 Keygraph 团队最终用 OpenAI Agent SDK 之类的东西
00:08:10重写 Shannon,或者使用 Vercel AI SDK,这能让你使用更多模型。但总的来说,
00:08:16如果你是一家初创公司,不想在人工渗透测试上花大钱,那么 Shannon 是一个
00:08:21不错的替代方案。如果你是预算更少的独立开发者,那么也许可以先等等,
00:08:26直接发布产品看看是否真的有人使用。既然我们在聊 AI 和安全,
00:08:30如果你想知道如何在 VPS 上安全地安装 OpenWebUI,
00:08:34那就看看下一个视频,我会一步步教你具体怎么做。