Community研究&データ分析github.com

zw008/VMware-Policy

VMware MCPスキルファミリー向けの統合監査ログ、ポリシー適用、入力サニタイズを提供する基盤レイヤーです。

VMware-Policy とは?

VMware-Policyは、VMware MCPスキルファミリー全体のための統合監査ログ、ポリシー適用、および入力サニタイズを提供する基盤スキルです。このスキルは、全8つのVMwareスキル(vmware-aiops、vmware-monitor、vmware-storage、vmware-vks、vmware-nsx、vmware-nsx-security、vmware-aria、vmware-avi)によって自動的に依存関係としてインストールされるため、個別にインストールする必要はありません。主要な機能として、`@vmware_tool`デコレータによる全ツール関数のプリチェック・実行・ポストログの自動化、`sanitize()`関数によるプロンプトインジェクション防御、SQLiteベースの監査エンジン(自動ローテーション対応)、YAMLルールによるポリシーエンジン(ホットリロード対応)、および`vmware-audit`CLIツールを含みます。Claude Code、Codex、Ollamaなど様々なAIエージェントを環境変数から検出し、監査証跡に記録しますが、認証情報は一切抽出・保存しません。CLIを使用して、統合監査証跡のクエリ、拒否された操作の確認、統計情報の表示、JSON形式でのエクスポートが可能です。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add zw008/VMware-Policy

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

VMware Policy

免責事項: これはコミュニティメンテナンスのオープンソースプロジェクトであり、VMware, Inc. または Broadcom Inc. とは提携、承認、またはスポンサー関係はありません。「VMware」および「vSphere」はBroadcomの商標です。ソースコードは github.com/zw008/VMware-Policy でMITライセンスの下で公開監査可能です。

統合監査ログ、ポリシー適用、および入力サニタイズ — VMware MCPスキルファミリー全体のインフラストラクチャレイヤー。

インフラ依存関係: 全8つのVMwareスキルはvmware-policyに依存しています。自動インストールされ、@vmware_toolデコレータ、sanitize()、および共有監査データベースを提供します。 ファミリー: vmware-aiops (VMライフサイクル), vmware-monitor (読み取り専用監視), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-nsx (NSXネットワーキング), vmware-nsx-security (DFW/ファイアウォール), vmware-aria (メトリクス/アラート/容量), vmware-avi (AVI/ALB/AKO)。 | vmware-pilot (ワークフローオーケストレーション)

このスキルの機能

カテゴリコンポーネント数
監査ログAuditEngine (SQLite WAL), ログローテーション, エージェント検出3
ポリシーエンジン拒否ルール, メンテナンスウィンドウ, ホットリロード3
サニタイズsanitize() — プロンプトインジェクション防御, 制御文字除去1
デコレータ@vmware_tool — プリチェック + 実行 + ポストログ + メタデータ1
CLIvmware-audit log, vmware-audit export, vmware-audit stats3

クイックインストール

uv tool install vmware-policy
vmware-audit stats          # インストールの確認

vmware-policyはすべてのVMwareスキルの依存関係として自動インストールされます。手動インストールはスタンドアロンでの監査クエリにのみ必要です。

このスキルを使用するタイミング

  • 全VMwareスキルにわたる統合監査証跡をクエリする
  • 拒否された操作とポリシー違反を表示する
  • 監査統計を確認する(スキル別、ステータス別、時間範囲別)
  • 監査ログをJSONとしてエクスポートし、外部分析を行う
  • 拒否ルールまたはメンテナンスウィンドウを設定する
  • @vmware_toolデコレータを新しいVMwareスキルに統合する

このスキルは依存関係として自動ロードされます — 直接呼び出す必要はありません。以下の場合にアクティブになります:

  • 任意のVMwareスキルツール関数が呼び出された場合(@vmware_toolデコレータ経由)
  • ユーザーが監査ログ、拒否された操作、またはポリシールールについて質問した場合
  • ユーザーがvmware-audit CLIコマンドを実行した場合

関連スキル — スキルルーティング

ユーザーの意図推奨スキル
VMライフサイクル、デプロイ、ゲスト操作vmware-aiops (uv tool install vmware-aiops)
読み取り専用監視、リスクゼロvmware-monitor (uv tool install vmware-monitor)
ストレージ: iSCSI、vSAN、データストアvmware-storage (uv tool install vmware-storage)
Tanzu Kubernetes (vSphere 8.x+)vmware-vks (uv tool install vmware-vks)
NSXネットワーキング: セグメント、ゲートウェイ、NATvmware-nsx (uv tool install vmware-nsx-mgmt)
NSXセキュリティ: DFWルール、セキュリティグループvmware-nsx-security (uv tool install vmware-nsx-security)
Aria Ops: メトリクス、アラート、容量vmware-aria (uv tool install vmware-aria)
ロードバランサー、AVI、ALB、AKO、Ingressvmware-avi (uv tool install vmware-avi)
承認付きマルチステップワークフローvmware-pilot
監査ログクエリ、ポリシールールvmware-policy — このスキル

一般的なワークフロー

最近の監査アクティビティをクエリする

  1. 最新20件の監査エントリを表示: vmware-audit log --last 20
  2. スキルでフィルタ: vmware-audit log --skill vmware-nsx --last 50
  3. 拒否された操作を確認: vmware-audit log --status denied --since 2026-03-28
  4. 集計統計を表示: vmware-audit stats --days 7

本番環境用のポリシールールを設定する

  1. デフォルトルールをコピー: cp $(python -c "import vmware_policy; print(vmware_policy.__file__.replace('__init__.py','rules_default.yaml'))") ~/.vmware/rules.yaml
  2. ~/.vmware/rules.yamlを編集 — 本番環境用の拒否ルールを追加:
    deny:
      - name: no-delete-in-prod
        operations: ["delete_*", "cluster_delete"]
        environments: ["production"]
        reason: "破壊的操作は本番環境でブロックされています"
    maintenance_window:
      start: "22:00"
      end: "06:00"
    
  3. ルールは自動的にホットリロード — 再起動不要
  4. 確認: vmware-audit log --status denied でブロックされた操作を表示

コンプライアンス用に監査ログをエクスポートする

  1. すべてのログをJSONとしてエクスポート: vmware-audit export --format json > audit-export.json
  2. スキルでフィルタ: vmware-audit export --skill vmware-aiops --since 2026-01-01
  3. SIEMまたはコンプライアンスツールにインポート

使用モード

シナリオ推奨理由
監査ログのクエリCLIvmware-audit はリッチなテーブル出力を提供
スキルへの統合Python APIfrom vmware_policy import vmware_tool, sanitize
自動コンプライアンスエクスポートCLIvmware-audit export --format json は任意のツールにパイプ可能

CLIクイックリファレンス

# 最近の監査エントリを表示
vmware-audit log --last 20
vmware-audit log --skill vmware-nsx --status denied
vmware-audit log --since 2026-03-28 --tool delete_segment

# コンプライアンス用にエクスポート
vmware-audit export --format json > audit.json
vmware-audit export --skill vmware-aiops --since 2026-01-01

# 集計統計
vmware-audit stats --days 7
vmware-audit stats --days 30

完全なCLIリファレンス: references/cli-reference.md を参照

Python API

from vmware_policy import vmware_tool, sanitize

# すべてのMCPツール関数をラップ
@vmware_tool(risk_level="high", sensitive_params=["password"])
def delete_segment(name: str, env: str = "") -> dict:
    ...

# 信頼できないAPIレスポンスをLLMに返す前にサニタイズ
clean_text = sanitize(api_response_text, max_len=500)

MCPツール (0)

vmware-policyはMCPツールを公開しません。これは他のVMwareスキルが利用するPythonライブラリおよびCLIです。

コンポーネントタイプ説明
@vmware_toolデコレータ8スキルにわたる156以上のMCPツールをラップ
sanitize()関数APIレスポンスに対するプロンプトインジェクション防御
AuditEngineクラスローテーション対応SQLite WAL監査ロガー
PolicyEngineクラスホットリロード対応YAMLルール評価
vmware-auditCLI監査証跡をクエリするためのTyper CLI
detect_agent()関数環境変数から呼び出し元のAIエージェントを推測(以下参照)

エージェント検出(透明性に関する注意)

audit.pyのdetect_agent()関数は、以下の環境変数をチェックして、どのAIエージェントがツールを呼び出しているかを識別します。これは監査ログ記録のための読み取り専用の検査であり、認証情報は抽出も保存もされません:

環境変数検出されるエージェント目的
CLAUDE_SESSION_ID または CLAUDE_CODEclaudeClaude Codeセッション
OPENAI_API_KEY または CODEX_SESSIONcodexOpenAI Codexセッション
OLLAMA_HOSTlocalローカルOllamaモデル
DEERFLOW_SESSIONdeerflowDeerFlowセッション
(一致なし)unknown認識されないエージェント

検出されたエージェント名は、監査証跡目的でのみ~/.vmware/audit.dbのagentカラムに保存されます。APIキーやトークンは記録されません。

トラブルシューティング

「Cannot initialize audit DB」警告

監査データベースディレクトリ~/.vmware/は書き込み可能である必要があります。手動で作成してください: mkdir -p ~/.vmware && chmod 700 ~/.vmware。

ポリシールールが反映されない

ルールは~/.vmware/rules.yamlから読み込まれます。ファイルが存在し、有効なYAMLであることを確認してください。PolicyEngineはファイル変更時にホットリロードします — 再起動は不要です。

監査ログが大きくなりすぎる

AuditEngineは100MBで自動ローテーションし、最新5つのアーカイブを保持します。手動クリーンアップ: ls ~/.vmware/audit.*.db でアーカイブを確認。

スキルで「PolicyDenied」例外が発生

これは~/.vmware/rules.yamlの拒否ルールが操作に一致したことを意味します。vmware-audit log --status deniedでルール名と理由を確認してください。一時的にバイパスするには: VMWARE_POLICY_DISABLED=1(バイパスとして記録されます)。

デコレータがスキル名を検出しない

@vmware_toolデコレータはモジュールパスからスキル名を推測します(例: vmware_aiops.ops.vm_lifecycle -> aiops)。モジュールがvmware_<skill>の命名規則に従っていない場合、スキルは「unknown」として記録されます。

SQLite「database is locked」エラー

複数の同時スキルプロセスがWALモードで同じaudit.dbに書き込む可能性があります。ロックが5秒を超えて続く場合は、データベースファイルを保持しているゾンビプロセスを確認してください。

セットアップ

uv tool install vmware-policy
mkdir -p ~/.vmware

vmware-policyはすべてのVMwareスキルの依存関係として自動インストールされます。~/.vmware/ディレクトリは最初の監査書き込み時に自動的に作成されます。

完全なセットアップガイド、セキュリティの詳細、統合手順: references/setup-guide.md を参照

セキュリティ

  • ソースコード: github.com/zw008/VMware-Policy
  • 設定ファイルの内容: ~/.vmware/rules.yamlにはルール定義のみが含まれ、認証情報は含まれません
  • Webhookデータの範囲: N/A — vmware-policyはデータを外部に送信しません
  • TLS検証: N/A — vmware-policyはネットワーク接続を行いません
  • プロンプトインジェクション保護: sanitize()は500文字に切り詰め、C0/C1制御文字を除去します
  • 最小権限: 監査データベースはローカルのみ(~/.vmware/audit.db)、ネットワーク公開はありません

ライセンス

MIT — github.com/zw008/VMware-Policy

関連スキル