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 | $0.00183 | $0.02218 |
| Sonnet 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 10d 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.
- 10d 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 1mo ago), licensed MIT. It adds 366 tokens to every session and 4,435 once invoked, about $0.0018 per session on Opus 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.
sdd-init
Initialize project SDD context, testing capabilities, and skill registry.
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.
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…
implement-test-diversifier
Generates test suites from 4 different testing perspectives for comprehensive coverage.