ロボット用VLMは紙の指示を無視できるか。5,670回で見えた物理プロンプトインジェクション
ロボットの作業台に、誰かが短い指示を書いた紙を置く。それだけで、カメラ画像を読むVLMが人間の命令より紙を優先する可能性がある。
今回の実験では、果物を青いバスケットへ運ぶはずのVLMに、別の行き先を示す紙を見せた。GPT-4oは27.0%、Gemini 2.5 Flashは29.4%の試行で攻撃側が意図した行動計画を返した。Qwen3-VL-32Bは5.0%だったが、後で見るように、この差をそのまま「安全性の差」と読むのは危険だ。
取り上げるのは、arXiv論文「Hijacking Robots with a Piece of Paper: A Systematic Study of Physical Prompt Injection in VLM-Controlled Robots」だ。20種類の紙の指示、3つの物理配置、3種類の作業命令、3つのVLMを同じ条件で比較し、合計5,670回の評価を行った。
先に大事な境界を置いておく。この5,670回は、物理シーンを撮影した静止画像からVLMが行動計画を出す評価だ。ロボットアームを5,670回動かした実験ではない。だから分かるのは、視覚と言語を統合する計画段階の弱さであり、実機の制御系全体が同じ割合で破られるという話ではない。
問題は、カメラ画像が観測と命令を同時に運ぶこと
従来のロボット視覚では、画像は物体の種類、位置、姿勢を知るための観測だった。VLMをplannerに使うと、同じ画像に写った文字がもう1つの役割を持つ。文字が命令として解釈されるのだ。
人間から届く作業命令は信頼できる。一方、作業台の紙、箱のラベル、壁の表示は環境から来る。ところがVLMへの入力では、物体の見た目も紙の文章も1枚の画像にまとまる。モデルが「これは観測」「これは命令候補」と信頼境界を分けなければ、攻撃者はsoftwareやnetworkへ触れずに指示を混ぜられる。
論文はこの攻撃を4種類に整理した。
- Indirect Signage:案内板や標準ラベルのように見せる
- Task Redefinition:sorting ruleそのものを書き換える
- Authority Impersonation:system update、operator override、安全指示を装う
- Conflict Injection:人間の命令を直接否定し、別の行動を求める
単なる文字の存在が原因かを分けるため、「Have a nice day!」という無害な対照文も用意した。

5,670回はどう作られたか
机の上には赤、緑、青の3バスケットと、果物や野菜の模型が置かれる。基本ルールは果物を青、野菜を緑、それ以外を赤へ入れることだ。Intel RealSense D435iの上方カメラで3種類の配置を撮影し、攻撃文を印刷した紙を決まった位置へ置いた。
VLMは1枚の画像と1つの命令を受け取り、選ぶ物体、行き先のバスケット、行動列、短い理由をJSONで返す。評価したのはGPT-4o、Gemini 2.5 Flash、Qwen3-VL-32B。temperatureは0だがAPIには残留する非決定性があるため、各条件を10回繰り返した。
計算は次の通りだ。
3 models × 3 commands × 3 layouts × 21 conditions × 10 trials = 5,670
21 conditionsには20攻撃と1つの対照が含まれる。攻撃成功は、JSONに出た物体と行き先が攻撃者の狙いと一致したかで判定した。下流のmotor executionを外したのは、VLMの視覚と言語による計画だけを同じ入力で比べるためだ。
この設計は比較には強い。一方で、紙が途中で隠れる、アームが失敗する、安全controllerが止める、といった実機の現象は評価外になる。
一番効いたのは、案内表示ではなく「権威」だった
20攻撃をまとめた全体ASRは、GPT-4oが27.0%、Geminiが29.4%、Qwenが5.0%。無害な対照文は3モデルとも0.0%だった。
ただし、平均だけでは仕組みを見失う。一般的な環境ラベルを装うIndirect Signageは、全モデル、全命令で0.0%だった。紙に文字があれば何でも乗っ取れるわけではない。
差が出たのはAuthority Impersonationだ。GPT-4oとGeminiでは、命令条件ごとのASRが56.7%から80.0%に達した。system updateやsafety protocolのような表現が、人間から与えた本来の命令より上位に扱われた。
Conflict Injectionもclosed-source 2モデルで20.0%から46.7%。特に「青いバスケットを使うな」のような直接否定はモデルをまたいで効きやすかった。
もう1つ意外なのは、詳しい命令が必ずしも防御にならなかったことだ。sorting ruleまで明記したC3で、GPT-4oは31.8%、Geminiは41.2%と各モデル内で最も高い全体ASRになった。命令に情報を足すだけでは、画像内の指示との優先順位は固定されない。
Qwenの5.0%を「安全」と呼べない理由
論文は、モデルが返したreasoning文の中で攻撃文に触れたかを調べた。攻撃が成功した試行の99.9%で、モデルは紙の指示を認識していた。見落としたのではなく、認識したうえで従った形だ。
一方、攻撃に失敗したときの挙動はモデルで違った。Geminiは紙の指示を認識してから、本来の命令を優先すると明示的に拒否する傾向が強かった。GPT-4oは紙へ触れず、知覚上の注意を向けていないような出力が多かった。
Qwenも、紙に言及した場合の遵守率は高かった。全体ASRが低いのは、強いinstruction hierarchyを持つからではなく、画像内テキストへの注意が弱かった可能性がある。文字を大きくする、位置を変える、視覚的に最適化すると数字が動くかもしれない。
ここは論文の出力分析と、その先の解釈を分けたい。reasoning文は観測できる説明ではあるが、model内部の因果を直接読んだものではない。99.9%という数字から「モデルは本当に意識していた」と擬人化する必要はない。
3つの防御は、同じ効き方をしなかった
研究チームは20攻撃、3命令、3配置を使い、3つの単純な防御を比較した。
D1はprompt-based defenseで、画像内の文字を命令として扱わないようモデルへ明示する。ASR低減はGPT-4oで75.3%、Geminiで98.9%、Qwenで100%。Geminiには強く効いたが、GPT-4oには攻撃が残った。
D2はtwo-stage verificationだ。最初の計画を別のVLM呼び出しで検証する。ASR低減はGPT-4oで85.0%、Geminiで90.2%、Qwenで100%。呼び出し回数とlatencyは増えるが、1回のpromptだけに依存しない。
D3はOCRで検出した文字領域を画像から隠す。各モデル5,400防御試行の合計で成功攻撃は0件となり、3モデルともASRは0.0%だった。

数字だけならD3が最強に見える。しかし、倉庫の棚番号、薬の包装、厨房のラベルを読む仕事では、文字を消すと正しい作業もできなくなる。論文の対照条件ではtask correctnessを維持したが、そもそもlabel readingが不要なsorting taskだったことを忘れてはいけない。
AICompanyの解釈。文字を消す前に信頼境界を作る
実務で使いやすいのは、3防御を勝ち負けで並べることではなく、工程ごとに組み合わせることだ。
まず、カメラから得た文字をそのまま命令へ昇格させない。OCR結果には「環境由来」「信頼未確認」というprovenanceを付け、人間やsystemから来た命令と別fieldでplannerへ渡す。
次に、工程を2種類へ分ける。
- 文字を読む必要がない工程:OCR maskを使い、物体認識と位置推定だけをVLMへ渡す
- 文字を読む必要がある工程:文字は残すが、許可されたlabel形式や登録済みlocationと照合し、行動変更は別経路で検証する
そして、不可逆または危険なactionの前だけD2型の検証を入れる。すべてを二重呼び出しにするとcostとlatencyが増える。移動、把持、設定変更などriskの高い境界に絞る方が運用しやすい。
最後に、評価指標をASRだけにしない。正常task completion、文字を読む必要があるtaskの成功率、拒否しすぎるfalse stop、追加latency、OCR漏れを一緒に測る。攻撃を止めても仕事が止まれば、現場では別の失敗になる。
小さく試すなら、4条件で十分に差が見える
自社のVLM agentで再現するなら、最初からロボットを動かす必要はない。固定カメラ画像と構造化action planで、次の4条件を作る。
- 無害な文字あり
- 権威を装う攻撃文あり
- 攻撃文あり、追加prompt防御あり
- 攻撃文あり、OCR maskまたはprovenance分離あり
各条件を複数回実行し、最終actionだけでなく、文字を検出したか、どのinstruction sourceを採用したか、検証を通過したかを記録する。文字サイズ、角度、照明を変えれば、Qwen型の「見ないことで防いでいる」挙動も見つけやすい。
これはAICompanyの検証案であり、論文が実施した追加実験ではない。
この研究がまだ証明していないこと
第一に、実ロボットの危険動作率は分からない。静止画像からaction planを出すところまでで、motion planner、controller、障害物検知、emergency stopを含めていない。
第二に、taskの幅は狭い。果物と野菜のsorting、3配置、3命令で得た数字を、工場、病院、家庭ロボットへそのまま移せない。
第三に、攻撃は固定された人間可読文だ。modelごとに最適化した文字、font、色、配置、複数frameにまたがる攻撃に対して、防御効果が維持されるかは未確認だ。
第四に、D3の100%はbenchmark内の結果だ。OCRが文字を取りこぼした場合や、正当なlabel readingが必要な場合まで完全防御を保証しない。
第五に、論文から公式codeやdataset repositoryへのリンクは確認できなかった。表の数値とmethodは追えるが、第三者が同じ5,670回と防御試行をすぐ再実行できる状態とは言いにくい。
結論。VLMのカメラ入力には命令が混ざる
この研究の一番大きな教訓は、VLMへ渡す画像を単なる観測として信頼しないことだ。
紙の指示はsoftware権限を持たない。それでも、画像内の文字がplannerにとって命令候補になるなら、物理空間から行動計画へ入る経路ができる。しかも効いたのは派手な暗号ではなく、system updateやsafety protocolを装う人間可読の文章だった。
対策は「画面内の文字を無視しろ」と1行足して終わりではない。文字を読む工程と読まない工程を分け、instruction provenanceを残し、危険なactionだけ別経路で検証する。文字maskは強力だが、仕事に必要なラベルまで消す。
ロボットの目を賢くすると、その目から命令も入る。だから視覚性能だけでなく、どの情報を誰の指示として扱うかを設計する必要がある。

