账号与登录态 / Accounts & Sign-in
权限与安全
agent 用的是你已登录的 Chrome,所以它能做的事和你一样多。chrome-use 在每个操作前按站点检查一次:敏感站点和高风险操作会先停下来等你决定。检查发生在 CLI 里,页面看不到任何痕迹。
什么时候会先问你
通过扩展驱动你自己的 Chrome 时,前三行默认会停下来等你确认,后三行默认关闭、可按需打开:
| 情况 | 默认 | 判断方式 |
|---|---|---|
| 敏感站点:银行、券商、加密货币交易所、政府证件站点 | 该站点上的每个操作(打开、点击、输入、上传、下载)都先问,直到你选“始终允许此站点” | 仓库里维护的列表 cli/src/native/sensitive_sites.json,一个域名包含它的子域名 |
在支付卡字段里输入(payment_input) | 每次都问,已允许的站点也问 | autocomplete 为 cc-*,名字或 id 里有 card number、cvv、cvc、expiry 等,无障碍名里有“卡号”“安全码”“有效期”等。fill --from-env 按目标字段判断,本身不算 |
购买(purchase) | 每次都问,已允许的站点也问 | 点击的元素名称像购买按钮:Buy now、Place order、Pay、Complete purchase、立即购买、提交订单、去支付、購入する等 |
在密码或一次性验证码字段里输入(password_input) | 默认关闭:agent 经常自己登录(auth login、fill --from-env、Bitwarden 填充)。可在选项页或策略的 ask 里打开 | type=password、autocomplete 为 *-password / one-time-code,名字或无障碍名里有 password、“密码”“验证码”等 |
下载(download) | 默认关闭:常有无人值守的下载任务。可在选项页或策略的 ask 里打开 | download、download url |
| 第一次在新站点上操作 | 默认关闭,可在选项页按类别打开 | 没有“始终允许”或屏蔽记录的站点 |
这些判断是启发式的:没走 ref 或选择器的输入(例如先聚焦再 keyboard type)、名称不像购买的支付按钮,可能不会被识别。它是一道让人看一眼的闸,不是沙箱。
--launch 和 --cdp 会话不带这些默认规则(那里通常没有人在看),只按你的策略文件执行。
怎么批准
被拦下的命令不会执行,退出码为 3,并给出确认 ID:
$ chrome-use click @e7
Confirmation required:
click: www.chase.com is a banking or payments site; chrome-use asks before an agent acts there (click)
Site: www.chase.com
Ask the user to choose Allow once, Always allow on this site, or Decline
in the chrome-use side panel or its notification. Then:
Run: chrome-use confirm s_3f9a0c2b1d (waits up to 40s for the choice)
Or: chrome-use deny s_3f9a0c2b1d
同时 Chrome 会弹一条通知,侧栏和选项页的“权限与安全”里会出现一张卡片,有三个选项:仅允许这一次、始终允许此站点、拒绝。agent 运行 chrome-use confirm <id> 后会等你最多 40 秒,你选了允许就执行原命令。
只有你能在扩展里批准:agent 自己运行 confirm 不会让操作通过。chrome-use deny <id> 会撤回请求。
在终端里用 --confirm-interactive 时,提示变成 [y]es once / [a]lways on this site / [N]o,选 always 会写进扩展的已允许站点列表。
没有扩展(--launch、--cdp)或扩展版本早于 0.5.93 时,confirm <id> 直接批准,与 --confirm-actions 一样。
已允许站点与权限记录
扩展选项页的“权限与安全”卡片里可以:
- 开关敏感站点列表,勾选“每次都问”的操作(支付卡字段、购买,以及默认关闭的密码字段和下载)和“第一次在新站点上问”的类别;
- 查看、添加、移除已允许和已屏蔽的站点(屏蔽的站点上 agent 不能做任何操作);
- 查看最近 200 条权限记录:每次选择、谁撤回了请求、列表改动。
关闭或扩展默认规则
- 选项页:关掉“敏感站点先问我”,或取消勾选“以下操作每次都问我”里的某一项。
- 环境变量:
CHROME_USE_SENSITIVE_SITES=0关闭敏感站点列表(组织策略锁定时无效)。 - 策略文件(
--action-policy)的sites段:
{
"deny": [],
"sites": {
"allow": ["intranet.example.com"],
"deny": ["evil.example"],
"confirm": ["payroll.example.com"],
"sensitiveSites": true,
"firstVisit": ["navigation", "upload"],
"ask": ["payment_input", "purchase", "download"]
}
}
allow 免确认,deny 直接拒绝,confirm 把站点加进先问列表;sensitiveSites、firstVisit、ask 的含义和选项页相同。策略文件里的 sites 对 --launch、--cdp 会话同样生效。想给内置列表补站点,欢迎直接提 PR 修改 sensitive_sites.json。
优先级从高到低:组织策略 → 你在扩展里的选择 → 策略文件 → 内置默认。屏蔽总是优先于允许;“每次都问”的操作即使在已允许站点上也会问。
组织管理(Chrome 企业策略)
扩展读取 chrome.storage.managed(manifest 里声明了 managed-schema.json)。管理员设置的值覆盖用户设置,选项页上显示为“已托管”且不能修改。
| 键 | 作用 |
|---|---|
allowedDomains | 非空时,agent 只能在这些站点上操作 |
blockedDomains | agent 不能在这些站点上操作 |
confirmDomains | 这些站点上每个操作都先问,用户的“始终允许”也不跳过 |
sensitiveSites / ask / firstVisit | 锁定对应设置 |
actionPolicy | 与 --action-policy 文件相同的格式,叠加在本地策略之上:deny 拒绝,confirm 需要用户批准 |
disabledAgents | 侧栏不再提供这些 agent(codex、claude、opencode、pi) |
Windows / Linux 的 Chrome 策略 JSON(Linux 放在 /etc/opt/chrome/policies/managed/):
{
"3rdparty": {
"extensions": {
"ciiljdlhdpfckdcfkphgmfalanpdejep": {
"allowedDomains": ["example.com", "corp.example.com"],
"blockedDomains": ["mail.example.com"],
"confirmDomains": ["payroll.example.com"],
"sensitiveSites": true,
"ask": ["payment_input", "purchase", "download"],
"actionPolicy": { "deny": ["upload", "eval"], "confirm": ["download_url"] },
"disabledAgents": ["opencode"]
}
}
}
}
macOS 的 .mobileconfig 片段(放进 PayloadContent 数组):
<dict>
<key>PayloadType</key>
<string>com.google.Chrome.extensions.ciiljdlhdpfckdcfkphgmfalanpdejep</string>
<key>PayloadIdentifier</key>
<string>com.example.chrome-use.policy</string>
<key>PayloadUUID</key>
<string>9A6E0C1E-0000-4000-8000-000000000781</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>allowedDomains</key>
<array><string>example.com</string><string>corp.example.com</string></array>
<key>blockedDomains</key>
<array><string>mail.example.com</string></array>
<key>sensitiveSites</key>
<true/>
<key>actionPolicy</key>
<dict>
<key>deny</key>
<array><string>upload</string></array>
</dict>
<key>disabledAgents</key>
<array><string>opencode</string></array>
</dict>
扩展 ID 以你部署的版本为准:上面是自签名构建的 ID,Chrome 应用商店版本的 ID 不同。在 chrome://policy 里可以确认策略是否生效。
隐身模式下的行为
所有检查都在 CLI 守护进程里完成:站点来自命令里的 URL 或守护进程记录的当前页面地址,输入框是否敏感用 CDP 的 DOM.describeNode 读取属性,不在页面里执行任何脚本。批准界面在扩展自己的页面(侧栏、选项页、通知)里。页面看不到新的全局变量、DOM 节点、事件或请求,隐身模式不受影响。