
violin v3.2.1
Hermes用のエージェント型ペンテストプロファイル:認可済み偵察、Web/アクセス制御攻撃、安全なエクスプロイト検証、およびガードゲート付きの証拠基盤型レポート作成のための31のプレイブック。
Violin ☤ — 監督型エージェント型Hermesペネトレーションテストプロファイル
35個のプレイブック · 19個のリファレンス · 14個のテンプレート · 必須の実行ガード · Hermesネイティブ
Violinは、監督下で許可されたペネトレーションテスト向けのHermesネイティブなエージェント型ペネトレーションテストプロファイルです。偵察から安全なエクスプロイト検証、そして報告までをカバーします。Hermesに組み込まれたツールセット、7つのルーティングされたスキル、そしてターゲット実行境界で必須となるviolin_guardプラグインを使用します。スタンドアロンCLIはリリースチェック、診断、および管理上のリカバリをサポートし、ターゲットコマンドはプラグイン経由で実行されます。Violinはプロファイル固有の認証情報を追加せず、Hermesですでに設定されているプロバイダーおよびツールバックエンドを継承します。
クイックスタート · ワークフロー · ガードツール · ベンチマーク · ランディングページ · ディスカッション · 開発
Violinをフォローしていますか? リポジトリにスターを付けて 見つけやすくし、他のセキュリティエンジニアが監督型エージェント型ペネトレーションテストを発見できるようにご協力ください。
コミュニティでの発見
Violinは、以下を含むコミュニティがキュレーションしたコレクションに掲載されています: awesome-ai-security、 awesome-hermes-skills、 awesome-hermes-agent、および awesome-infosec。
第三者による報道: Starlogの技術分析 および 「Violin: Supervised Agentic Penetration Testing Profile for Hermes Agent」。
独立した評価には、 レビュアーキットをご利用ください。これは ベンチマークのパス、既知の制限、レビューのコンテキスト、および自律型ペネトレーションテストエージェント設計との事実に基づく比較をまとめたものです。
| 保護されたターゲット実行 | スコープ、フェーズ、PTT、スキル、仮説、履歴、同期のチェックがターゲットコマンドの開始前に実行されます。 |
| 永続的なエンゲージメント状態 | PTTタスク、仮説、コマンド履歴、チェックポイント、証拠、レポートはコンテキスト圧縮後も保持されます。 |
| 証拠に基づく発見事項 | 型付きの提出により、各検証済みの発見事項が認証済みの実行レシートに紐付けられます。 |
| ルーティングされた方法論 | ペネトレーションテストオーケストレーターが、Web、ID、API、ビジネスロジック、LLMセキュリティ、設定不備に特化したプレイブックを選択します。 |
| 制限付き実行 | 単一コマンド、コマンドバースト、バックグラウンドプロセス、バッチレビュー、ハートビートチェック、キャンセルが単一の状態モデルを共有します。 |
| 検証可能なリリース | プラグイン登録、スキーマ、スキルスナップショット、ドキュメント契約、lint、フォーマット、および完全なテストスイートがリリースゲートとして管理されます。 |
クイックスタート
プロファイルのインストール
hermes profile install https://github.com/Strategic-Automation/violin
hermes -p violin plugins disable violin_guard
hermes -p violin plugins enable violin_guard --no-allow-tool-override
hermes -p violin
Guard の依存関係は plugins/violin_guard/plugin.yaml で宣言されています。プラグイン名、ディレクトリ、および有効化設定はすべて violin_guard を使用しているため、Hermes はディレクトリの回避策なしで依存関係を解決できます。開発用の .venv に依存関係をインストールしても、それらは Hermes にはインストールされません。上記の無効化/有効化のサイクルにより、プロファイル設定で既にプラグインが有効になっている場合でも依存関係の承認が強制されます。インストール後に登録を確認してください:
hermes -p violin plugins doctor ~/.hermes/profiles/violin/plugins/violin_guard --ci
hermes -p violin tools list
Plugin Doctor は 12 個のツールと 5 個のフックを報告し、violin_guard が有効なツールセットとして表示されるはずです。エンゲージメントを開始する前に、インストール後に Hermes を再起動してください。古い violin-guard インストールを移行するには、プロファイルを再インストールしてください。
次に、許可されたターゲットを指定して開始し、ターゲットとのやり取りを行う前に Violin にスコープを収集させます:
Run an authorized penetration test against example.com.
要件
- Hermes Agent 0.21.5 以降(コンテナは
v2026.9.24リリースコミットを固定) - ローカル開発用の Python 3.11 と
uv - 想定されるセキュリティツール環境として Kali Linux または Parrot OS
- 書面による許可と承認済みのスコープ
Violin はモデルやプロバイダーを選択しません。それらは 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 .-> E
- エンゲージメントを初期化し、
scope/scope.yamlを承認します。 violin_record_pttで1つのアクティブな PTT タスクと、それにルーティングされたスキルを選択します。violin_execまたはviolin_exec_burstでターゲットコマンドを実行します。- 証拠によってステータスが変化するたびに仮説を更新します。
violin_review_batchで各バウンドされたコマンドバッチをレビューします。- 検証済みの所見を提出し、最終レポートを生成します。
- 振り返りを完了します。
完全なフェーズモデルは次のとおりです:
SCOPING → RECON → VULN_RESEARCH → EXPLOITATION
→ POST_EXPLOITATION / PRIVESC / FLAGS
→ REPORTING → RETROSPECTIVE
新しいフェーズで作業を開始するには、そのフェーズ配下に PTT タスクが必要です。既存のタスクはフェーズセクション間で移動されません。
ガードツール
プラグインは、単一の型付きレジストリから 12 個の Hermes ツールを登録します:
| ツール | 目的 |
|---|---|
violin_record_ptt | PTT タスクの作成、開始、更新、クローズ、またはキャンセル |
violin_record_hypothesis | スコープ付き仮説の作成または更新 |
violin_submit_finding | 署名済み実行レシートに紐付けられた検証済みの検出事項を送信 |
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 | 現在のタスク、スキル、ブロッカーを説明 |
violin_exec は汎用的な対象コマンド境界です。ツール固有の実行アダプターやバイナリ許可リストはありません。インストール済みの非対話型ツールは、エンゲージメントゲートを通過した後にのみ実行できます。
生のターミナルフックはベストエフォートのセーフティネットであり、ネットワーク封じ込めではありません。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/の外に保持する。 - コンテキスト圧縮は、現在の Hermes 会話内のエンゲージメントファイルから再開する。
詳細なポリシーは
skills/pentest/references/standards.md に記載されています。
エンゲージメント状態
init-engagement は標準的な作業構造を作成します:
$ENG_DIR/
├── scope/
│ └── scope.yaml
├── state/
│ ├── ptt.md
│ ├── history.md
│ └── checkpoint.json
├── hypotheses.md
├── evidence/
├── reporting/
└── retrospective/