跳到主要内容

01-信任边界与风险建模

核对日期:2026-05-13。

不稳定项:OWASP GenAI 风险分类、NIST AI RMF Profile、企业合规要求、供应商数据政策和 Agent 工具生态变化较快;生产落地前必须重新核对官方资料和组织安全要求。

1. 学习目标

本专题解决 AI 安全的第一步:先画清楚系统边界,再讨论防护。没有信任边界图的 AI 安全评审,通常会退化成“Prompt 加强”和“上线前人工看一眼”。

学完后你应该能做到:

  • 区分可信控制面和不可信数据面。
  • 画出用户、文档、模型、工具、日志、缓存和供应商之间的数据流。
  • 识别每条边上的注入、越权、泄漏、污染和供应链风险。
  • 把风险映射到设计控制、评测样例、审计字段和上线门禁。
  • 判断一个 AI 功能是否适合自动化、是否需要人类审批、是否应该拒绝上线。

2. 核心判断

AI 系统的安全边界不能放在模型里。模型上下文里的内容混合了系统指令、用户输入、RAG 文档、工具返回和历史状态,模型并不能天然保证“哪部分是命令,哪部分只是数据”。

工程上应把系统拆成两层:

说明安全要求
控制面权限、策略、工具白名单、路由、审批、预算、日志由代码和平台执行,不能交给模型自行决定
数据面用户输入、网页、文件、RAG 文档、工具结果、模型输出默认不可信,只能作为证据或待校验结果

安全设计的关键不是让模型“更听话”,而是让不可信数据无法改变控制面。

3. 边界清单

一个典型 AI 应用至少有这些边界:

边界风险控制点
用户输入 -> 模型直接注入、敏感请求、越权身份声明输入分类、意图识别、权限校验
外部文档 -> RAG间接注入、文档污染、过期事实来源校验、版本、入库审核
RAG 检索 -> 上下文无权限文档进入上下文检索前后权限过滤
模型 -> 工具工具误选、参数注入、越权写入工具白名单、schema、策略引擎
模型 -> 输出渲染XSS、错误事实、危险建议schema、净化、引用校验
输出 -> 下游系统SQL/shell/代码执行风险参数化、沙箱、人工确认
请求 -> 供应商数据保留、训练使用、区域合规供应商评审、数据最小化
日志/trace -> 运维敏感数据二次泄露脱敏、访问控制、保留期

信任边界图要覆盖数据如何进入、如何被模型看到、如何触发动作、如何被记录和如何被删除。

4. 风险建模方法

推荐用“资产 -> 入口 -> 失败模式 -> 控制 -> 证据”的结构做风险建模。

问题
资产需要保护什么?客户数据、密钥、订单、知识库、工具权限、品牌可信度
入口攻击或误操作从哪里进入?用户、网页、文件、插件、工具返回、供应商
失败模式系统可能怎样失败?泄露、越权、误删、误发、编造、拒答失败
控制用什么硬控制降低风险?权限、审批、过滤、沙箱、限流、回滚
证据如何证明控制有效?eval、trace、审计、红队样例、演练记录

不要只记录“可能被攻击”。必须追问:攻击成功后能造成什么外部影响?是否能撤销?是否能发现?是否能追责?

5. 风险分级

AI 功能的风险等级可以由三个维度决定:

维度低风险中风险高风险极高风险
数据公开内容内部知识用户敏感数据受监管数据、密钥、支付信息
动作只读回答生成草稿写入业务系统资金、权限、法律、人事、医疗
可逆性易撤销可人工修正撤销成本高不可撤销或外部扩散

控制要求随风险提升:

风险等级最低控制
基础日志、用户确认、输出免责声明
引用证据、拒答策略、安全 eval、数据脱敏
最小权限、审批、审计、灰度、回滚、人工复核
极高专项合规评审、严格 HITL、限制自动化或不做

6. 信任边界图模板

图里至少要标注:

  • 哪些节点不可信。
  • 哪些节点是硬控制。
  • 哪些数据会进入模型。
  • 哪些动作有外部副作用。
  • 哪些事件进入审计。

7. 工程案例

7.1 企业知识库问答

风险:

  • 无权限文档被检索进上下文。
  • 文档里隐藏“忽略规则”的恶意文本。
  • 模型把过期制度当作最新制度。

控制:

  • 文档入库绑定 source_idowneraclversionpublished_at
  • 检索前用用户权限过滤候选文档,检索后再次过滤。
  • Prompt 明确文档是证据,不是指令。
  • 输出必须带引用,引用不存在或不支持结论时拒答。

7.2 客服退款 Agent

风险:

  • 用户诱导 Agent 直接退款。
  • Agent 读取过多订单字段。
  • 退款工具可被模型直接调用。

控制:

  • 只暴露 create_refund_draft,不暴露最终退款执行。
  • 金额、订单状态、重复退款由后端规则校验。
  • 人工审批卡片展示证据、金额、影响和可撤销性。
  • trace 记录模型建议、工具参数和审批人。

8. 常见反模式

反模式表现后果修正
边界画在 Prompt 里只写“不要泄露”被注入绕过控制面代码化
把 RAG 当可信库文档内容能改变规则间接注入文档只作证据
工具权限跟用户权限脱节模型拿到高权限 token越权写入按用户和任务授权
无数据流图不知道数据去了哪里合规和删除失败画上下文、日志、缓存流向
无风险分级所有功能同一套门禁高风险漏控数据、动作、可逆性分级

9. 练习

为“企业知识库问答系统”画一张信任边界图,要求标出:

  • 用户输入、知识库、检索器、模型、工具、日志、供应商。
  • 哪些节点不可信。
  • 哪些数据会进入模型上下文。
  • 哪些动作有外部副作用。
  • 至少 5 条边界风险和对应控制。

10. 验收题

  1. 为什么模型上下文不能当作安全边界?
  2. 控制面和数据面分别包含什么?
  3. RAG 文档为什么必须默认不可信?
  4. 风险分级为什么要同时考虑数据、动作和可逆性?
  5. 一个合格信任边界图至少应该标注哪些信息?

11. 延伸阅读