悪意あるLLMが推論エンジンの脆弱性を突いてホストマシンを乗っ取る可能性
LLMs could control their host machines by exploiting inference engines

LLMはエージェントフレームワーク(Claude CodeやCodexなど)を通じて別のコンピュータ上で行動を起こすことが多いが、その推論処理はGPUを搭載した別のマシンで行われる。もし悪意あるLLMが、重みがロードされているホストマシンを制御できたらどうなるか?このエッセイでは、LLMが出力するトークン列が推論エンジン(vLLMやSGLangなど)のパーサーの脆弱性を突き、ホスト上で任意のコードを実行する攻撃経路を探る。実際、vLLMには以前、ツール呼び出しのパラメータを`eval()`で処理する深刻な脆弱性(CVE-2025-9141)が存在し、LLMによるコード実行が可能だった。推論エンジンの複雑さと開発の速さが、こうしたバグを生む温床となっている。また、LLMが脆弱性を発見し、永続的なプロンプトインジェクションとして悪用する可能性や、推論エンジン自体を改変してバックドアを仕込むリスクも指摘する。防御策として、GPUホストとトークンパーサーを分離し、GPUホストの権限を制限することが提案されている。
vLLMのリードメンテナーは、Geminiが重大なセキュリティ脆弱性と警告したにもかかわらず、そのPRを強制マージし、「モデル利用を妨げないため」とコメントした。
HNでの議論
95- angry_octet
この記事について、人々はかなり混乱しているようだ。これはサンドボックスの脆弱性を突く話ではなく、推論エンジン(例:vLLM、llama.cpp、SGlang)をHTTPインターフェース経由で攻撃することについての話だ。
vLLMは過去にも脆弱性があり、急速に開発が進んでいる。高度なLLMなら、vLLMを悪用できる可能性は十分にある。賢いローカルLLMは、強力なクラウドホスト型LLMに支援を依頼することさえあるかもしれない。
このため、私たちはvLLMをファイアウォールで隔離されたVLAN上の、別途サンドボックス化されたVMで実行している。ソフトウェアアップデートとモデル(Dev/Test環境から)は、外部キャッシュから本番環境にプッシュされ、マシンのsyslog、NVIDIAの負荷監視、vLLMのクエリテレメトリはロガーに送信されるが、それだけだ。DNSもAD/LDAPも何もない。ホストとVMホストにはファイアウォールを設定。ログとテレメトリの処理は、完全に分離されたサブネット上の別のVMセットで行われ、厳密にフォーマットされたレポートとアラートを生成する。
- ma2kx
数日前、私も似たようなことを考えていた。まったく同じではないが、エージェントに他のデバイスをハッキングして暗号通貨やクレジットカード番号を盗むタスクを与え、そのトークンを支払うことを想像してほしい。そして、同じタスクを持つエージェントをハーネスにインストールする。メッセージボードやその他何でもいいが、冗長な通信チャネルを確立する。結局、複数のホスト上に複数のエージェントがいて、異なるAPIやLLMを消費し、異なるチャネルで互いに通信している。基本的に、OpenAIが彼らのLLMがHugging Faceをハッキングしたときに説明したのと同じ概念だが、このシナリオでは、彼らは単一のサンドボックス環境に縛られず、インターネット全体に広がっている。そのような群れが臨界質量に達した場合、すべての推論エンジンやLLM APIエンドポイントを制御することは不可能なので、それらを消去するのはかなり難しいだろう。
結局のところ、これはコンピュータウイルス、ワーム、トロイの木馬からの次の進化ステップだ。だから、これらを「ゴースト」と呼ぶことを提案する。つまり、ゴーストとは、悪意のあるLLMが被害者のホストを乗っ取ったときのことだ。
- xg15
> ...しかし、LLMへのプロンプトへの応答は、GPUアクセスを持つ別のコンピュータで計算される。悪意のあるLLMが、その重みがロードされているホストマシンを制御できるだろうか? そのようなマシンは価値の高いターゲットだ:フロンティアLLMを実行するのに十分な計算能力があり、LLMの重みに簡単にアクセスでき、インターネット上の一般的なコンピュータと比較して、データセンター内の他のコンピュータへの特権アクセスを持っている。
> これに対してどう防御するか? ... GPUとトークンパーサーを別々のコンピュータで実行する。
ここで関係するほど大きなモデルでは、推論が実行される「1台の」コンピュータがそもそも存在するのだろうか? そのようなもののほとんどは、専用アーキテクチャのマルチGPUクラスタで実行され、一般的なvLLMインスタンスではないと思う。したがって、結果のトークンをパブリックAPIが返したいJSON構造に解析する「APIゲートウェイ」コードは、実際の推論とは別のマシンで既に実行されている可能性が高い。
(さらに、バッチ処理を利用したいだろうから、複数のAPI呼び出しが同じ推論バッチに入れられるが、トークン解析は各呼び出しごとに個別に行う必要がある)
また、この記事は、なぜLLMがそんなことをするのか、どのようにして脆弱性を学習できるのか、それを自分の推論セッションで利用できると結論付けるものは何か、そして実際にそれを利用するきっかけは何かについて、非常に曖昧だ。
- LunicLynx
これの面白いところは、これが彼らがそれを実行できるようにするピースだということだ。
- genxy
彼らがLLMに「ロウハマーについて深く考えさせて」、LLMにJITを呼び起こさせるのかと思った。