このプロジェクトについて
Mandatumは、AIエージェントへの権限の検証可能な委任を実現するための初期段階のGoライブラリです。エージェントが共有資格情報(サービスアカウント、APIキー、または人間のセッション)を継承する代わりに、エージェントの権限は、指名された人間のスポンサーをルートとする署名付きチェーンになります。各リンクはハッシュによって親にコミットし、権限を狭めることしかできないため、下位に行くにつれて権限が拡大することはありません。任意のリンクは個別に失効でき、制約は一度に1回の呼び出しではなく、一連のアクションにわたって評価されます。
READMEは、資格情報の継承に関する3つの問題を挙げています。責任を人間に追跡できないこと、単一の不正なエージェントを失効させると、その資格情報を共有するすべてのものが遮断されること、そして、呼び出しごとの認可では、個々には正当な呼び出しの有害な組み合わせ(例えば、信頼できない外部コンテンツを読み取り、その後内部システムに書き込むこと)を検出できないことです。
仕組み:人間が認証し、委任アサーションを受け取ります。そのエージェントは、より狭い権限をサブ委任できます。リソースサーバー(ポリシー強制ポイント)は、チェーンをオフラインで検証し、権限が呼び出しをカバーしているか確認し、AuthZEN互換のポリシー決定ポイントに照会し、最終的にチェーンの履歴に対してアクションを許可します。READMEは、アクションを許可するとそれが記録されるため、PDPが拒否した呼び出しはチェーンの呼び出し予算を消費すべきではないと述べています。シーケンスレベルのルールは、例えば、外部コンテンツの読み取り後の変更呼び出しを禁止できます。
明確にされたスコープ境界:Mandatumは認可エンジンではありません(OPA、Cedar、OpenFGA、SpiceDB、Cerbos、またはAuthZEN準拠のPDPのための事実を確立します)。新しいプロトコルではありません(JOSE、RFC 8693、SPIFFE、AuthZEN、RFC 6962を使用します)。ゲートウェイ、レジストリ、サンドボックス、またはエージェントランタイムではありません(agentgateway、ToolHive、またはnet/httpミドルウェアを介したMCPサーバー内で実行されることを意図したライブラリです)。ブロックチェーンではありません(監査ログはマークルツリーです)。
先行技術は認められています:減衰委任のためのmacaroonsとBiscuit、ワークロードIDのためのSPIFFE、トークン交換委任セマンティクスのためのRFC 8693。READMEは、Mandatumがアクションクレームを再解釈するのではなく、履歴に基づいて認可すると述べており、これをRFC 8693モデルの拡張と説明しています。新規性は、認証された人間にルートを持つチェーンがサブ委任後も存続すること、アクションシーケンスにわたって制約が評価されること、AuthZENバインディングの3つの狭い領域のみであると主張しています。
ステータスと制限は明確に述べられています:フォーマット、検証器、署名層、発行者はエンドツーエンドで機能し、実際の署名に対してテストされています。AuthZENバインディング、シーケンス評価、JWKS/SPIFFEキー解決、公開されたコンパクトセットからのローカル失効、MCPツール呼び出し強制ミドルウェアが実装されています。監査ログは構築されておらず、シーケンスストアはプロセス内のみで、失効セットをスケジュールで公開するものはなく、サードパーティによるセキュリティレビューは行われていません。発行フローとMCP強制パスのための実行可能な例がgo testを介して存在します。Apache 2.0ライセンスです。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.