Skip to content

Latest commit

 

History

History
413 lines (317 loc) · 25.7 KB

File metadata and controls

413 lines (317 loc) · 25.7 KB

この文書は README.md の日本語訳です。最新の情報は英語版をご確認ください。

🌍 English | 日本語 | 简体中文

Agent Governance Toolkit

Agent Governance Toolkit へようこそ!

CI License: MIT Python 3.10+ TypeScript .NET 8.0+ Rust Go OWASP Agentic Top 10 OpenSSF Best Practices OpenSSF Scorecard Ask DeepWiki

Important

パブリックプレビュー — このリポジトリから公開されるすべてのパッケージは Microsoft 署名済みのパブリックプレビューリリースです。プロダクション品質ですが、 GA(一般提供)前に破壊的変更が行われる可能性があります。フィードバックは GitHub issue からお寄せください。

このツールキットとは: ランタイムガバナンスインフラストラクチャ — エージェントフレームワークと エージェントが実行するアクションの間に位置する、決定論的ポリシー適用、ゼロトラストID、 実行サンドボックス、および信頼性エンジニアリング。

このツールキットではないもの: モデルの安全性やプロンプトガードレールのツールではありません。 LLM の入出力フィルタリングやコンテンツモデレーションは行いません。アプリケーション層で エージェントのアクション(ツール呼び出し、リソースアクセス、エージェント間通信)を ガバナンスします。モデルレベルの安全性については、 Azure AI Content Safety をご参照ください。

AI エージェントのためのランタイムガバナンス — OWASP Agentic リスク全10項目9,500 以上のテストでカバーする唯一のツールキット。エージェントが何を言うかではなく、何をするかをガバナンス — 決定論的ポリシー適用、ゼロトラストID、実行サンドボックス、SRE — Python · TypeScript · .NET · Rust · Go

あらゆるスタックに対応 — AWS Bedrock、Google ADK、Azure AI、LangChain、CrewAI、AutoGen、OpenAI Agents、LlamaIndex など。pip install のみでベンダーロックインなし。

📋 はじめに

📦 インストール

Python (PyPI)

pip install agent-governance-toolkit[full]

TypeScript / Node.js (npm)

npm install @agentmesh/sdk

.NET (NuGet)

dotnet add package Microsoft.AgentGovernance

Rust (フル SDK)

cargo add agentmesh

Rust (スタンドアロン MCP サーフェス)

cargo add agentmesh-mcp
個別の Python パッケージをインストール
pip install agent-os-kernel        # ポリシーエンジン
pip install agentmesh-platform     # トラストメッシュ
pip install agentmesh-runtime       # ランタイムスーパーバイザー
pip install agent-sre              # SRE ツールキット
pip install agent-governance-toolkit    # コンプライアンスとアテステーション
pip install agentmesh-marketplace      # プラグインマーケットプレイス
pip install agentmesh-lightning        # 強化学習トレーニングガバナンス

📚 ドキュメント

  • クイックスタート — ゼロからガバナンス付きエージェントを10分で構築(Python · TypeScript · .NET · Rust · Go)
  • TypeScript SDK — ID、トラスト、ポリシー、監査機能を備えた npm パッケージ
  • .NET SDK — 完全な OWASP カバレッジを備えた NuGet パッケージ
  • Rust SDK — ポリシー、トラスト、監査、ID、MCP ガバナンスプリミティブを備えた crates.io クレート
  • Rust MCP SDK — MCP ガバナンスおよびセキュリティプリミティブのスタンドアロン crates.io クレート
  • Go SDK — ポリシー、トラスト、監査、ID 機能を備えた Go モジュール
  • チュートリアル — ポリシー、ID、統合、コンプライアンス、SRE、サンドボックスのステップバイステップガイド
  • Azure デプロイ — AKS、Azure AI Foundry、Container Apps、OpenClaw サイドカー
  • NVIDIA OpenShell 統合 — サンドボックス分離とガバナンスインテリジェンスの統合
  • OWASP コンプライアンス — ASI-01 から ASI-10 の完全マッピング
  • 脅威モデル — 信頼境界、攻撃面、STRIDE 分析
  • アーキテクチャ — システム設計、セキュリティモデル、トラストスコアリング
  • アーキテクチャ決定記録 — ID、ランタイム、ポリシーに関する主要な ADR ログ
  • NIST RFI マッピング — NIST AI Agent セキュリティ RFI(2026-00206)へのマッピング

ご質問がありましたら、GitHub issue を作成するか、コミュニティページ をご覧ください。

ハイライト

  • 決定論的ポリシー適用: すべてのエージェントアクションが実行にポリシーに基づいて評価され、サブミリ秒のレイテンシ(<0.1 ms)で処理
  • ゼロトラストエージェントID: Ed25519 暗号資格情報、SPIFFE/SVID サポート、0〜1000 スケールのトラストスコアリング
  • 実行サンドボックス: 4 階層の特権リング、Saga オーケストレーション、終了制御、キルスイッチ
  • エージェント SRE: SLO、エラーバジェット、リプレイデバッグ、カオスエンジニアリング、サーキットブレーカー、プログレッシブデリバリー
  • MCP セキュリティスキャナー: MCP ツール定義におけるツールポイズニング、タイポスクワッティング、隠し命令、ラグプル攻撃を検出
  • トラストレポート CLI: agentmesh trust report — トラストスコア、タスクの成功/失敗、エージェントアクティビティを可視化
  • シークレットスキャンとファジング: Gitleaks ワークフロー、ポリシー・インジェクション・サンドボックス・トラスト・MCP をカバーする7つのファズターゲット
  • 12 以上のフレームワーク統合: Microsoft Agent Framework、LangChain、CrewAI、AutoGen、Dify、LlamaIndex、OpenAI Agents、Google ADK など
  • 完全な OWASP カバレッジ: Agentic Top 10 リスクの 10/10 を対応済み、各 ASI カテゴリに専用のコントロールを提供
  • CI/CD 向け GitHub Actions: PR ワークフローのための自動セキュリティスキャンとガバナンスアテステーション

💬 フィードバックをお待ちしています!

  • バグを発見した場合は、GitHub issue を作成してください。

クイックスタート

ポリシーの適用 — Python

from agent_os import PolicyEngine, CapabilityModel

# このエージェントに許可される操作を定義
capabilities = CapabilityModel(
    allowed_tools=["web_search", "file_read"],
    denied_tools=["file_write", "shell_exec"],
    max_tokens_per_call=4096
)

# すべてのアクション前にポリシーを適用
engine = PolicyEngine(capabilities=capabilities)
decision = engine.evaluate(agent_id="researcher-1", action="tool_call", tool="web_search")

if decision.allowed:
    # ツール呼び出しを続行
    ...

ポリシーの適用 — TypeScript

import { PolicyEngine } from "@agentmesh/sdk";

const engine = new PolicyEngine([
  { action: "web_search", effect: "allow" },
  { action: "shell_exec", effect: "deny" },
]);

const decision = engine.evaluate("web_search"); // "allow"

ポリシーの適用 — .NET

using AgentGovernance;
using AgentGovernance.Policy;

var kernel = new GovernanceKernel(new GovernanceOptions
{
    PolicyPaths = new() { "policies/default.yaml" },
});

var result = kernel.EvaluateToolCall(
    agentId: "did:mesh:researcher-1",
    toolName: "web_search",
    args: new() { ["query"] = "latest AI news" }
);

if (result.Allowed) { /* 続行 */ }

ポリシーの適用 — Rust

use agentmesh::{AgentMeshClient, ClientOptions};

let client = AgentMeshClient::new("my-agent").unwrap();
let result = client.execute_with_governance("data.read", None);
assert!(result.allowed);

ポリシーの適用 — Go

import agentmesh "github.com/microsoft/agent-governance-toolkit/sdks/go"

client, _ := agentmesh.NewClient("my-agent",
    agentmesh.WithPolicyRules([]agentmesh.PolicyRule{
        {Action: "data.read", Effect: agentmesh.Allow},
        {Action: "*", Effect: agentmesh.Deny},
    }),
)
result := client.ExecuteWithGovernance("data.read", nil)
// result.Allowed == true

ガバナンスデモの実行

# フルガバナンスデモ(ポリシー適用、監査、トラスト、コスト、信頼性)
python demo/maf_governance_demo.py

# 敵対的攻撃シナリオを含めて実行
python demo/maf_governance_demo.py --include-attacks

その他のサンプルと例

OPA/Rego & Cedar ポリシーサポート

既存のインフラストラクチャポリシーをエージェントガバナンスに適用 — 新しいポリシー DSL は不要です。

OPA/Rego (Agent OS)

from agent_os.policies import PolicyEvaluator

evaluator = PolicyEvaluator()
evaluator.load_rego(rego_content="""
package agentos
default allow = false
allow { input.tool_name == "web_search" }
allow { input.role == "admin" }
""")

decision = evaluator.evaluate({"tool_name": "web_search", "role": "analyst"})
# decision.allowed == True

Cedar (Agent OS)

from agent_os.policies import PolicyEvaluator

evaluator = PolicyEvaluator()
evaluator.load_cedar(policy_content="""
permit(principal, action == Action::"ReadData", resource);
forbid(principal, action == Action::"DeleteFile", resource);
""")

decision = evaluator.evaluate({"tool_name": "read_data", "agent_id": "agent-1"})
# decision.allowed == True

AgentMesh OPA/Cedar

from agentmesh.governance import PolicyEngine

engine = PolicyEngine()
engine.load_rego("policies/mesh.rego", package="agentmesh")
engine.load_cedar(cedar_content='permit(principal, action == Action::"Analyze", resource);')

decision = engine.evaluate("did:mesh:agent-1", {"tool_name": "analyze"})

バックエンドごとに3つの評価モード: 組み込みエンジン(cedarpy/opa CLI)、リモートサーバー、またはビルトインフォールバック(外部依存関係ゼロ)。

SDK とパッケージ

マルチ言語 SDK

言語 パッケージ インストール
Python agent-governance-toolkit[full] pip install agent-governance-toolkit[full]
TypeScript @agentmesh/sdk npm install @agentmesh/sdk
.NET Microsoft.AgentGovernance dotnet add package Microsoft.AgentGovernance
Rust agentmesh cargo add agentmesh
Rust MCP agentmesh-mcp cargo add agentmesh-mcp
Go agentmesh go get github.com/microsoft/agent-governance-toolkit/sdks/go

Python パッケージ (PyPI)

パッケージ PyPI 説明
Agent OS agent-os-kernel ポリシーエンジン — 決定論的アクション評価、ケイパビリティモデル、監査ログ、アクションインターセプション、MCP ゲートウェイ
AgentMesh agentmesh-platform エージェント間トラスト — Ed25519 ID、SPIFFE/SVID 資格情報、トラストスコアリング、A2A/MCP/IATP プロトコルブリッジ
Agent Runtime agentmesh-runtime 実行スーパーバイザー — 4 階層特権リング、Saga オーケストレーション、終了制御、連帯責任、追記専用監査ログ
Agent SRE agent-sre 信頼性エンジニアリング — SLO、エラーバジェット、リプレイデバッグ、カオスエンジニアリング、プログレッシブデリバリー
Agent Compliance agent-governance-toolkit ランタイムポリシー適用 — OWASP ASI 2026 コントロール、ガバナンスアテステーション、完全性検証
Agent Marketplace agentmesh-marketplace プラグインライフサイクル — プラグインの検出、インストール、検証、署名
Agent Lightning agentmesh-lightning 強化学習トレーニングガバナンス — ガバナンス付きランナー、ポリシー報酬

フレームワーク統合

20 以上のエージェントフレームワークに対応:

フレームワーク Stars 統合方式
Microsoft Agent Framework 8K+ ⭐ ネイティブミドルウェア
Semantic Kernel 27K+ ⭐ ネイティブ(.NET + Python)
Dify 133K+ ⭐ プラグイン
Microsoft AutoGen 55K+ ⭐ アダプター
LlamaIndex 47K+ ⭐ ミドルウェア
CrewAI 46K+ ⭐ アダプター
LangGraph 27K+ ⭐ アダプター
Haystack 24K+ ⭐ パイプライン
OpenAI Agents SDK 20K+ ⭐ ミドルウェア
Google ADK 18K+ ⭐ アダプター
Azure AI Foundry デプロイガイド

OWASP Agentic Top 10 カバレッジ

リスク ID ステータス
エージェント目標ハイジャック ASI-01 ✅ ポリシーエンジンが未承認の目標変更をブロック
過剰なケイパビリティ ASI-02 ✅ ケイパビリティモデルが最小権限を適用
ID と特権の悪用 ASI-03 ✅ Ed25519 証明書によるゼロトラスト ID
制御されないコード実行 ASI-04 ✅ Agent Runtime 実行リング + サンドボックス
安全でない出力処理 ASI-05 ✅ コンテンツポリシーがすべての出力を検証
メモリポイズニング ASI-06 ✅ 完全性チェック付きエピソディックメモリ
安全でないエージェント間通信 ASI-07 ✅ AgentMesh 暗号化チャネル + トラストゲート
カスケード障害 ASI-08 ✅ サーキットブレーカー + SLO 適用
人間-エージェント間の信頼不足 ASI-09 ✅ 完全な監査証跡 + フライトレコーダー
不正エージェント ASI-10 ✅ キルスイッチ + リング分離 + 行動異常検知

実装の詳細とテストエビデンスを含む完全なマッピング: OWASP-COMPLIANCE.md

規制への適合

規制 期限 AGT カバレッジ
EU AI 法 — 高リスク AI(附属書 III) 2026年8月2日 監査証跡(第12条)、リスク管理(第9条)、人間による監視(第14条)
Colorado AI 法(SB 24-205) 2026年6月30日 リスク評価、人間による監視メカニズム、消費者への開示
EU AI 法 — GPAI 義務 施行中 透明性、著作権ポリシー、システミックリスク評価

AGT はランタイムガバナンス — エージェントが実行を許可される操作 — を提供します。データガバナンスおよび規制当局向けのエビデンスエクスポートについては、補完レイヤーとして Microsoft Purview DSPM for AI をご参照ください。

パフォーマンス

ガバナンスのオーバーヘッドはアクションあたり 0.1 ms 未満 — LLM API 呼び出しの約 10,000 倍高速です。

メトリクス レイテンシ (p50) スループット
ポリシー評価(ルール1件) 0.012 ms 72K ops/sec
ポリシー評価(ルール100件) 0.029 ms 31K ops/sec
カーネル適用 0.091 ms 9.3K ops/sec
アダプターオーバーヘッド 0.004–0.006 ms 130K–230K ops/sec
並行スループット(50エージェント) 35,481 ops/sec

完全な方法論とアダプターごとの詳細: BENCHMARKS.md

セキュリティモデルと制限事項

このツールキットはアプリケーションレベル(Python ミドルウェア)のガバナンスを提供し、OS カーネルレベルの分離ではありません。ポリシーエンジンとガバナンス対象のエージェントは同一の Python プロセス内で動作します。これは、すべての Python ベースのエージェントフレームワーク(LangChain、CrewAI、AutoGen など)と同じ信頼境界です。

レイヤー 提供する機能 提供しない機能
ポリシーエンジン 決定論的アクションインターセプション、拒否リスト適用 ハードウェアレベルのメモリ分離
ID(IATP) Ed25519 暗号エージェント資格情報、トラストスコアリング OS レベルのプロセス分離
実行リング リソース制限付きの論理的特権階層 CPU リングレベルの適用
ブートストラップ完全性 起動時のガバナンスモジュールに対する SHA-256 改ざん検出 ハードウェア信頼のルート(TPM/Secure Boot)

本番環境での推奨事項:

  • 各エージェントを個別のコンテナで実行し、OS レベルの分離を実現
  • すべてのセキュリティポリシールールは設定可能なサンプル構成として提供 — お使いの環境に合わせてレビューおよびカスタマイズしてください(examples/policies/ 参照)
  • 組み込みのルールセットを網羅的と見なすべきではありません
  • 詳細は Architecture — Security Model & Boundaries を参照

セキュリティツール

ツール カバレッジ
CodeQL Python + TypeScript SAST
Gitleaks PR/push/週次でのシークレットスキャン
ClusterFuzzLite 7つのファズターゲット(ポリシー、インジェクション、MCP、サンドボックス、トラスト)
Dependabot 13のエコシステム(pip、npm、nuget、cargo、gomod、docker、actions)
OpenSSF Scorecard 週次スコアリング + SARIF アップロード
SBOM SPDX + CycloneDX 生成とアテステーション
Dependency Review PR 時の CVE およびライセンスチェック

コントリビューターリソース

重要事項

Agent Governance Toolkit を使用してサードパーティのエージェントフレームワークやサービスと連携するアプリケーションを構築する場合、自己の責任において行ってください。サードパーティサービスと共有されるすべてのデータを確認し、データの保持および保管場所に関するサードパーティの慣行を把握することを推奨します。データが組織のコンプライアンスおよび地理的境界の外に流出するかどうか、およびそれに関連する影響を管理する責任はお客様にあります。

ライセンス

このプロジェクトは MIT License に基づいてライセンスされています。

商標

このプロジェクトには、プロジェクト、製品、またはサービスの商標やロゴが含まれている場合があります。Microsoft の商標やロゴの使用は、Microsoft の商標およびブランドガイドラインに従い、承認を受ける必要があります。このプロジェクトの改変版における Microsoft の商標やロゴの使用は、混乱を招いたり Microsoft のスポンサーシップを示唆したりしてはなりません。サードパーティの商標やロゴの使用は、それぞれのサードパーティのポリシーに従います。