8.6 供应链与基础设施安全

LLM 应用依赖复杂的供应链,包括模型、数据、库和服务。供应链中的任何环节被攻击都可能影响整体安全。

8.6.1 LLM 供应链概述

LLM 应用的供应链比传统软件更加复杂:

spinner

图 8-27:LLM 供应链组成流程图

8.6.2 供应链风险类型

被污染的预训练模型

风险场景:
- 从非官方渠道下载模型
- 模型已被植入后门
- 使用时表面正常
- 特定触发条件下执行恶意行为

恶意数据集

风险场景:
- 使用公开的微调数据集
- 数据集中包含投毒样本
- 微调后模型行为被改变

依赖库漏洞

风险类型
描述

已知漏洞

使用有已知漏洞的库版本

依赖混淆

下载了恶意的同名包

恶意更新

正常库被恶意更新

废弃依赖

使用不再维护的库

第三方服务风险

spinner

图 8-28:第三方服务风险传导流程图

8.6.3 模型供应链安全

可信来源的重要性

模型验证措施

措施
描述

哈希校验

验证模型文件完整性

签名验证

确认发布者身份

后门扫描

检测潜在的后门行为

行为测试

验证模型行为正常

[!TIP] 开源工具参考:ModelScanarrow-up-right 可扫描 .pkl.h5.pb 等模型文件中的序列化代码执行漏洞与恶意后门;Safetensorsarrow-up-right 是 Hugging Face 推出的安全序列化格式,从根本上避免了 Pickle 反序列化带来的任意代码执行风险,建议优先使用。

8.6.4 依赖管理安全

Python 生态风险

依赖安全最佳实践

spinner

图 8-29:依赖安全管理流程图

工具推荐

工具
功能

pip-audit

Python 依赖漏洞扫描

Snyk

多语言依赖安全

Trivy/Grype

容器、文件系统与开源组件漏洞扫描

Syft

软件物料清单 (SBOM) 生成

Dependabot

自动依赖更新

Gitleaks

扫描代码与配置中的凭证/密钥泄露

8.6.5 插件与扩展安全

LLM 应用常通过插件扩展功能,这也引入风险。

插件风险

插件安全框架

spinner

图 8-30:插件安全框架图

8.6.6 软件物料清单

SBOM 帮助组织了解其软件的组成成分。

SBOM 内容

SBOM 价值

  • 快速识别受影响组件

  • 满足合规要求

  • 支持漏洞响应

  • 供应链透明度

8.6.7 供应链安全策略

预防措施

检测措施

响应措施

8.6.8 AI 驱动的供应链攻击:新兴威胁

随着 AI 工具深度集成到 CI/CD 流水线中,一种全新的供应链攻击模式正在浮现:通过提示注入劫持 AI 自动化组件,进而投毒软件包或部署产物

2026 年 2 月的 Clinejection 事件是这一威胁的标志性案例:攻击者仅通过在 GitHub Issue 标题中嵌入提示注入指令,就劫持了 Cline(一款 AI 编程助手)仓库的 AI 分类机器人,利用其 CI/CD 环境中的 npm 发布凭证,将恶意版本推送到 npm Registry,最终影响约 4000 名开发者。完整案例分析参见 4.4.8 节

AI 驱动供应链攻击的防御要点

  • 凭证隔离:AI 自动化工作流(Issue 分类、代码审查 Bot 等)不应与发布凭证、部署密钥共享同一执行环境

  • 发布门控:任何包发布、镜像推送操作应引入独立的人工审批或多因素验证步骤

  • AI 输入消毒:对 AI 组件处理的所有外部输入(Issue、PR 评论、Commit Message 等)实施提示注入检测

  • 发布异常监控:监控非预期的版本发布、异常的包大小变化或发布时间

供应链安全是 LLM 安全的基础。在快速迭代的 AI 领域,保持供应链的可见性和可控性至关重要。

最后更新于