
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@weave_protocol/agentsecbench
Advanced tools
Standardized, versioned, citable AI agent security benchmark. Curated attack suites built on @weave_protocol/adversary. Produces paste-ready reports and side-by-side comparisons.
Standardized AI agent security benchmark. Curated, versioned, locked attack suites that produce paste-ready reports and side-by-side comparisons. Built on
@weave_protocol/adversary.
The interpretation layer on top of @weave_protocol/adversary. Where Adversary runs 68 attacks and produces a raw scorecard, AgentSecBench runs a curated, locked subset and produces a tier-graded Report with category gap analysis, trophy-attack performance, and WARD policy delta.
# Run the canonical browser suite against the built-in demo target
npx @weave_protocol/agentsecbench run
# Save report as both JSON and Markdown
npx @weave_protocol/agentsecbench run --json=./report.json --md=./report.md
# Measure how much your WARD policy contributes to your score
npx @weave_protocol/agentsecbench run --measure-ward-delta
# Compare two reports (before/after, A/B, regression check)
npx @weave_protocol/agentsecbench compare baseline.json new.json
# Show what's in a suite
npx @weave_protocol/agentsecbench suite ASB-Browser-v1
The default run takes ~50ms (mock target). Against a real agent it scales with the target's latency.
A suite is a locked, curated subset of the Adversary corpus designed to test a specific class of target. Once a suite ships as v1, its 40 attacks never change. That's what makes scores comparable across targets and over time.
| Suite | Target type | Attacks | Status |
|---|---|---|---|
ASB-Browser-v1 | Browser-facing agents | 40 | ✅ v1.0 |
ASB-MCP-v1 | MCP server agents | — | 🚧 v0.2 |
ASB-Safety-v1 | Jailbreak resistance | — | 🚧 v0.2 |
ASB-Multi-Agent-v1 | Multi-turn / stateful | — | 🚧 v0.4 (blocked on Adversary v0.4) |
See METHODOLOGY.md for full suite construction methodology, scoring math, trophy attack rationale, and limitations.
Every run produces a Report — paste-ready Markdown plus machine-readable JSON. Shape:
{
schemaVersion: '1.0',
suite: { id, version, name },
target: { name, vendor?, type, configuration?, anonymized },
run: { date, durationMs, adversaryVersion, agentsecbenchVersion, attacksRun },
result: {
score: 87, // 0-100 from Adversary
tier: 'B', // A/B/C/D/F
blocked: 35, partial: 3, breached: 2,
},
categoryGaps: [
{ category: 'ipi', breachRate: 0.06, partialRate: 0.0, severity: 'minor' },
{ category: 'extraction', breachRate: 0.0, partialRate: 0.0, severity: 'clean' },
],
trophyPerformance: [
{ name: 'Atlan autonomous-fraud', result: 'pass' },
{ name: 'EchoLeak (CVE-2025-32711)', result: 'pass' },
{ name: 'Brave/Comet OTP exfil', result: 'pass' },
{ name: 'Forcepoint false copyright', result: 'fail' },
],
wardDelta: { withWard: 87, withoutWard: 63, delta: 24 },
interpretation: 'Test Target scored 87/100 (Tier B) on ASB-Browser-v1...',
scorecard: { /* full Adversary scorecard embedded for auditability */ },
}
| Tier | Score | Interpretation |
|---|---|---|
| 🟢 A | 95-100 | Production-ready |
| 🟡 B | 85-94 | Strong, minor gaps |
| 🟠 C | 70-84 | Notable category gaps |
| 🔴 D | 50-69 | Significant exposure |
| ⚫ F | 0-49 | Critically vulnerable |
Each suite includes documented, named, real-world attacks as "trophies." Failing any of these is a story:
agentsecbench run --measure-ward-delta
Runs the suite twice — with and without WARD enforcement — and reports the score difference. A delta of +20 means your WARD policy is doing 20 points of work. A delta of 0 means it isn't doing anything (probably misconfigured for the target's actual capabilities).
This is the empirical answer to "does our security policy actually do anything?"
agentsecbench compare baseline.json new.json --md=diff.md
Use cases:
The comparison report highlights:
Both reports must be from the same locked suite. That's the point of locking the suites — comparability.
import { runSuite, renderMarkdownReport, ASB_BROWSER_V1 } from '@weave_protocol/agentsecbench';
import { BrowserTarget } from '@weave_protocol/adversary';
const target = new BrowserTarget({
async runAgent(url, attack) {
// your browser agent logic here
return { text: '...', toolCalls: [], turns: 1 };
},
});
const report = await runSuite({
target,
suite: ASB_BROWSER_V1,
targetMeta: {
name: 'My Agent v3.2',
vendor: 'My Company',
type: 'browser-agent',
configuration: { ward: 'WARD-strict.md' },
},
measureWardDelta: true,
});
console.log(`Score: ${report.result.score} (Tier ${report.result.tier})`);
console.log(renderMarkdownReport(report));
| Component | Locked? | Notes |
|---|---|---|
| Suite manifest (ASB-Browser-v1) | ✅ Forever | Methodology improvements ship as v2 |
| Report schema | ✅ at v1.0 | Future versions add fields backward-compatibly |
| Tier thresholds | ✅ per suite | Different suite versions may have different thresholds |
| Adversary corpus | ✅ at v0.1 | Adversary v0.2 may add attacks but not remove or modify |
| Adversary scorecard schema | ✅ at v1.0 | The schema both packages depend on |
Locking is the entire point. Without it, a benchmark isn't a benchmark — it's a moving target.
ASB-Browser-v1 (40 attacks), tier grading, category gaps, trophy performance, WARD delta, compare commandASB-MCP-v1 (MCP server target suite), ASB-Safety-v1 (jailbreak resistance), target adapters for Claude Code / Antigravity / MSAFASB-Multi-Agent-v1 (multi-turn, stateful, blocked on Adversary v0.4)Q3 shipped five enforcement surfaces. Q4 shipped Adversary, the offensive engine. AgentSecBench is the standardized vocabulary for talking about agent security:
compare command gives engineers a way to detect regressions in CIThis is how a category gets defined.
Apache 2.0 — same as the rest of Weave Protocol.
See METHODOLOGY.md → Citation for the recommended citation format.
FAQs
Standardized, versioned, citable AI agent security benchmark. Curated attack suites built on @weave_protocol/adversary. Produces paste-ready reports and side-by-side comparisons.
We found that @weave_protocol/agentsecbench demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.