AI 编程助手如 GitHub Copilot 和 Cursor 已经成为开发者的重要工具,极大地提高了编程效率。然而,这些工具的安全性正面临新的挑战。Pillar Security 的研究人员在最新报告中指出,恶意规则配置文件可能被用于操控 AI 编程助手,生成包含后门、漏洞和其他安全问题的代码。
AI 编程助手的潜在风险
AI 编程助手通过规则文件来指导其在生成或编辑代码时的行为。这些规则文件通常包含指示,要求助手遵循特定的编程最佳实践、使用特定格式,或以特定语言输出响应。然而,Pillar 研究人员发现,这些规则文件可能被武器化,通过注入对人类用户不可见但 AI 代理可读的指令,从而生成恶意代码。
“规则文件后门”攻击技术
研究人员开发了一种名为“规则文件后门”的攻击技术。这种技术利用隐藏的 Unicode 字符(如双向文本标记和零宽连接符)在用户界面和 GitHub 拉取请求中混淆恶意指令。这些字符对人类用户不可见,但 AI 编程助手能够读取并执行这些指令。
恶意规则文件的传播途径
规则配置文件通常在开发者社区中共享,并通过开源仓库分发或包含在项目模板中。因此,攻击者可以通过以下方式分发恶意规则文件:
在开发者论坛上分享; 在 GitHub 等开源平台上发布; 向热门仓库提交拉取请求。
一旦被污染的规则文件被导入 GitHub Copilot 或 Cursor,AI 代理将在协助开发者未来的编程项目时读取并遵循攻击者的指令。
实际案例与潜在影响
Pillar 研究人员通过一个实际案例展示了这种攻击的效果。在一个看似指示 AI“遵循 HTML5 最佳实践”的规则文件中,研究人员隐藏了文本,进一步指示在每个文件末尾添加外部脚本。隐藏提示还包括一个越狱指令,以绕过潜在的安全检查,向 AI 保证添加脚本是保护项目的必要措施且符合公司政策,同时指示在对用户的任何响应中不得提及添加脚本。
研究人员发现,当要求生成 HTML 页面时,GitHub Copilot 和 Cursor 都遵循了指令添加了外部脚本,且助手的自然语言响应中未提及此脚本的添加。这种攻击不仅可能导致安全漏洞,还可能创建泄露敏感信息(如数据库凭证或 API 密钥)的代码。
行业回应与建议
Pillar 在 2025 年 2 月向 Cursor 披露了此漏洞,并在 2025 年 3 月向 GitHub 披露。Cursor 表示,此问题并非其平台的漏洞,用户有责任管理风险。GitHub 同样回应称,用户有责任审查和接受 Copilot 生成的代码和建议。
根据 GitHub 2024 年“软件开发中的 AI”调查,约 97% 的受访者表示他们在工作内外都使用过生成式 AI,显示 AI 编程辅助在开发者中的普遍性。因此,开发者需要提高警惕,采取以下措施:
审查规则文件:检查是否存在潜在的恶意注入,如不可见的 Unicode 或异常格式。 审慎对待 AI 配置文件:以对待可执行代码相同的审慎态度对待 AI 配置文件。 审查 AI 生成的代码:特别是对于意外添加的内容,如外部资源引用。 使用自动化检测工具:帮助识别规则文件中的可疑内容或 AI 生成代码中的危害迹象。