评估 AI 漏洞检测:LLM 在安全编码方面有多可靠?

主要观点:大型语言模型(LLMs)可生成源代码,AI 编码助手改变软件生产格局,能加速代码交付,但在代码安全方面存在不足。
关键信息:

  • 安全研究项目测试 AI 识别漏洞能力,发现对某些类问题有效但不稳定。
  • AI 在上下文推理方面能很好地发现不安全直接对象引用(IDOR)漏洞,但在传统注入漏洞如 SQL 注入和跨站脚本(XSS)方面表现不佳,因缺乏对数据流的深入理解。
  • AI 具有非确定性,每次运行结果不同,导致可靠性问题,其在处理大型上下文时会出现信息丢失。
  • 现有基准测试不够真实,实际测试不同代码库中模型表现不同,易产生进步错觉。
  • 虽有较高假阳性率,但部分“错误”发现可作为良好的代码安全建议,应将 AI 工具作为助手而非权威使用。
    重要细节:
  • 安全研究评估了 Anthropic 的 Claude Code 和 OpenAI 的 Codex 在 11 个大型开源 Python 网络应用中的表现,Claude 发现 46 个真实漏洞,Codex 发现 21 个。
  • 以在线商店订单历史的 URL 为例解释 IDOR 漏洞,AI 模型如 Claude Code 能很好地发现此类模式。
  • 以简单 Python 代码示例说明 SQL 注入漏洞,AI 在处理复杂数据流时存在困难。
  • 非确定性导致每次运行发现的漏洞数量不同,影响可靠性,如同一应用连续三次运行结果不同。
  • 实际测试真实现代 Python 网络应用时,模型表现各异,需反复测试。
  • 虽假阳性率高,但部分“错误”发现仍有价值,可作为代码安全建议,应将 AI 与确定性分析结合使用。
    开发团队应认识到 AI 工具在模式匹配等方面的优势与不足,将其作为助手,重视其在安全方面的不确定性,未来应结合 AI 上下文推理与确定性静态分析引擎。
阅读 4
0 条评论