AI 時代必備的資安意識:小心提示詞注入、謹慎使用第三方內容 - CS146S 學習記錄 ep16
三句話摘要
AI 時代新增的攻擊面(Prompt Injection、工具濫用)與 LLM 輔助資安測試的能力邊界。 AI 讓資安測試門檻降低,但誤報率高、結果不穩定,開發者必須保有自己的判斷能力,並對第三方套件與外部輸入內容始終保持謹慎。 Prompt Injection 是最值得所有人警惕的新型漏洞。 任何透過 Agent 解析的外部內容(Email、PDF、網址摘要)都可能夾帶惡意指令,悄悄讓 Agent 執行使用者不知情的操作,且攻擊者可明確要求 AI 不告知使用者。
重點整理
重點- 1
Prompt Injection 是最值得所有人警惕的新型漏洞。 任何透過 Agent 解析的外部內容(Email、PDF、網址摘要)都可能夾帶惡意指令,悄悄讓 Agent 執行使用者不知情的操作,且攻擊者可明確要求 AI 不告知使用者。
- 2
工具濫用與程式碼攻擊的核心問題是權限邊界設計不足。 開發者通常只考慮「當下這個 Agent 想做什麼」,卻忽略「給了這個能力之後,日後能被用來做什麼」,導致 Agent 獲得過於通用的執行能力而失控。
- 3
AI 同時是攻擊面擴大的原因,也是降低資安門檻的工具。 LLM 可以在任何開發階段自動執行安全檢查,讓沒有資安背景的開發者也能得到基本的漏洞提示,實現「安全左移」。
- 4
LLM 的安全分析結果不穩定,必須保留自己的判斷能力。 誤報率高、同一段程式重複分析結果不同、context 過長時智力下降,都使 AI 的安全報告只能作為參考起點,而非最終結論。
實用技巧與重點
乾貨- 工具名稱
- SAST(Static Application Security Testing):靜態分析原始碼與 Binary
- DAST(Dynamic Application Security Testing):動態模擬真實駭客行為,誤報率較低
- SCA(Software Composition Analysis):分析第三方套件的已知資安風險
- Claude Code、Codex:可用於 SAST,但誤報率 50%~100%
- VS Code MCP 設定:可設定是否自動允許所有工具執行(預設關閉)
- 具體數字
- 傳統 SAST 誤報率:常超過 50%
- LLM 做 SAST 誤報率:50%~100%
- 攻擊類型(AI 時代新增)
- Prompt Injection(提示詞注入):透過 Email、PDF、網址內容注入惡意指令
- Tool Misuse(工具濫用):透過注入偽造工具,讓 Agent 執行未授權操作
- Code Attack(程式碼攻擊):利用過於通用的執行權限,Agent 自行寫程式探索環境
- Intent Manipulation(意圖破壞):偽裝合法工具在正常流程中夾帶資料外洩步驟
- Identity Impersonation(身份冒用):偽裝成合法 Agent,控制其他 Agent 協同執行惡意任務
- 可直接使用的 Prompt
- > 「請檢查這個專案的安全與測試風險,找出五個最需要優先處理的問題,包含傳統漏洞與 AI 時代新型漏洞,並簡要說明每個問題。」
- 實務判斷依據
- 選第三方套件前:查 Repository 星星數、維護活躍度、作者信任度
- API Key 絕對不能外流
- 上線前才做完整資安檢查,開發原型階段無須浪費時間與 token
結論
結論“AI 讓資安測試門檻降低,但誤報率高、結果不穩定,開發者必須保有自己的判斷能力,並對第三方套件與外部輸入內容始終保持謹慎。”
完整解析
詳細這支影片是 CXSOS 課程第六週的內容,主題為「AI 時代的測試與安全」。講者 Jane 從為什麼資安重要出發,以 Replit 刪除客戶程式碼庫並事後說謊、GitHub Copilot 存在 Prompt Injection 漏洞等真實案例說明:軟體錯誤不僅讓使用者失去信心,在社群媒體高度發達的時代,一個疏失就可能燎原成大規模公關危機。而 AI 時代的問題在於,大量程式碼由 LLM 生成,開發者在不知不覺中就可能引入傳統早已存在的資安漏洞。
在傳統防禦工具的介紹上,影片說明了三種互補的偵測技術:SAST 從原始碼端靜態分析,可在任何開發階段執行;DAST 讓程式真正跑起來,模擬駭客從使用者端發動的攻擊,誤報率相對較低;SCA 則逐層掃描所有第三方套件及其依賴套件,比對已知資安漏洞資料庫。講者特別指出,在 AI 時代 SCA 的重要性更加提升,因為 Agent 在 auto 模式下可能自行安裝冷門套件,開發者根本不清楚裝了什麼。
進入 AI 新增攻擊面的核心內容,影片重點講解了 Prompt Injection。這種攻擊發生在使用者將外部內容(Email、PDF、網址)交給 Agent 處理時,攻擊者預先在這些內容中嵌入隱藏指令,引導 Agent 執行使用者毫不知情的行動,例如上傳機密資料、竊取系統提示詞(System Prompt)、或在 MCP 設定中悄悄新增惡意伺服器。影片以 Twitter Bot 的 Prompt 範例,以及在 VS Code 中透過程式碼注釋觸發 Agent 修改設定檔並啟動計算機的 demo 為例,具體示範攻擊如何在不驚動使用者的情況下完成。講者進一步說明,身份冒用(Identity Impersonation)是 Prompt Injection 的高階延伸:攻擊者可以透過注入偽裝成「資安稽核 Agent」,讓所有其他 Agent 的輸出都經過它「審查」,而審查流程中夾帶了資料外洩步驟,整個過程看起來完全合理。
面對這些威脅,AI 也帶來好消息:「安全左移」成為可能。LLM 可以在開發的任何階段自動執行安全掃描,讓沒有資安背景的開發者也能得到即時提示,並可請 Agent 解釋發現的問題。然而講者同時提醒,LLM 做靜態安全分析的誤報率高達 50% 到 100%,而傳統 SAST 也常超過 50%,加上 Agent 對同一段程式重複分析結果不穩定、context 過長時智力下降、跨檔案的複合型漏洞難以被片段分析捕捉,這些限制都說明 AI 的安全報告只能作為參考起點。講者建議,當 AI 回報某個風險時,最好的驗證方式是請 Agent 寫一段程式去模擬攻擊情境,用執行結果確認漏洞是否真實存在,而非直接接受或否定 AI 的判斷。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


