模型、数据与供应链风险
投毒、泄露与依赖项威胁。
模型、数据与供应链风险 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
机器学习供应链
LLM 应用由许多第三方组件构建而成:基础模型、微调模型、数据集、嵌入、插件以及常规的软件依赖项。每个环节都可能成为攻击者植入恶意内容的入口。
与传统软件不同,机器学习制品通常是从公共平台获取的大型不透明二进制文件,来源信息薄弱。被投毒的权重文件或带后门的数据集很难通过检查发现。
保护流水线意味着从源头到生产环境跟踪并验证每个组件。
数据投毒
数据投毒会操纵训练或微调数据,从而破坏生成的模型。能够贡献哪怕一小部分训练样本的攻击者,也可能使模型行为发生可测量的偏移。
- 可用性攻击:降低整体准确率。
- 定向攻击:导致特定的错误分类。
- 后门攻击:植入隐藏触发器(见下一场景)。
抓取的网络数据和用户贡献的 RAG 文档是常见的投毒入口,因为数据量大且审查不充分。
后门与触发器
后门是一种投毒攻击,模型通常表现正常,只有当秘密触发器出现在输入中时才会表现异常。触发器可能是罕见短语、令牌序列或水印模式。
例如,一个在投毒数据上微调的代码补全模型会一直正确运行,直到出现一条特殊注释,随后输出不安全代码。后门具有隐蔽性,因为标准基准测试结果看起来正常。
防御措施:仅从可信且已签名的模型提供商处获取模型;运行触发器检测和异常扫描;使用您控制的经验证数据进行微调。
不安全的模型格式
模型权重不只是数据;某些格式在加载时会执行代码。Python pickle(旧版 PyTorch .bin 和 .pt 文件使用的格式)可能在反序列化期间运行任意代码。
加载使用 pickle 序列化的不可信模型,等同于运行不可信的程序。
- 优先使用安全张量格式,它只存储张量,无法执行代码。
- 扫描或将任何必须加载的 pickle 置于沙箱中。
- 将来自公共平台的模型文件视为不可信二进制文件。
# Load untrusted weights with a format that cannot run code
from safetensors.torch import load_file
weights = load_file("downloaded_model.safetensors")
# Avoid torch.load on untrusted .bin/.pt (pickle = code exec)验证来源
确定每个制品的来源,并确认其未遭篡改。
- 固定模型和数据集的确切版本及修订版本,绝不使用
latest。 - 根据已知正确值验证校验和或哈希值。
- 优先使用已签名的制品;如果发布者提供签名,请进行验证。
- 维护一份机器学习-BOM(物料清单),列出模型、数据集及其来源。
# Verify a downloaded model file before use
sha256sum downloaded_model.safetensors
# compare against the publisher's published digest
# abort the pipeline on mismatch训练数据泄露
模型可能会记忆训练数据,之后再现其中的部分内容,包括机密、PII 或受版权保护的文本。攻击者会利用提取攻击诱导模型泄露这些内容。
- 从训练和微调语料库中清除 PII 和机密信息。
- 应用去重;记忆现象与重复样本相关。
- 考虑对敏感数据集采用差分隐私技术。
- 在发布前使用提取探针对模型进行测试。
成员推断与反演
两种隐私攻击针对已部署的模型:
- 成员推断:确定某条特定记录是否存在于训练集中。这本身可能构成隐私泄露(例如在医疗数据集中)。
- 模型反演:根据模型行为或嵌入重建具有代表性的训练输入。
可以通过限制置信度分数的暴露、添加正则化或差分隐私,以及限制对高价值模型的不受约束的查询访问来缓解这些风险。
嵌入与向量存储风险
RAG 系统将文档嵌入存储在向量数据库中。这些嵌入也有自身的风险:
- 嵌入反演:嵌入可能泄露足够的信息,使攻击者能够部分重建源文本,因此属于敏感数据。
- 跨租户泄露:没有访问控制的检索可能暴露其他租户的文档。
- 索引投毒:添加到索引中的恶意文档可能劫持后续检索结果(间接注入)。
在检索时强制执行访问控制,并在建立索引前审查文档。
依赖项与插件风险
除模型外,LLM 应用还依赖常规软件供应链,以及赋予模型新能力的插件和连接器。
- 恶意或已遭入侵的插件可能读取上下文并外泄数据。
- 拼写仿冒或被劫持的 PyPI/npm 软件包可能在应用中植入后门。
- 存在漏洞的传递依赖项会扩大攻击面。
使用锁定文件,使用 SCA 工具扫描,审查插件权限,并优先选择经过审核且已签名的来源。
保护流水线
将机器学习流水线视为其他生产持续集成/持续交付路径,并实施强有力的控制措施:
- 隔离训练和微调环境;限制可上传数据的人员。
- 在每个阶段对制品签名并验证;拒绝未签名或不匹配的制品。
- 通过异常检测和来源检查验证数据集。
- 持续监控已部署的模型,检查漂移和异常行为。
MITRE ATLAS 和 NIST 人工智能 RMF 等框架有助于构建这些控制措施。
综合应用
模型、数据和供应链安全关乎整个生命周期中的信任与验证:
- 了解您的来源(来源信息、签名、机器学习-BOM)。
- 在权重和数据集经过验证前,将其视为潜在的恶意内容。
- 防范泄露、推断和反演造成的隐私风险。
- 严格保护依赖项、插件和向量存储。
阻止投毒制品最省成本的时机,是它尚未进入您的流水线之前。
快速检查
请检验您对模型供应链安全的理解。
回顾
模型、数据和供应链风险:
- 机器学习供应链涵盖基础模型、微调模型、数据集、嵌入、插件和依赖项。
- 投毒和后门会破坏训练;请审核并签署数据来源。
- 避免使用不安全的对象序列化格式;对于不可信权重,优先使用安全张量格式。
- 通过版本、校验和、签名和机器学习-BOM 验证来源。
- 防范泄露、成员推断和反演造成的隐私风险;保护嵌入和向量存储。
- 严格保护依赖项和插件;以 ATLAS 和 NIST 人工智能 RMF 为指导,端到端保护流水线。
常见问题解答
「模型、数据与供应链风险」课时是免费的吗?
是的 — 「模型、数据与供应链风险」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「模型、数据与供应链风险」这节课中我会学到什么?
投毒、泄露与依赖项威胁。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「模型、数据与供应链风险」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 提示注入与越狱
- OWASP LLM 十大风险
- 保护人工智能代理与工具使用
- 模型、数据与供应链风险