Skip to content

敏感值泄露或缺失 ​

敏感值问题有两种相反表现:模型看到了不该看的原文,或动作需要值却拿到了遮罩。先确认该字段本来属于哪种暴露模式,再查执行时还原和出站脱敏。

三种模式 ​

模式模型看到动作拿到什么用途
hidden[hidden]不可使用只表示字段存在
masked有损遮罩不可还原人可核对尾号
token短期代号执行时还原真值动作确实需要该值
hint类型说明不可使用让模型理解字段含义

默认是 hidden。如果动作需要真实手机号,应使用 token 并保护动作,而不是把遮罩值传给业务函数。

泄露排查 ​

  1. 检查记录、状态、反馈与错误消息是否都经过同一敏感性声明。
  2. 检查业务函数是否把真值拼进 message;出站脱敏应作为安全网,不是唯一防线。
  3. 检查应用自己的日志、APM、analytics 与 URL 参数;框架边界之外的泄露不会被自动处理。
  4. 检查工具回执、调试面板与审计事件是否包含原始参数。
  5. 检查 token 是否被写入 localStorage、跨会话 URL 或第三方服务。
  6. 检查 sensitive() 是否嵌套在对象里导致未被识别。

缺失排查 ​

  1. 确认字段使用 token,而不是 masked/hidden。
  2. 确认 token 与当前页面会话匹配;刷新后旧代号可能失效。
  3. 确认动作参数仍是对象,并且 schema 没有把代号误判为非法格式。
  4. 确认业务函数读取的是执行器还原后的参数。
  5. 确认工具错误没有被过度脱敏到无法诊断;使用记录 id 或字段名定位。

未知或伪造 token 必须在执行前被拒绝。不要在业务函数里自行解析 {p:...},那是执行器职责。

审计与调试 ​

调试面板可以显示代号或遮罩,不应显示原文。审计只保留记录 id、能力、结果和公开审批 id,不保留完整参数。

验收标准 ​

  • 同一字段在记录、状态、反馈和错误中遵循同一规则;
  • 遮罩值不可用于写入;
  • token 只在当前页面会话内有效;
  • 伪造 token 被拒绝且业务函数未执行;
  • 应用日志与分析系统不收集原文;
  • 调试面板、审计与模型上下文都不泄露 token 原值。

相关 ​

敏感数据、上下文与敏感数据、安全与隐私规范。