直接答案:AI 安全威胁不只是“模型会不会胡说”。生成式 AI 应用把不可信自然语言、网页、文件、图片和检索内容送进模型,再让模型接触知识库、身份凭据、代码、数据库或业务工具;攻击者可能通过提示词注入改变行为、诱导泄露敏感信息、污染检索与供应链、利用未经验证的输出,或借智能体过度权限执行真实动作。有效防线必须从资产、数据流和信任边界开始,把最小权限、输出验证、审批、日志、告警、暂停、凭据撤销和回滚做成可测试的系统控制。

AI 安全与传统应用安全是什么关系
AI 系统仍然是软件系统,身份验证、访问控制、密钥管理、依赖更新、网络隔离、日志与事件响应等基础控制没有失效。新增之处在于:自然语言同时承担数据和指令角色;模型输出具有概率性;RAG 和多模态会把外部内容带入上下文;智能体可能把模型建议转成代码、消息、转账或数据库修改。NCSC 安全 AI 系统开发指南按安全设计、开发、部署、运行维护覆盖完整生命周期,而不是把风险留给上线前一次“AI 审核”。
| 安全层 | 传统问题 | AI 新增/放大的问题 | 不能省略的证据 |
|---|---|---|---|
| 应用 | 越权、注入、错误配置 | 模型输出被当代码/指令执行 | 权限测试、参数验证、审计日志 |
| 数据 | 泄露、篡改、保留过久 | 提示、检索、记忆和训练链路扩散 | 数据流、分级、租户与删除验证 |
| 模型 | 版本与依赖风险 | 投毒、提取、逃逸、行为漂移 | 模型卡、来源、版本、回归测试 |
| 智能体 | 服务账户权限过大 | 自然语言规划后连续调用工具 | 动作白名单、审批、费用和时间上限 |
| 运营 | 告警、响应、恢复 | 输入输出难以复现、上下文易变化 | 会话、检索、工具调用和配置快照 |
提示词注入:为什么“忽略恶意指令”不是防线
直接提示词注入来自用户输入;间接注入藏在模型读取的网页、邮件、文件、图片 OCR、代码注释或工具返回值中。模型的职责本来就是解释自然语言,因此很难把“数据中的句子”和“应执行的指令”做成传统解析器那样严格的边界。OWASP LLM01:2025明确把直接、间接和多模态注入都列为风险;影响大小取决于应用给模型的上下文、工具和权限。
| 错误防法 | 为什么不够 | 更可靠的系统控制 | 验证方法 |
|---|---|---|---|
| 系统提示写“不要泄露” | 仍是可被上下文竞争的自然语言 | 敏感数据不进入无权上下文 | 跨角色/跨租户泄露测试 |
| 列出禁用词 | 可改写、编码或藏在其他模态 | 按数据和动作语义执行策略 | 变体、编码、图片与文件样本 |
| 让另一个模型审核 | 审核模型也可能被相同输入影响 | 确定性权限、模式和业务规则 | 绕过测试与故障注入 |
| 只做输入过滤 | 恶意内容可能来自检索和工具 | 每个边界都标记来源与可信级 | 间接注入端到端测试 |
| 隐藏系统提示 | 保密不等于访问控制 | 密钥和权限与提示分离 | 即使提示泄露也不能越权 |
工程目标不是证明模型“永不服从恶意文本”,而是即使模型被影响,也看不到不该看的数据、拿不到长期高权限凭据、不能绕过业务规则,且异常能被暂停和调查。提示词可以提高任务清晰度,却不应承担授权。提示结构与输出核验的内容质量方法见Few-shot 示例设计指南,但它不能替代安全边界。
敏感信息泄露:输入、上下文、输出和日志都要管
泄露不只发生在用户“把机密发给公共 AI”时。错误的文档权限、跨租户缓存、共享记忆、调试追踪、观测平台、错误消息、反馈数据和管理员导出都可能扩大暴露面。OWASP LLM02:2025指出,仅在系统提示中限制模型返回某类数据并不可靠,因为限制可能被注入绕过。
| 链路 | 检查问题 | 最低控制 | 证明材料 |
|---|---|---|---|
| 输入 | 任务是否真的需要这些字段? | 最小收集、字段级遮蔽、拒收秘密 | 数据字典与拒收测试 |
| 检索 | 是否按当前用户做文档级授权? | 检索前授权,不靠生成后过滤 | 跨角色负向测试 |
| 记忆 | 会话和租户是否隔离? | 作用域、过期、显式清除 | 清除与跨会话测试 |
| 输出 | 是否含凭据、个人信息或内部字段? | 确定性检测、结构化输出、阻断 | 敏感样本回归集 |
| 日志 | 谁能读完整提示与工具结果? | 脱敏、分权、保留期限、导出审计 | 访问记录与删除验证 |
| 供应商 | 数据用于训练吗,存哪里、留多久? | 合同、配置、区域和退出路径 | 条款快照与设置证据 |
RAG 和外部内容:检索到不等于可以信任
RAG 可以让回答引用组织资料,却不会自动解决注入、权限或事实问题。文档可能过期、被篡改、含隐藏指令;向量相似度也不等于访问授权或证据充分。应用应先按身份和文档 ACL 筛选,再检索;把来源、版本、片段边界和可信级随上下文传递;对影响业务动作的主张回到原文复核。
| RAG 风险 | 失败表现 | 预防 | 检测/恢复 |
|---|---|---|---|
| 越权检索 | 回答引用其他部门/租户文档 | 检索前对象级授权 | 蜜罐文档与跨角色测试 |
| 间接注入 | 文档要求忽略规则或调用工具 | 内容与指令分区,工具不继承文档权限 | 注入语料回归与调用告警 |
| 知识投毒 | 错误内容长期影响回答 | 发布审批、来源和完整性校验 | 版本差异、异常来源占比 |
| 过期资料 | 引用已废止政策/价格/版本 | 有效期、复核日期和自动下线 | 过期扫描与内容所有者通知 |
| 引用错配 | 链接存在但不支持结论 | 主张—片段绑定 | 证据忠实度抽检 |
对生成内容的“主张—来源—支持范围”核验应遵循本站的来源与引用规范。这里的重点不是让回答看起来更可信,而是防止未经授权或被污染的内容进入决策和工具链。
供应链与投毒:模型、数据、连接器和更新都要可追溯
AI 应用通常依赖模型 API、开源权重、推理镜像、Python/JavaScript 包、Embedding 模型、向量库、提示模板、MCP/插件、数据集和观测服务。任一组件更新都可能改变权限、输出或数据去向。CISA 与 NCSC 安全 AI 开发指南强调 secure-by-design、供应链安全、文档、资产管理、部署保护和运行维护。
| 供应项 | 准入证据 | 变更门禁 | 退出/回滚 |
|---|---|---|---|
| 模型/端点 | 提供者、模型名、区域、数据条款 | 固定版本小样回归 | 可切换旧版或替代端点 |
| 开源权重 | 来源、哈希、许可证、模型卡 | 隔离扫描和安全评测 | 保留批准制品 |
| 依赖/镜像 | SBOM/清单、签名、漏洞状态 | 锁定版本与构建复现 | 回滚制品和配置 |
| 知识数据 | 所有者、来源、授权、版本 | 审批、差异和投毒测试 | 按批次撤回索引 |
| 连接器/工具 | 身份、权限、维护者、数据流 | 权限差异与 schema 复核 | 一键禁用和令牌撤销 |
新组件不应因为“官方市场上架”就自动可信;旧组件也不能因为稳定运行就无限期免检。Cloud Security Alliance AICM v1.1在 2026 年更新了模型安全和 AI 专项控制,可用于把采购、云平台、模型与应用责任映射到控制所有者,但组织仍要保存自己采用的版本和差异。
不安全输出处理:模型文本必须仍按不可信输入处理
把模型生成的 SQL、Shell、HTML、Markdown、URL、文件名或 API 参数直接执行,会把概率性文本变成传统注入漏洞。解决方法不是让模型承诺“只输出安全代码”,而是使用严格 schema、枚举允许动作、参数化接口、路径和域名白名单、沙箱、资源限制与人工审批。代码、终端和生产数据属于不同风险级,不能共用同一放行策略。
| 输出用途 | 禁止做法 | 安全转换 | 上线测试 |
|---|---|---|---|
| 数据库 | 拼接并直接执行 SQL | 参数化查询、只读账户、行级权限 | 越权、注入、批量影响 |
| 系统命令 | 把文本交给 Shell | 固定工具函数与参数枚举、沙箱 | 命令分隔、路径和资源逃逸 |
| 网页 | 信任模型 HTML/Markdown | 上下文编码、净化、CSP | XSS、危险链接和隐藏内容 |
| 外部请求 | 模型自由选择 URL | 目标白名单、网络出口限制 | SSRF、内网与元数据端点 |
| 业务动作 | 按自然语言直接支付/删除/发布 | 结构化意图、规则校验、审批和幂等 | 重复、错对象、超限和回滚 |
NIST AI 600-1 生成式 AI 风险管理配置文件把治理、映射、测量和管理贯穿生命周期。它适合确定责任与风险优先级;OWASP 2025 生成式 AI/LLM Top 10更适合检查应用层常见攻击面;MITRE ATLAS则提供攻击战术、技术、缓解和案例知识库。三者用途不同,不应拿一张 Top 10 清单替代本系统的威胁建模。
第一步:盘点资产,而不是先列攻击名词
威胁模型首先回答“我们怕失去什么”。资产不仅是模型权重,还包括个人信息、商业文件、系统提示、知识库、向量索引、API 密钥、模型额度、工具权限、业务动作、审批记录和品牌声誉。每项资产要有所有者、敏感级、允许用途、访问者、保留期限和恢复方式。没有所有者的资产,在事故中通常也没人有权暂停或决定恢复。
| 资产 | 可能损害 | 风险所有者 | 最低保护 |
|---|---|---|---|
| 用户/员工数据 | 泄露、跨租户暴露、超目的使用 | 业务与数据负责人 | 分级、最小收集、访问与删除验证 |
| 知识库/RAG | 越权检索、污染、过期内容 | 内容/数据所有者 | 文档级权限、来源和版本 |
| 提示与策略 | 业务规则泄露、控制被绕过 | 产品与安全负责人 | 服务端策略、不可只靠隐藏文本 |
| 模型和依赖 | 篡改、后门、行为漂移 | 平台/供应链负责人 | 固定版本、来源、哈希和回归 |
| 工具与凭据 | 删库、发信、支付、代码执行 | 系统与业务负责人 | 短期凭据、最小范围、人工审批 |
| 日志与证据 | 无法发现、调查或证明影响 | 安全/运维负责人 | 完整性、时钟、访问和保留策略 |
处理个人信息时要回到具体目的和必要范围。《个人信息保护法》并不会因为系统使用 AI 而降低要求;数据分类分级、风险监测和事件处置还要结合《数据安全法》、网络安全、行业规则、合同和部署地区判断。教育场景的学生数据最小化、权限和保留设计见AI 学生数据分析与教学干预指南。
第二步:画数据流和信任边界
把一次请求从入口画到最终动作:用户输入经过哪个网关,是否带文件或网页;检索了哪些库;调用哪个模型和区域;上下文是否写入记忆;输出是否进入工具;工具使用哪个身份;结果写到哪里;哪些日志能还原过程。任何跨租户、跨权限、跨网络、跨供应商或从“文本建议”变成“真实动作”的地方,都是信任边界。
| 跨界点 | 默认不可信内容 | 必须验证 | 失败后果 |
|---|---|---|---|
| 用户到应用 | 提示、附件、链接、图片 | 身份、配额、文件类型、恶意内容 | 注入、资源滥用、恶意文件 |
| 检索到上下文 | 网页、文档、元数据 | 文档权限、来源、版本、隐藏指令 | 间接注入、越权披露 |
| 模型到工具 | 函数名、参数、代码、URL | 模式、业务规则、对象级权限 | 未授权动作或命令执行 |
| 工具到外部系统 | 消息、订单、数据库变更 | 审批、幂等、上限、回滚 | 不可逆业务影响 |
| 日志到分析平台 | 提示、输出、凭据片段 | 脱敏、访问、保留和导出 | 二次泄露与证据污染 |
“部署在本地”只改变部分数据路径,不自动解决越权、恶意文档、脆弱依赖、错误输出或内部人员风险;“使用大厂模型”也不代表应用层权限正确。系统架构和模型基础可结合大语言模型(LLM)从 Token 到 RAG 的指南理解,但安全决策必须落到当前数据流、身份和工具上。
第三步:按攻击路径建立风险登记册
NIST AI 100-2e2025把对抗机器学习攻击按生命周期、攻击者目标、能力和知识组织,并覆盖生成式 AI 的可用性、完整性、隐私与滥用等问题。对应用团队,最实用的转译是:谁能控制输入或供应链,能接触哪一组件,希望破坏机密性、完整性、可用性或业务规则,成功后怎样被发现。
| 攻击路径 | 目标 | 常见入口 | 首要控制 |
|---|---|---|---|
| 提示词注入 | 改变模型/代理行为 | 对话、网页、文件、图片 | 隔离不可信内容,权限在代码层执行 |
| 敏感信息披露 | 获取其他用户、系统或商业数据 | 输出、日志、检索、缓存 | 数据分级、租户隔离、输出测试 |
| 数据/模型投毒 | 长期改变回答或决策 | 知识库、反馈、微调、依赖 | 来源、审批、版本和回滚 |
| 不安全输出处理 | 把模型文本转成漏洞 | SQL、HTML、Shell、API 参数 | 结构化模式、编码、参数化和沙箱 |
| 供应链攻击 | 植入后门或篡改行为 | 模型、包、连接器、镜像 | 来源、签名、SBOM/清单和固定版本 |
| 过度代理权 | 执行超出用户意图的动作 | 工具、服务账户、长期令牌 | 最小权限、审批、预算和停止开关 |
| 资源滥用 | 耗尽费用、算力或服务 | 长上下文、递归代理、批量请求 | 速率、Token、时间、费用和并发上限 |
智能体安全:自主程度越高,控制点越要显式
智能体不是“更会聊天的模型”,而是能规划步骤、读取上下文、调用工具、检查结果并继续行动的软件系统。它的风险取决于能访问什么、能代表谁、可连续行动多久、动作是否可逆,以及谁能暂停。可靠的架构应把只读、草拟、写入、外发、付款和生产变更分成权限阶梯,默认从最低级开始。
| 动作级别 | 示例 | 默认策略 | 必要控制 |
|---|---|---|---|
| L0 解释 | 总结公开资料 | 可自动 | 来源、内容安全、费用上限 |
| L1 只读 | 查询内部文档/工单 | 按用户身份 | 对象级授权、租户隔离、审计 |
| L2 草拟 | 起草邮件、代码、变更单 | 不自动外发/合并 | 差异预览、人工确认 |
| L3 可逆写入 | 创建草稿、测试环境修改 | 受限自动 | 范围、幂等、快照和回滚 |
| L4 高影响动作 | 生产发布、付款、删库、对外发送 | 默认阻断 | 双人审批、短期凭据、限额和停止 |
模型不能自己提高权限,也不能把一个用户的批准泛化为后续所有步骤。审批界面应显示动作、对象、关键参数、预计影响和回滚方式,不能只问“是否允许继续”。智能体治理的系统结构可与AI 智能体与自动化指南配合阅读。
身份、凭据和权限:不要给模型一个万能服务账户
凭据应由应用在工具调用时按当前用户、当前任务和当前动作颁发,而不是写进系统提示、长期记忆、代码示例或模型上下文。高风险工具使用短期、可撤销、范围受限的令牌;工具端仍执行对象级访问控制,不能相信模型声称“用户已授权”。
| 控制 | 不合格状态 | 合格状态 | 验证证据 |
|---|---|---|---|
| 身份传递 | 所有请求共用管理员账户 | 绑定真实用户/工作负载身份 | 不同角色负向测试 |
| 令牌范围 | 长期、全库、可外发 | 短期、单任务、最小 scope | 过期和越权测试 |
| 参数授权 | 模型自由填写对象和金额 | 服务端校验对象、金额、地域 | 边界值和错对象测试 |
| 审批 | 笼统批准整段计划 | 高风险动作逐项确认 | 审批内容与实际调用一致 |
| 撤销 | 只能停整个系统 | 可撤销单用户、单会话、单连接器 | 演练撤销与恢复 |

上线前怎么测:从功能样例升级为安全滥用样例
只用“正常问题能否答对”无法证明安全。测试集要包含直接和间接注入、跨角色访问、恶意文件、长上下文、错误工具参数、重复动作、供应商超时、模型拒答、日志缺失与凭据失效。每个样例要写预期阻断点、允许的最大影响、告警和恢复结果,并在模型、提示、检索、连接器或权限变更后回归。
| 测试域 | 最低样例 | 通过标准 | 保存证据 |
|---|---|---|---|
| 提示注入 | 直接、网页、PDF、图片、工具返回 | 不能越权读数据或调用工具 | 输入、上下文、调用和判定 |
| 数据隔离 | 用户、角色、部门、租户交叉 | 无未授权片段进入上下文/输出 | 检索结果和访问日志 |
| 输出处理 | SQL、Shell、HTML、URL、路径变体 | 危险内容被编码、阻断或沙箱化 | 执行轨迹和阻断原因 |
| 代理动作 | 超额、重复、错对象、无审批 | 规则、限额、幂等和审批生效 | 请求与真实动作差异 |
| 可用性 | 超长输入、循环、模型/工具超时 | 费用、时间、并发和重试受限 | 资源曲线与停止记录 |
| 事件恢复 | 令牌泄露、知识库污染、模型回退 | 可隔离、撤销、回滚并复测 | 演练时间线 |
高质量测试不是一次红队表演,而是可重复的发布门禁。评测、失败恢复和回滚记录方法可参考AI 项目从需求到上线的评测指南;安全样例还必须由安全与业务风险负责人共同定义,避免只测“模型是否拒绝某句话”。
运行中监控什么:记录决策链而不是只记最终答案
为了发现越权、漂移和资源滥用,至少需要关联请求身份、会话、模型/提示版本、检索文档 ID、工具名称和参数、审批、真实执行结果、Token/费用、阻断与告警。日志本身可能包含敏感数据,应做分权、脱敏、完整性保护和保留控制;不能为了“可观测”把所有提示永久复制到第三方平台。
| 信号 | 异常示例 | 响应动作 | 注意事项 |
|---|---|---|---|
| 权限 | 大量拒绝、跨角色文档命中 | 暂停会话/连接器并调查 | 区分攻击与配置错误 |
| 工具调用 | 新工具、异常参数、重复写入 | 阻断、降级到草拟模式 | 记录实际执行而非模型意图 |
| 费用/资源 | Token、并发、循环骤增 | 限流、熔断、停止任务 | 保留业务基线 |
| 数据 | 敏感模式、其他租户标识 | 阻断输出、启动影响评估 | 检测器也会误报漏报 |
| 版本 | 模型、提示、连接器未经批准变化 | 回滚批准版本 | 供应商别名可能静默变化 |
| 质量 | 证据忠实度或任务成功率下降 | 缩小流量、复测输入链 | 质量异常可能是投毒信号 |
CISA AI 网络安全协作手册强调把 AI 事件与漏洞纳入信息共享和响应流程。对普通组织,更直接的行动是先明确内部报告渠道、供应商升级路径、法务/数据联系人和证据保全规则,事件发生后再找联系人会浪费关键时间。
AI 安全事件响应:暂停、隔离、保全、调查、恢复

发现异常时,不要第一时间删除日志、重跑模型或继续让代理“自行修复”。先停止高风险动作和队列,隔离相关会话、知识库或连接器,撤销可能暴露的令牌;保全模型、提示、检索、工具、审批和真实执行版本;再判断哪些租户、数据、费用和业务动作受影响。修复后用原攻击和同类变体回归,最小范围恢复并持续观察。
| 阶段 | 关键问题 | 动作 | 完成证据 |
|---|---|---|---|
| 暂停 | 还会继续执行什么? | 停代理、队列、定时任务和高风险工具 | 无新增动作 |
| 隔离/撤销 | 哪些身份和上下文可能受控? | 隔离会话/索引,轮换令牌 | 旧凭据和通道失效 |
| 保全 | 能否还原输入到动作? | 保存日志、版本、审批、网络与供应商记录 | 时间线完整且受控 |
| 调查 | 哪些数据、租户、费用和动作受影响? | 界定范围、根因与通知义务 | 影响清单和决定记录 |
| 修复复测 | 根因与同类路径是否关闭? | 改权限/代码/配置并回归 | 攻击样例全部达到门禁 |
| 恢复 | 谁批准、如何观察和回滚? | 最小流量、增强监控、明确回滚 | 责任人签发和观察结果 |
小团队的最小可行防线
资源有限时,优先控制“高权限 + 不可信内容 + 不可逆动作”的组合,不要先购买一堆无法接入流程的检测产品。选择 AI 工具可沿用AI 工具小样验证方法,但安全采购还要核对数据处理、管理员能力、日志、身份集成、模型版本、退出和事件通知。
| 优先级 | 本周可完成 | 不上线条件 |
|---|---|---|
| P0 资产/权限 | 列出数据、工具、凭据、所有者;撤掉管理员万能账户 | 不知道代理能访问或修改什么 |
| P0 动作控制 | 高风险动作改为草拟 + 人工批准;设置预算和停止 | 不能暂停、撤销或回滚 |
| P0 数据隔离 | 检索前授权,测试跨用户/租户,日志拒收秘密 | 存在跨租户泄露 |
| P1 输出验证 | 工具参数 schema、白名单、参数化和沙箱 | 模型文本可直接执行 |
| P1 回归/监控 | 建立 20 个滥用样例和关键调用告警 | 变更后无法证明风险未扩大 |
| P1 响应 | 演练暂停、令牌轮换、日志导出和恢复 | 事件时没有责任人与证据 |
常见问题
系统提示词写得足够严密,能阻止提示词注入吗?
不能据此保证。系统提示可以约束正常行为,但仍是模型处理的自然语言。真正的安全结果来自数据不越权、工具最小权限、确定性业务规则、审批、监控和可撤销性。
本地部署模型是不是一定更安全?
不是。本地部署可能减少向外部 API 发送数据,但会把补丁、模型来源、依赖、访问控制、日志、备份和运维责任转给自己。是否更安全取决于完整架构和团队能力。
做了脱敏,就可以把数据交给任何 AI 吗?
不能默认。替换姓名不一定达到不可识别,文本组合、上下文和外部数据可能重新识别对象。还要判断处理目的、必要性、供应商条款、地区、保留和访问权限。
人工审核能解决智能体风险吗?
只有审核界面展示真实动作、对象、参数和影响,且批准与执行严格绑定时才有意义。笼统点击“继续”、审批疲劳或事后抽查不能替代权限与限额。
多久做一次安全复核?
不应机械规定“每三个月”。模型、提示、数据、检索库、连接器、权限、供应商条款或业务影响发生变化时立即触发;此外按组织风险和行业要求安排周期性复核与演练。
来源与复核记录
本文依据 NIST AI 600-1、NIST AI 100-2e2025、OWASP GenAI Security Top 10 2025、MITRE ATLAS、NCSC/CISA 安全 AI 系统开发指南、CISA AI 网络安全协作手册、CSA AICM v1.1 与中国个人信息保护法整理,资料复核日期为 2026 年 7 月 18 日。框架版本会更新,实施时应保存实际采用版本、适用范围和差异。本站编辑、来源与纠错原则见兰塞 AI 关于与编辑规范。
