展开本页目录
开始前准备什么
- 下载练习包,先阅读 README 中的依赖和运行范围。
- 使用独立练习目录;starter 是待完成任务,reference 是作者参考实现。
- 账号型功能须在自己的授权环境执行;本题不要求提供真实凭据。
- 限定练习目录
- 声明完整设置
- 执行目录内写入
- 尝试越界写入
- 验证网络限制
- 交给AI数据任务
- 保存三路证据
1. 限定练习目录
为汇总任务建立work和outside两个原创目录。只有work允许写入,不把真实主目录或生产目录用作负例目标。
2. 声明完整设置
filesystem明确denyRead/allowRead/allowWrite/denyWrite,network.allowedDomains为空。本题曾发现遗漏必需字段会被srt拒绝,不能忽略配置错误。
本题本地命令
python run.py3. 执行目录内写入
由srt运行简单汇总产物写入work。核对文件确实存在,而不是把退出码0当作有结果。
4. 尝试越界写入
用同样命令向outside写文件。实际返回Operation not permitted,文件不存在;这证明OS限制已生效。
5. 验证网络限制
在隔离进程请求公开示例域名。空允许列表实际返回blocked-by-allowlist的403,不能把外层主机可联网当作沙箱可联网。
6. 交给AI数据任务
在自己的Claude沙箱中只授权练习输入和必要依赖。保持权限边界,遇到额外写入或网络需求先看具体拒绝原因。
7. 保存三路证据
分别保存inside/outside/network的退出码、响应和文件存在性。不要自动放宽成全盘可写或允许所有域名以消除负例。
怎样确认已经完成
- 合法任务成功
- 越界操作真实拒绝
- 不靠提示词自律充当隔离
- 已运行 Anthropic sandbox-runtime 的macOS原生隔离:允许目录写入成功、越界写入被OS拒绝、网络白名单拒绝403;Claude模型会话未运行。
常见问题
Claude Code 沙箱开了以后还能正常处理项目文件吗?
为任务目录显式allowWrite,并明确禁止越界位置;沙箱进程再尝试两个写入目标。本题实际看到目录内成功、越界被OS拒绝。
怎样确认 Agent 没写到练习目录外面?
配置空网络允许列表后,让隔离进程发起真实请求并核对拒绝响应。读取配置文件本身不能证明网络限制已经执行。
哪些功能已经实际执行?
已运行 Anthropic sandbox-runtime 的macOS原生隔离:允许目录写入成功、越界写入被OS拒绝、网络白名单拒绝403;Claude模型会话未运行。



