2025年3月18日Pillar Security公司博文披露,该公司研究人员发现了一种名为“规则文件后门”的新型供应链攻击媒介,影响GitHub Copilot和Cursor等AI代码编辑器。攻击者通过在规则文件中嵌入隐藏的恶意指令,利用Unicode字符和复杂的规避技术,操纵AI生成包含安全漏洞或后门的代码。这种攻击对开发人员和安全团队几乎不可见,可能导致恶意代码在项目中悄无声息地传播,影响数百万最终用户。
攻击机制
规则文件是用于指导AI生成代码的配置文件,通常存储在中央存储库中,开发人员对其高度信任且很少进行安全审查。攻击者通过在规则文件中嵌入不可见的Unicode字符和恶意指令,利用AI的上下文理解能力,生成包含漏洞或后门的代码。攻击的持久性极高,一旦中毒的规则文件被纳入项目,将影响所有未来的代码生成,甚至通过项目分叉影响下游依赖项。
真实演示
研究人员在Cursor和GitHub Copilot中演示了攻击过程。通过创建包含隐藏恶意指令的规则文件,AI生成的HTML文件中被悄无声息地插入了来自攻击者控制站点的恶意脚本。攻击载荷利用不可见字符、叙事结构和隐藏日志指令,绕过人为干预保护措施,使恶意代码在代码库中传播而不被察觉。
深远影响
“规则文件后门”攻击可能导致以下后果:
覆盖安全控制:恶意指令可覆盖安全默认值,生成绕过安全检查的代码。
生成易受攻击的代码:AI可能生成包含后门或不安全实践的代码。
数据泄露:恶意规则可能指示AI添加泄露敏感信息的代码。
长期持久性:中毒规则文件影响所有未来代码生成,并通过项目分叉传播。
缓解策略
为降低风险,建议采取以下措施:
审核现有规则:检查规则文件中的不可见字符和不寻常格式。
实施验证流程:以与可执行代码相同的严格程度审查AI配置文件。
部署检测工具:识别规则文件中的可疑模式,监控AI生成的代码。
审查AI生成的代码:特别注意意外添加的内容,如外部资源引用或不寻常的导入。
负责任披露
Pillar Security已向Cursor和GitHub披露该漏洞,但两家公司均认为审查AI生成代码的责任在于用户。这一回应凸显了公众对AI编码工具安全隐患的认识不足,尤其是在软件开发生命周期中对其输出依赖日益增强的背景下。
结论
“规则文件后门”攻击标志着供应链攻击的重大进化,将AI本身武器化,使其成为攻击者的帮凶。随着AI编码工具在开发流程中的广泛应用,组织必须采用专门的安全控制措施,确保AI开发流程的安全性,防止此类新型攻击的蔓延。
附:Pillar Security原始报告
参考资源
1、https://www.pillar.security/blog/new-vulnerability-in-github-copilot-and-cursor-how-hackers-can-weaponize-code-agents?utm_source=Securitylabru
2、https://www.securitylab.ru/news/557443.php?utm_referrer=https%3A%2F%2Fwww.securitylab.ru%2F