2. AI系统资产与信任边界建模

在AI系统中,安全分析的第一步不是急着找漏洞,而是先回答两个基础问题:我们到底在保护什么,以及谁在什么条件下可以接触它。前者是资产识别,后者是信任边界划分。两者合在一起,才构成后续威胁建模、权限设计和数据流审计的坐标系。如果资产清单不完整,或者信任边界画错了位置,后面所有的控制措施都会建立在错误的前提上。

AI系统与传统信息系统的显著差异在于,它的资产形态更“软”、更分散。模型权重、训练数据、提示词模板、工具链配置、API密钥、向量数据库、推理服务、GPU集群,这些对象分属不同团队、不同生命周期,却共同决定系统的行为与安全属性。因此,资产识别不能只依赖运维台账,而要从数据流和调用链反推:一次用户请求从进入到返回,经过了哪些组件、读取了哪些资源、触发了哪些外部调用,这些被触及的对象就是需要纳入清单的候选资产。

资产分类与识别要点

把AI系统资产分为六类,便于逐类排查:

  • 模型资产:基座权重、微调适配器(LoRA)、量化版本、推理配置、模型签名与版本哈希。关键属性包括来源、许可、是否可被替换、是否包含敏感微调数据。
  • 数据资产:训练语料、微调数据集、RAG知识库、向量索引、日志与对话历史。需要标注敏感级别、保留期限、是否含个人信息或商业机密。
  • 提示词资产:系统提示词、角色模板、few-shot示例、输出格式约束、工具调用描述。它们直接决定模型行为,属于高价值且易被忽视的资产。
  • 工具链资产:函数调用定义、MCP服务、代码执行沙箱、检索插件、第三方API封装。重点识别其权限范围与可触达的后端资源。
  • API与凭证资产:对外API网关、内部服务端点、模型密钥、数据库连接串、OAuth令牌、服务账号。凭证是横向移动的核心目标。
  • 基础设施资产:推理集群、GPU节点、容器编排、对象存储、消息队列、监控与日志系统。它们承载上述所有软资产。

识别时建议为每个资产记录四个字段:资产标识、归属组件、敏感等级、可访问主体。敏感等级可按“公开/内部/机密/绝密”四级,但更重要的是明确该资产被篡改或泄露后的业务影响,例如系统提示词泄露会导致越狱成本降低,向量库泄露可能直接暴露原始文档。

信任边界如何划分

信任边界不是物理网段,而是信任假设发生变化的那条线。跨过这条线,数据或控制流就从一个信任域进入另一个信任域,必须经过验证、授权或净化。AI系统中常见的信任边界包括:

  • 用户输入与提示词组装层之间:用户内容不可信,进入系统提示词前需隔离与转义。
  • 模型输出与工具执行层之间:模型输出不可信,不能直接作为命令或SQL执行。
  • RAG检索结果与上下文拼接之间:外部文档可能被投毒,需标注来源与可信度。
  • 应用服务与模型API之间:模型服务可能被替换或降级,需校验版本与签名。
  • 内部服务与第三方工具之间:第三方返回不可信,需做schema校验与超时限制。

划分边界时,一个实用原则是:凡是内容可被外部影响、且会被下游当作指令或可信数据使用的位置,都应视为边界。边界上要明确三件事:进入方向、验证手段、失败后的默认动作(拒绝、降级还是告警)。

数据流图:把资产和边界落到一张图上

数据流图(DFD)是资产与边界建模的交付物。它不追求画出所有部署细节,而是表达数据从哪来、经过谁、存到哪、谁能读。绘制时用外部实体、处理过程、数据存储、数据流四类元素,并用虚线或不同底色标出信任边界。下面这张图以一个典型的RAG问答系统为例,展示资产分布与信任边界位置。

不可信区 用户 / 外部调用方 输入不可信 应用信任域 API网关 鉴权/限流 提示词组装 系统提示词 编排器 / Agent调度 工具选择 · 上下文拼接 输出校验 / 脱敏 schema校验 · 敏感词过滤 会话存储 对话历史 模型与数据信任域 模型推理服务 权重 · 适配器 · 版本 向量数据库 索引 · 原始文档 工具执行沙箱 代码 · 检索 · 外部API 密钥/凭证库 API Key · Token 基础设施:GPU集群 · 容器编排 · 对象存储 · 日志监控 承载模型、数据、凭证与运行时 ①请求 ② ③组装后提示 ④推理 ⑤检索 ⑥工具调用 ⑦取凭证 ⑧工具结果 ⑨生成输出 ⑩落库 ⑪响应 边界A 输入净化 边界B 输出校验/权限最小化 边界C 凭证隔离/沙箱

图中用三条虚线标出信任边界:边界A在用户输入进入应用之前,负责输入净化与身份校验;边界B在模型输出与工具执行之间,负责schema校验、权限最小化和敏感信息过滤;边界C在应用与凭证库、沙箱之间,负责凭证隔离与执行环境限制。注意,模型推理服务与向量库虽然同处“模型与数据信任域”,但它们之间的检索调用仍需做来源校验,因为向量库内容可能被外部文档污染。

从图到控制措施

完成资产清单和DFD后,可以逐条边界推导控制措施。例如边界A需要输入长度限制、编码规范化、提示注入检测;边界B需要工具白名单、参数类型校验、输出脱敏;边界C需要短期凭证、最小权限角色、沙箱网络隔离。每个控制措施都应能追溯到具体资产和具体边界,这样安全设计才不是泛泛而谈。

实践建议:资产识别和DFD绘制不必一次追求完美。先覆盖“用户请求→模型→工具→数据存储”这条主链路,标出所有跨信任边界的数据流,再逐步补充管理后台、批处理任务、模型更新流水线等次要路径。每发现一条新的数据流,就检查它是否跨越了已有边界,是否需要新增验证点。

最后需要强调,信任边界是假设的边界,不是永久不变的物理隔离。当系统引入新的工具、新的数据源或新的部署形态时,原有边界可能失效。因此,资产清单和DFD应作为活文档,随架构演进而更新,并在每次重大变更后重新审视边界上的验证措施是否仍然充分。