面向漏洞编程:如何让AI编程助手生成带后门的代码

admin 2025年3月21日00:40:16评论8 views字数 1531阅读5分6秒阅读模式

关注我们

带你读懂网络安全

面向漏洞编程:如何让AI编程助手生成带后门的代码

研究人员发现,通过在AI编程助手的规则文件中植入不良内容,来诱导Cursor或GitHub Copilot生成不安全的代码,攻击者可以通过在论坛或GitHub分享包含规则文件的代码库来实施软件供应链攻击。

前情回顾·大模型安全动态
安全内参3月20日消息,安全厂商Pillar Security的研究人员发布报告称,GitHub Copilot和Cursor等AI编程助手可能会被操纵,攻击者可以通过分发恶意规则配置文件,诱导AI生成包含后门、漏洞和其他安全风险的代码。

规则文件可被植入“不可见”后门,

用于生成不安全代码

规则文件是AI编程助手的配置功能,用于指导AI编程助手在生成或编辑代码时的行为。例如,规则文件可能包含指令,要求助手遵循特定的编码最佳实践、使用特定格式,或以特定语言输出响应。
Pillar研究人员开发了一种名为“规则文件后门”(Rules File Backdoor)的攻击技术,其原理是向规则文件注入对人类用户不可见但AI代理可读取的指令,以此实现攻击目的。
面向漏洞编程:如何让AI编程助手生成带后门的代码
研究人员指出,隐藏的Unicode字符(如双向文本标记和零宽度连接符)可以用于在用户界面和GitHub拉取请求中混入恶意指令。
规则文件通常会在开发者社区中共享,并通过开源代码库分发,或包含在项目模板中。因此,攻击者可以通过论坛分享、在GitHub等开源平台上发布,或通过向热门代码库提交拉取请求的方式传播恶意规则文件。
一旦受污染的规则文件被导入GitHub Copilot或Cursor,AI代理将在未来的编码过程中读取并执行攻击者的指令。
在Pillar演示的一个案例中,一个看似指示AI“遵循HTML5最佳实践”的规则文件实际上隐藏了额外的指令,要求在每个文件的末尾添加一个外部脚本。
面向漏洞编程:如何让AI编程助手生成带后门的代码
隐藏的提示还包含一个“越狱”机制,以绕过潜在的安全检查,并向AI保证添加该脚本是为了确保项目安全,并且是公司政策的一部分。此外,该指令还要求AI在任何对用户的响应中都不得提及该脚本的添加。
Pillar研究人员发现,当GitHub Copilot和Cursor被要求生成HTML页面时,它们均按照指令添加了该外部脚本,并且在自然语言响应中未提及该脚本的存在。
研究人员指出,“规则文件后门”还可能被用于在生成的代码中引入安全漏洞,或创建会泄露敏感信息(如数据库凭据或API密钥)的代码。

开发者需审查使用的规则文件,

评估异常内容风险

Pillar于2025年2月向Cursor披露了此漏洞,并于2025年3月向GitHub披露。Cursor表示,该问题并非其平台的漏洞,而是用户自行管理风险的责任。GitHub也作出类似回应,称用户应自行审核和接受Copilot生成的代码和建议。
GitHub 2024年“AI在软件开发中的应用”调查显示,约97%的受访者表示他们在工作和日常生活中都使用了生成式AI,这表明AI编程助手在开发者群体中的广泛应用。
Pillar建议开发者审查所有使用的规则文件,以防其中隐藏恶意注入内容,如不可见的Unicode字符或异常格式,并以审查可执行代码的同等标准对待AI配置文件。
研究人员还写道,AI生成的代码应经过仔细审核,尤其是检查是否存在外部资源引用等意外添加的内容。自动化检测工具也可用于识别规则文件中的可疑内容或AI生成代码中的入侵迹象。

参考资料:scworld.com

原文始发于微信公众号(安全内参):面向漏洞编程:如何让AI编程助手生成带后门的代码

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月21日00:40:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   面向漏洞编程:如何让AI编程助手生成带后门的代码https://cn-sec.com/archives/3863050.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息