网络安全研究机构Oligo Security发现了一组严重的远程代码执行(RCE)漏洞,这些漏洞通过代码复用机制在主流AI推理框架之间传播,影响了Meta、英伟达、微软等科技巨头的核心AI基础设施。
ShadowMQ漏洞的核心在于一段被广泛复制的危险代码片段:
# 危险代码示例
import zmq
import pickle
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind("tcp://*:5555")
while True:
data = socket.recv_pyobj() # 使用ZeroMQ接收Python对象
result = process_data(pickle.loads(data)) # 直接反序列化接收到的数据
socket.send_pyobj(result)
这段代码存在双重安全缺陷:
Python的pickle模块设计初衷并非安全通信,它在反序列化过程中会执行代码对象,这在网络环境中是极其危险的。
漏洞传播呈现清晰的链式反应:
| 传播节点 | 漏洞版本 | 传播方式 |
|---|---|---|
| Meta Llama Stack (CVE-2024-50050) | 早期版本 | 原始漏洞点 |
| vLLM (CVE-2025-30165) | v0.8.0前 | 代码直接复制(文件注释:“Adapted from Meta”) |
| SGLang | 多版本 | 从vLLM复制(注释:“Adapted from vLLM”) |
| 英伟达TensorRT-LLM (CVE-2025-23254) | 0.18.2前 | 从SGLang/vLLM借鉴架构 |
| 微软Sarathi-Serve | 当前版本 | 类似设计模式 |
| Modular Max Server (CVE-2025-60455) | 25.6前 | 同时借鉴vLLM和SGLang |
Oligo研究发现,多个项目中存在完全相同的代码行,甚至保留了相同的注释,证实了"复制-粘贴"式传播是漏洞扩散的主要途径。
| 行业领域 | 风险程度 | 影响特点 |
|---|---|---|
| 云计算/AI基础设施 | 极高 | 攻击者可劫持GPU集群,窃取模型权重,植入挖矿程序 |
| 金融服务 | 高 | 交易系统运维权限被窃取,客户数据泄露,合规风险 |
| 医疗健康 | 高 | 患者隐私泄露,医疗AI系统被篡改,影响诊断准确性 |
| 智能制造 | 中高 | 工业控制系统被入侵,生产线瘫痪,产品质量受损 |
| 科研机构 | 中高 | 研究成果被窃取,计算资源被滥用,论文数据造假风险 |
攻击者可能通过篡改运维日志来掩盖其攻击痕迹,使得安全人员难以追踪攻击源头。此外,攻击者还可能通过消耗服务器的CPU或GPU资源,或者执行删除命令等方式导致服务中断。
攻击者会植入后门程序,建立长期控制通道,这些通道通常能够绕过常规的安全检测,从而实现长时间的隐蔽控制。
在一个RaaS平台上,单一的安全漏洞可能会波及多个租户,导致“租户隔离失效”。攻击者可以通过一个客户的推理请求窃取另一个客户的敏感信息,或者在多租户环境中植入恶意代码,影响所有使用该服务的客户。
如果开发新模型所用的框架受到感染,这将把漏洞引入下游应用。攻击者还可以通过污染训练数据,在模型中植入后门,从而在模型部署后发动攻击。
攻击者 → 攻破推理框架 → 控制模型训练/推理 → 污染AI输出 → 影响依赖AI决策的业务系统
供应链攻击是指攻击者通过污染供应链中的某个环节(如开发工具、库文件等),将恶意代码或漏洞引入最终产品中,从而对用户造成危害。
| 厂商 | 产品 | 修复版本 | 修复措施 |
|---|---|---|---|
| Meta | Llama Stack | v0.0.41+ | 移除pickle,改用基于JSON的安全序列化技术 |
| 英伟达 | TensorRT-LLM | 0.18.2+ | 重构通信模块,增加安全验证层 |
| vLLM团队 | vLLM | v0.8.0+ | 默认切换到更安全的V1引擎,移除潜在的危险代码 |
| Modular | Max Server | v25.6+ | 实现安全的反序列化替代方案 |
| 微软 | Sarathi-Serve | 尚未发布 | 正在评估修复方案(截至2025年11月) |
# 示例: 仅允许特定IP访问推理服务
iptables -A INPUT -p tcp --dport 5555 -s <trusted_ip> -j ACCEPT
iptables -A INPUT -p tcp --dport 5555 -j DROP
ShadowMQ漏洞揭示了AI生态系统面临的深层次安全困境:
开源框架 → 广泛复用 → 单一漏洞影响整个行业 → 修复成本分散但影响集中
代码审查 → 安全扫描 → 漏洞模拟测试 → 灰度发布 → 持续监控# 示例: 检查vLLM版本
pip show vLLM | grep Version
# 升级命令
pip install --upgrade vLLM==0.8.0
ShadowMQ漏洞危机揭示了AI基础设施安全的脆弱性,以及代码复用带来的系统性风险。在AI快速发展的今天,一个看似微小的实现细节缺陷,可以通过代码复制在短时间内变成整个行业的安全灾难。
核心启示:AI安全不能仅依赖于“打补丁”,需要从架构设计层面重新思考安全问题;代码复用必须伴随严格的安全审查和持续监控,建立“安全优先”的开发文化;跨厂商、跨行业的安全协作至关重要,单一公司难以独自应对生态级安全挑战。
立即行动:检查您的AI基础设施是否使用受影响框架,优先升级公网暴露的推理服务。
为了预防未来可能出现的类似漏洞,建议建立一个常规的框架安全审计机制。
请注意,此分析依据的是截至2025年11月19日的公开资料。微软Sarathi-Serve的官方修复措施可能会有后续更新。因此,强烈建议定期查看各供应商发布的官方安全通告,以便获得最新的修复详情。
扫码加好友,拉您进群



收藏
