AID-H-002.002
極高
Inference-Time Prompt & Input Validation
這是最直接的第一道防線。送進本機 LLM 的內容,在過濾前就要先做正規化,包含 Unicode 雙向文字控制字元、隱藏方向性、異常編碼,以及那種看起來不像一般使用者輸入、而是想把原本 app 請模型處理的事情,改成攻擊者指定任務的對抗文字。
RSAC 的研究人員把 Neural Exec 這種對人看起來像一長串破碎字元、不自然片段,甚至近似亂碼,卻能把模型往特定任務帶的對抗輸入,和 Unicode 由右至左覆寫控制字元(right-to-left override,RLO)結合,用來繞過 Apple Intelligence 本機 LLM 的輸入、輸出過濾與內部防護規則。Apple 已在新版 iOS 與 macOS 修正受影響系統。這邊學到的重要概念是:OS 級本機 LLM 不能因為「跑在本機」就被當成可信,還需要輸入正規化、輸出驗證、限制每個 app 能讓模型看到什麼、能叫模型做什麼,以及 client 端隔離。
![RLO rendering example showing the underlying string invoice_2026_[U+202E]fdp.exe and the visually misleading result that appears more like invoice_2026_exe.pdf](../../../assets/aia/rlo-rendering-example.png)
U+202E 會改變後面字元的顯示順序。底層字串仍然包含 .exe,但畫面上可能看起來更像安全的 .pdf 檔名。這個案例提醒我們,本機 AI 也會影響整個平台的安全。模型跑在裝置上,確實能降低一部分雲端曝險,但它也因此更靠近 app 資料、使用者檔案和作業系統代管功能。AIDEFEND 對應到的防線包括:先清理模型輸入、驗證模型輸出、限制每個 app 能交給模型的資料和可觸發的功能、隔離 client 端執行環境,以及在高機敏資料被使用前加上授權關卡。實務目標很清楚:就算本機 LLM 被帶偏,它也只能拿到應該有的權限、處理必要資料、執行原本被允許的功能,而不是變成攻擊者操作 app 或資料的入口。