Volver a actualizaciones
Nuevo releaseAug 31, 2026

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.

Compartir

Violin

Violin ☤ — Perfil de Pentest Agéntico Supervisado para Hermes

Release Ready License: MIT Hermes >= 0.18.0 Kali Linux Parrot OS

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 supervisadaLas 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 persistenteLas tareas PTT, hipótesis, historial de comandos, puntos de control, evidencia e informes sobreviven a la compresión de contexto.
Hallazgos respaldados por evidenciaLos hallazgos validados requieren prueba reproducible y artefactos canónicos FIND-NNN.md.
Metodología enrutadaUn orquestador de pentest selecciona playbooks enfocados en web, identidad, API, lógica de negocio, seguridad de LLM y mala configuración.
Ejecución acotadaComandos 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 verificablesEl 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 uv para 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
  1. Inicializa el engagement y aprueba scope/scope.yaml.
  2. Selecciona una tarea PTT activa y su habilidad enrutada con violin_record_ptt.
  3. Ejecuta comandos de objetivo con violin_exec o violin_exec_burst.
  4. Actualiza las hipótesis a medida que la evidencia cambia su estado.
  5. Revisa cada lote de comandos acotado con violin_review_batch.
  6. Genera hallazgos canónicos y el informe final.
  7. 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:

HerramientaPropósito
violin_record_pttCrear, iniciar, actualizar, cerrar o cancelar una tarea PTT
violin_record_hypothesisCrear o actualizar una hipótesis con alcance
violin_execEjecutar un comando supervisado
violin_exec_burstEjecutar un archivo de comandos acotado
violin_exec_statusLeer el estado de ejecución en segundo plano
violin_exec_cancelCancelar la ejecución en segundo plano rastreada
violin_review_batchRevisar un lote completado y resolver el estado
violin_rebind_pending_batchReenlazar un lote pendiente tras la confirmación
violin_heartbeat_doneLimpiar una revisión de heartbeat completada
violin_targetResolver el objetivo de evaluación aprobado
violin_statusExplicar 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:

$ENG_DIR/
├── scope/
│   └── scope.yaml
├── state/
│   ├── ptt.md
│   ├── history.md
│   └── checkpoint.json
├── hypotheses.md
├── evidence/
├── reporting/
└── retrospective/

Entrega de habilidades

Las habilidades se cargan bajo demanda. La primera llamada a violin_record_ptt para una habilidad enrutada puede devolver skill_prepared sin cambiar el PTT. Después de que Hermes entregue el contenido de la habilidad, repite la transición para vincular el recibo y aplicar el cambio de tarea. violin_status informa la acción de recuperación exacta.

Los archivos marcadores como .skill-loaded-* no prueban la entrega de la habilidad.

Habilidades enrutadas

HabilidadCobertura
pentestAlcance, ciclo de vida, reconocimiento, explotación, informes, cierre
web-appInyección, SSRF, traversal, deserialización, fallos del lado del cliente
identity-authAutenticación, autorización, IDOR, JWT, CSRF, criptografía
api-testingREST, SOAP, GraphQL, WebSocket
business-logicFlujo de trabajo, precios, cupones, cuotas, referidos, condiciones de carrera
llm-securityInyección de prompts, MCP, JSON-RPC
misconfigDespliegue, manejo de errores, observabilidad, oscuridad

El orquestador carga solo el material de fase y el playbook especializado necesarios para la tarea actual.

CLI administrativa

La CLI no reemplaza la ejecución supervisada de objetivos.

python scripts/violin_guard.py --help
python scripts/violin_guard.py init-engagement engagements/example --host example.com
python scripts/violin_guard.py check-bootstrap --eng-dir engagements/example
python scripts/violin_guard.py status --eng-dir engagements/example
python scripts/violin_guard.py generate-closeout --eng-dir engagements/example
python scripts/violin_guard.py check-release

check-command expone comprobaciones de admisión para diagnósticos y no ejecuta el comando proporcionado.

Arquitectura

plugins/violin_guard/
├── core/           estado, esquemas, análisis, fases, objetivos
├── gates/          políticas de comando, alcance, hipótesis, terminal
├── engine/         verificación de ejecución y versión
├── handlers/       manejadores públicos de herramientas de Hermes
├── hooks.py        hooks del ciclo de vida de Hermes
└── registry.py     definiciones de herramientas registradas

skills/             orquestador, habilidades enrutadas, playbooks, referencias
benchmark/          ejecutor, puntuador, comprobaciones de prueba, fixtures de calibración
scripts/            CLI administrativa y pruebas de humo de plataforma
tests/              pruebas de runtime, integración, documentación y versión

Benchmarks

El repositorio incluye la definición de Escape Duck Store más fixtures de puntuador conocidos-buenos y conocidos-malos. La calibración demuestra que el puntuador maneja esos fixtures; no establece la recuperación en vivo del agente, la finalización del flujo de trabajo ni la calidad del informe.

uv run python benchmark/score.py --calibrate known-good
uv run python benchmark/score.py --calibrate known-bad
uv run python -m benchmark.run --target https://duck-store.escape.tech

Lee la metodología de benchmark antes de publicar una puntuación. Define los requisitos de prueba, reproducibilidad, formalización y divulgación para un resultado creíble.

Desarrollo

uv sync --dev
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run python scripts/violin_guard.py check-release

La puerta de versión verifica superficies de versión, importación aislada del plugin, herramientas registradas, esquemas generados, instantáneas de habilidades, contratos de documentación, Ruff y la suite completa de pruebas.

Pruebas de humo de plataforma:

  • scripts/smoke-test.sh — prueba de humo de versión para Linux y Kali/Parrot
  • scripts/smoke-test.ps1 — prueba de humo de bootstrap, alcance y resolución de objetivos en Windows; la entrega de habilidades y la ejecución de objetivos requieren Hermes

Consulta CONTRIBUTING.md para las reglas de contribución y SECURITY.md para el reporte privado de vulnerabilidades.

Uso responsable

Violin es para evaluación de seguridad autorizada. Los operadores son responsables del alcance, aprobaciones, propiedad del objetivo, manejo de datos y la ley local.

Licencia

MIT — consulta LICENSE.

Categorías