最近,在意大利举行的 No Hat 安全会议上位于西雅的 Protect AI 公司宣布推出一款名为 Vulnhuntr 的开源工具。这款工具的目的很明确,就是通过 Anthropic 的 Claude AI 模型,来帮助开发者发现 Python 代码中的零日漏洞。
Vulnhuntr 的工作方式与传统的静态代码分析工具大相径庭。该工具并不是简单地将代码片段提交给 AI 分析,而是会自动找到那些可能处理远程用户输入的项目文件。
随后,Claude AI 会针对这些潜在的漏洞进行深入分析。在这个过程中,Claude 会不断请求代码中的函数、类和变量,以完整追踪从用户输入到服务器输出的整个调用链。这种方法有效降低了假阳性和假阴性的比例,因为它能够通读整个调用链,而不仅仅是分析小代码片段。
在使用 Claude AI 的最佳实践进行优化后,Vulnhuntr 的表现得到了极大提升。尽管也支持使用 OpenAI 的 GPT-4,但效果不如 Claude 好。McInerney 表示,Vulnhuntr 至今已经在一些大型开源 Python 项目中发现了十多处零日漏洞,这些漏洞此前并未被项目维护者发现或报告。
目前,Vuluntr 主要聚焦于七种类型的可远程利用的漏洞,包括任意文件覆盖、文件、服务器端请求伪造、跨站脚本、直接对象引用、SQL 注入和远程代码执行。工具扫描的项目包括了在 GitHub 上拥有数万颗星标的多个热门开源项目。
不过,Vulnhuntr 也有一些局限性,它目前仅支持 Python 代码,并且依赖于 Python 静态分析器。在分析代码时,AI 会生成一个置信度评分,帮助用户判断漏洞的有效性。虽然这个工具在检测零日漏洞方面已经取得了显著进展,但 McInerney 也指出,AI 生成的结果可能并不总是一致,因此多次运行可能是必要的。
Vulnhuntr 预计将在 GitHub 上发布,Protect AI 也鼓励更多的漏洞猎人利用这个工具在开源项目中进行测试。
划重点:
🌟 Vulnhuntr 是一款开源工具,通过 Claude AI 帮助开发者发现 Python 代码中的零日漏洞。
🛠️ 该工具的工作方式不同于静态分析,能够追踪用户输入到服务器输出的完整调用链。
🚀 Vulnhuntr 已发现多个大型开源项目中的零日漏洞,并将在 GitHub 上发布供开发者使用。