
violin v3.2.1
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.
Violin ☤ — Perfil de Pentest Agéntico Supervisado para Hermes
35 playbooks · 17 referencias · 13 plantillas · guarda de ejecución obligatoria · 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 elaboración de informes. Utiliza los conjuntos de herramientas integrados de Hermes, siete habilidades enrutadas y el plugin obligatorio violin-guard en el límite de ejecución de objetivos. La CLI independiente admite comprobaciones de versión, 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.
Inicio rápido · Flujo de trabajo · Herramientas de guarda · Benchmarks · Desarrollo
| Ejecución de objetivos supervisada | Las comprobaciones de alcance, fase, PTT, habilidad, hipótesis, historial y sincronización se ejecutan antes de que comience un comando de objetivo. |
| Estado de engagement persistente | Las tareas PTT, hipótesis, historial de comandos, puntos de control, evidencia e informes sobreviven a la compresión de contexto. |
| Hallazgos respaldados por evidencia | Los hallazgos validados requieren prueba reproducible y artefactos canónicos FIND-NNN.md. |
| Metodología enrutada | Un orquestador de pentest selecciona playbooks enfocados en web, identidad, API, lógica de negocio, seguridad de LLM y mala configuración. |
| Ejecución acotada | Comandos individuales, ráfagas de comandos, procesos en segundo plano, revisión por lotes, comprobaciones de heartbeat y cancelación comparten un único modelo de estado. |
| Versiones verificables | El registro de plugins, esquemas, instantáneas de habilidades, contratos de documentación, lint, formato y la suite completa de pruebas están sujetos a la puerta de versión. |
Inicio rápido
Instalar el perfil
hermes profile install https://github.com/Strategic-Automation/violin
hermes -p violin
Luego comienza con un objetivo autorizado y deja que Violin recopile el alcance antes de cualquier interacción con el objetivo:
Ejecuta una prueba de penetración autorizada contra example.com.
Requisitos
- Hermes Agent 0.18.0 o más reciente
- Python 3.11 y
uvpara desarrollo local - Kali Linux o Parrot OS para el entorno esperado de herramientas de seguridad
- Autorización por escrito y un alcance aprobado
Violin no selecciona un modelo ni un proveedor. Configúralos en Hermes. Para un valor predeterminado capaz, usa Qwen3.8 27B localmente o DeepSeek V4 Flash a través de un proveedor alojado.
Ciclo de vida del engagement
flowchart LR
S[Alcance] --> R[Reconocimiento]
R --> V[Investigación de vulnerabilidades]
V --> E[Validación de exploits]
E --> P[Informes]
P --> X[Retrospectiva]
G[Violin Guard] -. valida .-> R
G -. valida .-> V
G -. valida .-> E
- Inicializa el engagement y aprueba
scope/scope.yaml. - Selecciona una tarea PTT activa y su habilidad enrutada con
violin_record_ptt. - Ejecuta comandos de objetivo con
violin_execoviolin_exec_burst. - Actualiza las hipótesis a medida que la evidencia cambia su estado.
- Revisa cada lote de comandos acotado con
violin_review_batch. - Genera hallazgos canónicos y el informe final.
- Completa la retrospectiva.
El modelo de fases completo es:
SCOPING → RECON → VULN_RESEARCH → EXPLOITATION
→ POST_EXPLOITATION / PRIVESC / FLAGS
→ REPORTING → RETROSPECTIVE
Comenzar a trabajar en una nueva fase requiere una tarea PTT bajo esa fase. Las tareas existentes no se mueven entre secciones de fases.
Herramientas de guarda
El plugin registra once herramientas de Hermes desde un único registro tipado:
| Herramienta | Propósito |
|---|---|
violin_record_ptt | Crear, iniciar, actualizar, cerrar o cancelar una tarea PTT |
violin_record_hypothesis | Crear o actualizar una hipótesis con alcance |
violin_exec | Ejecutar un comando supervisado |
violin_exec_burst | Ejecutar un archivo de comandos acotado |
violin_exec_status | Leer el estado de ejecución en segundo plano |
violin_exec_cancel | Cancelar la ejecución en segundo plano rastreada |
violin_review_batch | Revisar un lote completado y resolver el estado |
violin_rebind_pending_batch | Reenlazar un lote pendiente tras la confirmación |
violin_heartbeat_done | Limpiar una revisión de heartbeat completada |
violin_target | Resolver el objetivo de evaluación aprobado |
violin_status | Explicar tareas, habilidades y bloqueadores actuales |
violin_exec es el límite genérico de comandos de objetivo. No hay adaptadores de ejecución específicos de herramientas ni listas de permitidos de binarios. Las herramientas no interactivas instaladas solo pueden ejecutarse después de que pasen las puertas del engagement.
El hook de terminal sin procesar es una red de seguridad de mejor esfuerzo, no un contenedor de red. Usa terminal solo para preparación y administración local del host.
Modelo de seguridad
flowchart LR
A[Autorización por escrito] --> B[Alcance aprobado]
B --> C[Tarea de fase activa]
C --> D[Puertas de habilidad e hipótesis]
D --> E[Ejecución supervisada]
E --> F[Recibo de evidencia]
F --> G[Revisión por lotes]
- Sin interacción con el objetivo antes de la aprobación del alcance y la validación de bootstrap.
- Sin ejecución de shell sin procesar para comandos de objetivo.
- Sin acciones destructivas, disruptivas, de credenciales, persistencia, sigilo o de terceros sin autorización explícita por escrito.
- La evidencia sin procesar permanece bajo
$ENG_DIR/evidence/<phase>/. - Secretos, volcados y salida de prueba permanecen fuera de
$ENG_DIR/state/. - La compresión de contexto se reanuda desde los archivos del engagement en la conversación actual de Hermes.
La política detallada está en
skills/pentest/references/standards.md.
Estado del engagement
init-engagement crea la estructura de trabajo canónica: