共计 1145 个字符,预计需要花费 3 分钟才能阅读完成。
本文揭示了一个值得关注的安全现象:AI 模型不仅继承了互联网上的不安全代码模式,还可能被用于自动化修复这些历史遗留漏洞。研究显示,70% 的大型语言模型在生成代码时仍会复现这个 15 年前的路径遍历漏洞。
点小安观点:这一研究对 AI 安全领域具有重要意义。它提醒我们:(1) AI 训练数据的质量直接影响输出安全性;(2) AI 不仅可以复现漏洞,还能帮助修复漏洞;(3) 开源社区的安全债务问题正在被 AI 继承和传播。
无意中延续了十年的 bug 的人工智能工具现在也可能有助于消除它。
2010 年,一位开发人员发布了一个小代码片段作为 GitHub Gist,以展示如何在 Node.js 中创建静态文件服务器。它包括一个微妙的路径遍历漏洞,允许攻击者在指定目录之外导航。随着时间的推移,不安全的模式通过 Stack Overflow 答案、博客文章、大学教程甚至主要公司的生产存储库传播。
多年来,它变得如此嵌入开发者文化,以至于它进入了当今 AI 模型的训练数据。
研究团队负责人 Jafar Akhoundali(莱顿大学博士候选人)表示:“ 我们并不 100% 确定 2010 年的 Gist 是原始来源,但这是我们可以追踪的最早实例。很可能是代码片段传播,因为它解决了一个常见问题——提供静态内容——并且可以很容易地用复制粘贴重复使用。”
测试结果令人担忧
为了衡量这个漏洞已经变得有多深,研究团队要求大型语言模型,包括 GPT-3.5、GPT-4、Claude、Gemini 和 Copilot 模型为静态文件服务器编写代码。他们测试了一般提示和明确请求安全代码的提示。
即使指示优先考虑安全性,70% 的响应也包含易受攻击的逻辑 。平衡模式下的 GPT-3.5 和 Copilot 无法在任何测试场景中生成安全代码。
“ 垃圾进来,垃圾出去 ”:当数据本身缺乏质量时,我们不能简单地期望模型表现更好……无论是人类还是人工智能,都不是罪魁祸首。
该团队还建立了一个系统来修复它。它扫描公共 GitHub 存储库以查找路径遍历漏洞模式,并尝试使用沙盒测试确认可利用性。如果成功,该工具使用 GPT- 4 生成补丁。
从对 40,546 个存储库的初始扫描中,该工具验证了 1,756 个是可利用的路径遍历缺陷。它产生了 1,600 个有效的补丁。只有 63 个项目接受了修复。
该团队的研究集中在 JavaScript 项目中的路径遍历漏洞上,但管道是可扩展的。他说,原则上,该方法可以应用于其他漏洞类甚至其他编程语言。
安全无小事,点滴记心间!
来源:GovInfoSecurity
原文链接:https://www.govinfosecurity.com/ai-may-fix-15-year-old-bug-helped-spread-a-28657
本文观点仅供参考,具体内容表达以及含义原文为准。