
Perfil de pentest agêntico para Hermes: 31 playbooks para reconhecimento autorizado, ataques web/de controle de acesso, validação segura de exploits e relatórios baseados em evidências com portões de proteção.
35 playbooks · 17 referências · 13 modelos · guarda de execução obrigatória · nativo para Hermes
Violin é um perfil de pentest agêntico nativo para Hermes para testes de penetração supervisionados e autorizados — desde a reconhecimento até a validação segura de exploits e relatórios. Ele usa os conjuntos de ferramentas integrados do Hermes, sete habilidades roteadas e o plugin obrigatório violin-guard na fronteira de execução de alvos. A CLI autônoma oferece suporte a verificações de release, diagnósticos e recuperação administrativa; comandos de alvo são executados por meio do plugin. Violin não adiciona credenciais específicas de perfil e herda os backends de provedor e ferramentas já configurados no Hermes.
Início rápido · Fluxo de trabalho · Ferramentas de guarda · Benchmarks · Desenvolvimento
hermes profile install https://github.com/Strategic-Automation/violin
hermes -p violin
Em seguida, comece com um alvo autorizado e deixe o Violin coletar o escopo antes de qualquer interação com o alvo:
Execute um teste de penetração autorizado contra example.com.
uv para desenvolvimento localViolin não seleciona um modelo ou provedor. Configure-os no Hermes. Para um padrão capaz, use Qwen3.8 27B localmente ou DeepSeek V4 Flash por meio de um provedor hospedado.
flowchart LR
S[Escopo] --> R[Reconhecimento]
R --> V[Pesquisa de vulnerabilidades]
V --> E[Validação de exploit]
E --> P[Relatórios]
P --> X[Retrospectiva]
G[Violin Guard] -. valida .-> R
G -. valida .-> V
G -. valida .-> Escope/scope.yaml.violin_record_ptt.violin_exec ou violin_exec_burst.violin_review_batch.O modelo de fases completo é:
SCOPING → RECON → VULN_RESEARCH → EXPLOITATION
→ POST_EXPLOITATION / PRIVESC / FLAGS
→ REPORTING → RETROSPECTIVE
Iniciar trabalho em uma nova fase exige uma tarefa PTT sob essa fase. Tarefas existentes não são movidas entre seções de fases.
O plugin registra onze ferramentas Hermes a partir de um único registro tipado:
violin_exec é a fronteira genérica de comandos de alvo. Não há
adaptadores de execução específicos de ferramenta ou allowlists de binários.
Ferramentas não interativas instaladas podem ser executadas somente após os portões de engajamento passarem.
O hook de terminal bruto é uma rede de segurança de melhor esforço, não um
isolamento de rede. Use terminal apenas para preparação e administração
locais ao host.
flowchart LR
A[Autorização por escrito] --> B[Escopo aprovado]
B --> C[Tarefa de fase ativa]
C --> D[Portões de habilidade e hipótese]
D --> E[Execução protegida]
E --> F[Recibo de evidência]
F --> G[Revisão em lote]$ENG_DIR/evidence/<phase>/.$ENG_DIR/state/.A política detalhada está em
skills/pentest/references/standards.md.
init-engagement cria a estrutura de trabalho canônica:
$ENG_DIR/
├── scope/
│ └── scope.yaml
├── state/
│ ├── ptt.md
│ ├── history.md
│ └── checkpoint.json
├── hypotheses.md
├── evidence/
├── reporting/
└── retrospective/
As habilidades são carregadas sob demanda. A primeira chamada violin_record_ptt para uma
habilidade roteada pode retornar skill_prepared sem alterar o PTT. Depois que o Hermes
entrega o conteúdo da habilidade, repita a transição para vincular o recibo e aplicar a
mudança de tarefa. violin_status relata a ação de recuperação exata.
Arquivos de marcador como .skill-loaded-* não comprovam a entrega da habilidade.
O orquestrador carrega apenas o material de fase e o playbook especializado necessários para a tarefa atual.
A CLI não substitui a execução protegida de alvos.
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 expõe verificações de admissão para diagnósticos e não executa
o comando fornecido.
plugins/violin_guard/
├── core/ estado, schemas, parsing, fases, alvos
├── gates/ políticas de comando, escopo, hipótese, terminal
├── engine/ verificação de execução e release
├── handlers/ handlers públicos de ferramentas Hermes
├── hooks.py hooks de ciclo de vida do Hermes
└── registry.py definições de ferramentas registradas
skills/ orquestrador, habilidades roteadas, playbooks, referências
benchmark/ runner, scorer, verificações de prova, fixtures de calibração
scripts/ CLI administrativa e testes de fumaça de plataforma
tests/ testes de runtime, integração, documentação e release
O repositório inclui a definição Escape Duck Store, além de fixtures de scorer conhecidamente boas e ruins. A calibração prova que o scorer lida com essas fixtures; ela não estabelece recall de agente ao vivo, conclusão de fluxo de trabalho ou qualidade de relatório.
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
Leia a metodologia de benchmark antes de publicar uma pontuação. Ela define os requisitos de prova, reprodutibilidade, formalização e divulgação para um resultado confiável.
uv sync --dev
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run python scripts/violin_guard.py check-release
O portão de release verifica superfícies de versão, importação isolada de plugin, ferramentas registradas, schemas gerados, snapshots de habilidades, contratos de documentação, Ruff e a suíte de testes completa.
Testes de fumaça de plataforma:
scripts/smoke-test.sh — fumaça de release Linux e Kali/Parrotscripts/smoke-test.ps1 — fumaça de bootstrap, escopo e resolução de alvo no
Windows; entrega de habilidades e execução de alvos exigem HermesConsulte CONTRIBUTING.md para regras de contribuição e SECURITY.md para relato privado de vulnerabilidades.
Violin é para avaliação de segurança autorizada. Os operadores são responsáveis por escopo, aprovações, propriedade do alvo, tratamento de dados e leis locais.
MIT — consulte LICENSE.
| Execução de alvo protegida | Verificações de escopo, fase, PTT, habilidade, hipótese, histórico e sincronização são executadas antes de um comando de alvo começar. |
| Estado de engajamento persistente | Tarefas PTT, hipóteses, histórico de comandos, checkpoints, evidências e relatórios sobrevivem à compressão de contexto. |
| Descobertas baseadas em evidências | Descobertas validadas exigem prova reproduzível e artefatos canônicos FIND-NNN.md. |
| Metodologia roteada | Um orquestrador de pentest seleciona playbooks focados em web, identidade, API, lógica de negócios, segurança de LLM e má configuração. |
| Execução limitada | Comandos únicos, rajadas de comandos, processos em segundo plano, revisão em lote, verificações de heartbeat e cancelamento compartilham um único modelo de estado. |
| Releases verificáveis | Registro de plugins, schemas, snapshots de habilidades, contratos de documentação, lint, formatação e a suíte de testes completa são controlados por release. |
| Ferramenta | Finalidade |
|---|
violin_record_ptt | Criar, iniciar, atualizar, fechar ou cancelar uma tarefa PTT |
violin_record_hypothesis | Criar ou atualizar uma hipótese com escopo |
violin_exec | Executar um comando protegido |
violin_exec_burst | Executar um arquivo de comandos limitado |
violin_exec_status | Ler o status de execução em segundo plano |
violin_exec_cancel | Cancelar execução em segundo plano rastreada |
violin_review_batch | Revisar um lote concluído e estabilizar o estado |
violin_rebind_pending_batch | Reassociar um lote pendente após confirmação |
violin_heartbeat_done | Limpar uma revisão de heartbeat concluída |
violin_target | Resolver o alvo de avaliação aprovado |
violin_status | Explicar tarefas, habilidades e bloqueios atuais |
| Habilidade | Cobertura |
|---|
pentest | Escopo, ciclo de vida, reconhecimento, exploração, relatórios, encerramento |
web-app | Injeção, SSRF, travessia, desserialização, falhas no lado do cliente |
identity-auth | Autenticação, autorização, IDOR, JWT, CSRF, criptografia |
api-testing | REST, SOAP, GraphQL, WebSocket |
business-logic | Fluxo de trabalho, preços, cupons, cotas, indicações, condições de corrida |
llm-security | Injeção de prompt, MCP, JSON-RPC |
misconfig | Implantação, tratamento de erros, observabilidade, obscuridade |