Skip to content

Violin v3.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Aug 16:12
· 1 commit to master since this release
94b960e

Core Architecture & Tool Consolidation

  • 11 Core Tools: Consolidated registered tool surface (17 -> 11 tools) by pruning 6 thin-proxy wrappers (violin_httpx, violin_nuclei, violin_ffuf, violin_listener, violin_search_exploit, violin_check_command) in favor of direct, unified violin_exec.
  • Subpackage Architecture: Modularized plugins/violin_guard into direct subpackages (core, gates, engine, handlers) with explicit __all__ exports and clean dependency isolation.

Skills & Methodology Framework

  • 7 Domain Skills: Reorganized and routed pentest methodology across 7 distinct skill packages (pentest, web-app, identity-auth, api-testing, business-logic, misconfig, llm-security).
  • Coverage Matrix: Automated bootstrap generation of coverage matrix from scope obligations with strict schema validation.
  • WSTG Methodology Gates: Enforced methodology disposition checks before phase transitions and standardized canonical FIND-NNN.md schemas and templates.
  • Evidence & Discipline: Documented two-step skill binding mechanics, evidence redaction patterns, and decisive raw response byte capture.

Performance, Ergonomics & Concurrency Safety

  • AST Scope & Backend Caching: LRU and TTL caching for AST scope parsing (bashlex + yarl + netaddr) and container probing.
  • Adaptive Poll Throttling: Jittered backoff during long-running execution checks to eliminate CPU spin.
  • Robust Hypothesis Parsing: Tolerates variable heading depths (#, ##, ###, bare) and parenthetical/confidence annotations without dropping validated records.
  • Process Safety: Removed global environment mutations (os.environ["ENG_DIR"]), eliminated dynamic module inspection, and added advisory filelock protection on state/feedback logs.

Code Quality & Maintenance

  • Fix relative-path resolution in abandon_execution history tracking (.resolve()).
  • Release sync-credit reservations via try/finally on mid-burst process kill.
  • Validate listener port presence before integer coercion.
  • Normalize command history with splitlines() (handles legacy CR line breaks).
  • Use hashlib.file_digest() for single-pass SHA-256 in receipt_integrity.py.
  • Automated GitHub release and tagging workflow (.github/workflows/release.yml) on push to master.