SuperAPI AI 工具集

model-supply-chain-security

安全与审计

查看项目

更新于 10-15 13:58

技能介绍

用途

本技能用于保护 AI 模型供应链,防止模型和推理组件遭受篡改、依赖污染以及未受信任的制品被提升到生产环境。适用于以下场景:从公共模型仓库(如 Hugging Face、TensorFlow Hub)拉取预训练模型;为生产部署构建模型服务容器;建立跨环境 ML 制品提升的信任策略;响应影响 ML 依赖的供应链事件;满足 AI 系统的 SLSA 或 SOC2 合规要求。

主要能力

模型签名与验证

使用 cosign 对 OCI 打包的模型镜像进行签名和验证,支持密钥对签名和无密钥(Keyless)签名两种方式。也可直接对模型权重文件(如 safetensors)进行 blob 签名与验证。

SLSA 溯源

为 ML 流水线定义 SLSA 等级要求(Level 1 至 Level 3),并通过 GitHub Actions 工作流为模型训练生成 SLSA 溯源证明。同时提供模型卡(model card)YAML 模板,记录训练数据来源与哈希、训练配置、构建环境、性能指标和安全审查信息。

SBOM 与漏洞扫描

使用 syft 为模型服务镜像生成 SBOM(支持 CycloneDX 和 SPDX 格式),使用 Trivy 扫描镜像中的 CVE,使用 Grype 扫描 SBOM 中的漏洞,并使用 fickling 检查 pickle 模型文件是否包含恶意代码。提供夜间自动化仓库扫描流水线示例。

制品提升门禁

提供 Python 脚本 model_promotion_gate.py,在提升模型前检查签名有效性、是否存在严重 CVE、SBOM 是否附加、模型卡是否存在,全部通过才允许提升。

运行时加固

建议以非 root 用户运行推理容器、限制出口流量、以只读方式挂载模型卷、对未签名制品拉取尝试告警,并使用 safetensors 格式替代 pickle 以防止反序列化攻击。提供 Kubernetes 部署加固示例和 Kyverno 准入控制策略,强制要求模型镜像必须经过签名验证。

使用方式

前置条件包括:安装 cosign v2+ 用于签名和验证;安装 syft 用于生成模型服务镜像的 SBOM;安装 crane 或 skopeo 用于检查 OCI 镜像;使用支持签名的容器仓库(GHCR、ECR、ACR、Artifact Registry);CI/CD 流水线具备生成溯源的能力。

典型流程为:生成密钥对并安全存储私钥;对模型镜像或权重文件签名;生成 SBOM 并附加证明;生成 SLSA 溯源;在提升前运行门禁脚本验证所有检查项;在运行时通过 Kubernetes 安全上下文和 Kyverno 策略强制验证签名。

适用场景

  • 从公共仓库引入预训练模型或适配器
  • 构建和发布模型服务容器
  • 建立 ML 制品跨环境提升的信任策略
  • 响应 ML 依赖相关的供应链安全事件
  • 满足 SLSA 或 SOC2 对 AI 系统的合规要求

限制

资料中未提供该技能的具体安装命令、支持的平台范围、收费模式或价格信息。使用前需自行准备 cosign、syft、crane/skopeo、Trivy、Grype、fickling 等工具,并确保容器仓库和 CI/CD 环境支持签名与溯源生成。