用 sbx policy check 可以在沙箱尝试访问之前弄清楚策略是否允许某个目标地址,用 sbx policy log 可以查看你的沙箱发出了哪些请求以及匹配了哪些规则。无论规则来自 你的本地策略、某个 Kit 还是你的组织,这两条命令的用法都相同。
检查目标地址是否被允许
用 sbx policy check network 并传入你想测试的目标地址:
$ sbx policy check network api.anthropic.com
$ sbx policy check network blocked.example.com输出会报告 Allowed 或 Denied,并附带治理和上下文信息。被拒绝的检查返回退出状态 1,因此可以在脚本中使用该命令。
目标地址可以是主机名、host:port 组合、IP 地址或 URL。不带端口的主机名和 IP 地址 按 443 端口检查。URL 只提供主机和端口,因此检查会忽略它的路径。
要检查某个沙箱的目标地址(包括限定到它的规则),传入 --sandbox:
$ sbx policy check network --sandbox my-sandbox api.example.com检查永远不会创建审批请求。对于沙箱本会要求你批准的目标地址,检查会显示为 Denied, 并带有一行 Reason 为 no matching allow rule (default deny);当有组织策略对你强制 执行时,则为 approval required by policy。
检查报告的是主机的判定结果,而不是某个 HTTP 方法或路径的结果。要测试 HTTP 规则, 请从沙箱内部发送请求。有关更多细节,请参阅 允许或阻止 HTTP 方法和路径。
查看网络活动
运行 sbx policy log 查看你的沙箱联系过哪些主机,以及匹配了哪些规则:
$ sbx policy log
BLOCKED REQUESTS
SANDBOX TYPE HOST PROXY RULE REASON LAST SEEN COUNT
my-sandbox network blocked.example.com transparent domain-blocked default-deny 10:15:25 29-Jan 1
ALLOWED REQUESTS
SANDBOX TYPE HOST PROXY RULE REASON LAST SEEN COUNT
my-sandbox network api.anthropic.com forward domain-allowed 10:15:23 29-Jan 42
my-sandbox network registry.npmjs.org forward-bypass domain-allowed 10:15:20 29-Jan 18
my-sandbox network app.example.com browser-open 10:15:10 29-Jan 1RULE 列标识与该请求匹配的策略规则。REASON 列在守护进程记录了原因时包含额外的 上下文信息。PROXY 列显示请求是如何离开沙箱的:
| 值 | 描述 |
|---|---|
forward | 通过正向代理路由。支持凭据注入。 |
forward-bypass | 通过正向代理路由,但不做凭据注入。 |
transparent | 由透明代理拦截。策略会被强制执行,但无法进行凭据注入。 |
network | 非 HTTP 流量。TCP 和实验性的 UDP 出站遵循网络策略。ICMP 被阻止。 |
browser-open | 沙箱中的进程请求在宿主机浏览器中打开某个 URL。策略会在打开 URL 之前强制执行。 |
有关正向代理和透明代理如何处理沙箱流量,请参阅 网络。
日志按主机记录网络请求,不包含它们的 HTTP 方法和路径。文件系统挂载判定不在日志中。
当 UDP 出站被禁用时,某些被阻止的目标地址共用 <further blocked attempts> 日志条目。 有关细节,请参阅允许出站 UDP。
筛选日志
要只查看某个沙箱的请求,传入它的名称:
$ sbx policy log my-sandbox用 --limit N 最多显示 N 条允许记录和 N 条被阻止记录:
$ sbx policy log --limit 20用 --limit 0 显示所有条目。
以 JSON 或 YAML 形式获取日志
传入 --json 或 --format yaml 可以得到脚本可读的输出:
$ sbx policy log --json文档的形式为 {updated_at, allowed: [...], blocked: [...]}。每个条目包含 sandbox_id、 host、proxy_type、rule、reason、count、first_seen 和 last_seen。 --limit 标志同样适用于结构化输出。