
Hermes用のエージェント型ペンテストプロファイル:認可済み偵察、Web/アクセス制御攻撃、安全なエクスプロイト検証、およびガードゲート付きの証拠基盤型レポート作成のための31のプレイブック。
35 プレイブック · 17 リファレンス · 13 テンプレート · 必須実行ガード · Hermes ネイティブ
Violin は、監督付き・許可済みの侵入テスト(偵察から安全なエクスプロイト検証、レポート作成まで)のための Hermes ネイティブのエージェント型ペンテストプロファイルです。Hermes の組み込みツールセット、7 つのルーティングスキル、およびターゲット実行境界における必須の violin-guard プラグインを使用します。スタンドアロン CLI はリリースチェック、診断、管理上の復旧をサポートし、ターゲットコマンドはプラグインを通じて実行されます。Violin はプロファイル固有の認証情報を追加せず、Hermes で既に設定されているプロバイダーおよびツールバックエンドを継承します。
クイックスタート · ワークフロー · ガードツール · ベンチマーク · 開発
hermes profile install https://github.com/Strategic-Automation/violin
hermes -p violin
次に、許可されたターゲットから開始し、ターゲットとのやり取りの前に Violin にスコープを収集させます:
Run an authorized penetration test against example.com.
uvViolin はモデルやプロバイダーを選択しません。これらは Hermes で設定してください。能力の高いデフォルトとしては、ローカルで Qwen3.8 27B を使用するか、ホスト型プロバイダー経由で DeepSeek V4 Flash を使用します。
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 .-> Escope/scope.yaml を承認します。violin_record_ptt でアクティブな PTT タスクとそのルーティングスキルを 1 つ選択します。violin_exec または violin_exec_burst でターゲットコマンドを実行します。violin_review_batch で各制限付きコマンドバッチをレビューします。完全なフェーズモデルは次のとおりです:
SCOPING → RECON → VULN_RESEARCH → EXPLOITATION
→ POST_EXPLOITATION / PRIVESC / FLAGS
→ REPORTING → RETROSPECTIVE
新しいフェーズでの作業を開始するには、そのフェーズの下に PTT タスクが必要です。既存のタスクはフェーズセクション間で移動されません。
プラグインは、単一の型付きレジストリから 11 個の Hermes ツールを登録します:
violin_exec は汎用のターゲットコマンド境界です。ツール固有の実行アダプターやバイナリ許可リストはありません。インストールされた非対話型ツールは、エンゲージメントゲートを通過した後にのみ実行できます。
raw ターミナルフックはベストエフォートの安全網であり、ネットワーク封じ込めではありません。terminal はホストローカルの準備と管理にのみ使用してください。
flowchart LR
A[Written authorization] --> B[Approved scope]
B --> C[Active phase task]
C --> D[Skill and hypothesis gates]
D --> E[Guarded execution]
E --> F[Evidence receipt]
F --> G[Batch review]$ENG_DIR/evidence/<phase>/ の下に保持されます。$ENG_DIR/state/ の外に保持されます。詳細なポリシーは
skills/pentest/references/standards.md にあります。
init-engagement は標準的な作業構造を作成します:
$ENG_DIR/
├── scope/
│ └── scope.yaml
├── state/
│ ├── ptt.md
│ ├── history.md
│ └── checkpoint.json
├── hypotheses.md
├── evidence/
├── reporting/
└── retrospective/
スキルはオンデマンドで読み込まれます。ルーティングスキルに対する最初の violin_record_ptt 呼び出しは、PTT を変更せずに skill_prepared を返す場合があります。Hermes がスキルコンテンツを配信した後、遷移を繰り返して受領をバインドし、タスク変更を適用します。violin_status は正確な復旧アクションを報告します。
.skill-loaded-* などのマーカーファイルはスキル配信を証明しません。
オーケストレーターは、現在のタスクに必要なフェーズ資料と専門プレイブックのみを読み込みます。
CLI はガード付きターゲット実行を置き換えるものではありません。
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 は診断用の許可チェックを公開し、指定されたコマンドを実行しません。
plugins/violin_guard/
├── core/ state, schemas, parsing, phases, targets
├── gates/ command, scope, hypothesis, terminal policies
├── engine/ execution and release verification
├── handlers/ public Hermes tool handlers
├── hooks.py Hermes lifecycle hooks
└── registry.py registered tool definitions
skills/ orchestrator, routed skills, playbooks, references
benchmark/ runner, scorer, proof checks, calibration fixtures
scripts/ administrative CLI and platform smoke tests
tests/ runtime, integration, documentation, release tests
リポジトリには、Escape Duck Store 定義に加えて、既知の良好および既知の不良スコアラーフィクスチャが含まれています。キャリブレーションは、スコアラーがそれらのフィクスチャを処理できることを証明します。ライブエージェントの再現率、ワークフロー完了、レポート品質を確立するものではありません。
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
スコアを公開する前に ベンチマーク方法論 をお読みください。信頼できる結果のための証明、再現性、形式化、開示要件を定義しています。
uv sync --dev
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run python scripts/violin_guard.py check-release
リリースゲートは、バージョンサーフェス、分離されたプラグインインポート、登録済みツール、生成されたスキーマ、スキルスナップショット、ドキュメント契約、Ruff、完全なテストスイートをチェックします。
プラットフォームスモークテスト:
scripts/smoke-test.sh — Linux および Kali/Parrot リリーススモークscripts/smoke-test.ps1 — Windows ブートストラップ、スコープ、ターゲット解決スモーク。スキル配信とターゲット実行には Hermes が必要です。貢献ルールについては CONTRIBUTING.md、非公開の脆弱性報告については SECURITY.md を参照してください。
Violin は許可されたセキュリティ評価のためのものです。運用者は、スコープ、承認、ターゲット所有権、データ処理、現地法に対して責任を負います。
MIT — LICENSE を参照してください。
| ガード付きターゲット実行 | スコープ、フェーズ、PTT、スキル、仮説、履歴、同期チェックがターゲットコマンドの開始前に実行されます。 |
| 永続的なエンゲージメント状態 | PTT タスク、仮説、コマンド履歴、チェックポイント、証跡、レポートはコンテキスト圧縮後も保持されます。 |
| 証跡に基づく発見事項 | 検証済みの発見事項には、再現可能な証明と標準的な FIND-NNN.md アーティファクトが必要です。 |
| ルーティングされた方法論 | ペンテストオーケストレーターが、Web、ID、API、ビジネスロジック、LLM セキュリティ、設定ミスに焦点を当てたプレイブックを選択します。 |
| 制限付き実行 | 単一コマンド、コマンドバースト、バックグラウンドプロセス、バッチレビュー、ハートビートチェック、キャンセルは単一の状態モデルを共有します。 |
| 検証可能なリリース | プラグイン登録、スキーマ、スキルスナップショット、ドキュメント契約、lint、フォーマット、完全なテストスイートはリリースゲートで管理されます。 |
| ツール | 目的 |
|---|
violin_record_ptt | PTT タスクの作成、開始、更新、終了、またはキャンセル |
violin_record_hypothesis | スコープ付き仮説の作成または更新 |
violin_exec | ガード付きコマンドを 1 つ実行 |
violin_exec_burst | 制限付きコマンドファイルを実行 |
violin_exec_status | バックグラウンド実行ステータスの読み取り |
violin_exec_cancel | 追跡中のバックグラウンド実行をキャンセル |
violin_review_batch | 完了したバッチをレビューし、状態を確定 |
violin_rebind_pending_batch | 確認後に保留中のバッチを再バインド |
violin_heartbeat_done | 完了したハートビートレビューをクリア |
violin_target | 承認済みの評価ターゲットを解決 |
violin_status | 現在のタスク、スキル、ブロッカーを説明 |
| スキル | カバレッジ |
|---|
pentest | スコープ、ライフサイクル、偵察、エクスプロイト、レポート、クローズアウト |
web-app | インジェクション、SSRF、トラバーサル、デシリアライゼーション、クライアントサイドの欠陥 |
identity-auth | 認証、認可、IDOR、JWT、CSRF、暗号化 |
api-testing | REST、SOAP、GraphQL、WebSocket |
business-logic | ワークフロー、価格設定、クーポン、クォータ、紹介、競合状態 |
llm-security | プロンプトインジェクション、MCP、JSON-RPC |
misconfig | デプロイメント、エラーハンドリング、可観測性、難読化 |