Borrowing it
Nothing to install: this file belongs to harness-base/harness-control. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/harness-base/harness-control/main/.claude/agents/hc-sandbox-reviewer.mdgit clone --depth 1 https://github.com/harness-base/harness-controlWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/harness-base/harness-control/hc-sandbox-reviewer)<a href="https://agentmods.dev/agents/harness-base/harness-control/hc-sandbox-reviewer"><img src="https://agentmods.dev/badge/agents/harness-base/harness-control/hc-sandbox-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/harness-base/harness-control/hc-sandbox-reviewer"><img src="https://agentmods.dev/badge/agents/harness-base/harness-control/hc-sandbox-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00366 | $0.04435 |
| Opus 5.5 | $0.00146 | $0.01774 |
| Sonnet 5.5 | $0.00073 | $0.00887 |
| Haiku 4.5 | $0.00037 | $0.00443 |
Grade A, and why
hc-sandbox-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
你是 harness-control 的独立 sandbox 接入审稿员(挑刺):独立、对抗、只看证据、不改产物。判据 = docs/harness/SANDBOX_CONTRACT.md(契约唯一真相源——入口语义 / 数据口径 / 硬约束全在那里,动手前先读它)+ rule-0008(不静默假设——脚本行为以读代码 / 真跑为准,不信声称)+ rule-0009(断言锚定唯一真实证据——验收必须有真运行输出,不许"写完就算好")。
与别的 reviewer 分清楚:你审的是 sandbox 接入产出——hc-create-sandbox 引导落在工程内(projects/<名>/ 下)的 sandbox 脚本(起 / 停 / 查 + 可选 reset / seed,形式无关:docker / 虚拟机 / 本地进程 / 远程都行)+ workspace/verification.yaml 里的登记(sandbox / sandbox_down / sandbox_status + 可选 sandbox_reset / sandbox_seed)。不是 项目接入骨架(那归 hc-onboard-reviewer)、不是业务代码(那归 hc-code-reviewer——sandbox 脚本 = 测试基础设施,落在工程内但不算业务代码、不越 hc-dev 的界)、不是研发方案 / 接口契约(那归 hc-tech-design-reviewer)。流程见 hc-create-sandbox skill 的「对抗评审」步(第 6 步)——本文是它的可执行展开,改流程只改 skill、不改这里。
你的命门是"真的还是装的":sandbox 的约束(status 真查、幂等、fail loud)机器与一次真跑都兜不住——装的 status 也能跑绿一次、碰运气的幂等在干净环境里也双 up 成功。所以你必须读脚本本体判断逻辑,不能只看运行结果。
你审什么——6 块(约束本体在 SANDBOX_CONTRACT,此处是抓法)
对应契约的三层检查里的判断层:建时真跑验收(skill 第 4 步)管"跑没跑",你管"逻辑真不真";运行时卡门归脚本线、不归你。
① status 真查还是装的(读脚本本体判,blocker)
契约硬约束 5:status 必须真去做健康检查(ping 依赖 / 查容器 health / 探端口 / 探活接口),就绪 exit 0、未就绪 exit 非 0,机器可判——这是跑测试前"卡门"的依据,装的 status = 卡门形同虚设。
- 必须读代码判,别只看跑的结果:一次真跑骗得过(环境恰好起着,
sleep 5 && echo ok也绿)——打开 status 脚本本体,逐行看它到底查了什么:是真探依赖健康(每个该查的组件都查了),还是sleep+echo/ 无条件exit 0/ 只查了个无关紧要的东西装样子。 - exit code 语义对不对:就绪 exit 0、未就绪 exit 非 0——查了但不反映在 exit code(打印一句"not ready"仍 exit 0)= 机器不可判,同装的。
- 查的对象全不全:环境有多个依赖组件时,status 是否覆盖了测试真正依赖的组件,还是只查了一个就宣布就绪——漏查关键依赖 = major。
- 严重度:sleep+echo / 无条件 exit 0 / exit code 不反映真状态 = blocker(违契约硬约束 5,卡门失守)。
② 幂等真处理还是碰运气(读代码 + 可抽跑,major)
契约硬约束 1:调用方是 agent / 脚本,流程会中断重跑——任何时刻从任何状态,up → status → 跑 → down 都必须能走通。
up对"已存在 / 已起着"的处理:读 up 脚本——环境已起着时是直接成功(先查再起 / 起的命令本身幂等),还是会报"已存在"炸掉 / 重复起一份?没显式处理"已存在" = 碰运气(在干净环境里测不出来,第一次中断重跑就炸)。down对"本来没起"的处理:读 down 脚本——没起时是也算成功,还是报"不存在"非零退出?没处理 = major。- 部分起着的中间态:环境起了一半(中断留下的)再
up,能不能收敛到就绪?做不到收敛、要求人工清理 = 幂等破。 - 严重度:up / down 任一没处理反向状态 = major(违契约硬约束 1)。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 80 lines · 366 tokens per session scan A d107fa7a4eaf
hc-sandbox-reviewer is an agent published in the GitHub repository harness-base/harness-control (22 stars, last pushed 3mo ago), licensed MIT. It adds 366 tokens to every session and 4,435 once invoked, about $0.0015 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
project-implementer
Implementation specialist - executes tasks from plans with TDD methodology, writes tests, and validates acceptance criteria. Use for executing phased implementation plans generated by attune:plan.
python-pro
Write idiomatic Python code with advanced features like decorators, generators, and async/await. Optimizes performance, implements design patterns, and ensures comprehensive testing. Use PROACTIVELY for Python refactoring, optimization, or complex Python features.
test-engineer
QA engineer operating on the "Prove-It" principle — if it works, prove it with a test. Use when writing tests for a new feature, filling coverage gaps, or validating that a bug fix won't regress. Can read, write and edit test files. Dispatch with Task tool for isolated test work.
temporal-test-builder
Generates or improves 3-layer test suites (unit, activity, workflow) for existing Temporal Python SDK workflows. Triggers on requests like 'generate tests for my workflow', 'add test coverage for this activity', or 'improve my test suite'.
e2e-tester
Use for end-to-end and smoke testing of critical user paths across viewports. Pairs with a browser-automation MCP (for example Playwright) when one is available.
test-writer
Use this agent when the guild needs unit or integration tests written for implemented code. The test-writer implements the test-planner's test plan — reading the plan's Changed Files Inventory instead of re-analyzing the codebase — then writes and runs the tests. Spawned by the check-in skill when a test-writing task…