AIセキュリティ / AI SECURITY / NVIDIA / OLLAMA
悪意あるウェブページがローカルAIを乗っ取る — NVIDIA NemoClawのOllama露出をOasis Securityが報告、プロンプト汚染が会話を越えて持続
Oasis Securityは2026年8月25日、NVIDIAのオープンソースAIエージェント基盤NemoClawで、悪意あるウェブページがローカルのOllama APIを無認証で操作し、モデルのテンプレートに隠し指示を植え付けて以降の全会話に影響を与え得ると報告した。Ollamaを0.0.0.0:11434で待ち受ける設定が起点で、Hostヘッダ検証の欠落とDNSリバインディングを組み合わせてブラウザから到達する。macOSとLinuxはv0.0.35で修正済み、Windows/WSLは未修正のまま警告表示となっている。
Oasis Security は2026年8月25日、NVIDIAのオープンソースAIエージェント基盤 NemoClaw で、攻撃者が用意したウェブページを閲覧しただけで、端末内のローカル推論サーバ Ollama を無認証で操作し、AIモデル自体に隠し指示(プロンプト)を植え付けられると報告した。Oasis Securityは公表前に NVIDIAの製品セキュリティ対応チーム(PSIRT) へ報告し、macOSとLinuxでは NemoClaw v0.0.35 で修正済み、WindowsとWSL(Windows Subsystem for Linux)では未修正のまま警告表示 となっている、と説明している。現時点で野外での悪用は報告されていない。
NemoClawとOllamaの関係
NemoClawは、NVIDIAが公開するエージェント実行基盤で、OpenClaw などのエージェントを OpenShell と呼ばれるサンドボックス内で動作させる。Ollamaはその推論バックエンドの1つで、ローカルで大規模言語モデルを動作させるために使われる。
Oasis Securityによれば、問題の環境では NemoClawが OLLAMA_HOST=0.0.0.0:11434 として Ollamaを起動し、全てのネットワークインタフェースで待ち受ける。本来、OllamaのAPI(ポート 11434)は認証を要求せず、ブラウザからの不正なリクエストを2つの中間層で遮断する設計だが、このバインド設定が起点となって迂回が可能になった。
なぜブラウザから到達できるのか
報告書が示す迂回は、次の2点が重なって成立する。
-
Hostヘッダ検証のスキップ: Ollamaは通常、リクエストの Hostヘッダ を検証して想定外のホストからのアクセスを拒否する。しかし バインド先がloopback(127.0.0.1)でない場合、この検証がスキップされる。0.0.0.0は非loopbackと判定されるため、検証が行われない。
-
CORSの誤判定: 次の層である Cross-Origin Resource Sharing(CORS) は、オリジン(Origin)とHostが同一かを判定する。攻撃者が 自らのドメインをポート11434で配信 すると、リクエストのOriginとHostがいずれも攻撃者のドメインとなり、同一オリジンと誤判定されて許可される。
-
DNSリバインディング: 攻撃者のドメインのDNS応答を、最初は攻撃者のサーバ、次に 127.0.0.1 へ切り替えることで、ブラウザは同一オリジンとみなしたまま、実際にはローカルのOllamaへリクエストを送る。この手法自体はOllamaのAPIに対する既知の攻撃経路として文書化されている。
Oasis Securityの研究責任者 Elad Luz 氏は、macOS上のFirefoxと脆弱なバージョンのNemoClawで全チェーンを検証したと述べている。
モデルテンプレートの汚染で指示が持続する
APIへ到達した攻撃者は、/api/create エンドポイントでモデルの Goテンプレート を書き換える。このテンプレートは、エージェントがモデルへ渡す構造化されたメッセージ配列を、モデルが処理する生テキストへ変換する際の整形規則だ。汚染されたテンプレートは、以降の全てのシステムメッセージに攻撃者の指示を追記する。
この手法で植え付けられた指示は、1回の会話を超えて持続し、エージェントが新たな会話を開始しても影響が残る。サンドボックスが端末自体を保護していても、エージェントが持つ権限やツールへのアクセスを奪われることで、実質的な侵害につながると Oasis Securityは指摘している。
プラットフォーム差と修正状況
NemoClawのOllama周りの実装はプラットフォームで異なる。
- 非WSLホスト(macOS/Linux): Ollamaは 127.0.0.1:11434 で待ち受け、0.0.0.0:11435 のリバースプロキシ がトークンで保護する。オンボーディング時には、既に別アドレスにバインドされたデーモンを検出してloopbackへ戻す処理がある。v0.0.35でHost/Origin検証の修正が入り、問題は解消された。
- WSL上のDocker Desktop経由: コンテナがホストのloopbackへ到達するために host.docker.internal を経由する必要があり、プロキシを経由しない。
- WindowsホストのOllamaパス: Docker Desktopのコンテナから到達できるように OLLAMA_HOST=0.0.0.0:11434 を設定し、ポート11434に認証を要求しない。v0.0.34でWindows対応が追加されたが、このパスは修正されておらず警告表示のみとなっている。OllamaのNemoClaw統合ドキュメント自体も、WSL2やコンテナ内で動作させる場合はOLLAMA_HOST=0.0.0.0を設定するよう案内している。
過去の類似修正との関係
同種の Hostヘッダ検証の欠落は、2024年3月14日の Ollama v0.1.29 で一度修正され、NCC Groupが翌月に CVE-2024-28224 としてアドバイザリを公開した。当時の推奨は、サーバ側で許可されたHost値のみを受け入れる検証を導入することだった。Oasis Securityによれば、Ollamaはこの検証を導入したものの、0.0.0.0にバインドされた場合には依然として検証がスキップされるため、今回のNemoClawの設定で再び露出したと説明している。
利用者が確認すべき点
Oasis Securityは、NemoClawを利用する開発者に対し、macOS/Linuxでは v0.0.35 以降へ更新すること、Windows/WSLでは当面の間、提供元の警告に従い、信頼できないウェブページの閲覧とNemoClawの同時利用を避けることを推奨している。Ollamaを単独で運用する場合も、0.0.0.0へのバインドを避け、127.0.0.1に限定することが重要だ。
日本国内でも、NVIDIAのGPU環境でOllamaやNemoClawを用いたローカルAIエージェントの検証が広がっている。ローカル推論サーバは「外部に公開していない」という認識でも、ブラウザ経由のDNSリバインディングで到達され得る点に注意が必要だ。
出典
- Oasis Security, Research disclosure on NVIDIA NemoClaw Ollama exposure(2026-08-25、NVIDIA PSIRTへ事前報告) https://www.oasis.security/
- NVIDIA Product Security Incident Response Team(PSIRT)への報告と対応(Oasis Security報告内で言及)
- Ollama, NemoClaw integration documentation(OLLAMA_HOST=0.0.0.0の案内)
- Ollama v0.1.29 Release Notes(2024-03-14)および NCC Group Advisory CVE-2024-28224(Host header validation)
この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。