Skip to content
On this page

工具风险矩阵 ​

本页列出桥接暴露的每一个工具, 包括其风险级别、读取和更改什么、是否触及凭据、需要哪项 Chrome 权限, 以及用户如何受到保护。这是安全审查的参考: 新增或修改工具意味着更新此表, 而评审标准说明该变更还要附带什么。

风险级别: 低 (只读, 无敏感数据)、中 (读取页面内容或导航)、高 (写入页面, 或读取凭据)、严重 (任意代码或最大影响范围)。

所列保护措施均为默认值。确认门禁是主机持有的策略字段 (confirmHighRiskClick、confirmTabClose、confirmPageEval、presenceConfirm、confirmGraceMs), 用 genkan policy 编辑 (set 会签署一次授予, restrict 无需签名); 扩展的选项页只能收紧它们。放宽任何一项都是显式的、经签名的选择, 其残余风险列在默认值表中。

工具风险读取写入 / 效果凭据?Chrome 权限用户保护
list_browsers低已连接浏览器的标识 + 各自打开的标签页数-否tabs (通过按浏览器路由的 tab_list)由 MCP 服务器应答; 不访问页面
tab_list低标签页标题/URL-否tabs不要求白名单 (仅元数据)
tab_focus低-激活一个标签页否tabs-
tab_open中-打开一个 URL (导航)否tabs源 (origin) 受白名单门禁
tab_close高标签页标题/URL关闭一个标签页 (数据丢失)否tabs扩展窗口确认
page_snapshot低可交互元素 (无障碍)-否scripting白名单门禁; 注入内容
page_click高 [1]ref 所指元素点击 (可能提交/导航)否scripting提交/链接需扩展窗口确认
page_fill高-向字段输入文本可能 (输入到密码字段)scripting回显中的密码值脱敏
page_text中页面可见文本-脱敏scripting密码 + 长数字串脱敏
page_screenshot中视口像素-可能 (屏幕上的任何内容)tabs-
page_scroll低滚动位置滚动否scripting-
page_wait_for低选择器/文本是否出现-否scripting-
page_navigate中-在活动标签页中加载一个 http(s) URL否tabs目标源受白名单门禁
page_back低-活动标签页在历史中后退一步否tabs以当前源做白名单门禁, 而非目标源 (残余风险)
page_forward低-活动标签页在历史中前进一步否tabs以当前源做白名单门禁, 而非目标源 (同一项残余风险)
page_reload低-重新加载活动标签页否tabs以当前源做白名单门禁
page_press高-向页面发送合成按键或组合键 (可能提交/导航)否scripting扩展窗口确认, 每次调用
page_hover低-把指针移到某元素上否scripting白名单门禁
page_select高-在 <select> 中选择一个选项否scripting扩展窗口确认, 每次调用
console_get中最近的控制台输出, 含网络错误-脱敏debugger白名单门禁; 输出脱敏; 「正在调试」横幅
page_handle_dialog高-接受或关闭一个 JS 对话框 (alert/confirm/prompt)否debugger默认关闭 (需选择启用); 白名单门禁; 「正在调试」横幅
page_upload严重指定本地文件的字节把本地文件附加到文件输入框可能 (任何可读文件)debugger默认关闭 (需选择启用); 白名单门禁; 每次调用都在扩展窗口确认并显示确切路径; 确认之后重新检查源, 并把附加绑定到那时解析出的文档节点; 见残余风险
page_eval严重页面能读到的一切在页面中执行任意 JS是 (可读取令牌/Cookie)scripting (host)在主机持有的策略下默认关闭 (pageEvalEnabled, 用 policy set 授予); 每次调用都在扩展窗口确认并显示完整代码; 结果脱敏
page_snapshot_precise中权威的无障碍树 (CDP)-否debugger预先警告提示; 「正在调试」横幅闪现
cookie_get高Cookie, 含 httpOnly- (只读)是cookies限定在白名单范围内; 值脱敏; 刻意不提供 cookie_set
storage_get高local/sessionStorage- (只读)是 (令牌)scripting同源; 值始终脱敏

[1] page_click 对普通元素为中; 当目标是提交按钮或会导航的链接时为高 (这些会触发确认窗口)。

横切保护措施 ​

  • 浏览器路由从不猜测: 连接了多个浏览器时, 工具调用必须通过 browser 参数指名其一, 否则失败 (BROWSER_AMBIGUOUS); 未知的标识也失败 (BROWSER_NOT_FOUND)。每个浏览器的连接都独立认证, 应答了另一个浏览器请求的连接会被断开。
  • 白名单: 页面级工具只在用户批准过的源上运行 (逐站点提示加 chrome.permissions.request)。allowAllSites 是显式的选择启用。
  • 脱敏: page_text、cookie_get、storage_get 和 page_eval 的输出都经过脱敏器 (JWT、长十六进制串、长数字串、类令牌字符串)。storage_get 的脱敏不可由用户关闭。
  • 确认宽限期: 在按标签页键下重复的提交或链接点击在 confirmGraceMs 内跳过提示; page_eval 从不跳过, 因此先前的批准绝不会让之后无关的代码运行。默认值由同一节负责。
  • 设计上只读: 没有 cookie_set 或 storage_set (写入 httpOnly Cookie 有会话固定风险)。
  • CDP 模式 (选择启用, 默认关闭): cdpMode 策略字段把每一个页面级工具改经 chrome.debugger 在页面的 MAIN world 中执行, 而不是内容脚本。任何工具的契约、权限、确认或脱敏都不变; 上述保护仍然适用。
    • 它的两个代价: 它绕过页面 CSP, 因此 page_eval 能在严格 CSP 的站点上运行; 并且它为该标签页保持一个持久的调试器附加, 所以只要它开着, 「Started debugging this browser」横幅就一直显示。

新增或修改工具时 ​

更新此表, 并遵循评审标准。任何扩大工具影响范围的变更 (新权限、新的敏感读取、新的写入、更弱的确认、更宽的脱敏绕过) 还要更新信任边界台账, 并接受带安全标签的审查。

Built from main at 25ae5f4Source: docs/zh-cn/security/tool-risk-matrix.md