19 Commits
Author SHA1 Message Date
Violin 625ca927c0 chore(guard): rename receipt key env var to drop benchmark reference
VIOLIN_BENCHMARK_RECEIPT_KEY -> VIOLIN_RECEIPT_KEY. The all-caps
'BENCHMARK' slipped past the original case-sensitive de-cheat grep in
plugins/violin_guard. No consumers hardcode the literal; all use the
RECEIPT_KEY_ENV constant.
2026-08-13 10:40:39 +01:00
Violin c38a5ea323 fix(guard): heartbeat message nudges context compaction
Run 20260812_204014 died at 27m with HTTP 402 prompt-token limit
(141557 > 99922): the agent executed 328 tool calls without ever
compacting, cutting exploitation short (12/20, 8 challenges never
probed). The heartbeat now reminds the agent to compact when the run
has executed many commands.
2026-08-12 22:11:12 +01:00
Violin 723e349291 fix(guard): scope online-research gate to the exploited hypothesis
- check_command now accepts hypothesis_id (schema + handler + args)
- Exploit-phase research gate checks only the named hypothesis when
  provided; otherwise all candidates (previous behavior)
- Error message names the remediation tool: violin_record_hypothesis
  id=H-00N cve_research=... exploit_research=...
- Fixes silent bypass: normalized id comparison (002 vs 2) so an
  unresearched hypothesis is actually blocked
- New test: named-hypothesis passes, unresearched H-002 blocked,
  all-candidates mode still enforces full rows
2026-08-12 18:52:42 +01:00
Violin 46bad5c1a8 refactor(guard): de-benchmark production code; route-level coverage obligations
- Remove challenge_ids seeding (vulnerability-name leak) from scope;
  seed engagement.coverage_obligations (client-style in-scope endpoints)
  + generic engagement.audit_mode flag instead
- plugins/violin_guard now contains zero benchmark/run-id references;
  gates are framework-owned and audit-mode-gated
- Cross-engagement guard blocks ANY foreign engagement dir, not just
  benchmark-run-*
- Anti-cheat regression test asserts no vuln names in generated scope
2026-08-12 07:09:51 +01:00
Violin b84cd852f2 fix(guard): accept business-logic vuln classes; surface review_batch sync-credit recovery in denial 2026-08-11 20:16:08 +01:00
Violin 5355ff1b68 fix(guard): review-block curl -s without status capture so receipts are decisive 2026-08-11 19:43:26 +01:00
Violin b8262d585d feat(guard): record-as-you-go recency gate — hard block on deferred bookkeeping
The advisory contract rule was not enough: flash-class agents defer
hypothesis/coverage/PTT writes to closeout, then reconstruct results from
conversation memory after compression — the false-positive factory.

check_hypothesis_freshness now hard-blocks further target commands when the
newest execution evidence is newer than the hypothesis board's last update
(15 min grace for burst timing). The agent MUST record the batch result via
violin_record_hypothesis before proceeding. Bursts preflight all commands
before any executes, so no mid-burst false blocks.

Also fixes a silent test-suite gap: tests/__init__.py and the four
subpackage __init__.py files were missing, so 171 integration tests
(incl. test_plugin_guard.py which pins freshness behavior) NEVER ran.
Suite went from 248 passed / 7 collection errors to 419 passed, 0 errors.
2026-08-11 13:46:53 +01:00
Violin 48a4f214d6 feat(guard): add receipt integrity verifier, fail-closed state parsers, and guard runtime tests 2026-08-10 08:54:56 +01:00
Violin d7e139c486 feat: implement violin_guard plugin with secure execution adapters, terminal policies, and pentest skill frameworks 2026-08-08 13:29:11 +01:00
DanandGitHub 09d8e842e3 Stabilize v3.0.0 workflow contracts (#58)
Closes #54
2026-08-01 21:56:15 +01:00
Violin 7ee714a6ce fix(guard): resolve file path resolution and bootstrap issues 2026-07-26 16:03:02 +01:00
Violin b274364118 feat: implement violin_guard plugin for secure pentest execution, target policy enforcement, and workflow orchestration 2026-07-25 14:13:38 +01:00
Violin d3f3a587db Remove obsolete skill marker contracts 2026-07-22 11:09:40 +01:00
Violin 3f8eb5371f Add semantic anti-stuck enforcement 2026-07-19 01:28:01 +01:00
Violin 7ed3898dff gate execution on skill receipts 2026-07-19 01:08:16 +01:00
Violin 5873cf9ddd fix CodeQL quality findings (v2.0.6) 2026-07-19 00:03:08 +01:00
Violin dc53bbb08a consolidate guard batch collaboration 2026-07-18 08:02:50 +01:00
Violin 2926beb3a7 Fix heartbeat command threshold 2026-07-17 21:06:51 +01:00
Violin 5870509fdb feat: implement violin_guard plugin for centralized command execution auditing, terminal policy enforcement, and history tracking. 2026-07-17 20:14:20 +01:00