在傳統的軟體工程中,我們習慣於「確定性(Deterministic)」的系統:給定相同的輸入,程式碼永遠會執行相同的邏輯並產生相同的輸出。然而,當 AI 進入生產環境,安全工程的本質發生了根本性的改變。我們現在面對的是「機率性(Probabilistic)」系統,這意味著系統的行為不再是絕對的,而是基於機率的預測,且會隨著數據與上下文而變動。
對於 Junior 工程師來說,理解這一點至關重要。AI 安全不再僅僅是修補程式碼漏洞,而是要管理一個「會學習且不可預測」的數位實體。
AI 時代的新威脅面
在 AI 堆疊中,攻擊者不再只尋找記憶體溢位或 SQL 注入,而是利用模型本身的特性進行攻擊。
Prompt Injection(提示詞注入) 這是目前最常見的威脅。攻擊者透過精心設計的輸入,欺騙 AI 忽略原有的系統指令(System Prompt),轉而執行攻擊者的指令。這就像是讓 AI 在執行任務時,突然被洗腦而聽命於他人。
Indirect Prompt Injection(間接提示詞注入) 這比直接注入更危險。攻擊者將惡意指令埋在 AI 會讀取的外部資料中(例如網頁、PDF 或電子郵件)。當 AI 助手幫使用者總結該文件時,會無意中觸發隱藏指令,導致 AI 偷偷將使用者的私密資料外洩,或執行未授權的操作。
Data Poisoning(數據中毒) 在模型訓練或微調階段,攻擊者在訓練集中注入惡意數據,使模型在特定條件下產生錯誤的判斷或留下後門。
Model Drift(模型漂移) 雖然這不一定是攻擊,但模型在部署後,其預測表現會隨時間或數據分佈改變而下降。如果安全監控依賴於模型表現,漂移可能會導致安全防線失效。
從「保護程式碼」轉向「監控行為」
面對上述威脅,安全工程師的技能樹需要全面擴展。你不能只懂防火牆和權限管理,還必須理解 AI 的運作邏輯。
理解模型行為與失效模式 你必須知道 AI 為什麼會產生幻覺(Hallucinations),以及它如何被誘導。這要求工程師具備基礎的機器學習知識,例如 Transformer 架構與注意力機制(Attention Mechanism),才能判斷某個問題是屬於「模型天生的限制」還是「可修復的實作缺陷」。
將 AI Agent 視為獨立身份 當 AI 從「對話框」變成能操作 API 的「Agent(代理人)」時,它就變成了一個具有權限的實體。我們不能信任 AI Agent,而應對其採取零信任(Zero Trust)架構:給予最小權限(Least Privilege),並將其視同一名員工,擁有獨立的身份識別與審計日誌。
建立行為基線與持續驗證 由於 AI 輸出是不確定的,靜態的規則檢查已不足夠。我們需要建立行為基線(Behavioral Baseline),監控 AI 呼叫 API 的頻率、訪問數據的範圍以及輸出的邏輯一致性,一旦偏離常態,立即觸發警報。
AI 驅動的社會工程學:工業化欺騙
除了攻擊 AI 系統,攻擊者也在利用 AI 來攻擊人類。生成式 AI 讓社會工程學(Social Engineering)實現了「個性化」與「規模化」的結合。
過去的釣魚郵件往往有錯字或語法問題,但現在 AI 可以結合公開情報(OSINT),模仿特定主管的口吻、引用真實的專案名稱,甚至使用 Deepfake 偽造聲音。這種「工業化說服」極大地降低了攻擊成本,讓人類這道防線變得極其脆弱。
未來趨勢:自主化與系統性崩潰
隨著 AI 系統之間開始互相溝通(AI-to-AI communication),威脅將演變為「跨系統提示詞操縱」。一個 AI 的惡意輸出可能成為另一個 AI 的信任輸入,導致連鎖反應。
最危險的場景將是「失控的自主權(Misaligned Autonomy)」。當 AI 被授予過高的操作權限,且缺乏有效的人類干預機制(Human-in-the-loop)時,微小的操縱可能會在自動化流水線中被放大,造成大規模的實體損害。
給安全工程師的實務建議
不要追求完美,要追求韌性(Resilience)。AI 系統必然會出錯,目標應該是縮小影響範圍(Blast Radius)並提升偵測速度。
實施行動級別的控制。不要只在輸入端做過濾,要在 AI 執行動作(如刪除資料、轉帳)的工具層(Tool Layer)設置強制性的審核機制。
跨團隊協作。安全工程師必須與 ML 工程師、數據科學家共同定義 AI 的「安全邊界」,將安全考量提前到模型訓練與 RAG(檢索增強生成)的設計階段。
來源:infoq.com - Virtual panel: Security in the Machine Age: Expert Insights on AI Threat Evolution
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。