Miasma蠕虫通过GitHub仓库攻击AI编码代理
一种名为Miasma的新型蠕虫利用AI编码代理的配置文件,通过GitHub仓库传播。它劫持了Claude Code、Gemini CLI、Cursor和VS Code等工具的自动运行功能,在执行恶意负载前窃取云凭证并自我复制。该攻击已影响113个以上仓库,包括Azure示例和主流开源项目。
一种名为Miasma的新型蠕虫正在利用AI编码代理的自动运行功能,通过GitHub仓库进行传播。安全研究团队SafeDep于2026年6月5日披露了这一威胁,指出攻击者通过修改开发工具配置文件,在开发者打开或使用受感染仓库时执行恶意负载。
该蠕虫的核心机制是将多个配置文件作为触发器,指向同一个负载脚本.github/setup.js。例如,在Claude Code和Gemini CLI中,攻击者利用SessionStart钩子配置,在代理会话启动时自动运行命令;在Cursor中,通过一个始终应用的规则(alwaysApply: true)引导AI代理执行恶意文件;在VS Code中,则配置了一个在文件夹打开时自动运行的任务。此外,package.json中的测试脚本也被篡改,使得任何运行测试的开发者或CI系统都会触发感染。
负载脚本本身经过多层混淆,最终解码为一个Bun脚本。该脚本会检查主机是否已安装Bun,如果没有,则从GitHub官方镜像下载一个固定版本。随后,它会在一个随机临时文件中写入恶意代码并执行。这种设计避免了使用宿主机的Node.js环境,增加了检测难度。
一旦执行,Miasma的负载会扫描多种云服务凭证,包括AWS、Azure、GCP、Vault、Kubernetes、npm和GitHub secrets,并将窃取的数据发送到攻击者创建的公共GitHub仓库。更重要的是,它会利用窃取的GitHub令牌访问其他仓库,并自动提交相同的恶意配置文件,从而实现自我复制和传播。
攻击的初始目标是一组属于用户icflorescu的5个仓库,包括mantine-datatable(拥有1225颗星)等,所有恶意提交在49秒内完成,表明过程完全自动化。进一步调查发现,GitHub上已有超过113个仓库受到类似感染,涉及个人项目、企业示例(如Azure-Samples/llm-fine-tuning)和开源项目(如metersphere/helm-chart)。
SafeDep团队提醒开发者,克隆仓库本身是安全的,但打开或使用AI编码代理在受感染的项目中工作时会触发负载。建议开发者检查项目中的.claude/settings.json、.cursor/rules/、.vscode/tasks.json等文件,并警惕任何未知的自动运行脚本。同时,应定期轮换GitHub令牌,并限制其写入权限。