文件內容注入
AI 在讀文件時,被文件內的惡意指令誘導忽略原本規則,轉而暴露更多內容。
先講結論:當 AI 開始能查資料、調工具、跑 workflow 時,風險就不再只是答錯話,而是可能真的讀到不該讀的資料、做了不該做的事,甚至把錯誤動作放大成系統風險。
前面幾章已經把 Skill、MCP、OpenClaw 與 workflow 串起來了。第 10 章要處理的是最後一個不能跳過的問題:當 AI 不只會回答,還開始能讀資料、調工具、接系統時,哪些地方最容易出事?系統又該怎麼設計防呆?
純聊天模型最多是講錯話;一旦系統開始查資料、寫資料、呼叫外部能力,風險就從內容品質問題升級成資料、權限與動作控制問題。
它不是傳統 SQL Injection 那種字串攻擊,而是利用內容本身去影響模型判斷,讓模型偏離原本的規則、流程或邊界。
它不一定來自使用者直接發難,也可能藏在文件、網頁、知識庫內容,甚至工具回傳結果裡。
AI 在讀文件時,被文件內的惡意指令誘導忽略原本規則,轉而暴露更多內容。
外部搜尋結果、網頁內容或第三方系統輸出裡混進誤導指令,影響後續決策。
使用者用像管理員、開發者或內部流程的口吻要求系統越過原本邊界。
很多資料外洩不是模型自己憑空發明的,而是系統在流程中把不該進模型的資料先交進去了。
敏感文件、token、內部規則、個資或查詢結果直接被塞進 prompt 或上下文。
工具回傳太多原始資料,沒有裁切、遮罩與欄位過濾,導致模型拿到超出任務所需的內容。
模型把不該回給使用者的內容原樣吐出來,例如內部規則、其他使用者資料、完整查詢結果。
Prompt 可以指引模型,但不能當成最終安全機制。真正的邊界必須放在工具層、runtime 層與後端授權層。
安全不是把 system prompt 寫得很兇,而是讓系統就算遇到錯誤判斷,也不容易越權、不容易外洩、不容易做出高風險動作。
所以 AI 安全不是額外附加的一層,而是你前面每一層能力在真正落地時都必須重新檢查一次的事情。
不要把安全寄託在「模型應該不會這樣做」。好的 AI 系統設計,應該是就算模型判斷失誤,系統也不會輕易越權、不會輕易外洩、也不會輕易做出高風險動作。
Q:哪個做法最接近穩健的 AI 安全設計?