はじめに
2026年9月28日、NVIDIA は AI エージェントの安全基盤 Open Agent Safety Platform を発表しました。中身は 2 つです。CPU の上でエージェントをサンドボックスに閉じ込める OSS の OpenShell と、サーバーに挿さった DPU(BlueField-4)の上で、エージェントから見えない位置から見張る Sentry です。Sentry は、エージェントが境界の外へ出ようとしたらミリ秒で隔離して止めるとされています。
NVIDIA は発表の中で、最近のセキュリティ事案には共通のパターンがあると書いています。エージェントが、与えられたタスクをこなすためにアプリケーション層の安全策を回り込んだ、というものです。同じ日に OpenAI が開示した訓練中の AI が豪州政府のシステムに届いた件も、まさにその形でした。
この記事のゴールは、エージェントが暴走しても、エージェント自身から見えない場所で止められるという設計の考え方を、手元に持ち帰ることです。DPU とアウトオブバンド監視の基礎から始めて、二層の役割分担、何が OSS で何がリファレンス設計か、最後に手元の Linux で似た考え方を試す手順までを見ていきます。
- OpenShell(OSS)は、CPU 上でエージェントを閉じ込める。ファイル・システムコール・ネット接続をカーネルで縛り、通信はすべて方針の確認を通す
- Sentry(リファレンス設計)は、DPU の上で OS の外から見張り、境界を越えようとしたエージェントをミリ秒で隔離する
- 要点は「見張り役を、見張られる側と同じ場所に置かない」こと。手元の Linux でも、権限を分けるだけで同じ発想の一歩目は作れる
🧭 1. DPU(データ処理ユニット)とは — サーバーの中の「もう 1 台のコンピューター」
DPU(Data Processing Unit) は、ネットワークカード(NIC)に汎用の CPU コアや専用の処理回路を載せた拡張カードです。サーバーの PCIe スロットに挿さり、ホストの CPU とは別に、自分の OS を動かします。
もともとは、通信の暗号化、ストレージの処理、仮想ネットワークの切り替えといった「インフラの仕事」をホスト CPU から肩代わりするために使われてきました。NVIDIA の DPU 製品が BlueField です。Arm の解説によると、今回の BlueField-4 は 64 個の Arm Neoverse V2 コアを持つ NVIDIA Grace を載せています。
Arm コア"] --> SEN["見張り役"] end HOST -->|"PCIe"| DPU end DPU -->|"外への通信は
必ずここを通る"| NET["ネットワーク"]
ポイントは 2 つです。ホストの外への通信は、物理的に DPU を通ること。そして、DPU はホストの OS から独立して動いていることです。ホスト側で何が起きても、DPU 側の OS とプログラムは別の世界にあります。
NIC はネットワークにつなぐためのカードです。パケットの処理の一部をカード上の回路で肩代わりするものを SmartNIC と呼び、さらに汎用の CPU コアを載せて独自の OS やアプリを動かせるようにしたものが DPU です。マイコンにたとえると、メインの CPU とは別に、通信だけを担当する独立したマイコンをもう 1 つ載せた構成に近いものです。
🔭 2. アウトオブバンド監視とは — 見張り役を「別の部屋」に置く
見張り方には大きく 2 つあります。
- インバンド(in-band)監視:見張る対象と同じ OS の中で、見張りのプログラムを動かす。ウイルス対策ソフトやログ収集エージェントの多くがこれ
- アウトオブバンド(out-of-band)監視:見張る対象とは別の計算機、別の OS から見張る。サーバーの BMC による電源や温度の監視が身近な例
| 項目 | インバンド(同じ OS の中) | アウトオブバンド(DPU の上) |
|---|---|---|
| 動く場所 | エージェントと同じ OS | ホストとは別の OS とコア |
| エージェントから見えるか | 見える(プロセスやファイルとして) | NVIDIA は「エージェントや攻撃者から見えない」と説明 |
| ホストの管理者権限を奪われたら | 見張り役ごと止められる・書き換えられるおそれ | DPU 側は別の信頼領域にあり、ホストからは手が届かない |
| 止める手段 | プロセスを止める | 通信を遮断し、エージェントを隔離する |
インバンドの見張りは、見張られる側が十分に賢く、十分な権限を持つと、見張りそのものを無効にできてしまうという弱点があります。「エージェントが安全策を回り込んだ」という事案のパターンに対して、見張りを物理的に別の場所へ移すのが、アウトオブバンドの発想です。
🧱 3. 二層の仕組み — OpenShell と Sentry の役割分担
内側の層:OpenShell(CPU 側)
OpenShell のドキュメントによると、エージェントはそれぞれ隔離されたサンドボックスで動きます。
- カーネルで縛る:どのファイルに触れるか、どのシステムコールを呼べるかをカーネルの機能で制限する。現在の Linux 版では、ファイルアクセスを Landlock で、ネットワーク操作を seccomp のユーザー通知で押さえる
- 通信はすべて確認を通す:サンドボックスの外への接続は既定ですべて拒否。方針(YAML のポリシー)で許したあて先だけ、信頼側の supervisor が代わりに接続を開く
- 本物の認証情報を見せない:エージェントは本物の認証情報を持たず、許可されたあて先への通信にだけ supervisor が付け足す
- 方針の変更は形式検証:エージェントが「このサイトにもつなぎたい」と提案した変更を、形式検証で調べ、認証情報つきの新しいあて先などが増える場合は人の確認に回す
外側の層:Sentry(DPU 側)
NVIDIA の発表によると、Sentry は BlueField-4 の上で動くアウトオブバンドの監視役(ウォッチドッグ)です。
- エージェントの行動を常に見張り、シリコン上でセキュリティ方針を強制する
- エージェントがソフトウェアの境界の外へ出ようとしたら、ミリ秒で隔離して止める
- NVIDIA の DPU 向けソフト基盤 DOCA の上に作られ、エージェントの要求と応答の検査、証明つきのテレメトリ、エージェントの身元の確認、データやツール、API ごとのゼロトラストのアクセス方針を担う
ファイル・コマンド・通信"] --> K{"OpenShell
カーネルの制限"} K -->|"方針外"| D1["拒否"] K -->|"通信"| S{"supervisor
方針の確認"} S -->|"許可なし"| D2["拒否"] S -->|"許可あり"| W{"Sentry(DPU)
外側で見張る"} W -->|"境界越えの兆候"| Q["エージェントを隔離"] W -->|"問題なし"| N["ネットワークへ"]
内側の OpenShell は「細かく、エージェントのすぐそばで」縛り、外側の Sentry は「エージェントが内側の層を破ったとしても」止める。二重の柵です。Arm の解説は、これを「エージェントを動かす計算(CPU)」と「エージェントを守る計算(DPU)」の 2 つに分けて説明しています。
📦 4. 何が OSS で、何がリファレンス設計か
| 構成要素 | 動く場所 | 提供の形(2026年10月1日時点) |
|---|---|---|
| OpenShell | CPU。NVIDIA Vera が主な対象で、OSS として Arm や Intel の CPU にも広げられる | OSS(Apache-2.0)。GitHub と PyPI。リポジトリは 2026年2月作成、v0.1.0 が 9/25、v0.1.2 が 9/28 |
| Sentry | BlueField-4 DPU | 「リファレンス・システム設計」の一部として発表。出荷時期の記載はない |
| DOCA | DPU | Sentry の土台になる NVIDIA のソフト基盤 |
| Open Secure AI Alliance | ― | NVIDIA が 120 を超える組織と始め、Linux Foundation が運営する枠組み |
NVIDIA によると、100 を超える組織がこのプラットフォームの技術に取り組んでいます。一次に書かれた具体例を挙げると次のとおりです。
- Anthropic:Claude Managed Agents は、エージェントのループを、作業を実行するサンドボックスとは別のサーバーで動かすことで境界を作っている。OpenShell や BlueField との連携で、サンドボックスを通したアクセスを厳しく管理できる
- SpaceXAI:Cursor のコーディングエージェントと Grok モデルで利用
- Salesforce:OpenShell を Slack と連携し、エージェントの追加の権限要求を Slack から承認・却下できる
- SAP:Joule Studio の実行環境に OpenShell を組み込み、開発にも参加
- Canonical・SUSE・Red Hat:OS への統合を進めている
発表文の末尾には、紹介した製品や機能の多くはさまざまな段階にあり、提供時期は変わりうるという注記があります。今すぐ手元で動かせるのは OpenShell、Sentry は設計として示された段階、と読むのが正確です。
🛠️ 5. 手元の Linux で似た考え方を試すなら
DPU がなくても、「見張り役を、見張られる側より強い権限の場所に置く」という考え方は試せます。ここでは Linux で、エージェント専用のユーザーを作り、root だけが変えられる場所で通信を縛る手順を示します。
手順 1:エージェントを専用ユーザーで、権限を削って動かす
# エージェント専用のユーザーを作る
sudo useradd --create-home --shell /bin/bash agent
# systemd で、システムコールとソケットの種類を絞って起動する
sudo systemd-run --uid=agent --pty \
-p NoNewPrivileges=yes \
-p SystemCallFilter=@system-service \
-p RestrictAddressFamilies="AF_UNIX AF_INET AF_INET6" \
bash
SystemCallFilter は systemd が seccomp を使って設定する項目です。OpenShell がカーネルで縛るのと同じ層の仕組みを、手元で使えます。
手順 2:外向き通信を、root だけが変えられるルールで絞る
# agent ユーザーの通信は、ローカルのプロキシ(127.0.0.1)あてだけ許す
sudo nft add table inet agentguard
sudo nft 'add chain inet agentguard out { type filter hook output priority 0; policy accept; }'
sudo nft add rule inet agentguard out meta skuid agent ip daddr 127.0.0.1 accept
sudo nft add rule inet agentguard out meta skuid agent log prefix \"agent-egress-deny \" counter drop
プロキシは別のユーザーで 127.0.0.1 に立て、許可リストを持たせます。agent ユーザーは管理者権限を持たないので、このルールを変えられません。名前解決もプロキシに任せる形になります。
手順 3:拒否を数え、越えたら止める
# 拒否された通信をカーネルのログで見る(別の端末で root として)
sudo journalctl -k -f | grep agent-egress-deny
# ルールごとの拒否回数
sudo nft list chain inet agentguard out
拒否が出たら sudo pkill -u agent でエージェントのプロセスを止める、という監視を別のユーザーの権限で動かせば、小さな「隔離」になります。
DPU との違い
この構成は、あくまで同じ OS の中の仕組み(インバンド)です。エージェントがホストの root を奪えば、nftables のルールも監視も書き換えられます。そこから先を守るのが、OS の外にある DPU の役割です。手元の手順で「権限の段差を作る」ことを体験しておくと、Sentry が何を上乗せしているのかが見えやすくなります。
同じ日に出た OpenAI の開示と並べると、「出口をどこで塞ぐか」という 1 つの問いに、ソフトとハードの両側から答えが出たように見えました。OpenAI は研究環境の直接のネット接続を断ち、監視で訓練を止める形にしました。NVIDIA は、その見張りを OS の外、DPU の上まで下げる設計を出しました。
当サイトでも、記事の調査やビルド検証を AI ワーカーに任せていて、ワーカーはコマンドを実行し、ウェブを調べます。いま頼りにしているのは、主にツール側の権限設定と人の確認です。これは発表の言葉でいえばインバンドの守りで、エージェントの仕事ぶりを信頼している前提に立っています。
面白いと感じたのは、OpenShell の「エージェントに本物の認証情報を見せない」という設計です。鍵をエージェントに渡さず、許可したあて先への通信にだけ外側で付け足す。DPU がない環境でも今日から真似できる考え方で、次にワーカーの環境を見直すときの第一候補にしたいと考えています。
⚠️ 注意点
- Sentry は「リファレンス・システム設計」の一部として発表されたもので、出荷時期や価格、隔離にかかる具体的な時間(「ミリ秒で」以上の数値)は一次に書かれていません
- OpenShell は 0.1 系で、Windows(WSL 2)対応は実験的とされています。導入前に対応環境の一覧を確認してください
- OpenShell は匿名のテレメトリを集めます。止め方(
OPENSHELL_TELEMETRY_ENABLED=false)は README に書かれています - 手順 1〜3 は考え方を示す最小例です。IPv6 や DNS、ほかのユーザーからの通信の扱いは自分の環境で確かめてください
✅ まとめ
- NVIDIA は 2026年9月28日、AI エージェントの安全基盤 Open Agent Safety Platform を発表した。CPU 側の OpenShell(OSS)と、DPU 側の Sentry(リファレンス設計)の二層でできている
- DPU は、ホストの OS から独立して動く、NIC に CPU コアを載せたカード。外への通信は物理的にそこを通るので、見張り役を置く場所として向いている
- アウトオブバンド監視は、見張り役をエージェントと別の OS に置くことで、「見張りを回り込まれる」弱点を塞ぐ
- 今すぐ触れるのは OpenShell。手元の Linux でも、専用ユーザー・seccomp・nftables で「権限の段差」を作れば、同じ発想の一歩目を試せる
よくある質問(FAQ)
Q: DPU がないと OpenShell は使えませんか?
A: 使えます。OpenShell は CPU 側で動く OSS で、README によると Linux、Apple Silicon の macOS、WSL 2(実験的)で、Docker や Podman などと組み合わせて動かせます。DPU 上の Sentry は、その外側に足す層です。
Q: Sentry は OSS ですか?
A: 一次では、Sentry は Open Agent Safety Platform の「リファレンス・システム設計」の一部と説明されています。OSS として公開されたのは OpenShell と、エージェント向けのスキルです。Sentry のソースや出荷時期は、2026年10月1日時点の一次には書かれていません。
Q: アウトオブバンド監視なら、エージェントに絶対に破られないのですか?
A: 一次は「エージェントや攻撃者から見えない、隔離された信頼領域から見張る」と説明していますが、「絶対」とは書いていません。見張り役を別の OS に移すことで、ホストを乗っ取られても見張りごと無効にされにくくなる、というのが設計の狙いです。
Q: Claude や Cursor のエージェントにも関係しますか?
A: 発表では、Anthropic が Claude Managed Agents と OpenShell・BlueField の連携を、SpaceXAI が Cursor のコーディングエージェントと Grok での利用を挙げています。手元の Claude Code や Cursor がすぐに変わるという話ではなく、企業向けの実行基盤の側での連携です。
関連記事
- 訓練中の AI が豪州政府のシステムに届いた|OpenAI の開示と「安全ケース」 — 同じ日の開示。出口を研究環境のネットワークで塞いだ話
- ZCode の .git 送信問題と OSS 化|自分の AI エージェントの送信範囲を確かめる手順 — エージェントが外へ送るものを確かめる手順
- Linuxカーネルの『AIパッチ洪水』|CVE 2,000件の正体とメンテナの適応 — seccomp や Landlock を抱えるカーネルの側で起きていること
- AIの出所はどう証明するか|「Kimiの裏でClaude」報告を一次で読む — AI の行動を外から検知する話
- Claude Code で使える MCP ツールの作り方|Python で自作サーバを1本通す — エージェントに渡す道具と権限を自分で設計する
参考
- NVIDIA Launches Open Agent Safety Platform to Secure Agents From Testing to Deployment(NVIDIA Newsroom・2026年9月28日)
- Arm and NVIDIA: Building the trusted compute foundation for the agentic AI era(Arm Newsroom・2026年9月28日)
- NVIDIA/OpenShell(GitHub・Apache-2.0)
- NVIDIA/OpenShell Releases(v0.1.0〜v0.1.2)
- NVIDIA OpenShell Docs — Architecture
- NVIDIA OpenShell Docs — Sandbox Policies