主要观点:
- 介绍了 Python 静态代码分析器 Vulnhuntr,利用大型语言模型(LLMs)查找和解释复杂的多步漏洞,在运行几小时内就发现了针对 AI 生态系统开源项目的十多个远程可利用 0 天漏洞,包括远程代码执行等。
- 列举了在热门项目中发现的真实 0 天漏洞样本,包括 gpt_academic、ComfyUI 等项目的不同漏洞。
- 详细说明了 Vulnhuntr 的工作原理,通过将代码分解为小块,智能请求相关代码部分,进行循环分析以确定从用户输入到服务器输出的完整路径,从而减少误报和漏报。
- 指出了 Vulnhuntr 的局限性,如仅支持 Python、专注于特定严重漏洞、结果可能因 LLM 不确定性而不同等。
- 阐述了面临的挑战,如检索增强生成(RAG)和微调在构建漏洞调用链方面的效果不佳,静态解析动态类型语言如 Python 存在困难。
- 介绍了 Vulnhuntr 的基本用法和目标用法,以及不同置信度得分的含义。
- 展望了未来,随着上下文窗口的增加,静态代码解析可能不再那么有用,但手动解析代码进行漏洞搜索仍将有助于减少误报和漏报。
关键信息和重要细节:
- Vulnhuntr 利用 Claude 3.5 等模型的能力,通过巧妙的技巧处理上下文窗口限制来查找漏洞。
- 工作原理包括分析和重新分析代码、请求相关代码片段、映射完整路径、返回详细分析等。
- 局限性方面,仅支持 Python 会导致非纯 Python 项目的漏洞结果准确性降低,专注的漏洞类型限制了其检测范围,LLM 的不确定性可能导致结果差异。
- 挑战包括 RAG 和微调的效果不佳,静态解析 Python 代码的困难,如处理动态类型和边缘情况。
- 用法包括基本用法和目标用法,根据项目情况选择合适的方式运行,置信度得分用于评估漏洞的可能性。
- 未来随着技术发展,静态代码解析的作用可能会变化,但手动解析仍有价值。
各项目的漏洞信息:
- gpt_academic:有 LFI 和 XSS 漏洞,分析了相关代码中的安全措施和潜在漏洞点,给出了利用漏洞的 PoC 和置信度得分。
- ComfyUI:有 XSS 漏洞,分析了多个路由和功能中的潜在 XSS 风险,给出了利用漏洞的 PoC 和置信度得分。
- FastChat:有 SSRF 漏洞,分析了多个 API 流函数中的 SSRF 风险,给出了利用漏洞的 PoC 和置信度得分,还提到了一种将盲 SSRF 变为非盲 SSRF 的变化。
- infiniflow/ragflow:有 RCE 漏洞,分析了 add_llm 函数中的代码执行风险,给出了利用漏洞的 PoC 和置信度得分。
- 多个<redacted>项目:分别有 AFO、LFI(误报修正为 AFO)、IDOR、SSRF、RCE 等漏洞,详细分析了代码中的漏洞点、利用方法和置信度得分,并配有相关截图。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。