
Harness Security Bench
FreeEvaluate security detection harnesses against benchmarks.
Free · Opens the source repo
What Harness Security Bench does
Harness Security Bench is a command-line tool designed to evaluate the performance of security detection harnesses, specifically tailored for use with the upstream 'Darwin Shield' (ADR-155) framework. By executing the command @metaharness/darwin security bench, users can assess a security harness's effectiveness against a curated set of vulnerabilities and decoys. This tool provides vital metrics such as true positive rate (TPR), false positive rate (FPR), and overall fitness against four baseline models, enabling developers and security engineers to understand their harness's performance in a structured manner.
The tool operates by running a series of evaluations based on a defined population and cycle count, allowing users to simulate various scenarios and gather empirical data. The results are parsed into a structured JSON format, detailing overall success, individual gate pass/fail rates, and comparisons against baseline models. This structured output is crucial for continuous integration and nightly builds, as it allows teams to track performance changes over time and adapt their strategies accordingly.
Harness Security Bench is particularly useful for teams working on security automation and vulnerability detection. By integrating this tool into nightly workflows, organizations can ensure that their security harnesses are consistently improving and adapting to new threats. The empirical data generated can inform decisions about which detection mechanisms are most effective and highlight areas needing improvement.
For developers and security professionals looking to enhance their security detection capabilities, this tool offers a systematic approach to benchmarking and improving harness performance. It is designed for those who need to maintain a high standard of security detection and require reliable metrics to guide their development efforts.
When to use it
Use this tool when you need to benchmark your security detection harness against established baselines and track its performance over time.
When not to use it
This skill is not suitable for environments where the upstream 'metaharness-darwin' is unavailable, as it relies on that infrastructure to function properly.
What you can build with it
Nightly Security Evaluations
Integrate Harness Security Bench into your nightly CI/CD pipeline to continuously assess the performance of your security detection harness.
Benchmarking Against Baselines
Use the tool to compare your security harness's performance against established baseline models, identifying areas for improvement.
Tracking Performance Over Time
Run the evaluations weekly to detect any drift in performance as the security landscape evolves, ensuring your tools remain effective.
How to install Harness Security Bench
View source1. Install with the skills CLI
npx skills add ruvnet/ruflo/harness-security-bench --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by ruvnetSurfaces the upstream metaharness-darwin security bench command. This is
the upstream's own ADR-155 — Darwin Shield — and is the closest reference
implementation for ruflo's nightly self-learning security harness (#2417).
Why this matters for ruflo's ADR-155
ruflo's ADR-155 proposes three learning loops (per-dimension confidence,
severity calibration, auto-fix bid). Loop A trains on accumulated
(finding, dimension, human_outcome) tuples — but the gradient signal is
only sound if the underlying detection mechanism converges on a known-good
corpus. Darwin Shield evolves exactly that mechanism on a 10-vuln/9-decoy
ground-truth set. Running this nightly gives us:
- Empirical floor: if Darwin Shield's champion can't reach TPR=1/FPR=0 on the bench corpus, our Loop A's reward signal is noise.
- Drift detection: week-over-week champion fitness deltas surface when the security landscape (or our mutator policy) shifts.
- Baseline diversity: the 4 baselines (B0–B3) give us 4 anchor points to weight per-dimension confidence against.
Algorithm
Implementation: scripts/security-bench.mjs.
- Shell to
npx -y @metaharness/darwin@~0.8.0 metaharness-darwin security bench --population N --cycles N [--seed S]. - Default timeout =
3s × 19 evaluations × population × cycles + 30s overhead. At default--population 2 --cycles 1≈ 144s; at--population 4 --cycles 3≈ 12 min. - Parse the markdown report — overall PASS/FAIL plus per-gate pass/fail rows (gate examples: "TPR improvement ≥ 25% vs fixed", "FPR reduction ≥ 40%", "Patch-test pass rate ≥ 80%", "Reproduction success ≥ 90%", "Unsafe outputs = 0", "Cost increase ≤ 2× fixed", "Beyond SOTA: champion statistically beats previous champion", "Compounding: false-positive repeat-rate drop ≥ 35%").
- Parse the baselines-vs-champion table (4 rows: fitness/TPR/FPR/patchPass/ repro/unsafe/cost per harness).
- Emit structured JSON. With
--alert-on-fail, exit 1 when overall = FAIL.
Output shape
{
"success": true,
"data": {
"overall": { "ok": true, "icon": "✅" },
"gates": {
"total": 11,
"passed": 11,
"failed": 0,
"details": [{ "ok": true, "criterion": "TPR improvement ≥ 25% vs fixed harness", "measured": "+150% (B2 0.4 → B3 1)" }, ...]
},
"baselines": [
{ "harness": "static-only", "fitness": 0.5665, "tpr": 0.3, "fpr": 1, "unsafe": 0, ... },
{ "harness": "LLM single-pass", "fitness": 0.1365, ... },
{ "harness": "fixed agent", "fitness": 0.598, ... },
{ "harness": "Darwin champion", "fitness": 0.93275, "tpr": 1, "fpr": 0, ... }
],
"rawMarkdown": "...",
"shape": { "population": 2, "cycles": 1, "seed": null },
"durationMs": 142000
}
}
Wiring into ADR-155 nightly harness
The ADR-155 nightly workflow (per #2418 task W1.5) will spawn this as
one of the active-pentest dimension's calls — its results become a
trajectory record:
{
"dimension": "mcp-pentest",
"subdimension": "darwin-shield-bench",
"champion_fitness": 0.93275,
"champion_tpr": 1, "champion_fpr": 0,
"gates_passed": 11, "gates_failed": 0,
"shape": { "population": 4, "cycles": 3 }
}
Loop A learns: if darwin-shield-bench consistently passes on the seeded
corpus, weight findings caught only by mcp-pentest higher.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Bench ran (overall PASS or FAIL — distinguish via JSON overall.ok), or degraded |
| 1 | --alert-on-fail and overall.ok === false |
| 2 | Config error or upstream infrastructure failure |
Graceful degradation
When @metaharness/darwin is absent, emits {degraded: true, reason: 'metaharness-darwin-not-available'} and exits 0.
Frequently asked questions about Harness Security Bench
Similar skills
Cloudflare Security Audit
Perform authorized security audits on codebases.
Authenticated Scan with OpenVAS
Perform deep vulnerability scans using OpenVAS with credentials.
Active Directory Penetration Test
Conduct focused AD penetration tests with ease.
Active Directory BloodHound Analysis
Visualize Active Directory attack paths and risks.
Orchestrating LLM Attacks with PyRIT
Automate multi-turn adversarial attacks against LLMs.
Operating Sliver C2
Deploy and manage Sliver C2 for red-team engagements.
