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:插件安全框架图

Agent 插件的供应链完整性保证:SLSA + Sigstore

对于 Agent 生态中的插件、连接器和工具分发,传统的 SBOM 清单还不够——需要从根本上保证 构建过程本身的完整性工件发布者身份的真实性。这正是 SLSA(Supply-chain Levels for Software Artifacts) 框架 + Sigstore 无密钥签名 的核心价值。

SLSA 框架在 Agent 插件中的应用

SLSA 定义了 4 个安全等级(L0~L3),每一级都对应更严格的构建环保和源代码追踪要求:

SLSA 等级
构建要求
Agent 插件适用性

L1

版本控制 + 构建日志

最低要求:所有插件源码应托管在版本控制系统(GitHub/GitLab)

L2

版本控制 + 托管构建环境

中等要求:使用 CI/CD(GitHub Actions/GitLab CI)自动构建,禁止本地发布

L3

版本控制 + 托管构建 + 源代码审查

生产级要求:所有构建必须通过代码审查(Pull Request),审查流程必须是强制性的

L4

版本控制 + 托管构建 + 审查 + 隔离构建环境

企业级要求:构建环境与互联网隔离,防止侧通道攻击

具体实施路径

Sigstore 无密钥签名的关键优势

传统数字签名需要管理长期密钥,容易因密钥泄露导致下游应用被污染。Sigstore 通过 keyless signing 解决了这一难题:

Sigstore 核心组件

  1. Fulcio:无状态 CA,基于 OIDC(如 GitHub、Google 账号)颁发短期证书(有效期 ~15 分钟)

  2. Cosign:签署和验证工件的命令行工具,支持 OCI 镜像和任意文件

  3. Rekor:不可篡改的公开透明日志,记录所有签名事件(可用于审计和回滚)

Plugin Registry 的最小实施要求

防御效果

  • 即使攻击者截获了发布凭证,由于短期证书限制,也无法伪造过去的签名

  • 用户可通过 Rekor 审计日志追踪所有发布历史,检测异常发行

  • 离线验证意味着用户无需依赖 PKI 基础设施,降低了对中心化信任的依赖

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 领域,保持供应链的可见性和可控性至关重要。

最后更新于