跳到正文
本页内容

A2UI 生产安全清单

面向不可信 Agent 生成界面的安全、隐私、无障碍与韧性实施清单。

更新: 2026/8/6 审校: HiA2UI 编辑团队 A2UI v0.9.1 生产基线

A2UI 生产安全清单

A2UI 降低了执行 Agent 生成代码的风险,但不会把模型输出自动变成可信数据。远端消息、属性、URL、Action 和 Data Model Update 都应视为不可信输入。

渲染前

  • 协商协议版本,拒绝不支持的 Envelope。
  • 使用准确的版本化 Schema 校验消息。
  • 只允许已注册的 Catalog 与组件。
  • 限制消息大小、组件数、树深度、列表长度和更新频率。
  • 拒绝重复 ID、悬空 Child、非法路径和未知属性。
  • 阻止 __proto__constructorprototype 等原型路径片段。

组件策略

  • 所有链接通过白名单 URL Handler,限定 Scheme 并优先 HTTPS。
  • 把 iframe、WebView、原始 Markdown/HTML、媒体、下载、剪贴板、导航和支付组件视为高权限能力。
  • 净化 Markdown,默认禁止原始 HTML。
  • Secret、Access Token、Session ID 和私有 Prompt 不能进入组件属性或 Data Model。
  • 标识外部内容,让用户能区分远端 UI 与宿主可信 UI。

Action 与高影响决策

  • 服务端必须重新鉴权;禁用按钮不是访问控制边界。
  • Action 绑定稳定 ID,并用当前服务端状态校验 Context。
  • 删除、发布、账户修改、购买、支付和敏感信息披露必须二次确认。
  • 高影响操作的重试必须幂等。
  • 审计 Agent、Catalog、Surface、Action、用户、决策和结果,但不能记录 Secret。

隐私与 YMYL

  • 最小化发送给模型和 Renderer 的个人数据。
  • 健康、法律、金融和安全内容应标明仅供信息参考,高后果决策交由合格人员复核。
  • 未获得权威确认时,生成 UI 不能暗示诊断、保证收益、法律结论或交易已经完成。
  • 在适用场景提供查看、纠正、导出和删除用户数据的路径。

无障碍与韧性

  • 保留语义 Role、Accessible Name、焦点顺序、键盘操作和 Live Region 通知。
  • 状态和校验不能只靠颜色表达。
  • 尊重 Reduced Motion 与对比度偏好。
  • 未知组件或 Renderer 故障时提供文本降级。
  • 测试慢流、残缺负载、重连、重复投递、过期 Action 和 Agent 超时。

安全证据

官方 Web Core 已经修复 URL 打开过程中的 XSS/反向标签劫持和 DataModel 原型污染。这说明声明式 UI 仍需要实施加固和保持依赖更新。

本清单是工程指导,不能替代正式安全评估或法律审查。