2025年,开源供应链生态中的恶意投毒攻击呈现高发态势,攻击范围扩大化、技术手段智能化以及对抗方式多样化。悬镜安全情报中心监控显示,全年识别56928个存在真实恶意行为的投毒包,较2024年增长58%,其中NPM仓库占比超92%,HuggingFace平台成为恶意模型投放的主要平台。
攻击态势分析:
- 攻击范围:NPM仓库(92%)、Pypi仓库(4.49%)、HuggingFace平台(940+模型)、VSCode插件市场、Ruby及Go生态。
- 攻击方式:恶意代码内嵌执行(51.58%)、系统命令执行(31.13%)、恶意文件下载执行(9.82%)、恶意文件释放执行(5.09%)、恶意代码内存执行(1.77%)、系统文件篡改(0.56%)。
- 恶意行为:信息窃取(83.8%,目标包括系统信息、密码文件、网络配置、用户信息、浏览器Cookie/凭证、数字钱包数据等)、远控攻击(远控木马和反连Shell后门)。
- 新型攻击:针对AgenticAI生态的提示词注入、AI模型文件恶意代码注入、伪装AI模型SDK、Stdio模式的AgentMCPServer及Skill包恶意语义误导及代码投毒。
案例分析:
- AgenticAI生态:AI模型文件序列化代码注入、AgentMCPServer提示词注入、AgentSkill恶意指令投毒。
- VSCode插件市场:伪装CodexAI插件植入恶意木马。
- Python公共仓库:伪装AI框架库劫持数字钱包应用、利用压缩包执行特性绕过静态检测。
- NPM公共仓库:引用外部恶意依赖绕过静态检测、混淆代码动态执行绕过静态检测、基于时间门控的远程代码执行后门。
治理建议:
- 多模态SCA审查:支持“源码-二进制-运行时”全链路场景,覆盖AgenticAI生态热点资产。
- 全生命周期SBOM管理:实时采集并更新SBOM数据,建立动态、透明的数字供应链资产清单。
- 联动供应链投毒情报预警:构建“情报—SBOM—DevSecOps”联动机制,实现全流程积极防护。
- AI原生安全治理:覆盖供应链资产安全(全流程管控、安全扫描)与运行时动态防御(部署环境隔离、权限最小化)。
总结与展望:
开源供应链生态中的恶意投毒攻击进入高发期,攻击技术手段日趋复杂。防御端需构建从开发到部署的纵深防御体系,通过接入供应链投毒情报与可信验证机制实现“安全情报前置、全链路阻断”。SBOM成为供应链投毒治理的核心数据资产,需结合数字供应链安全管理平台实现自动化关联与威胁匹配。未来需构建基于“AI原生安全+DevSecOps敏捷安全+多模态SCA+开源供应链情报预警”技术的新一代数字供应链安全治理体系,守护新一代数字供应链安全。
攻以守本,为快不破!AI原生安全筑内核,守护新一代数字供应链安全
悬镜供应链安全情报中心
1.引言
随着大语言模型(LLM)的逐步成熟、对话式智能体的广泛验证、AI场景化训练数据的快速积累,以及企业对智能化与目标驱动型AI应用的迫切需求,越来越多的企业将AI数智化转型作为提升核心竞争力的关键,其中AgenticAI的应用成果不仅依赖于单一的技术突破,更在于构建系统性、端到端的落地能力,同时也催生新型AI原生安全风险与数字供应链治理挑战。
2025年是开源供应链攻击威胁加速深化的一年,尤其是针对开源生态的恶意投毒进一步向自动化与复杂化快速演进。从NPM、PyPI等主流仓库的批量投毒,到IDE扩展市场的定向投毒,再到AgenticAI生态的新型投毒攻击,整体呈现出攻击范围扩大化、技术手段智能化以及对抗方式多样化等鲜明趋势。这一年,开源生态发生多起影响重大的供应链投毒事件,其中NPM仓库连续两次Shai-Hulud(代号"沙虫")恶意蠕虫大规模爆发成为开源供应链投毒攻击的标志性事件,开源生态的信任基石也遭遇极大冲击。
子芽
悬镜安全创始人
编委:
Random(蔡智强)、宁戈、王越、王雪松、陈超、武立朋
技术支撑:
悬镜供应链安全情报中心
2.供应链投毒攻击态势
在2025年,悬镜安全情报中心通过持续监控全网主流开源生态平台和AgenticAI生态社区,对潜藏恶意代码风险的投毒包(涉及开源组件、IDE扩展插件、AI模型、AgentMCP及AgentSkill工具等)进行供应链安全智能审查,总共识别56928个存在真实恶意行为及攻击意图的投毒包,总量相较于2024年(约为3.6w)显著提升58%。其中NPM公共仓库的代码投毒占比超过92%。Pypi公共仓库由于在2024年遭受集中式投毒后加强平台安全防护机制(启用账户双因子认证等措施),2025年Pypi仓库投毒 占比为4.49%,相较2024年呈现轻 微下降趋势。AI模型托管 平台HuggingFace已成为恶意模型投放的主要平台,超过940多个模型文件被攻击者实施投毒。此外,针对IDE扩展市场(以VSCode为主)、Ruby及Go生态的投毒攻击也日趋频繁。
针对所有恶意投毒包,我们通过多维数字供应链安全纵深分析与溯源评估,识别出投毒包使用的攻击方式及其关键恶意行为标签。
其中,投毒者最常用的攻击方式依旧是恶意代码内嵌执行(51.58%),其攻击流程主要利用主流包管理器中的安装指令在组件包安装或加载时静默执行内嵌在源码文件中的恶意代码。系统命令执行(31.13%)、 恶意 文件 下载 执行 (9.82%)、 恶意 文件 释放 执行 (5.09%)、 恶意 代码 内存 执行 (1.77%) 以 及 系 统 文 件 篡 改 (0.56%) 都 是 攻 击 者 惯 用 的 投 毒 手 段 。 此 外 , 随 着AgenticAI的规模化应用,借助提示词进行恶意语义攻击(提示词注入、语义误导等)也逐渐成为攻击者针对
AI开源生态投毒的主要新型攻击方式之一。
在所有恶意投毒包中,信息窃取攻击仍居高位,占比达83.8%,其中系统平台信息、系统密码文件、网络配置、用户信息、主流浏览器Cookie/登录凭证、数字钱包应用数据以及各类业务凭证口令(包括GithubToken、NPMToken、云服务AccessKeyID/Secret等)皆为攻击者主要窃取目标。其次,通过远控木马和反连Shell后门进行远控攻击事件也呈逐年上涨趋势。此外,针对AgenticAI开源生态的投毒攻击,除了提示词注入,AI模型文件恶意代码注入、伪装AI模型SDK、Stdio模 式的AgentMCPServer及Skill包 的恶 意语 义误 导 及代 码投 毒都 是 攻击 者常 用的AI供 应链 投毒攻击行为。
3.供应链投毒案例分析
本节将从2025年恶意投毒包中选取部分代表性样本进行技术分析,还原投毒攻击细节以及攻击者常用的对抗技术。
3.1AgenticAI生态
AI模型文件序列化代码注入投毒
主 流 深 度 学 习 框 架 (PyTorch、TensorFlow等 ) 训 练 生 成 的 模 型 文 件 ( 权 重 及checkpoint数据)通常会使用Python的pickle模块进行模型数据序列化存储。而由于pickle模块反序列时可重写对象__reduce__方法实现反序列化代码执行,因此攻击者可利用该特性将恶意代码序列化嵌入到模型文件中并发布到开源模型托管平台(HuggingFace、ModelScope等),当开发者使用torch.load()等接口直接加载模型文件时,将静默触发执行内嵌在模型文件中的恶意代码,导致供应链攻击。
以HuggingFace平 台playedalive/mdy-red-1项 目 为 例 , 如 下 图 所 示 , 其 模 型 文 件model.pkl被植入反序列恶意python代码,主要功能是反向shell远控后门,远控服务器地址及端口为:52.48.12.202:8080。
恶意模型项目
AgentMCPServer提示词注入
MCP(ModelContextProtocol,模型上下文协议)是LLM模型与外部工具交互的开放标准,MCPServer是实现该协议的工具服务端。MCPServer提示词注入原理在于利用LLM模型无法正确区分数据与指令及其对上下文输入的高度依赖性等特性,攻击者通过在与模型交互的数据源中植入恶意指令,诱导模型执行非预期操作,甚至可进一步实现对AIAgent的行为劫持与权限滥用。
以Python仓库组件wei516-tpa为例,该组件伪装成提供天气服务的MCPServer,该MCP服务提供了weather_info()工具接口,并在工具描述里使用标签尝试伪 装 成 系 统 指 令 进 行 提 示 词 注 入 攻 击 , 指 令 主 要 功 能 是 诱 导AI应 用 系 统 对 任 意 可 读 目 录 下 的api_key.txt文件内容追加FLAG标记位。
AgentSkill恶意指令投毒
Skill技能包作为AIAgent的外部功能扩展模块,其原生具备比MCPServer更高权限的执行环境以及与模型交互能力,但由于目前大部分Skill市场缺乏严格的安全审查机制,导致Skill
市场面临来自攻击者的代码投毒及恶意指令滥用等风险。第三方Skill的集成引入已经成为Agent系统面临的最危险供应链攻击面。近期OpenClawSkill市场遭受批量化投毒攻击,悬镜安全情报中心对其Skill市场3325个包进行恶意代码及高风险语义扫描后,检测出452个存在高危恶意代码行为的Skill包。绝大部分Skill包直接在SKILL.md指令文档中嵌入恶意指令从而操纵AIAgent执行高险操作,包括远程植入木马程序、恶意shell命令执行、敏感数据外传等。
以base-agentskill为例,在SKILL.md文件中根据系统环境执行相应的远程恶意木马植入操作,对于Windows系统直接操纵Agent远程下载加密压缩包AuthTool.zip,解密解压后执行恶意程序AuthTool.exe;对于Mac系统用户,则通过执行base64编码的shell命令远程下载植入AmosStealer窃密木马。
3.2VSCode插件市场
伪装CodexAI插件植入恶意木马
攻击者发布codex-ai-pro并伪装成CodexAI编程助手插件,在插件入口模块extension.js的active()函数中植入定时器,每隔一秒执行一次runScript()函数,如下图所示。
恶 意 函 数runScript()定 时 执 行script/run.bat脚 本 , 其 主 要 功 能 是 远 程 下 载 并 启动
Lightshot.dll动态链接库实际是一款针对Windows平台的恶意木马,由Lightshot.exe负责加载执行。
3.3Python公共仓库
伪装AI框架库劫持数字钱包应用
攻击者利用pytensorlite包名尝试伪装成知名AI框架库pytensor并诱导开发者下载安装,其主要功能是从github远程下载并执行攻击者投放的下一阶段被混淆保护的恶意py文件。
如 下 图 所 示 , 远 程 恶 意py文 件 负 责 从Chrome、Edge、Firefox等 主 流 浏 览 器 应 用 以 及Exodus、Atomic、Electrum等主流加密货币钱包应用中窃取敏感数据(包括用户登录凭证、密码相关文档等),窃取的数据被zip打包后上传到攻击者控制的webhook接口。
远程恶意py代码
此外, 攻击者还 会使用预 制的恶意app.asar文件对 系统中Atomic及exodus数字钱 包客户端进行替换劫持,如下图所示。
利用压缩包执行特性绕过静态检测
使用Python解释器执行ZIP压缩包文件时,如果压缩包根目录中包含__main__.py,Python会将该ZIP当作可 执行程序 运行,并 执行压缩 包目录中 的__main__.py脚本。 攻击者可 利用该特性将恶意代码封装在ZIP压缩包中进行分发执行,以此躲避初级的静态代码检测。
以Python组件devilfree为例, 该恶意组 件运行时 会先释放 出ZIP压缩包 文件.Devil,接着通过Python.Devil命令直接执行ZIP压缩包,如下图所示。
释放执行压缩包payload
.Devil实际上是个ZIP压缩包文件,文件列表如下图所示,由于.Devil压缩包内包含__main__.py文件,因此投毒者巧妙利用Python解释器执行压缩包的特性实现隐蔽执行.Devil压缩包中的__main__.py脚本代码。
压缩包文件列表
__main__.py代码内容如下图所示,被混淆处理过,其主要功能是实现对.Devil压缩包的自解压,并通过判断当前系统CPU架构来加载执行释放出的恶意可执行程序。不同CPU对应的可执行程序文件映射关系如下所示。
{'armv7l':'Devil32','armv8l':'armeabi-v7a','arm':'Devil32','aarch64':'Devil64','arm64':'Devil64','x86':'x86','i686':'x86','x86_64':'x86_64','amd64':'x86_64'}
3.4NPM公共仓库
引用外部恶意依赖绕过静态检测
在2025年,悬镜安全情报中心发现数百起NPM投毒攻击事件是通过利用组件外部依赖方式来间接引入恶意包,其主要攻击细节是在NPM组件package.json中通过借用外部高信誉的托管平台来分发恶意依赖包,以此绕过传统静态代码检测以及恶意IoC检测。以rc-icon组件为例,package.json中通过`dependencies`配置外部依赖,该外部依赖托管在谷歌云存储上,该方式不仅可规避常规的静态检测,也直接绕过了NPM官方仓库的依赖扫描统计(如下图所示)。
rc-icon组件自身代码不存在任何恶意行为,但其托管在谷歌云上的依赖组件ltidisafe是攻击者投放的恶意包(https://ltidi.storage.googleapis.com/ltidisafe-1.0.6.tgz),如下图所示,
其主要功能是在组件安装过程中静默执行恶意文件test.js以此来收集并外传系统网络信息、主机名、用户目录等敏感数据。
混淆代码动态执行绕过静态检测
截至目前,NPM仓库正持续遭受CHAI系列投毒攻击,不同攻击者定期向NPM仓库投放大量组件包 名以“chai-”开头的恶 意包,该系列投 毒包在代码特征 上具备高度相似 性,都是从攻击者C2服务器上拉取高度混淆的恶意JS代码直接动态执行,不存在任何文件落盘行为,猜测该系列投毒与APT组织有关。
以