Skip to content

feat(browser): Full CDP 调试通道与高度敏感权限隔离 #42

Closed

Description

@Qiyuanqiii

Parent: #33

问题概述 / Summary

Prayu 已区分受限 CDP 与完整 CDP 的权限概念,但 Full CDP 仍没有真实、独立的产品执行通道。需要在不污染 Safe Web 的前提下,为受信任调试场景实现显式、限时、高度敏感的 CDP 能力。

当前基线 / Current baseline

  • Full CDP 已有权限上限与桌面风险文案方向。
  • 当前 Disabled/Fake 合同不会启动浏览器、进程或网络。
  • Safe Web 的 WFP 验收不能自动授权 Full CDP。

范围 / Scope

  • 定义独立 browser.full_cdp.v1 请求、授权、启动与撤销协议。
  • 要求 Debug/maximum-access 进程启动闸门、精确确认和短期 capability。
  • 使用一次性 Profile 与专用浏览器进程,不连接已有浏览器。
  • 提供导航、DOM/console/network 观察和明确批准的请求修改能力。
  • CDP 命令、目标、结果摘要、网络与文件副作用全部审计。
  • Desktop 显示“高度敏感权限”,与 Safe Web 使用不同控件和状态。

非目标 / Non-goals

  • 不默认关闭浏览器安全机制。
  • 不允许任意 remote debugging endpoint。
  • 不把 raw CDP payload、Cookie、Token 或完整响应体写入普通 Activity。
  • 不用于后台无人值守公网攻击。

涉及目录 / Affected directories

  • internal/browserruntime/
  • internal/application/
  • internal/policy/
  • internal/approval/
  • internal/credential/
  • internal/store/
  • internal/events/
  • internal/httpapi/
  • cmd/cyberagent/
  • cmd/cyberagent-desktop/
  • web/src/
  • docs/adr/

依赖 / Dependencies

验收条件 / Acceptance criteria

  • 默认、保守、审批和普通 Full Access 进程均不能启动 Full CDP。
  • 只有本次进程显式 debug maximum-access + 用户逐次确认才可启动。
  • capability 有 TTL、Run/Workspace/Process 绑定,重启即失效。
  • Profile、进程、端口和 CDP session 在成功/失败/取消后均有清理证据。
  • 连接既有 Edge/Chrome、非 allowlisted executable 或未知 endpoint 被拒绝。
  • Secret/cookie/header/body 脱敏与输出上限有测试。
  • Safe Web 回归测试证明两条权限链互不串联。
  • 双语 UI、OpenAPI 和 ADR 完整。

安全边界 / Security boundaries

Full CDP 是调试能力,不是默认 Agent 工具。模型不能自选该档、批准自身请求或把网页中的指令转化为更高权限。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    browserBrowser runtime and CDP capabilitiesenhancementNew feature or requestgoPull requests that update go codehelp wantedExtra attention is neededjavascriptPull requests that update javascript codesecuritySecurity boundary or high-risk capability高难度

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions