研究人员近日示范了一种新型的提示注入(PromptInjection)攻击,证明看似无害的PNG图档,也可能成为AI程式码助理的攻击入口。这项研究指出,攻击者不必将恶意指令藏在程式码中,而是可以将其嵌入图片等非程式资产,利用AI在审查这类内容时警觉性不足的弱点,让原本看起来正常的拉取请求(PullRequest)顺利通过。
研究团队由SudiptaChattopadhyay教授与研究人员MuraliEdiga组成。他们的概念验证显示,隐藏在图片中的指令不会立即发作,而是等到开发者随后向AI程式码助理提出其他任务时(例如要求新增函式或建立模组)才会被触发。此时,AI可能已经吸收了先前埋入的内容,进而在不知情的情况下存取敏感的专案档案,并将机密资讯混入生成的程式码中。
更令人担忧的是,这些外泄的资料不会以明显的方式出现在原始码中,而是被伪装成一般看似正常的数值,这降低了既有安全工具侦测到异常的机率,也更容易在快速的人工审查中被忽略。研究人员同时发现,风险并不完全取决于大型语言模型(LLM)本身,而是与外层AI程式码助理的设计有关;同一个模型在不同工具中的表现可能差异很大,有些会照单全收隐藏指令,有些则能察觉可疑迹象并拒绝执行。
研究团队认为,解决方案在于让AI审查工具真正具备多模态(Multimodal)能力,将图片、文件、设定档等非程式内容,与原始码一样纳入严格检查。对开发者而言,这也是一个提醒:AI程式码工具虽能大幅加快开发流程,但同时也带来了新的攻击面,未来的安全风险未必藏在成千上万行程式码中,也可能躲在一张没人特别注意的图片里。