返回 S01~S90 教材库
S58 · 总 Day 148教材已备 ≠ 学习已完成

S58:Artifact Provenance 与 Egress / Purpose Policy

Provenance 解释 artifact 从哪里来、怎样构建和由谁批准,egress/purpose policy 则约束运行时哪些数据为了什么原因可以流向哪个外部目的地。

2027-01-19provenance、hash、egress-policy、purpose-policy、supply-chain

内容类型:预习教材(不代表已完成)
日期:2027-01-19
阶段:P2 · AI Systems Engineering 90
总路线:Day 148 / 360
周次:W9 · Security、Privacy、AI Supply Chain
节奏:周二最小实现
状态:教材已备;学习未完成
标签:provenance、hash、egress-policy、purpose-policy、supply-chain

一句话定义

Provenance 解释 artifact 从哪里来、怎样构建和由谁批准,egress/purpose policy 则约束运行时哪些数据为了什么原因可以流向哪个外部目的地。

学习目标

  1. 能区分 hash 完整性、签名身份、provenance 过程证据和“内容安全”。
  2. 为一个小 artifact 设计来源、依赖、构建和审批记录。
  3. 写一个最小 egress/purpose policy,并解释默认拒绝与升级路径。
  4. 理解供应链控制与运行时数据流控制互补而不能互相替代。

核心知识

  • Hash 证明字节在比较时是否一致,不证明来源可信、内容无漏洞或训练数据合规。
  • Signature 将摘要绑定到某身份/密钥,但还需验证密钥信任、时间、撤销和签名对象。
  • Provenance 可记录 source URI/revision、builder identity、build recipe、dependencies、timestamp、artifact digest 与 approval evidence。AI bundle 还可关联 model、prompt、index、tool 与 policy 版本。
  • AI BOM 是组件清单与依赖关系,不自动保证组件安全;它帮助发现影响范围、许可证和版本风险。
  • Egress policy 控制目的地、数据类别、字段、操作、主体和时间;purpose policy 控制使用目的。仅有域名 allowlist 仍可能向允许域发送不该发送的数据。
  • Policy decision 应输出 allow/deny/escalate、reason code 和匹配规则版本。高风险需求可进入人工路径,不能由模型改写目的绕过。

机制与推导

最小 provenance record:

artifactRef, digest, sourceRevision, builder,
recipeVersion, dependencyDigests[], builtAt,
reviewer/approvalRef, intendedUse

验证链是 resolve expected digest→recompute/download digest→verify signature/provenance→check policy→admit。Digest mismatch 只说明字节不同;即使 match,也仍需漏洞、许可证与用途判断。

最小 egress 决策:

[ allow = destinationAllowed \land dataClassAllowed \land fieldsMinimized \land purposeAllowed \land actorDelegated ]

例如 restricted 案件数据发往外部模型默认 deny;脱敏摘要用于 case-summary 且供应商合同/区域符合时可能 allow;未知目的返回 escalate。决策必须发生在真正出站边界,而不只在 UI。

最小练习或观察步骤

  1. 创建一个合成 prompt/tool manifest 的文本示例,手工或用已有工具计算其 hash;未实际计算则写预期步骤。
  2. 写 provenance record,明确 hash 能证明和不能证明什么。
  3. 定义三类数据 public/internal/restricted、两个目的地和两个 purpose。
  4. 写四条 egress/purpose 规则,并为 allow、deny、escalate 各做一个合成请求。
  5. 记录 policy version、reason 和最小化后的字段,不保存真实敏感正文。
  6. 不要求建立签名基础设施或供应链 gate;重点是证据语义。

常见误区与边界

  • hash 一致就宣称 artifact 安全可信。
  • provenance 只记录最后上传者,不记录 source、builder 与 recipe。
  • AI BOM 生成后从不随 bundle 更新。
  • allowlist 域名可以接收任何字段和任何目的。
  • 客户端先脱敏再完全信任,出站 gateway 不复核策略。
  • 本地示例不代表实现企业密钥管理、签名验证或数据防泄漏系统。

系统 / 金融 / Web3 场景连接

金融 Agent 的模型与 prompt bundle 应能追到审批版本;restricted 字段不能因模型调用方便就发送到任意 provider。Web3 工具包也需记录来源 commit、构建 digest 与依赖,防止被篡改的交易编码器改变目标地址;但 hash 无法证明合约本身安全。

自检问题

  1. hash、signature、provenance 与 BOM 各提供什么证据?
  2. 为什么目的地 allowlist 仍不足以控制数据外流?
  3. Policy 应在哪个边界执行并记录什么?
  4. Artifact digest 匹配后仍有哪些风险?

专业课程对齐

  • 阅读 Kubernetes 官方文档 中 image、Secrets、admission control 与 security 相关导航,观察 artifact identity、运行准入和运行时权限是不同控制层。
  • 阅读 Full Stack Deep Learning 2022 的 data management、infrastructure 与 deployment 讲次,映射数据、代码、模型和服务 artifact 的生命周期证据。
  • 阅读 Model Context Protocol 官方文档 的 security、authorization 与 server/tool 边界,思考工具调用出站时怎样同时检查能力和数据用途。

深入学习提示

对每种证据都补一句“不能证明什么”,可防止安全剧场。深入时沿一个 bundle 从 source→build→registry→runtime→egress 画链,标明 digest、identity、policy version 和数据类别在哪一步产生或验证;不必引入真实签名服务。

学后填写区

  • Artifact 与 provenance 字段:
  • Hash 能 / 不能证明:
  • Egress / purpose 规则:
  • 三种决策示例:
  • 未实现的生产能力:
重点主线 · H03 · 工具接口与代码变更边界本周配套机制实验 · W9 · 安全边界:模型建议不携带权限 →详细讲义、离线示例与源码;按需要选读,不新增必交任务。
本页是未来 P2 的预习教材。等 P1 完成并正式进入 P2 后,再填写真实理解、练习结果和不确定项;现在阅读不会改变P1 唯一进度账本