社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

42 个 GitHub 仓库遭投毒!Claude、Cursor、Gemini 用户需警惕

看雪学苑 • 1 周前 • 108 次点击  

近日,JFrog 安全研究团队披露了一起供应链攻击事件:攻击者劫持了 42 个真实 GitHub 仓库,涉及 11 个合法仓库所有者,并植入恶意代码,针对 Claude、Gemini、Cursor 及 VS Code 等开发工具用户。


与常见的提示词注入不同,这次攻击不需要诱导 AI 模型执行恶意指令,而是利用开发工具的项目配置和自动执行机制,在开发者打开项目时触发恶意脚本。






一、恶意代码藏在项目配置中

研究人员发现,攻击者在相关仓库中植入了名为 .github/init.js 的恶意脚本,文件体积约为 12.9 MB 至 13.7 MB。


攻击者通过 Claude、Gemini、Cursor 和 VS Code 等工具的配置,设置了相应的脚本执行入口。部分项目还存在 package.json、composer.json 或 Makefile 等文件的异常改动。


由于恶意文件体积异常庞大,常规代码搜索未能完整发现相关载荷。JFrog 最初发现 26 个仓库,随后通过直接检查仓库文件树,将范围扩大至 42 个。


这意味着,代码搜索没有发现异常,并不代表仓库一定安全。






二、从 GitHub 到 npm,攻击试图形成传播闭环

此次事件与研究人员追踪的 npm 恶意软件活动有关,相关行动被称为 testmetest。


攻击者试图通过被盗账号和自动化发布流程,将恶意代码传播至更多软件包,进一步窃取凭据并扩大攻击范围。


研究人员还发现,部分恶意 npm 包包含编译后的原生扩展和加密载荷。恶意程序会根据运行环境采取不同策略,并检查 Wireshark、Fiddler、x64dbg 等分析工具,增加安全分析难度。


此外,攻击者还伪造部分提交记录,使恶意变更看起来像是较早发生的正常开发活动。


调查还发现,相关攻击活动涉及对 cPanel、WHM 系统的漏洞扫描。不过,目前没有证据证明相关扫描已经导致服务器成功失陷。






三、开发者应该如何防范?

针对这类攻击,开发者和安全团队可以重点做好以下工作:

  • 检查项目配置: 排查异常启动脚本、AI 工具配置、MCP 配置及工作区任务,重点关注 .github/init.js 等可疑文件。

  • 审查依赖与发布流程: 核对 npm 依赖版本、锁定文件及 GitHub Actions 工作流,防止恶意代码借助自动化流程继续传播。

  • 及时处置泄露凭据: 如果怀疑恶意代码已经运行,应在隔离和清除恶意程序后,撤销并轮换 GitHub、npm、云平台、SSH 等相关凭据,同时检查异常登录和发布记录。

  • 隔离不可信项目: 不要直接使用日常开发账号打开来源不明的仓库;应在隔离环境中检查,并限制开发工具未经审核的自动执行权限。






结语

此次事件提醒开发者:AI 编程工具带来的安全风险,不仅存在于模型本身,也可能隐藏在项目配置、自动执行钩子和软件依赖之中。


一个看似正常的代码仓库,也可能成为窃取开发者凭据、传播恶意软件的入口。


资讯来源:JFrog Security Research、The Register


球分享

球点赞

球在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/202706