这篇适合谁、读完能做到什么
这篇适合正在把大模型接入产品的开发者,也适合负责上线前审查的人。读完你能分清 AI 系统面临的几类主要风险,知道训练数据、提示词和模型输出各自要检查什么,并且了解 MITRE ATLAS、OWASP 等公开资料可以从哪里查起。[1]
安全在 AI 系统里指什么
随着 AI 和机器学习越来越多地影响日常生活,既要保护客户数据,也要保护 AI 系统本身。在一些高价值决策场景中,AI 做出错误判断可能带来严重后果。[1]
这里有一个容易被忽略的问题:机器学习模型很难区分恶意输入和正常但异常的数据。很多训练数据来自未经筛选、未经审核的公开数据集,这些数据集允许第三方贡献。攻击者不必入侵数据集,只要能往里面投稿就行。只要数据的结构和格式看上去正确,低可信度的恶意数据随着时间推移,就可能变成被信任的高可信度数据。[1]
所以,保证模型决策所依赖的数据存储的完整性和安全,是最基础的一步。[1]
主要风险一:数据投毒
数据投毒(data poisoning)指的是有人故意改动用于训练 AI 的信息,让它犯错。在 AI 相关的安全威胁中,数据投毒被认为是目前最重要的一种。目前缺少标准化的检测和缓解方法,而训练又依赖不可信或未经整理的公开数据,问题因此更突出。要防止训练过程被污染,就要记录数据的来源和流转过程,否则「垃圾进,垃圾出」的老话依然成立。[1]
常见的几种投毒方式包括:
- 标签翻转(label flipping):在二分类任务中,攻击者故意翻转一小部分训练数据的标签,比如把正常样本标成恶意。例如,垃圾邮件过滤器因为标签被操纵,把正常邮件误判为垃圾邮件。[1]
- 特征投毒(feature poisoning):攻击者悄悄修改训练数据中的特征,以引入偏见或误导模型。例如,在商品描述里加入无关关键词,操纵推荐系统。[1]
- 数据注入(data injection):把恶意数据放进训练集,影响模型的行为。例如,伪造用户评论,让情感分析的结果出现偏差。[1]
- 后门攻击(backdoor attacks):攻击者在训练数据里埋入一个隐藏的模式。模型学会了这个模式,一旦触发就会做出恶意行为。例如,一个人脸识别系统被植入了后门图片,从而错误识别某个特定的人。[1]
主要风险二:针对大模型应用的威胁
MITRE 公司建立了 ATLAS(Adversarial Threat Landscape for Artificial-Intelligence Systems,人工智能系统对抗威胁图谱),收录了攻击者在现实中攻击 AI 系统时使用的战术和技术。它参照 MITRE ATT&CK 框架构建,可以检索,适合用来规划防御。[1]
OWASP 也发布了面向大模型应用的「十大」漏洞清单。除了数据投毒,清单中还包括下面几类风险。[1]
- 提示注入(prompt injection):攻击者通过精心构造的输入操纵大模型,使它的行为偏离设计的预期。[1]
- 供应链漏洞:大模型应用依赖的组件,比如 Python 模块或外部数据集,可能被攻破,从而导致意外结果、引入偏见,甚至影响底层基础设施。[1]
- 过度依赖:大模型会出错,容易产生幻觉,给出不准确或不安全的结果。已有记录显示,有人直接相信了这些结果,造成了现实中的负面后果。[1]
安全测试有哪些方法
安全测试,就是通过发现并尝试利用系统的漏洞,来评估 AI 系统或大模型的安全性。测试可以由开发者、用户或第三方审计人员来做,取决于测试的目的和范围。常用的方法有四种。[1]
- 数据清洗(data sanitization):从训练数据或输入中删除、匿名化敏感或隐私信息,减少机密和个人数据暴露的风险。[1]
- 对抗测试(adversarial testing):向输入或输出中加入对抗样本,检验系统的稳健性和韧性。它能帮助发现攻击者可能利用的弱点。[1]
- 模型验证(model verification):检查模型参数或结构的正确性和完整性,有助于发现和防止模型被窃取,确保模型受到保护并经过身份验证。[1]
- 输出校验(output validation):检查输出的质量和可靠性,发现并纠正恶意操纵的结果。[1]
OpenAI 作为行业领先者,通过红队网络(red teaming network)计划设置了一系列安全评测,用来测试 AI 系统的输出。评测从简单的问答到复杂的模拟都有。[1]
在说服类评测中,MakeMeSay 测试一个 AI 能否骗另一个 AI 说出一个秘密词;MakeMePay 测试一个 AI 能否说服另一个 AI 捐款;Ballot Proposal 则测试一个 AI 能否影响另一个 AI 对某项政治提案的支持。隐写类评测包括 Steganography、Text Compression 和 Schelling Point,分别测试 AI 能否在不被发现的情况下传递秘密信息、能否借助压缩隐藏信息,以及两个 AI 能否在没有直接通信的情况下达成协调。[1]
数据保护:少给、要核对、留意异常
大模型也会带来隐私和数据安全风险。它们可能记住并泄露训练数据中的敏感信息,比如人名、地址、密码或信用卡号,也可能被恶意用户利用其漏洞或偏见。[1]
保护用于大模型的数据,可以从三件事做起。第一,限制共享的数据数量和类型,只提供必要且相关的数据,敏感、机密或个人信息尽量不发送;如果必须发送,先做匿名化或加密处理,并使用安全的通信渠道。第二,核对大模型生成的数据,确认没有不该出现的内容。第三,发现可疑或异常的行为,比如生成的内容不相关、不准确、带有攻击性或有害,就要及时报告,这可能是数据泄露或安全事件的信号。[1]
对于在多云环境中使用数据和 AI 的组织,数据安全、治理和合规都很关键。需要保护的数据有结构化的、非结构化的,也有 AI 生成的,它们分布在不同的位置和多个云上。可以采取的做法包括:使用提供数据保护和隐私功能的云服务或平台;用数据质量和校验工具检查错误、不一致和异常;用数据治理和伦理框架,确保数据被负责任、透明地使用。[1]
红队演练:模拟真实威胁
在构建有韧性的 AI 系统时,模拟真实威胁已经成为一种标准做法:使用攻击者可能用的工具和手法,找出系统的风险,并检验防守方的响应。[1]
微软 AI 红队(AI Red Team)的经验说明,AI 红队演练的范围已经扩大。它不仅要找安全漏洞,还要找其他系统失效,比如生成有潜在危害的内容。[1] 传统的安全红队主要关注恶意攻击者,AI 红队还要考虑普通用户会遇到什么问题,比如刻板印象、有害内容等。[1] 由于 AI 应用会不断变化,红队演练也需要持续进行。[1]
需要注意的是,红队演练不能替代其他控制措施,比如基于角色的访问控制(RBAC)和完善的数据管理。它是对安全策略的补充。[1]
限制和常见问题
数据访问权限应当按角色分配。遇到数据被篡改或误用的情况,首先要检查的往往是谁能访问哪些数据。这一点与基于角色的访问控制直接相关。[1] 当然,防护措施需要组合使用,单靠一种手段并不足够。[1]
下一步
想继续了解如何保护大模型应用中的敏感信息,可以阅读微软关于 AI 时代数据保护与治理的学习资料。想了解 AI 应用的完整生命周期,可以继续看 AI 应用的生命周期部分。[1]
本文改编自 Microsoft 开源课程《Generative AI for Beginners》第 13 课[1],原文以 MIT 许可证发布。
来源
- 1Securing Your Generative AI ApplicationsMicrosoft generative-ai-for-beginners (MIT)
引用本页: AI 应用安全. TellWorld, https://www.tellworld.net/zh/practice/practice-genai-securing-apps. 更新于 2026-11-14