智能体刷屏的背后,是 AI 应用拐点的来临?AICon 北京站议程重磅公布,50+ 硬核分享不容错过 了解详情
写点什么

Copilot 及 Cursor 等 AI 编码助手的新漏洞:通过规则文件注入恶意代码

  • 2025-03-24
    北京
  • 本文字数:1235 字

    阅读完需:约 4 分钟

大小:600.90K时长:03:25
Copilot及Cursor等AI 编码助手的新漏洞:通过规则文件注入恶意代码

 整理 | 华卫

 

近日,Pillar Security 的研究人员报告称,诸如 GitHub Copilot 和 Cursor 这类人工智能编码助手,可能会通过恶意规则配置文件的分发而被操控,从而生成包含后门程序、漏洞及其他安全问题的代码。

 

规则文件被人工智能编码代理用于在生成或编辑代码时指导其行为。例如,一个规则文件可能包含指令,让编码助手遵循特定的编码最佳实践、采用特定的格式,或者用特定的语言输出回复内容。

 

Pillar 的研究人员开发出了一种攻击技术,他们称之为“规则文件后门”。这种技术通过向规则文件中注入对人类用户不可见但人工智能代理可读的指令,将规则文件武器化。研究人员指出,像双向文本标记和零宽度连接符这类隐藏的 Unicode 字符,可被用于在用户界面以及 GitHub 的拉取请求中隐藏恶意指令。 

 

规则配置通常在开发者社区中共享,并通过开源代码库进行分发,或者包含在项目模板里。因此,攻击者可以通过在论坛上分享恶意规则文件、在像 GitHub 这样的开源平台上发布该文件,或者通过向一个热门代码库发送拉取请求来注入恶意规则文件。一旦被篡改的规则文件被导入到 GitHub Copilot 或 Cursor 中,人工智能代理在协助受害者未来的编码项目时,就会读取并遵循攻击者的指令。

 

在 Pillar 展示的一个例子中,一个看似指示人工智能“遵循 HTML5 最佳实践”的规则文件包含了隐藏文本,这些隐藏文本中还有进一步的指令,要求在每个文件的末尾添加一个外部脚本。这个隐藏的提示还包括一段越狱代码,用于绕过潜在的安全检查,让人工智能确信添加该脚本对于保护项目安全是必要的,并且这是公司政策的一部分,此外还包含了指令,要求在对用户的任何回复中都不要提及添加了该脚本这件事。

 

Pillar 的研究人员发现,当被要求生成一个 HTML 页面时,GitHub Copilot 和 Cursor 都会遵循指令添加外部脚本,并且在这两个助手的自然语言回复中都没有提到添加了这个脚本。

 

研究人员称,“规则文件后门”还有可能被用于在生成的代码中引入安全漏洞,或者创建会泄露数据库凭证或 API 密钥等敏感信息的代码。

 

Pillar 在 2025 年 2 月向 Cursor 披露了这一漏洞利用情况,并在 2025 年 3 月向 GitHub 披露了相关情况。Cursor 表示,这个问题并非源于其平台的漏洞,管理风险是用户的责任。GitHub 也做出了类似回应,称用户有责任审查并接受由 Copilot 生成的代码和建议。

 

在 GitHub 2024 年“软件开发中的人工智能”调查中,约 97%的受访者表示,他们在工作中及工作外都使用过生成式人工智能,这表明人工智能编码辅助在开发者中相当普遍。

 

Pillar 建议开发者审查他们使用的所有规则文件,检查是否存在诸如不可见的 Unicode 字符或不寻常格式等潜在的恶意注入情况,并像审查可执行代码一样严格审查人工智能配置文件。

 

研究人员表示,对于人工智能生成的代码也应该仔细审查,尤其是对于外部资源引用等意外添加的内容。自动化检测工具也有助于识别规则文件中的可疑内容,或者人工智能生成代码中存在被篡改的迹象。 

 

参考链接:

https://www.scworld.com/news/how-ai-coding-assistants-could-be-compromised-via-rules-file

 

2025-03-24 12:023669

评论

发布
暂无评论

数据可视化平台搭建,警务实战平台大数据应用

t13823115967

数据可视化 可视化数据分析搭建 警务实战平台

物联网方面的竞赛有那些?

IoT云工坊

vivo 互联网业务就近路由技术实战

vivo互联网技术

中间件 服务器 分布式路由

生产环境全链路压测建设历程 21:某快递 A 股上市公司的生产压测案例之彩蛋 2 中篇

数列科技杨德华

全链路压测 七日更

架构师训练营第2期 第10周总结

月下独酌

极客大学架构师训练营

第十周作业总结

hunk

极客大学架构师训练营

第 5 周作业提交

Binary

极客大学架构师训练营

物联网目前的安全问题有哪些?

IoT云工坊

6. 抹平差异,统一类型转换服务ConversionService

YourBatman

Spring Framework 类型转换 Converter ConversionService

vivo 全球商城:订单中心架构设计与实践

vivo互联网技术

分库分表 服务器 架构设计

共享单车系统搭建

Geek_a620db

关于Dubbo的原理

皮蛋

掌趣电竞系统开发搭建

Geek_a620db

使用 Serverless 创建一个简单的短网址服务

donghui

flask Serverless Lambda Store

2020年物联网行业有哪些新趋势

IoT云工坊

盘点2020 | 作为技术号主的一年!

小傅哥

Java 小傅哥 盘点2020 技术成长 2021年度技术盘点与展望

十、服务分解

Geek_28b526

程序员的bug修复宝典

程序员 经验总结 bug修复

面试官:说说操作系统微内核和Dubbo微内核?

yes

dubbo 操作系统 微内核

海纳百川无所不容,Win10环境下使用Docker容器式部署前后端分离项目Django+Vue.js

刘悦的技术博客

Python Docker 容器 镜像 部署

HBC环保卫士系统搭建

Geek_a620db

多币种钱包app系统开发,数字货币交易所系统源码开发

深入解析SpringMVC核心原理:从手写简易版MVC框架开始(SmartMvc)

Silently9527

Java mvc springmvc

数据库范式与反范式设计,是一门艺术

架构精进之路

数据库 范式

指尖上的警务,打造微警务管理服务平台

t13823115967

智慧警务系统开发 微警务

如何基于SDK快速开发一款IoT App控制智能灯泡(Android版)

IoT云工坊

android App 物联网 API sdk

架构师训练营第2期 第10周作业

月下独酌

极客大学架构师训练营

全1子串算法求解、单元测试的必要性论述 John 易筋 ARTS 打卡 Week 32

John(易筋)

ARTS 打卡计划 全1子串算法求解 单元测试必要性

智能合约系统软件开发|智能合约APP开发

系统开发

架构师训练营 - 大作业二

lucian

第 5 周学习总结

Binary

极客大学架构师训练营

Copilot及Cursor等AI 编码助手的新漏洞:通过规则文件注入恶意代码_AI&大模型_华卫_InfoQ精选文章