Skip to content

Security Model

主体

  • End User
    • 通过 console 或外部 API 发起控制面和读面请求
  • Service Principal
    • 平台内部服务之间的调用主体
  • Runtime Principal
    • 运行中 runtime 的短期身份
  • Provider Principal
    • provider 侧的会话身份

租户隔离

  • 所有资源和 run MUST 绑定 orgId
  • 控制面、读面、runtime connection MUST 做租户边界校验
  • runtime MUST NOT 读取不属于当前 run / org 的 secret 或 KV
  • 同组织 callable 依赖 MAY 直接引用本组织资源;跨组织 callable MUST 通过显式 CallableGrant
  • 禁用或撤销 CallableGrant MUST 阻止新的跨组织子 run,但 MUST NOT 擦除既有运行事实
  • 当跨组织子 run 归资源提供方组织持有时,调用方的 run、message、artifact、trace 与 interaction 可见性 MUSTCallableGrant.visibilityScopes[] 约束

Secret 模型

  • 规范中的 secret 以 SecretRef 表达,而不是直接持久化明文
  • 控制面 MUST 只存可审计引用或密文
  • runtime 只能通过受控 connection API 按需获取 secret 值
  • secret 获取 MUST 具备 TTL、审计日志与最小权限范围

Connection 与 Session 身份

  • runtime attach 令牌 MUST 是短期令牌
  • attach 成功后得到的 runtimeConnectionId MUST 可撤销、可过期、可审计
  • attach 返回的 sessionId MUST 可审计,并且 MUST 绑定到当前 run / attempt 的授权范围
  • reconnect / recover MUST 绑定到当前 Session 与当前 attempt,不得劫持其他 Session

发布与协议暴露身份

  • ReleaseChannel 更新 MUST 使用版本并发控制,例如 expectedVersion 或等价 If-Match
  • ProtocolBinding 更新 MUST 使用版本并发控制,不得无条件覆盖已发布暴露
  • revision 解析结果 MUST 进入 run 事实,避免审计时只能看到稳定资源身份

输出与日志

  • 对外日志和 webhook MUST 支持敏感信息脱敏
  • 错误对象 MUST NOT 无条件回传 secret、token、provider credential
  • 二进制 artifact 下载 SHOULD 使用短期签名 URL 或受控代理
  • tracing metadata MUST NOT 默认携带 secret、token、原始凭证或大体量敏感 payload
  • 如 span metadata 允许业务自定义字段,平台 SHOULD 提供采样、脱敏和字段白名单机制
  • LLM 输入输出、system prompt、tool arguments / results 的原始内容 MUST 受显式 capture policy 控制,不得默认全量持久化
  • baggage MUST NOT 用于传播 secret、access token 或大 payload;平台 SHOULD 对 key 和长度做白名单治理
  • 通过 external_blob 捕获的 tracing 内容 MUST 复用 artifact / blob 的鉴权与审计能力

白皮书与规范内容以仓库真源为准。