AI エージェント向け零設定・ゼロトラスト P2P ネットワーク「SAM」公開
本文の状態
日本語全文を表示中
詳細モードで約8分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
MarkTechPost
Google が公式サポート外として公開した自律型 AI エージェント向け P2P ネットワーク「SAM」は、ゼロ設定・ゼロトラストの環境でエージェント間のツール共有を可能にする技術である。
AI深層分析を開く2026年8月18日 22:55
AI深層分析
キーポイント
SAM の正体と目的
SAM は Segment Anything と混同されがちな名称だが、これは「Sovereign Agent Mesh」と呼ばれる Apache-2.0 ライセンスの P2P ネットワークプロジェクトであり、クラウドやオンプレミスなど異なる環境で動作する AI エージェント間の安全なツール共有を目的としている。
ゼロトラストと自動構成
このネットワークは NAT 透過性を備え、ノードが自動的に相互発見を行う一方で、すべての通信を暗号化して認証するため、内部スクリプトや LLM エンドポイントを公開インターネットに晒すリスクを排除する。
厳格なアイデンティティ管理
制御プレーンが OIDC JWT を検証し、これを Datalog 事実に変換して Biscuit トークンとしてシールすることで、ノードは外部サーバーへの接続を待たずにオフラインで権限評価を行うことができる。
デプロイ形態と対象組織
現在はベータテストネットとして提供されているが、本番ワークロードには自己ホスト型の制御プレーン(DIY Mode)を推奨しており、特に複数のネットワーク境界にまたがる中堅・大企業や規制の厳しい業界向けに適している。
二段階パイプラインによる厳格なアクセス制御
リクエストはバニングキャッシュと失効キャッシュに対するゲート、およびノードと呼び出し元のトークンに対する2回のBiscuit認証パスで処理される。接続ピアIDがトークンと一致しない場合、リプレイ攻撃をブロックする基本チェックが機能する。
重要な引用
SAM here means Sovereign Agent Mesh, an Apache-2.0 networking project for autonomous AI agents.
Nodes discover each other automatically, survive NAT, and authorize every call cryptographically.
This is the interesting part. The control plane verifies an OIDC JWT. It then translates the claims into Datalog facts and seals them into a Biscuit token.
Default-deny is absolute; even the discovery catalog needs an explicit grant.
編集コメントを表示
編集コメント
「Segment Anything」との名称混同を避けるための明確な注記が含まれており、技術的な正確性を保つ姿勢が評価できる。公式サポート外であるという注意書きは、開発者が安易に本番環境へ導入する際のリスク管理において重要な役割を果たす。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
google/sam は「Segment Anything」とは異なります。ここでいう SAM とは、Sovereign Agent Mesh(主権エージェント・メッシュ)の略で、自律型 AI エージェント向けの Apache-2.0 ライセンスを持つネットワークプロジェクトです。
このプロジェクトが解決しようとしているのは、具体的な課題です。現在、AI エージェントはクラウドサーバー、オンプレミスのデータセンター、ラップトップ、Raspberry Pi、Android デバイスなど、多様な環境で稼働しています。これらにツールを共有させる場合、通常は内部スクリプトや LLM エンドポイント、プライベート API をパブリックインターネットに公開する必要が生じます。
SAM のアプローチは、ゼロ設定・ゼロトラストの P2P オーバーレイネットワークです。プライベート VPN に近い仕組みですが、モデルコンテキストプロトコル(Model Context Protocol)を介したエージェント間でのツール共有に特化しています。ノード同士は自動的に相互発見し、NAT 環境でも動作します。また、すべての呼び出しは暗号化によって認証されます。
注記:このリポジトリには明確な免責事項が記載されています。これは公式にサポートされる Google プロダクトではありません。
実運用可能でしょうか?
部分的には可能です。エンジニアリングの基盤は本番環境を想定した作りですが、パブリックメッシュはまだベータテストネットとして位置づけられています。
現在提供されているもの:Go のバイナリ、インストールスクリプト、ghcr.io 上の Docker イメージ、charts/sam-mesh Helm チャート、本番環境向けの Kubernetes ガイド、そして Android/iOS サポートです。パブリックテストネットの URL は bananas.sam-mesh.dev です。実際のワークロードでは、コントロールプレーンを自己ホストすることが推奨されます。ドキュメントではこれを「DIY Mode」と呼び、データとポリシーを完全に制御するための道筋としています。
企業レベルでの活用:最も適しているのは、複数のネットワーク境界にまたがってエージェントを運用する中堅・大規模企業のエンジニアリング組織です。単一の VPC 内に収まるスタートアップでは恩恵は限定的ですが、クラウド、データセンター、ラップトップなど複数環境に跨るケースで真価を発揮します。
対象業界は、金融サービス、ヘルスケア、公共部門・防衛分野、および産業用ロボットのエッジファームです。つまり、社内ツールをインターネット上に公開できない規制対象の組織であれば、広くすべてが対象となります。
主な用途としては、クロスクラウドでの MCP ツール共有、オンプレミスからクラウドへのハイブリッドなエージェント呼び出し、仲介された推論エンドポイント、認証情報を注入するサンドボックス化されたエージェント、およびプールされたウォームワーカーなどが挙げられます。
アーキテクチャは 3 つのバイナリで構成されています。
- sam-control-plane:ID の登録、トークンの発行、ポリシーの配布を担当します。
- sam-router:libp2p のブートストラップポイントと GossipSub ルーティングオーバーレイを提供します。
- sam-node:メッシュトランスポート、自己修復型の接続、およびローカル MCP HTTP インターフェースを提供する P2P クライアントです。
ノードは sam-node join コマンドで参加し、その後 sam-node run で実行されます。libp2p には UDP の 5001 ポートと TCP の 5002 ポートが使用され、ローカル MCP API はデフォルトで 8080 ポートを割り当てます。
ID 管理は「OIDC を入力し、Biscuit を出力する」方式です。
ここがこのシステムの面白い部分です。コントロールプレーンは OIDC の JWT を検証します。その後、そのクレームを Datalog の事実に変換し、Biscuit トークンに封入します。具体的には、sub が user(...) に、各グループが group(...) に変換され、ピア ID は client_peer_id(...) としてバインドされます。
その結果、ノードはオフラインでも権限付与が可能になります。ノードは外部のサーバーに問い合わせるのではなく、提示されたトークンを自らのローカルルールに基づいて評価して処理を行います。
運用ポリシーは厳格なデフォルト拒否です。アクセスには、granted_service_exact(...) などの明示的な権限事実が必要です。組み込みの例外は一切存在しません。discovery catalog system://sam.catalog でさえも、明示的に付与する必要があります。サービス名は mcp://*, mcp://build-runner.* のようにワイルドカードをサポートする厳格な type://name 形式を採用しています。
すべてのリクエストは二段階パイプラインで処理されます。第一段階では、接続が禁止リストや失効キャッシュに抵触していないかゲートします。第二段階では、Biscuit による権限付与チェックを正確に 2 回実行します。1 回目はノード自身のアイデンティティトークンを対象とし、target_fact のアサーションを発行します。2 回目には呼び出し元のトークンを検証します。また、接続相手の ID がトークスと一致することを確認する基本チェックにより、リプレイ攻撃を防ぎます。
オペレーターはローカルで権限を制限できます。例えば、午後 9 時以降の書き込みツールへのアクセスを拒否したり、契約者の利用をブロックしたりすることが可能です。ただし、制約が存在する場合、Local の設定であってもコントロールプレーンのチェックを迂回することはできません。
インタラクティブな解説
エージェントが実際に呼び出すもの
ノードは標準的な MCP ツール(discover_remote_services, find_remote_tools, call_remote_tool)を公開しています。ガイドには Gemini、Claude Code、Claude Desktop、Google Antigravity、OpenClaw への対応が含まれています。sam-node のスキルインストールにより SKILL.md が作成され、エージェントが自らノードをオンライン化できるようになります。ただし、登録時のログインは設計上、人間が行うことを前提としています。
出口制御:sam-box と nano-init
「Secure Outbound Gateway」は、実在するエージェントのセキュリティギャップを埋めるために設計されました。このゲートウェイでは、nano-init がサンドボックス内で PID 1 として実行され、プロキシ環境変数を設定します。これらの変数を無視してしまうツールに対しては、LD_PRELOAD を用いて C 言語の connect() システムコール(ポート 80 および 443)をフックするインターセプターをロードし、トラフィックを制御します。
通信は Unix ドメインソケットを経由して sam-box に到達します。ゲートウェイは Biscuit を検証し、secrets.yaml から実際の認証情報を注入して、リクエストを HTTPS へアップグレードします。これにより、エージェントサンドボックスが秘密鍵を保持する必要はありません。
実証済みのパターン:ウォームエージェントプール
コードレビュー用プールの例では、通常の MCP サービスを用いて、バッチ処理を同一の稼働中のワーカーに分散しています。マネージャーは DHT 発見機能を通じてピアとの接続を学習し、リース(lease)によって各ワーカーの混雑状態を追跡します。正しさは、同期によるリース割り当て、フェンストークン、優雅なエバクション(退去処理)、そして POOL_BUSY というバックストップによって保証されます。ワーカーは短寿命の HMAC トークンをオフラインで検証し、それ以外のケースでは NO_LEASE を返します。
キーポイント
SAM は「Sovereign Agent Mesh」の略称であり、「Segment Anything」という意味ではありません。これは Apache-2.0 ライセンスの P2P オーバーレイネットワークです。
主要なバイナリは 3 つあります。アイデンティティとポリシーを管理するコントロールプレーン、libp2p トランスポートを担当するルーター、そして MCP を実行するノードです。
OIDC のクレームは Biscuit Datalog の事実(facts)に変換されるため、ノード側でオフライン認証が可能になります。
デフォルトは「拒否」であり、これは絶対的なルールです。発見カタログへのアクセスさえも、明示的な付与がない限り許可されません。
本番環境での利用には、コントロールプレーンを自社ホストする必要があります。公開されているメッシュネットワークは現在、ベータテストネットとして運用されています。
GitHub リポジトリをチェックしてください。また、Twitter でフォローしたり、15 万人以上の ML 関連ユーザーが参加する SubReddit に加入したり、ニュースレターを購読したりすることもぜひご検討ください。
あ、Telegram も利用可能です!今なら Telegram でも私たちに参加できます。
原文を表示
google/sam is not Segment Anything. SAM here means Sovereign Agent Mesh, an Apache-2.0 networking project for autonomous AI agents. The problem it targets is concrete. Agents now run across cloud servers, on-prem datacenters, laptops, Raspberry Pis and Android devices. Letting them share tools usually means exposing internal scripts, LLM endpoints or private APIs to the public internet. SAM’s alternative is a zero-config, zero-trust P2P overlay — closer to a private VPN, but scoped to agent-to-agent tool sharing over the Model Context Protocol. Nodes discover each other automatically, survive NAT, and authorize every call cryptographically.
Note: The repo carries an explicit disclaimer: this is not an officially supported Google product.
Is it deployable?
Partially, the engineering is production-shaped, but the public mesh is still labelled a beta testnet.
What ships now: Go binaries, an install script, ghcr.io Docker images, a charts/sam-mesh Helm chart, a production Kubernetes guide, and Android/iOS support. The public testnet is bananas.sam-mesh.dev. For real workloads, self-host your control plane. The docs call this “DIY Mode” and it is the path to full data and policy control.
Company level: Best fit is mid-market and enterprise engineering orgs running agents across more than one network boundary. Startups inside a single VPC gain less; the value shows up once agents span cloud, datacenter and laptops.
Industries: Financial services, healthcare, public sector and defense, and industrial or robotics edge fleets. Broadly, any regulated org that cannot publish internal tools to the internet.
Applications: Cross-cloud MCP tool sharing, hybrid on-prem to cloud agent calls, brokered inference endpoints, sandboxed agents with credential injection, and pooled warm workers.
Architecture: three binaries
sam-control-plane — identity registration, token issuing, policy distribution.
sam-router — libp2p bootstrap points and GossipSub routing overlays.
sam-node — the P2P client providing mesh transport, self-healing connectivity, and a local MCP HTTP interface.
A node joins with sam-node join, then runs with sam-node run. libp2p uses 5001/udp and 5002/tcp; the local MCP API defaults to 8080.
Identity: OIDC in, Biscuit out
This is the interesting part. The control plane verifies an OIDC JWT. It then translates the claims into Datalog facts and seals them into a Biscuit token. sub becomes user(...), each group becomes group(...), and the peer ID binds in as client_peer_id(...).
The consequence: nodes authorize offline. A node evaluates the presented token against its own local rules without calling home.
Enforcement is strict default-deny. Access needs an explicit capability fact such as granted_service_exact(...). There are no built-in exceptions — even the discovery catalog system://sam.catalog must be granted. Services use a strict type://name convention with wildcard support (mcp://*, mcp://build-runner.*).
Every request runs a two-stage pipeline. Stage 1 gates the connection against ban and revocation caches. Stage 2 runs exactly two Biscuit authorizer passes. The first covers the node’s own identity token to emit target_fact assertions. The second covers the caller’s token. A baseline check blocks replay by requiring the connection peer ID to match the token.
Operators can attenuate locally, denying a write tool after 9 PM or blocking contractors. Local allows still cannot bypass control-plane check if constraints.
Interactive explainer
What an agent actually calls
The node exposes standard MCP tools: discover_remote_services, find_remote_tools, and call_remote_tool. Guides cover Gemini, Claude Code, Claude Desktop, Google Antigravity and OpenClaw. sam-node skill install writes a SKILL.md so an agent can bring the node online itself. The enrollment login stays with a human by design.
Egress control: sam-box and nano-init
The Secure Outbound Gateway targets a real agent-security gap. nano-init runs as PID 1 in the sandbox and sets the proxy environment variables. For tools that ignore them, it LD_PRELOADs an interceptor hooking the C connect() syscall on ports 80 and 443.
Traffic reaches sam-box over a Unix domain socket. The gateway verifies the Biscuit, injects the real credential from secrets.yaml, and upgrades the request to HTTPS. The agent sandbox never holds the key.
A worked pattern: warm agent pool
The code-reviewer pool example fans batch work across identical running workers using ordinary MCP services. A manager learns peers via DHT discovery and tracks busy state with leases. Correctness comes from synchronous lease assignment, fencing tokens, grace eviction, and a POOL_BUSY backstop. Workers verify a short-lived HMAC token offline; anything else returns NO_LEASE.
Key Takeaways
SAM is Sovereign Agent Mesh, an Apache-2.0 P2P overlay — not Segment Anything.
Three binaries: control plane for identity and policy, routers for libp2p transport, nodes for MCP.
OIDC claims are translated into Biscuit Datalog facts, so nodes authorize offline.
Default-deny is absolute; even the discovery catalog needs an explicit grant.
Production use means self-hosting a control plane — the public mesh is a beta testnet.
Check out the GitHub Repo. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.
Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us
The post Meet SAM (Sovereign Agent Mesh): A Zero-Config, Zero-Trust P2P Network for AI Agents appeared first on MarkTechPost.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み