
エージェンティックAIのためのセキュリティガバナンス
____ ____ ____ _
/ __ \ ___ / __/___ ___ ___ ___ / ___|| | __ _ __ __
/ / / / / _ \/ /_// _ \ / _ \ / __|/ _ \| | | |/ _` |\ \ /\ / /
/ /_/ / / __/ __// __/| | | |\__ \ __/| |___ | | (_| | \ V V /
/_____/ \___/_/ \___/ |_| |_||___/\___| \____||_|\__,_| \_/\_/
OpenClaw およびエージェンティック AI ランタイム向けのセキュリティガバナンス。
使用前に機能をスキャンし、ランタイムトラフィックを検査し、耐久性のある監査証拠をエクスポートします。
| Govern | Inspect | Probe |
|---|---|---|
| 実行前のスキル、MCP サーバー、プラグイン、生成コード | ランタイム時のプロンプト、完了、ツール呼び出し、サンドボックスアクティビティ | SQLite 監査履歴、JSONL、OTLP、Splunk、webhook、TUI ビュー |
DefenseClaw は、Python オペレーター CLI、Go ゲートウェイサイドカー、および OpenClaw TypeScript プラグインを組み合わせています。これらは連携して、単純な運用ルールを強制します。信頼できないエージェントの機能は、ポリシーが安全でないと判断した場合に、スキャン、ガバナンス、ログ記録、およびブロックが行われます。
DefenseClaw は、エージェンティック AI デプロイメント向けの強制および証拠レイヤーです。スキャナ結果、ランタイム検査、ポリシー決定、サンドボックス制御、監査証跡を組み合わせることで安全性を向上させますが、エージェント、スキル、プラグイン、モデルの相互作用がリスクフリーであることを証明するものではありません。
高リスクのデプロイメントでは、DefenseClaw を人間によるレビュー、最小権限の認証情報、サンドボックス化、CI ゲート、本番監視と組み合わせて使用する必要があります。監視モードでは、検出結果はブロックせずにログ記録されます。アクションモードでは、設定された HIGH および CRITICAL の検出結果により、プロンプト、ツール呼び出し、またはコンポーネントの受け入れをブロックできます。
プロジェクト Markdown ドキュメントは docs/ の下に一元管理されています。パッケージローカルの README は、ローカルコンテキストが必要なバンドルや例の横に配置されています。
| 要件 | バージョン |
|---|---|
| Python | 3.10-3.13 |
| Go | 1.26.4+ |
| Node.js | 18+(OpenClaw プラグイン用) |
| uv | Python インストールに推奨 |
目的に応じてコマンドを選択してください:
ソースターゲットと `scripts/install-dev.sh` は開発ツールであり、アップグレードパスではありません。
直接インストールターゲットは、リリース管理されたインストールや別のチェックアウトが所有するインストールを上書きすることを拒否します。
`make all` は明示的な開発マシン再インストールワークフローです。インストール済みのCLIが現在のチェックアウトを正確に指している場合、マーカーレスまたは以前のリリースのソース状態を再利用し、再ビルド後に厳格な所有権マーカーを記録します。
これにより、チェックアウトの現在のマイグレーションを開発者状態に対して実行できますが、リリースアップグレードとして使用してはなりません。
リリース管理されたインストールは、リリース所有の `scripts/upgrade.sh` または `scripts/upgrade.ps1` リゾルバーを使用する必要があります。
`make install`、`make dev-install`、および `scripts/install-dev.sh` は、新規または隔離された開発ホームのための低レベルの厳格な配管です。通常の繰り返し開発コマンドではありません。
### リリーススクリプトによるインストール```bash
VERSION=0.8.6
INSTALL_URL="https://raw.githubusercontent.com/cisco-ai-defense/defenseclaw/${VERSION}/scripts/install.sh"
curl -LsSf "$INSTALL_URL" | VERSION="$VERSION" bash
defenseclaw init --enable-guardrail
プラットフォーム固有の手順については、docs/INSTALL.md を参照してください。
ネイティブのWindows x64では、Native Windowsガイド にあるネイティブのSetup EXEとフックのみのコネクタパスを使用してください。 WSLはサポートされていません。Codex CLIとClaude Codeのみが認定されたWindowsコネクタです。
defenseclaw doctor
defenseclaw init --enable-guardrail
defenseclaw skill scan all defenseclaw mcp list defenseclaw plugin scan extensions/defenseclaw
defenseclaw-gateway start
defenseclaw tui
チューニング中にオブザーブモードでguardrailを実行してください:```bash
defenseclaw setup guardrail --mode observe --restart
ポリシーがブロックの準備ができたらアクションモードに切り替える:```bash defenseclaw setup guardrail --mode action --restart
完全なウォークスルーについては [docs/QUICKSTART.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/QUICKSTART.md) を参照してください。
---
## アーキテクチャ
| コンポーネント | ランタイム | 役割 |
|---|---|---|
| Python CLI | Python | オペレーターコマンド, スキャナーオーケストレーション, 設定セットアップ, ローカルバンドル |
| Gateway sidecar | Go | REST API, WebSocket bridge, ポリシーエンジン, ガードレールプロキシ, 監査ストア, テレメトリー |
| OpenClaw plugin | TypeScript | フェッチ傍受, ツール呼び出し検査フック, スラッシュコマンド, サイドカー統合 |
| Policies | YAML/Rego | アドミッション判定, ガードレールアクション, サンドボックス/ファイアウォール動作, スキャナープロファイル |
| Documentation | Markdown/JSON | 集中ドキュメント, パッケージローカルREADME, およびDeepWiki設定 |
ゲートウェイは、CLIおよびプラグイン向けにローカルREST APIを公開し、WebSocketを介してOpenClawに接続し、ローカルプロキシを通じてLLMトラフィックを検査し、耐久性のある監査ストアに決定を記録します。```text
Agent runtime -> OpenClaw plugin -> DefenseClaw gateway -> policy + scanners + audit
|
+-> guardrail proxy -> LLM provider
+-> OTLP / Splunk / webhooks / JSONL
図や詳細なフローについては、docs/ARCHITECTURE.md を参照してください。
DefenseClaw は Cisco AI Defense スキャナーとローカルポリシーを単一の admission フローにラップします:
スキャナーポリシーは policies/scanners/ にあります。ガードレールのルールパックは policies/guardrail/ にあります。
DefenseClaw は複数のチャネルにわたって実施とランタイムの証拠を記録します:
Config v8 はソースを簡潔に保ちつつ、省略を完全な有効な計画にまとめます。```yaml config_version: 8 observability: {}
そのデフォルト設定は、登録されたすべてのログ、トレース、メトリクスを収集し、収集されたすべてのログを無編集のままローカルのSQLiteに保持します。宛先が追加されるまで、リモートへのエクスポートは行われません。`send` または `routes` が設定されていない有効な宛先は、その種類がサポートするすべてのバケットとすべてのシグナルを無編集で受信します。一般的なOTLPはログ/トレース/メトリクス、Splunk HECはログ、Prometheusはメトリクス、Galileoプリセットはトレースを受け取ります。複数の宛先は独立したコピーを受信します。
拡張ポリシーと無編集のレグは以下で確認できます。```bash
defenseclaw config show --effective --section observability
defenseclaw observability plan
Use centralized none, sensitive, content, strict、またはカスタムのフィールド認識型編集プロファイルをバケットまたは宛先ごとに使用してください。完全な忠実度のデフォルトには、プロンプト、出力、ツールの引数/結果、証拠、パス、識別子が含まれる可能性があるため、そのコンテンツを受信してはならない信頼境界を越えてエクスポートする前に、編集プロファイルを設定してください。
ソースファイルでバケットと編集ポリシーを編集し、ゲートウェイがそれを確認する前に検証し、生成された参照を丸ごとコピーするのではなく、コンパイルされた結果を検査してください:```bash
umask 077
cp "$HOME/.defenseclaw/config.yaml"
"$HOME/.defenseclaw/config.yaml.before-observability-edit"
${EDITOR:-vi} "$HOME/.defenseclaw/config.yaml"
defenseclaw config validate &&
defenseclaw config show --effective --section observability &&
defenseclaw observability plan &&
defenseclaw-gateway restart &&
defenseclaw doctor
検証失敗後に再起動しないでください。プライベートバックアップを復元し、ソースを修正して再度検証してください。グローバルまたはバケットの秘匿プロファイルは、生成されたローカルSQLiteプロジェクションにも適用されます。リモートの信頼境界のみを秘匿しつつ、完全なローカル履歴を保持するには、グローバル/バケットプロファイルを`none`のままにし、そのリモート宛先に対して`send.redaction_profile`またはルートプロファイルを設定してください。
ローカルでの可観測性を開始する方法:```bash
defenseclaw setup local-observability up
defenseclaw-gateway start
defenseclaw setup local-observability status
ダッシュボードの空状態は単一ではありません: 0 は計装化されたシグナルに一致するイベントがゼロであることを意味し、No data は選択した範囲とフィルターに対して一致する系列/ログ/トレースが存在しないことを意味し、Not reported はコネクタ/プロバイダがトークンやコストなどのオプション値を供給しなかったことを意味します。HITL、障害のみのビュー、Trace IDが選択される前のトレースウォーターフォールなどの条件付きパネルは No data を表示することが期待されます。宛先テストは接続性のみをチェックし、通常のダッシュボードトラフィックを生成しません; 対応するパネルを検証するために、新しい実際のエージェントのターン、ツールコール、スキャン、または承認を生成してください。
Agent360のノードグラフはLokiをバックエンドとするライフサイクルDAGです: セッション作成は独立したアンカーであり、ルートごとに1つの Prompt inputs ノードが範囲内の深さ0の model.request ファクトの個別数をカウントし、親から子への委譲はエージェントごとのモデル、ツール、承認、更新、ターン結果、およびターミナルサマリーを供給します。Prompt inputsはターン、model-request、request、operation、次にoccurrence IDによって重複排除されます; ordered/rawビューは個別の初期レコードと後続レコードを保持します。セッションとスパウンアンカーは過去24時間から回復できるため、境界ウィンドウはレンダリング可能なままです; 回復されたスパウンは、その子が選択された範囲内でグラフ対象のアクティビティを持つ場合にのみ保持されます。
繰り返しのモデル呼び出しは、所有エージェント、プロバイダ、モデルでグループ化されます。繰り返しのツール呼び出しは、所有エージェントによってBash、MCP、Skills、Collaboration、File edits、Web/browser、Visual、またはTask controlにグループ化されます; 認識されないツールは報告された名前を保持します。正確な collaboration.send_message リクエストは一般的なCollaborationファミリーから除外され、メッセージグループとしてのみ表示されます; 他のコラボレーションツールはそのファミリーに残ります。リクエストレコードは、対応するターミナルが到着しなかった場合でも含まれます。それらのグループ化された合計はリクエスト数であり、すべてのリクエストがまだ保留中であるという主張ではありません; ターミナルステータスはリンクされた生レコードで引き続き利用可能です。深さ 0 はルートであり、再帰的な子は深さ 64 まで報告されることがあります; クリック詳細では、各系統エッジがコネクタによって報告されたのか、DefenseClawによって推測されたのかが識別されます。ノードクリックでは、正確なカウントと安定したエージェント/ルート/親のIDが公開され、各グループの背後にある生のOTELイベントへのフィルタリングされたリンクが提供されます。オプションのcurrent/root/parentセッションフィールドは、ライフサイクル、セッション、ordered、rawの各画面に残ります; それらはエージェントノードのグループ化キーではないため、セッションメタデータが欠落または遅延しても、1つのエージェントの合計を分割することはできません。
ダッシュボードはフィールドを再度編集、マスク、非表示にしません。DefenseClawは標準的なOTELエクスポートの前に集中型のv8編集を適用します; Grafanaは、その投影に実際に存在するすべてのフィールドを表示またはリンクします(プロデューサーがエクスポートした場合のコンテンツを含む)。エクスポート前に削除または変換されたフィールドは、ローカルスタックで回復できません。更新エッジは、実際の collaboration.send_message ツールレコードからのみ取得されます。送信者ごとに、/root および /root/* ターゲットは1つの Messages to root ノードに統合され、そのターゲットエージェントIDはエクスポートされたルートに解決されます。正確なルートタスクパスと呼び出しは、ordered/rawドリルダウンに残ります。非ルートターゲットは、正確なタスクパスで明示的にグループ化され、コネクタがそのマッピングを報告しなかった場合に不透明なエージェントID結合として発明されることはありません。一般的な互換性イベントは更新としてラベル付けされることはありません。
オプションの宛先は独立した有界キューを所有します。デフォルトはキューあたり2,048レコードおよび64 MiBです; プッシュバッチのデフォルトは512レコード、8 MiB、および5秒(省略されたGalileoプリセット遅延の場合は1秒)です。キューオーバーフローは、古いFIFO作業を排除したり、必須のSQLiteや兄弟宛先に影響を与えたりすることなく、最新のエンキュー試行をドロップします。正確なフィールド、境界、およびアダプタの違いは docs/OBSERVABILITY.md にあります。
Add Galileo Cloud or self-hosted Galileo without replacing the local route:```bash export GALILEO_API_KEY='...' defenseclaw setup galileo --project defenseclaw --logstream production defenseclaw setup galileo test
[docs/OBSERVABILITY.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/OBSERVABILITY.md)、[Galileoガイド](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs-site/content/docs/observability/galileo.mdx)、および[スキーマ所有権マップ](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/schemas/README.md)を参照してください。Splunk固有の設定は[docs/SPLUNK_APP.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/SPLUNK_APP.md)にあります。
既に `0.8.4` を使用しているものを含む、サポートされている既存のすべてのPOSIXインストールは、バージョンオーバーライドなしで最新モードの認証済みターゲットリリース `defenseclaw-upgrade.sh` アセットを使用して `0.8.5` ハードカットを越えます。不変の `0.8.4` 組み込みパーサーは、Windowsブリッジマトリックスが空である正しいターゲットマニフェストを受け入れることができません。凍結された組み込みCLIによって出力された廃止された生ネットワークヒントを実行しないでください。リリース所有のリゾルバーは、`source → 0.8.4 bridge → fresh 0.8.4 controller → 0.8.5 hard cut` を1つのトランザクションとして実行します。マイグレーションは設定をバックアップしアトミックに変換し、より狭いルーティング/リダクション動作とルート/サブエージェントのAgent360互換性を保持し、ボリュームをリセットせずに所有するローカルダッシュボードを更新し、別途適用コマンドを必要としません。認証済みリゾルバーブートストラップについては、[CLIリファレンス — upgrade](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/CLI.md#upgrade) を参照してください。
Splunk Observability Cloudの場合、[bundles/splunk_o11y_dashboards/README.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/bundles/splunk_o11y_dashboards/README.md) のダッシュボードバンドルを使用してください:```bash
defenseclaw setup splunk dashboards apply \
--api-url <api-endpoint> \
--o11y-api-token <api-access-token> \
--with-detectors \
--enable-detectors \
--yes
make build
make test
make lint
テストと開発に関するガイダンスは、[docs/TESTING.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/TESTING.md) および [docs/CONTRIBUTING.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/CONTRIBUTING.md) にまとめられています。
---
## 貢献
貢献は歓迎します。[CONTRIBUTING.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/CONTRIBUTING.md)、[docs/CONTRIBUTING.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/CONTRIBUTING.md)、および変更対象領域に特化したドキュメントから始めてください。
## セキュリティ
脆弱性は [SECURITY.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/SECURITY.md) に記載されたプロセスに従って報告してください。
## ライセンス
Apache 2.0 - [LICENSE](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/LICENSE) を参照。
Copyright 2026 Cisco Systems, Inc. およびその関連会社。
| ガイド | 説明 |
|---|
| Quick Start | 初めてのローカルセットアップとスキャンフローの成功 |
| Install | Windows、macOS、Linux、DGX Spark、ソースビルド、リリースインストール |
| Native Windows | x64 セットアップライフサイクル、オプションの Authenticode ステータス、コネクタ、コマンド、セキュリティ、トラブルシューティング |
| CLI Reference | Python CLI コマンドとオペレーターワークフロー |
| API Reference | ゲートウェイ REST API とサイドカーエンドポイント |
| Architecture | コンポーネントモデル、データフロー、責任範囲 |
| Guardrail | LLM およびツール検査アーキテクチャ |
| Guardrail Rule Packs | ルールパック、抑制、調整 |
| Sandbox | OpenShell サンドボックスのセットアップ、アーキテクチャ、監視、デバッグ |
| Observability | V8 バケット、ローカル履歴、編集、宛先ファンアウト、OTLP、Splunk、Grafana |
| Splunk App | ローカル Splunk アプリのダッシュボードと調査フロー |
| Splunk O11y Dashboards | ネイティブ OTel メトリクス向け Splunk Observability Cloud ダッシュボードとディテクター |
| TUI | ターミナルダッシュボードパネルとナビゲーション |
| Config Files | 設定場所、環境変数、ポリシーファイル |
| Registries | 外部スキル/MCP カタログの取り込み (clawhub、smithery、skills.sh、http、git、file) |
| Plugin Development | カスタムスキャナプラグインワークフローと例 |
| Testing | Python、Go、TypeScript、Rego、ドキュメント、CI チェック |
| Developer Spec | 過去の製品/開発者仕様書 |
| Gateway Spec | 内部ゲートウェイパッケージ仕様書 |
| Docker |
| オプション、ローカルの可観測性と Splunk バンドル用 |
| 目標 | コマンド | インストール状態の変更は? |
|---|
| このチェックアウトからの通常の開発 | make all | はい。この正確なチェックアウトを再ビルドしてアクティブ化します |
| 成果物のコンパイル/テストのみ | make build | いいえ |
| サポートされている開発パスの確認 | make help | いいえ |
| パッケージリリースのアップグレード | defenseclaw upgrade | はい。署名済みリリースリゾルバーを使用します |
| git clone https://github.com/cisco-ai-defense/defenseclaw.git | ||
| cd defenseclaw | ||
| make all |
| 面 | スキャナーまたは制御 |
|---|
| スキル | cisco-ai-skill-scanner、CodeGuard、ポリシーアクション |
| MCPサーバー | cisco-ai-mcp-scanner、ブロック/許可ポリシー |
| プラグイン | DefenseClaw プラグインスキャナー、インストール元チェック、オプションのLLM分析 |
| ソースコード | CLI経由のCodeGuard、サイドカーAPI、プラグインの書き込み/編集フック |
| プロンプトと補完 | ルールパック、抑制、オプションのLLM判定、Cisco検査を備えたガードレールプロキシ |
| ツール呼び出し | ツール引数検査、機密パスチェック、コマンドリスクチェック、ポリシー判定 |
| チャネル | 用途 |
|---|
| SQLite監査ストア | ローカルの永続イベント履歴 |
| オプションのJSONL | ファイル出力先が設定されている場合の相関構造化ランタイムイベント |
| OTLP | 名前付きの独立したメトリクス/ログ/トレース出力先で、ネイティブファンアウト対応 |
| Splunk HEC | SIEM転送とローカルSplunkアプリワークフロー |
| Splunk O11yダッシュボード | DefenseClawメトリクス向けのネイティブSplunk Observability Cloudダッシュボードと検出器 |
| Webhook | Slack、PagerDuty、Webex、および汎用イベント通知 |
| TUI | オペレーター向けのアラート、ヘルス、スキャン、ツール、ポリシー、セットアップ |