主要观点:大型语言模型(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 上下文推理与确定性静态分析引擎。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。