
Perfil de pentest agéntico para Hermes: 31 playbooks para reconocimiento autorizado, ataques web/de control de acceso, validación segura de exploits e informes basados en evidencias con compuertas de seguridad.
31 playbooks · 10 referencias · 11 plantillas · guardia de ejecución requerida · nativo de Hermes
Violin es un perfil de pentest agéntico nativo de Hermes para pruebas de penetración supervisadas y autorizadas — desde el reconocimiento hasta la validación segura de exploits y la generación de informes. Utiliza los conjuntos de herramientas integrados de Hermes, tres habilidades enrutadas y el plugin requerido violin-guard en el límite de ejecución de objetivos. La CLI independiente admite comprobaciones de lanzamiento, diagnósticos y recuperación administrativa; los comandos de objetivo se ejecutan a través del plugin. Violin no añade credenciales específicas del perfil y hereda los backends de proveedor y herramientas ya configurados en Hermes.
hermes profile install https://github.com/Strategic-Automation/violin
hermes -p violin
# 1. Install the profile
hermes profile install https://github.com/Strategic-Automation/violin
# 2. Start a session
hermes -p violin
# 3. Let Violin ask scoping questions, then run your test
> Run a pentest against example.com
hermes profile use violin
flowchart LR
A["1. Scoping"] --> B["2. Recon"]
B --> C["3. Vuln Research"]
C --> D["4. Exploitation"]
D --> E["5. Reporting"]
E --> F["6. Retrospective"]
A -.->|"clarify"| G("Approval Gate")
B -.->|"guard check"| G
C -.->|"guard check"| G
D -.->|"clarify + guard"| G
style A fill:#1a1a2e,stroke:#e94560,stroke-width:2px
style B fill:#16213e,stroke:#0f3460,stroke-width:2px
style C fill:#1a1a2e,stroke:#e94560,stroke-width:2px
style D fill:#16213e,stroke:#0f3460,stroke-width:2px
style E fill:#1a1a2e,stroke:#e94560,stroke-width:2px
style F fill:#16213e,stroke:#0f3460,stroke-width:2px
style G fill:#2d2d2d,stroke:#ffd700,stroke-width:2px
graph TB
subgraph "Your Machine"
HE["Hermes Agent"]
VI["Violin Profile"]
GUARD["violin_guard execution + evidence"]
end
subgraph "Violin Skills"
SK["pentest orchestrator"]
WEB["web-attacks skill"]
AC["access-control skill"]
PB["31 Playbooks"]
REF["10 References"]
TEMP["11 Templates"]
end
subgraph "Configured Toolsets"
T["terminal"]
W["web"]
B["browser"]
F["file"]
CE["code_execution"]
S["skills"]
CL["clarify"]
D["delegation"]
V["vision"]
TD["todo"]
VG["violin_guard"]
end
LLM["Your LLM Provider"]
HE -->|"hermes -p violin"| VI
VI -->|"loads"| SK
VI -->|"requires"| GUARD
SK -->|"routes to"| WEB & AC & PB
WEB --> PB
AC --> PB
SK --> REF & TEMP
HE -->|"calls"| T & W & B & F & CE & S & CL & D & V & TD & VG
HE -->|"inherits"| LLM
style HE fill:#2d2d2d,stroke:#ffd700,stroke-width:2px
style VI fill:#1a1a2e,stroke:#e94560,stroke-width:2px
style GUARD fill:#16213e,stroke:#0f3460,stroke-width:2px
11 conjuntos de herramientas configurados en config.yaml (platform_toolsets.cli): 10 integrados — terminal, web, browser, file, code_execution, skills, todo, clarify, delegation, vision — más el conjunto de herramientas del plugin de guardia violin_guard.
memory.memory_enabled: false — sin recuperación/escritura de memoria globalmemory.user_profile_enabled: false — sin acceso global al perfil de usuario$ENG_DIR/state/flowchart LR
subgraph "Layer 1"
A["9 Scoping Questions"]
B["Written Authorisation"]
end
subgraph "Layer 2"
C["violin_guard.py validate-scope"]
end
subgraph "Layer 3"
D["violin_guard.py check-command"]
end
subgraph "Layer 4"
E["clarify approval gate"]
end
subgraph "Layer 5"
F["Standards & Blocked Actions"]
end
A --> B --> C --> D --> E --> F
violin_exec u otra herramienta de guardia tipada. violin_exec no tiene lista blanca de binarios, por lo que cualquier herramienta CLI de Kali/Parrot no interactiva instalada puede apuntar al host explícito dentro del alcance mientras sigan activas las mismas compuertas de alcance, fase, PTT, hipótesis, historial, evidencia, tiempo de espera y sincronización. El hook de plugin pre_tool_call de Violin bloquea genéricamente los literales de objetivo en comandos terminal sin procesar en lugar de mantener una lista parcial de nombres de herramientas. La CLI expone la misma comprobación para diagnósticos (salida 0=permitido, 1=bloqueado, 2=revisión)violin_status (o python scripts/violin_guard.py status --eng-dir "$ENG_DIR") muestra la tarea y fase activas, comandos pendientes y sus fases requeridas, requisitos de fase, estado de la habilidad, bloqueadores y las próximas acciones exactas sin ejecutar un comandoPolítica de seguridad completa: skills/pentest/references/standards.md. Acciones prohibidas: .hermes.md §Comportamiento Prohibido.
violin/
├── .hermes.md # Project-level agent context
├── SOUL.md # Agent identity — senior pentester persona
├── config.yaml # Profile config (toolsets, safety, memory)
├── distribution.yaml # Hermes distribution manifest
├── plugins/violin_guard/ # Required Hermes guard plugin and execution boundary
│ ├── bash_ast.py # bashlex AST command tokenization and parsing
│ ├── terminal_policy.py # AST-based best-effort blocks for target-touching raw terminal calls
│ ├── targets.py # Scope enforcement using netaddr and yarl URL parsing
│ ├── schemas.py # Pydantic v2 tool schemas and validation
│ └── code_execution_audit.py # Engagement audit contract for execute_code
├── scripts/ # CLI and release smoke helpers
│ ├── violin_guard.py # Diagnostic/admin CLI over the plugin modules
│ ├── smoke-test.sh # Linux/macOS release smoke
│ ├── smoke-test.ps1 # Windows supplemental smoke
│ └── kali.sh # Docker Kali helper
└── skills/
├── pentest/ # Engagement orchestrator (23 playbooks, 10 refs, 11 templates)
│ ├── SKILL.md
│ ├── playbooks/ # 7 operational + 16 vulnerability-class playbooks
│ ├── references/ # 10 reference files
│ └── templates/ # 11 templates (reports, evidence, methodology, contracts)
├── web-attacks/ # Routed skill — 5 injection/web playbooks (SQLi, XSS, SSRF, cmdi, traversal)
└── access-control/ # Routed skill — 3 auth/authorisation playbooks (auth-bypass, IDOR, JWT)
python scripts/violin_guard.py check-release
Valida el manifiesto del plugin y las herramientas registradas, la importación aislada del plugin estilo Hermes, las referencias obsoletas a habilidades, Ruff y la suite completa de pytest.
Las habilidades de Hermes se cargan bajo demanda y se aplican mediante recibos de Violin. Comienza con pentest, luego usa violin_record_ptt para seleccionar la habilidad requerida por la ruta. La primera llamada prepara el contenido real de skill_view sin mutar el PTT; repite la misma transición después de que ese resultado de herramienta regrese al modelo para vincularla. violin_status informa la ruta, la vinculación, la generación de contexto, la acción de recuperación y cualquier marcador heredado obsoleto. La actividad de objetivos y navegador se bloquea solo en la misma llamada de modelo que la entrega o vinculación, y luego se abre automáticamente en la siguiente continuación del bucle de herramientas.
Consulta scripts/kali.sh para el asistente de ejecución del contenedor.
docker pull kalilinux/kali-rolling
docker create -it --name kali-pentest \
-v /path/to/violin/engagements:/engagements \
kalilinux/kali-rolling bash
docker start kali-pentest
docker exec kali-pentest apt update
docker exec kali-pentest apt install -y kali-linux-headless
Consulta CONTRIBUTING.md para la configuración de desarrollo, el proceso de PR y el estilo de código.
Consulta SECURITY.md para informar vulnerabilidades.
MIT — consulta LICENSE.
| 🔬 31 Playbooks de Metodología | 7 playbooks operativos (cinco fases de ejecución, post-explotación opcional y el catálogo de herramientas) + 24 playbooks de clases de vulnerabilidad, enrutados a través de las habilidades `pentest`, `web-attacks` y `access-control`. |
| 🛡️ Seguridad Multicapa | Delimitación interactiva (9 preguntas) → validación del alcance → comprobación de guardia → puertas de aprobación: cada comando que toca el objetivo se valida antes de la ejecución. |
| 🧠 Árbol de Tareas de Pentesting | Artefacto estructurado que rastrea cada tarea mediante marcadores `[x]/[ ]/[~]` a lo largo de las fases, con historial propiedad del ejecutor, vinculación de hipótesis y revisiones por lotes ligadas a la guardia. |
| 🌐 Navegador + Investigación Web | Conjunto de herramientas de navegador para la enumeración aprobada de sitios web dentro del alcance; v3.0.0 condiciona el flujo de trabajo del compromiso pero no proporciona una lista blanca de navegadores a nivel de red. Conjunto de herramientas web para consulta de CVE, búsqueda de exploits y OSINT. |
| 📋 Informes Basados en Evidencia | Evidencia reproducible con capturas de pantalla, salida de herramientas y pares de solicitud/respuesta. Mapeos CVSS 3.1 + 4.0 y parches de remediación opcionales. |
| 🔗 Nativo de Hermes | Hereda el proveedor, modelo y backends de herramientas ya existentes en tu Hermes. Violin no introduce un almacén de credenciales ni un broker separados. |
| Fase | Acción | Puerta de seguridad |
|---|
| 1. Delimitación del alcance | 9 preguntas mediante clarify | Aprobación del usuario |
| 2. Reconocimiento | OSINT pasivo → detección de tecnología → escaneo activo | Guardia + aprobación |
| 3. Investigación de vulnerabilidades | Consulta de CVE, búsqueda de exploits, análisis de superficie de ataque | Comprobación de guardia |
| 4. Explotación | Validación segura de PoC por clase de vulnerabilidad | Guardia + aprobación del usuario |
| 5. Informes | Recopilación de evidencia, puntuación CVSS, remediación | — |
| 6. Retrospectiva | Análisis de brechas, actualización de la cobertura de playbooks | Obligatoria |
violin_review_batch valida el lote completado, opcionalmente escribe su hallazgo respaldado por recibo, actualiza la fila PTT activa una vez y limpia el bloqueo del lote al final