Violin
3807d22eaa
fix(benchmark): evidence-gated scorer contract, false-positive discriminators, runner validity
...
- Confirm Validated hypotheses via canonical FIND-NNN.md matched in live-app
terms (METHOD + endpoint route) alongside execution bundles
- require/require_any discriminators for shared-endpoint challenges;
absence-type scoring for no-rate-limiting
- Runner: closeout timeout is a soft warning, not run invalidation
- ai_judge: whitelist legitimate closeout artifacts in schema-drift audit
- Align version surfaces to 3.1.0; move pyyaml to runtime deps
Calibration: known-good 20/20, known-bad 0/0. Latest run re-scored 4 -> 9.
2026-08-10 20:52:02 +01:00
Violin
7ca3c0b6c5
chore: remove whitespace from benchmark config
2026-08-08 13:30:33 +01:00
3b21e0a92a
feat: Automated Benchmark Runner and Evaluation Framework ( #68 )
...
* fix: bump distribution version to 3.0.1
* feat(benchmark): introduce benchmark runner engine, Docker containerization, and calibration datasets
* Fix URL/path scope exclusions and update duck-store template
- Modified targets.py to ensure that excluding a specific URL or path does not result in the entire host being blocked. Implemented a strict command payload check for excluded endpoints.
- Updated duck-store benchmark scope template to explicitly block the /vulnerabilities endpoint (which leaks intentional challenges) while allowing access to endpoint documentation.
* fix: correct scope.yaml indentation and refine guard blocking messages
* fix: resolve ModuleNotFoundError when score.py is executed directly
---------
Co-authored-by: Dan <dan@strategicautomation.local >
2026-08-08 13:29:11 +01:00
Dan and GitHub
d89fc64d4e
chore(release): bump version to 3.0.1 ( #65 )
...
Merge dev into master for 3.0.1 release
2026-08-04 17:24:29 +01:00
Violin
021fad0c0d
chore: pin Python 3.11 in .python-version and pyproject.toml to match Hermes runtime
2026-07-26 17:25:27 +01:00
Violin
1e04f565b0
feat(guard): replace custom shell regexes with bashlex AST parsing
2026-07-26 17:11:05 +01:00
Violin
06a60afa47
feat(guard): upgrade IP/CIDR scope policy arithmetic to netaddr IPSet and yarl URL parsing
2026-07-26 17:10:27 +01:00
Violin
0b135660ee
feat(guard): replace platform-specific process termination with psutil tree cleanup
2026-07-26 17:09:55 +01:00
Violin
58f487f19d
feat(guard): migrate tool schemas and validation to Pydantic v2
2026-07-26 17:09:00 +01:00
Violin
5fc876367d
Release Violin 3.0.0 profile
2026-07-22 11:18:53 +01:00
Violin
5873cf9ddd
fix CodeQL quality findings (v2.0.6)
2026-07-19 00:03:08 +01:00
Violin
6e8ba6e77c
fix exact repeat history parsing ( #3 )
2026-07-18 23:31:16 +01:00
Violin
22560d57b4
block secondary-only primary targets ( #2 )
2026-07-18 23:19:50 +01:00
Violin
a7dffbd191
fix compound terminal command policy ( #1 )
2026-07-18 23:01:48 +01:00
Violin
e2be6759a5
restrict workflow token permissions
2026-07-18 22:54:16 +01:00
Violin
28c72446fa
upgrade pytest for CVE-2025-71176
2026-07-18 22:42:57 +01:00
Violin
698edc0a45
chore: bump version to v2.0.0 and update docs
2026-07-17 20:26:47 +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
Violin
a9130fe02c
Harden plugin release checks and CI
2026-07-13 08:53:57 +01:00
Violin
ea7e094528
Remediate audit P0/P1 findings; migrate tests to green
...
- state.py: fcntl/msvcrt file locking, reservation+finalization, history
verification, remove dead subprocess bridges (p1-lock)
- hypotheses.py: enforce canonical status, phase/host/service/port match,
reject unrelated hypotheses (p1-hyp)
- tools.py/__init__.py: retain kwargs (task_id), lifecycle hooks wired
(REGISTERED_TOOLS + no-op-then-active hooks) (p1-life)
- Migrate tests from tests/*.py to tests/guard + tests/pentest_docs; align
to actual API (handle_target returns ips[0], handle_exec_burst fail-closed,
PTT self-certify uses real batch_id, post-exploitation requires hypothesis)
- scoping.md: add checkpoint.json continuity-artifact drift note
- pyproject.toml: v1.2.0, per-file-ignores for tests/scripts (E402/S101)
- Add .pytest-tmp-plugin/ to .gitignore
64 passed; ruff clean.
2026-07-12 20:57:55 +01:00
Violin
8d8fb81ffb
Consolidate Violin Guard into Hermes plugin
2026-07-12 16:00:16 +01:00
Violin
283f2683a9
feat: improve guard and workflow reliability
2026-07-12 09:39:55 +01:00