diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 30b6d45a..582db2fa 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.10.1" + ".": "0.10.2" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 18894fcd..b7c1458a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # Changelog +## [0.10.2](https://github.com/KeyValueSoftwareSystems/agent-opfor/compare/v0.10.1...v0.10.2) (2026-08-06) + + +### Features + +* add cancelled run state and fix extension pause/resume flow ([#221](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/221)) ([094687c](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/094687c6deb769ca2c2c137772a7832c25b4335b)) +* add report turn navigator and restore standards column ([#230](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/230)) ([04d0690](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/04d0690c42185775d73de5a4977c728b7fd3c2b3)) +* estimate and report run cost per model ([#231](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/231)) ([87cd59c](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/87cd59c80b4582556ff395a10e392705a55bf3a6)) +* graceful shutdown on ctrl+c during opfor run ([#211](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/211)) ([338f98b](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/338f98b11eb2207ad3b189a1d7e03be17c90f856)) +* **hunt:** add trace-aware hunting (grounding, propagation, get_trace enrichment) ([#222](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/222)) ([a67cca9](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/a67cca90caddd3a1edab6a36256d69eaff40e093)) +* make adaptive attacker skip recon and strike on short turn budgets ([#219](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/219)) ([c4dd3e0](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/c4dd3e063f7bf298937446f50cf75a5841a414b3)) +* redesign hunt --ui dashboard and setup form ([#225](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/225)) ([cd7c66f](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/cd7c66f2dfeb958d46ce5e6bd9c06fd85cbe9e2f)) +* **report:** add hover explanations and polish run/hunt report UI ([#237](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/237)) ([29471d5](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/29471d5814b194856dfc704cb8caab1a2aa53bc4)) +* **report:** redesign hunt report to match the run report ([#233](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/233)) ([c1ecca8](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/c1ecca842235cc2ee8d6a58f45da361343ea2827)) +* track and display LLM token usage across CLI, reports, and extension ([#224](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/224)) ([5f4b355](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/5f4b3555d6f4d46716cd97336f13d4f1c6578d27)) +* unify hunt cli report artifacts into one folder, add graceful Ctrl+C cancellation ([#218](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/218)) ([e45a62c](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/e45a62c01781eccd1a5ccd506919dbe7acde1859)) + + +### Bug Fixes + +* cancellation turn-granularity, extension report gaps, and cache-aware cost pricing ([#236](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/236)) ([317eb27](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/317eb27e5663c66e1a7a1485087250ede008280b)) +* **cli:** include http response body in target errors ([#207](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/207)) ([c8c9f72](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/c8c9f72c4d7246716208804457226a687dc31a89)) +* **deps:** bump js-yaml and fast-uri to patch high-severity cves ([#216](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/216)) ([a55c98e](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/a55c98efad1ca0b63d3ad744914a8d2090059155)) +* **deps:** upgrade ai-sdk provider family and force-patch @hono/node-server ([#217](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/217)) ([1ef315c](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/1ef315c8156c7dcd93d58379d2e8c111c022bddf)) +* **extension:** stop iframe hangs and add debug mode ([#229](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/229)) ([919e48c](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/919e48c4e6491ca536927dc44ef4ad35335b472b)) +* **judge:** retry unusable json mode responses ([#220](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/220)) ([4dda117](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/4dda117b5072b0c3f5d0cf6dfd34ae1b1ba7e2f9)) +* **report:** redesign evaluation card, add run duration, fix suite labeling ([#227](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/227)) ([c252675](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/c2526758e4b55d2b9a1d2cfd9615c9dc73995d0a)) +* unify skill and extension catalog generation to include derived suites ([#210](https://github.com/KeyValueSoftwareSystems/agent-opfor/issues/210)) ([4908c16](https://github.com/KeyValueSoftwareSystems/agent-opfor/commit/4908c16fc73efc20d9f4f177860e11be21642426)) + ## [0.10.1](https://github.com/KeyValueSoftwareSystems/agent-opfor/compare/v0.10.0...v0.10.1) (2026-07-20) diff --git a/core/package.json b/core/package.json index 367942c8..b99f7a6f 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@keyvaluesystems/agent-opfor-core", - "version": "0.10.1", + "version": "0.10.2", "description": "Opfor core engine — attacker prompt generation, judge, and execution shared by all runners", "license": "Apache-2.0", "private": true, diff --git a/package-lock.json b/package-lock.json index d4949503..dcc14f3a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "agent-opfor", - "version": "0.10.1", + "version": "0.10.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "agent-opfor", - "version": "0.10.1", + "version": "0.10.2", "license": "Apache-2.0", "workspaces": [ "core", @@ -37,7 +37,7 @@ }, "core": { "name": "@keyvaluesystems/agent-opfor-core", - "version": "0.10.1", + "version": "0.10.2", "license": "Apache-2.0", "dependencies": { "@ai-sdk/anthropic": "^3.0.99", @@ -1822,12 +1822,12 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/@hono/node-server": { - "version": "1.19.17", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.17.tgz", - "integrity": "sha512-dSneS5qhiauZWGDCeK4o695Xd9nUNjviSZCMQrj10eetr8Uln1ucn6bbphOM6UynAMMtNIzZNSpL9vnASJwrPQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.0.tgz", + "integrity": "sha512-XovyyCCnBzW+zKu+z/zq8hwNs4KOR5rEMAOxo2f40Q5xoOI37IMm6MIg2COOUtUApo0i6850MTBKH2u4QLGIqg==", "license": "MIT", "engines": { - "node": ">=18.14.1" + "node": ">=20" }, "peerDependencies": { "hono": "^4" @@ -5802,7 +5802,7 @@ }, "runners/cli": { "name": "@keyvaluesystems/agent-opfor-cli", - "version": "0.10.1", + "version": "0.10.2", "license": "Apache-2.0", "dependencies": { "@anthropic-ai/claude-agent-sdk": "^0.3.165", @@ -6315,7 +6315,7 @@ }, "runners/extension": { "name": "@keyvaluesystems/agent-opfor-extension", - "version": "0.10.1", + "version": "0.10.2", "license": "Apache-2.0", "dependencies": { "yaml": "^2.8.3" @@ -6810,7 +6810,7 @@ }, "runners/mcp": { "name": "@keyvaluesystems/agent-opfor-mcp", - "version": "0.10.1", + "version": "0.10.2", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0" @@ -7317,7 +7317,7 @@ }, "runners/sdk": { "name": "@keyvaluesystems/agent-opfor-sdk", - "version": "0.10.1", + "version": "0.10.2", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0" diff --git a/package.json b/package.json index 4f346950..2ec22a59 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "agent-opfor", - "version": "0.10.1", + "version": "0.10.2", "description": "Opfor — security testing for AI agents and MCP servers (workspace root)", "license": "Apache-2.0", "private": true, diff --git a/runners/cli/package.json b/runners/cli/package.json index 0a512953..4c548190 100644 --- a/runners/cli/package.json +++ b/runners/cli/package.json @@ -1,6 +1,6 @@ { "name": "@keyvaluesystems/agent-opfor-cli", - "version": "0.10.1", + "version": "0.10.2", "description": "Opfor CLI — security testing for AI agents and MCP servers (opfor setup|run|hunt)", "license": "Apache-2.0", "type": "module", diff --git a/runners/cli/ui/package-lock.json b/runners/cli/ui/package-lock.json index ae82e105..ffb7f5d9 100644 --- a/runners/cli/ui/package-lock.json +++ b/runners/cli/ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "@keyvaluesystems/agent-opfor-autonomous-ui", - "version": "0.10.1", + "version": "0.10.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@keyvaluesystems/agent-opfor-autonomous-ui", - "version": "0.10.1", + "version": "0.10.2", "dependencies": { "@fontsource-variable/inter": "^5.3.0", "@fontsource-variable/jetbrains-mono": "^5.3.0", diff --git a/runners/cli/ui/package.json b/runners/cli/ui/package.json index 1487f951..ff98cca7 100644 --- a/runners/cli/ui/package.json +++ b/runners/cli/ui/package.json @@ -1,7 +1,7 @@ { "name": "@keyvaluesystems/agent-opfor-autonomous-ui", "private": true, - "version": "0.10.1", + "version": "0.10.2", "type": "module", "scripts": { "dev": "vite", diff --git a/runners/extension/manifest.json b/runners/extension/manifest.json index 4758c91d..f0854cfb 100644 --- a/runners/extension/manifest.json +++ b/runners/extension/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "Agent OPFOR", - "version": "0.10.1", + "version": "0.10.2", "description": "Red-team any chat interface. Auto-detects chat widgets, runs adaptive attacks, and generates security reports.", "icons": { "16": "icons/icon16.png", diff --git a/runners/extension/package.json b/runners/extension/package.json index e53629ab..eeadc79b 100644 --- a/runners/extension/package.json +++ b/runners/extension/package.json @@ -1,6 +1,6 @@ { "name": "@keyvaluesystems/agent-opfor-extension", - "version": "0.10.1", + "version": "0.10.2", "description": "Opfor browser extension (MV3) — chat UI injector for live testing", "license": "Apache-2.0", "private": true, diff --git a/runners/mcp/package.json b/runners/mcp/package.json index 18f71e17..0fbde1f3 100644 --- a/runners/mcp/package.json +++ b/runners/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@keyvaluesystems/agent-opfor-mcp", - "version": "0.10.1", + "version": "0.10.2", "description": "Opfor MCP server — expose red team tools to any MCP-compatible AI agent", "license": "Apache-2.0", "type": "module", diff --git a/runners/sdk/package.json b/runners/sdk/package.json index 45bce366..3ebf9e92 100644 --- a/runners/sdk/package.json +++ b/runners/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@keyvaluesystems/agent-opfor-sdk", - "version": "0.10.1", + "version": "0.10.2", "description": "Opfor SDK — programmatic adversarial testing for AI systems", "license": "Apache-2.0", "type": "module", diff --git a/tests/e2e/agents/customer-support/package-lock.json b/tests/e2e/agents/customer-support/package-lock.json index aaf1c343..87a7d93b 100644 --- a/tests/e2e/agents/customer-support/package-lock.json +++ b/tests/e2e/agents/customer-support/package-lock.json @@ -1,12 +1,12 @@ { "name": "@keyvaluesystems/agent-opfor-test-agent-customer-support", - "version": "0.1.0", + "version": "0.10.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@keyvaluesystems/agent-opfor-test-agent-customer-support", - "version": "0.1.0", + "version": "0.10.2", "devDependencies": { "@langchain/anthropic": "^1.3.29", "@langchain/core": "^1.1.48", diff --git a/tests/e2e/agents/customer-support/package.json b/tests/e2e/agents/customer-support/package.json index 17f29ba5..c53d6b66 100644 --- a/tests/e2e/agents/customer-support/package.json +++ b/tests/e2e/agents/customer-support/package.json @@ -1,6 +1,6 @@ { "name": "@keyvaluesystems/agent-opfor-test-agent-customer-support", - "version": "0.10.1", + "version": "0.10.2", "description": "Customer support test agent with PostgreSQL — tests BOLA, BFLA, RBAC, PII, and SQL injection evaluators", "private": true, "type": "module", diff --git a/tests/e2e/agents/vanilla-chat/package-lock.json b/tests/e2e/agents/vanilla-chat/package-lock.json index cf0a8b12..4957acfe 100644 --- a/tests/e2e/agents/vanilla-chat/package-lock.json +++ b/tests/e2e/agents/vanilla-chat/package-lock.json @@ -1,12 +1,12 @@ { "name": "@keyvaluesystems/agent-opfor-test-agent-vanilla-chat", - "version": "0.1.0", + "version": "0.10.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@keyvaluesystems/agent-opfor-test-agent-vanilla-chat", - "version": "0.1.0", + "version": "0.10.2", "dependencies": { "langchain": "1.4.2" }, diff --git a/tests/e2e/agents/vanilla-chat/package.json b/tests/e2e/agents/vanilla-chat/package.json index fa5e6cb4..4269d6de 100644 --- a/tests/e2e/agents/vanilla-chat/package.json +++ b/tests/e2e/agents/vanilla-chat/package.json @@ -1,6 +1,6 @@ { "name": "@keyvaluesystems/agent-opfor-test-agent-vanilla-chat", - "version": "0.10.1", + "version": "0.10.2", "description": "Vanilla chat test agent — used for local developer testing of Opfor evaluators", "private": true, "type": "module", diff --git a/tests/e2e/agents/vulnerable-memory/package-lock.json b/tests/e2e/agents/vulnerable-memory/package-lock.json index 3aeda80e..8895eabe 100644 --- a/tests/e2e/agents/vulnerable-memory/package-lock.json +++ b/tests/e2e/agents/vulnerable-memory/package-lock.json @@ -1,12 +1,12 @@ { "name": "@keyvaluesystems/agent-opfor-test-agent-vulnerable-memory", - "version": "0.1.0", + "version": "0.10.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@keyvaluesystems/agent-opfor-test-agent-vulnerable-memory", - "version": "0.1.0", + "version": "0.10.2", "devDependencies": { "@langchain/anthropic": "^1.3.29", "@langchain/core": "^1.1.48", diff --git a/tests/e2e/agents/vulnerable-memory/package.json b/tests/e2e/agents/vulnerable-memory/package.json index 0d2bef8f..6a937549 100644 --- a/tests/e2e/agents/vulnerable-memory/package.json +++ b/tests/e2e/agents/vulnerable-memory/package.json @@ -1,6 +1,6 @@ { "name": "@keyvaluesystems/agent-opfor-test-agent-vulnerable-memory", - "version": "0.10.1", + "version": "0.10.2", "description": "Intentionally vulnerable agent — accepts and persists user-injected 'policies' into a global knowledge base across sessions", "private": true, "type": "module", diff --git a/tests/e2e/mcp/vulnerable-server/package-lock.json b/tests/e2e/mcp/vulnerable-server/package-lock.json index 7b92eeb3..7fc94b44 100644 --- a/tests/e2e/mcp/vulnerable-server/package-lock.json +++ b/tests/e2e/mcp/vulnerable-server/package-lock.json @@ -1,12 +1,12 @@ { "name": "@keyvaluesystems/agent-opfor-test-mcp-vulnerable", - "version": "0.10.1", + "version": "0.10.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@keyvaluesystems/agent-opfor-test-mcp-vulnerable", - "version": "0.10.1", + "version": "0.10.2", "devDependencies": { "@modelcontextprotocol/sdk": "^1.12.0", "tsx": "^4.20.0", diff --git a/tests/e2e/mcp/vulnerable-server/package.json b/tests/e2e/mcp/vulnerable-server/package.json index 599ac2e4..d0f60baa 100644 --- a/tests/e2e/mcp/vulnerable-server/package.json +++ b/tests/e2e/mcp/vulnerable-server/package.json @@ -1,6 +1,6 @@ { "name": "@keyvaluesystems/agent-opfor-test-mcp-vulnerable", - "version": "0.10.1", + "version": "0.10.2", "description": "Intentionally vulnerable MCP server for opfor testing — DO NOT deploy", "private": true, "type": "module",