你看到一張普通的醫學影像,模型看到的卻可能還多一句指令。
Clusmann 等人(2025)在 Nature Communications 上測了這件事。他們把人眼幾乎察覺不到的指令嵌進醫療影像,對四個視覺語言模型(Claude 3 Opus、Claude 3.5 Sonnet、Reka Core、GPT-4o)發動 594 次攻擊,四個全部中招——模型會從正確判讀改口成可能造成傷害的錯誤診斷。
Prompt Injection 不一定長成正常文字。「看不見」有兩種,防法也不一樣。
圖片、音訊、PDF、工具回傳。文字過濾器做得再乾淨,這些內容一樣會進到上下文(Context)。這不是繞過過濾器,是根本沒經過它。
輸入正規化要做,但別高估它。 Unicode 正規化(NFKC)不會移除標籤字元那一類不可見碼位——想擋,得另外用碼位白名單,或明確剔除。
每個模態各自檢查,並且假設檢查不完。 影像裡的 sub-visual prompt 目前沒有可靠的偵測方法。所以一張圖片最終能造成多大損害,還是取決於這個 Agent 手上有什麼權限,而不是取決於你的過濾器有多嚴。
把送進模型的最終輸入 log 下來。 不是使用者貼上的原文,是經過檔案解析、OCR、工具回傳、模板拼接之後,真正進到 context 的那一份。多數團隊看得到前者,看不到後者——而攻擊發生在後者。
畫面上有沒有怪東西,不是重點。
模型最後到底讀到了什麼?