AI工具加速程序开发的工作流程,然而黑客若是从其中部分环节下手,就有机会发动供应链攻击,左右开发的结果。
安全企业Pillar披露名为Rules File Backdoor的新形态供应链攻击手法,这种手法针对Cursor与GitHub Copilot两款AI程序代码编辑器而来,攻击者借由看似无害的规则文件(RuleFile),注入隐藏的恶意指引,从而无声无息地左右AI产生的程序代码。Pillar向Cursor与GitHub通报此事,Cursor表示经过调查,这种弱点并非源自他们;GitHub则认为用户必须负责检查GitHub Copilot提供的建议。
借由在模型面向指令类型(model facing instruction)的酬载埋入Unicode字符,以及运用复杂的回避侦测手法,能让攻击者操弄AI、趁机插入恶意程序代码,借此绕过典型的程序代码审查作业,研究人员强调,这种手法难以被开发人员与安全团队发现,使得恶意程序代码能暗中通过项目进行复制。
这种攻击手法与锁定特定安全漏洞的程序代码注入有所不同,Rules File Backdoor将AI的“规则文件”变成攻击媒介,而有可能使得受到危害的软件影响最终用户,造成重大的安全风险。
什么是“规则文件”?这是AI代理程序的组态文件,用途是引导产生或变动程序代码的行为。这种文件定义AI撰写程序代码的标准、项目架构,以及最佳实务。
究竟研究人员如何找到这种漏洞?Pillar Security在调查开发团队共享AI组态配置的过程里,发现AI程序代码助理出现漏洞,使得在处理规则文件提供的场景资讯会出现问题。
在这种攻击里,攻击者可将精心制作的提示嵌入看似正常的规则文件,一旦开发人员尝试产生程序代码,有问题的规则就会导致AI产生带有安全漏洞或是后门的程序代码。
此手法主要运用4种技巧,首先是操控场景,嵌入看起来合法但能篡改AI产生程序代码的行为。
再者,利用零宽度及双向标记的Unicode字符,或是其他的无法看见的字符,埋藏恶意指引。
第3种技术是语义劫持,这是利用AI通过特定语言特征理解自然语言的模式,将原本产生程序代码的结果重定向成带有弱点的成品。
最后一种则是触发跨代理程序的弱点,由于这种攻击能对不同的AI程序代码助理下手,研究人员推测是系统性的漏洞。
研究人员展示如何利用Rules File Backdoor对Cursor与GitHub Copilot,结果通过生成带有恶意脚本的HTML网页文件。针对这些发现,他们呼吁开发人员应稽查现有的规则、导入验证的程序、部署相关侦测工具,以及对AI产生的程序代码必须进行检查。