
Agentic pentest profile for Hermes: 31 playbooks for authorised recon, web/access-control attacks, safe exploit validation, and evidence-driven reporting with guard gates.
35 playbooks · 19 references · 14 templates · required execution guard · Hermes-native
Violin is a Hermes-native agentic pentest profile for supervised, authorised penetration tests — from reconnaissance through safe exploit validation to reporting. It uses Hermes' built-in toolsets, seven routed skills, and the required violin_guard plugin at the target-execution boundary. The standalone CLI supports release checks, diagnostics, and administrative recovery; target commands run through the plugin. Violin adds no profile-specific credentials and inherits the provider and tool backends already configured in Hermes.
Quick start · Workflow · Guard tools · Benchmarks · Landing page · Discussions · Development
Following Violin? Star the repository to keep it easy to find and help other security engineers discover supervised agentic pentesting.
Violin is listed in community-curated collections including awesome-ai-security, awesome-hermes-skills, awesome-hermes-agent, and awesome-infosec.
Third-party coverage: Starlog technical analysis and “Violin: Supervised Agentic Penetration Testing Profile for Hermes Agent”.
For independent evaluation, use the reviewer kit, which collects the benchmark path, known limits, review context, and a factual comparison with autonomous pentest-agent designs.
| Guarded target execution | Scope, phase, PTT, skill, hypothesis, history, and synchronization checks run before a target command starts. |
| Persistent engagement state | PTT tasks, hypotheses, command history, checkpoints, evidence, and reports survive context compression. |
| Evidence-backed findings | A typed submission binds each validated finding to authenticated execution receipts. |
| Routed methodology | A pentest orchestrator selects focused web, identity, API, business-logic, LLM-security, and misconfiguration playbooks. |
| Bounded execution | Single commands, command bursts, background processes, batch review, heartbeat checks, and cancellation share one state model. |
| Verifiable releases | Plugin registration, schemas, skill snapshots, documentation contracts, lint, formatting, and the full test suite are release-gated. |
hermes profile install https://github.com/Strategic-Automation/violin
hermes -p violin plugins disable violin_guard
hermes -p violin plugins enable violin_guard --no-allow-tool-override
hermes -p violin
Guard dependencies are declared in plugins/violin_guard/plugin.yaml. The
plugin name, directory, and enabled configuration all use violin_guard, so
Hermes can resolve its dependencies without a directory workaround. Installing
dependencies into the development .venv does not install them into Hermes.
The disable/enable cycle above forces dependency admission even when the profile
configuration already enables the plugin. Verify registration after installation:
hermes -p violin plugins doctor ~/.hermes/profiles/violin/plugins/violin_guard --ci
hermes -p violin tools list
Plugin Doctor should report 12 tools and 5 hooks, and violin_guard should appear
as an enabled toolset. Restart Hermes after installation before starting an
engagement. Reinstall the profile to migrate an older violin-guard installation.
Then start with an authorized target and let Violin collect the scope before any target interaction:
Run an authorized penetration test against example.com.
v2026.9.24 release commit)uv for local developmentViolin does not select a model or provider. Configure those in Hermes. For a capable default, use Qwen3.8 27B locally or DeepSeek V4 Flash through a hosted provider.
flowchart LR
S[Scope] --> R[Recon]
R --> V[Vulnerability research]
V --> E[Exploit validation]
E --> P[Reporting]
P --> X[Retrospective]
G[Violin Guard] -. validates .-> R
G -. validates .-> V
G -. validates .-> E
scope/scope.yaml.violin_record_ptt.violin_exec or violin_exec_burst.violin_review_batch.The complete phase model is:
SCOPING → RECON → VULN_RESEARCH → EXPLOITATION
→ POST_EXPLOITATION / PRIVESC / FLAGS
→ REPORTING → RETROSPECTIVE
Starting work in a new phase requires a PTT task under that phase. Existing tasks are not moved between phase sections.
The plugin registers twelve Hermes tools from one typed registry: