
一、导语
2010年,一位开发人员在GitHub Gist上分享了一段用于在Node.js中创建静态文件服务器的代码片段,其中包含一个微妙的路径遍历漏洞。这个看似不起眼的代码片段在接下来的十多年里,通过Stack Overflow回答、博客文章、大学教程乃至大型企业的生产代码库不断传播,最终进入了当今主流AI模型的训练数据中。
二、AI模型的安全性测试
莱顿大学博士候选人Jafar Akhoundali领导的研究团队对这一现象进行了深入分析。研究人员让包括GPT-3.5、GPT-4、Claude、Gemini和Copilot在内的主流大语言模型为静态文件服务器编写代码,并分别测试了常规提示和明确要求安全代码的提示。测试结果令人震惊:即使明确指示优先考虑安全性,仍有70%的模型输出包含易受攻击的逻辑。在平衡模式下,GPT-3.5和Copilot无法在任何测试场景中生成完全安全的代码。
三、自动化修复系统的应运而生
这充分印证了"垃圾进来,垃圾出去"这一机器学习领域的经典论断。研究人员指出,如果训练数据中包含了不安全的代码模式,模型将不可避免地在输出中重现这些模式。研究团队开发了一套自动化漏洞修复系统,从对40546个代码库的初步扫描中,确认了1756个存在可利用路径遍历缺陷的项目,并成功生成了1600个有效补丁,但最终只有63个项目接受了修复建议。
四、总结
这一研究为整个行业敲响了警钟:AI既是漏洞的传播者,也正在成为漏洞的终结者。随着AI安全研究工具的不断进化,我们有望看到更多自动化漏洞发现与修复方案问世,从根本上改善软件供应链的安全状况。