【天问】警惕针对deepseek的开源软件供应链攻击
/ / 点击 / 阅读耗时 13 分钟自从2024年12月26日deepseek V3发布之后,开源生态中出现了大量与其相关的软件包,大多数为工具类软件包。但天问监测模块发现了其中潜藏的部分恶意攻击包,通过包名伪造来诱导用户下载,窃取用户隐私信息。
天问供应链威胁监测模块是奇安信技术研究星图实验室研发的“天问”软件供应链安全分析平台的子模块,”天问“分析平台对Python、npm等主流的开发生态进行了长期、持续的监测,发现了大量的恶意包和攻击行为。
1. 伪造deepseek包名攻击
自从2024年12月26号人工智能模型deepseek V3发布之后,其优异的表现吸引了大量开发者使用。同时在开源生态中也出现了许多与deepseek相关的软件工具包。但在这些软件包中也潜藏着部分不怀好意的攻击者上传的恶意包。
2025年1月29号,“天问”监测系统在PyPI中发现了两个利用伪造deepseek包名欺骗用户下载的恶意包,deepseeek
和deepseekai
。这两个软件包均由同一个用户bvk
发布。两个包的核心代码一致,均是利用网络连接回传用户隐私信息,包括主机名,环境变量等。而用户的环境变量中常常会存在Token、API Key等敏感数据,这些数据的泄漏会给用户造成严重的损失。具体恶意攻击代码如下所示:
deepseeek-0.0.8/deepséek/main.py
1 | def send_get_request(): |
deepseeek-0.0.8/setup.py
1 | setup( |
从setup.py
的设置可知,这个恶意包原本的触发方式应该为用户安装之后在命令行误输入deepseeek
进行触发。但目前恶意包的配置无法完成这一攻击,猜测可能属于攻击试验阶段。
2. 开源生态分析
我们对各个生态中与deepseek相关的软件进行了统计分析,具体情况如下所示。
【pypi生态】
我们统计了deepseek V3发布之后的Python包,其中包名相近(字符串余弦相似度>=0.8)的软件包有9个,如下所示,其中2个为上文提及的恶意软件包,其余目前均不包含恶意代码。
1 | 'llm-deepseek', 'deepseek-r1', 'deepseek-cli', 'deepseeek', 'deepspeed', 'deepseekai', 'deepseek.py', 'deepseek-sdk', 'deepseek-ai' |
名字中包含deepseek字段的软件包25个,metadata中包含deepseek字段的软件包数量为242个,多为工具类的软件包。
另外值得警惕的是,目前PyPI中的deepseek
软件包的开发者为deskpai
,并非官方开发者,该软件包最近的最高日下载量已经超过2000。
【npm生态】
在npm生态中,也存在与PyPI中已发现的恶意包相同名称的软件包deepseekai
和 deepseek
,但是经过研究人员的分析,这两个软件包中的代码仅仅是对deepseek api调用的包装,并未存在其他可疑的恶意代码。但值得注意的是,在npm生态中,软件包deepseekai
的发布者snowyjs
使用了匿名邮箱Playmeme@protonmail.com
进行发布 , 开发者在使用、升级该软件包时,建议审慎检查相关代码是否存在异常。
自2024年12月1日以来,在npm 生态中发现了401个与deepseek相关的软件包,其中相似度较高的部分名称如下:
1 | 'deepseek', 'deepseekai', 'deepseek-api', 'deepseekjs', 'deepseek-sdk', 'deepseek-cli', '@ai-sdk/deepseek', '@promptbook/deepseek' |
【不同生态趋势图】
过去两个月中,各大开源生态中陆续出现与deepseek相关的软件包,根据我们的监测分析,其中PyPI,npm以及Go这三个个生态出现明显的数量增加趋势。这些软件包大多为开发者基于deepseek api 构建的工具类软件包。
值得注意的是,近日已经出现了针对PyPI生态投毒的deepseekai
恶意包,该恶意软件包会窃取开发者隐私信息,根据软件供应链的攻击特性来看,近期各大生态中都有可能陆续出现相似地攻击事件,对使用deepseek构建AGI应用的开发者及下游用户产生影响。
3. 针对其他AI工具的恶意攻击
针对流行的AI工具的开源生态攻击事件此前也有发生过。2023 年 11 月,名为Xeroline
的用户向 PyPI 上传了两个名为 gptplus
和 claudeai-eng
的恶意软件包。
例如,gptplus
的介绍页面提供了chatgpt的使用接口,让用户误认为其使用了chatgpt接口。
README.MD
1 | ## Installation |
但其实际调用的并非ChatGPT官方的API,而是一个demo网站https://chat.chatgptdemo.net/new_chat。相关代码如下所示:
gptplus-2.2.0/gptplus/gptplus.py
1 | class ChatGPT(): |
而且,其在模块导入阶段加入了混淆恶意代码的执行,如下所示
gptplus-2.2.0/gptplus/__init__.py
1 | from .gptplus import ChatGPT |
解码之后
1 | import os |
其包含运行 JarkaStealer 恶意软件的恶意代码,通过下载和执行未知的 JAR 文件来实施潜在的攻击。
随着AI的不断发展,对于chatgpt、deepseek这类先进的AI工具的需求将会越来越高。开源生态中相关的工具包也会爆发式地增长。与之而来的是各种软件供应链攻击,攻击者也会尝试通过包名伪造等手段来隐藏自己,完成后门植入,信息窃取等攻击目的。对于用户而言,需要谨慎使用开源生态中的第三方软件包,提前检验相关源代码,避免受到相关攻击。“天问”软件安全监测模块也会持续监测报告相关问题,帮助用户防御此类安全风险。
恶意包列表
包名 | 版本 | 上传时间 | 作者 |
---|---|---|---|
deepseeek | 0.0.8 | 2025-01-29 | bvk |
deepseekai | 0.0.8 | 2025-01-29 | bvk |
gptplus | 1.0.0 | 2023-11-12 | Xeroline |
gptplus | 1.0.1 | 2023-11-12 | Xeroline |
gptplus | 1.0.2 | 2023-11-15 | Xeroline |
gptplus | 2.0.0 | 2023-11-15 | Xeroline |
gptplus | 2.2.0 | 2023-11-15 | Xeroline |
claudeai-eng | 1.0.0 | 2023-11-15 | Xeroline |