
violin v3.2.1
Hermes用のエージェント型ペンテストプロファイル:認可済み偵察、Web/アクセス制御攻撃、安全なエクスプロイト検証、およびガードゲート付きの証拠基盤型レポート作成のための31のプレイブック。
Violin ☤ — 監督付きエージェント型 Hermes ペンテストプロファイル
35 プレイブック · 17 リファレンス · 13 テンプレート · 必須実行ガード · Hermes ネイティブ
Violin は、監督付き・許可済みの侵入テスト(偵察から安全なエクスプロイト検証、レポート作成まで)のための Hermes ネイティブのエージェント型ペンテストプロファイルです。Hermes の組み込みツールセット、7 つのルーティングスキル、およびターゲット実行境界における必須の violin-guard プラグインを使用します。スタンドアロン CLI はリリースチェック、診断、管理上の復旧をサポートし、ターゲットコマンドはプラグインを通じて実行されます。Violin はプロファイル固有の認証情報を追加せず、Hermes で既に設定されているプロバイダーおよびツールバックエンドを継承します。
クイックスタート · ワークフロー · ガードツール · ベンチマーク · 開発
| ガード付きターゲット実行 | スコープ、フェーズ、PTT、スキル、仮説、履歴、同期チェックがターゲットコマンドの開始前に実行されます。 |
| 永続的なエンゲージメント状態 | PTT タスク、仮説、コマンド履歴、チェックポイント、証跡、レポートはコンテキスト圧縮後も保持されます。 |
| 証跡に基づく発見事項 | 検証済みの発見事項には、再現可能な証明と標準的な FIND-NNN.md アーティファクトが必要です。 |
| ルーティングされた方法論 | ペンテストオーケストレーターが、Web、ID、API、ビジネスロジック、LLM セキュリティ、設定ミスに焦点を当てたプレイブックを選択します。 |
| 制限付き実行 | 単一コマンド、コマンドバースト、バックグラウンドプロセス、バッチレビュー、ハートビートチェック、キャンセルは単一の状態モデルを共有します。 |
| 検証可能なリリース | プラグイン登録、スキーマ、スキルスナップショット、ドキュメント契約、lint、フォーマット、完全なテストスイートはリリースゲートで管理されます。 |
クイックスタート
プロファイルのインストール
hermes profile install https://github.com/Strategic-Automation/violin
hermes -p violin
次に、許可されたターゲットから開始し、ターゲットとのやり取りの前に Violin にスコープを収集させます:
Run an authorized penetration test against example.com.
要件
- Hermes Agent 0.18.0 以降
- ローカル開発用の 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でアクティブな 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_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 | 現在のタスク、スキル、ブロッカーを説明 |
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]
- スコープ承認とブートストラップ検証の前にターゲットとのやり取りは行いません。
- ターゲットコマンドに対する raw シェル実行は行いません。
- 明示的な書面による許可なしに、破壊的、妨害的、認証情報、永続化、ステルス、または第三者によるアクションは行いません。
- raw 証跡は
$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/
スキル配信
スキルはオンデマンドで読み込まれます。ルーティングスキルに対する最初の violin_record_ptt 呼び出しは、PTT を変更せずに skill_prepared を返す場合があります。Hermes がスキルコンテンツを配信した後、遷移を繰り返して受領をバインドし、タスク変更を適用します。violin_status は正確な復旧アクションを報告します。
.skill-loaded-* などのマーカーファイルはスキル配信を証明しません。
ルーティングスキル
| スキル | カバレッジ |
|---|---|
pentest | スコープ、ライフサイクル、偵察、エクスプロイト、レポート、クローズアウト |
web-app | インジェクション、SSRF、トラバーサル、デシリアライゼーション、クライアントサイドの欠陥 |
identity-auth | 認証、認可、IDOR、JWT、CSRF、暗号化 |
api-testing | REST、SOAP、GraphQL、WebSocket |
business-logic | ワークフロー、価格設定、クーポン、クォータ、紹介、競合状態 |
llm-security | プロンプトインジェクション、MCP、JSON-RPC |
misconfig | デプロイメント、エラーハンドリング、可観測性、難読化 |
オーケストレーターは、現在のタスクに必要なフェーズ資料と専門プレイブックのみを読み込みます。
管理 CLI
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 を参照してください。