路徑 03課程 6 / 6

為 AI 開發流程建立威脅模型

畫出資產、信任邊界和可能失敗的路徑。為特定開發情境選擇控制措施與測試。

進階11 分鐘已審查

發布者 我們如何撰寫

檢查理解程度威脅登錄表只有「AI 風險:高」,沒有其他細節。應先補上什麼?進行練習
威脅登錄表只有「AI 風險:高」,沒有其他細節。應先補上什麼?

學習目標

  • 畫出超越應用程式本身的開發系統。
  • 用行為者、操作和後果描述具體威脅。
  • 將威脅轉為有負責人的控制措施與驗證步驟。

選擇範圍有限的情境

先從大家能理解的一個流程開始。例如,代理程式讀取議題、編輯儲存庫、執行測試,然後開啟 PR。納入讓這些操作得以執行的系統。

列出重要資產:原始碼、客戶資訊、存取憑證、發布產物和服務可用性。確認各項資產的負責人,再找出哪些人與系統能讀取或修改每項資產。

OWASP 建議先為系統建模、辨識威脅、選擇應對方式,再驗證結果。及早使用這個方法,並隨系統變更更新。威脅建模指引。

畫出信任邊界

為虛構的議題到 PR 流程,畫出下列連結:

Issue → agent → repository → test runner → artifact store → deployment

加入模型提供者與機密值儲存位置。標記哪些內容來自信任程度較低的來源,也標記身分在哪裡取得新能力,例如從讀取議題,進一步變成可寫入儲存庫檔案。

只看應用程式圖,無法掌握完整開發風險。正式環境資料庫可能不對外開放,但 CI 工作仍可能暴露存取憑證。暫時環境與技術支援存取若影響情境,也要納入。

寫出具體失敗路徑

避免只寫「AI 可能不安全」。寫出行為者、操作、受影響資產和後果,並包含情境發生所需的條件。

情境要檢查的控制措施要求的證據
議題文字引導代理程式操作無關儲存庫儲存庫與工具範圍任務儲存庫以外的寫入遭拒絕
不可信的測試工作讀取正式環境存取憑證工作身分與機密值隔離工作流程檢查與隔離的拒絕存取測試
部署使用的產物與已審查產物不同產物身分與環境晉級規則核准與部署紀錄中的摘要值一致
失敗的資料移轉妨礙服務復原相容性與還原程序使用具代表性虛構資料的復原演練

這些只是範例,不是完整威脅清單。實際資料、工具與維運環境,決定哪些情境相關。

選擇應對方式並指定負責人

依後果與有根據的暴露程度排序優先順序。不要用數字分數營造並不存在的精確度。記錄不確定性,以及哪些證據可能改變優先順序。

應對方式可以是移除有風險的能力、縮小範圍、新增控制措施,或接受已定義的剩餘風險。接受風險需要有授權的負責人與理由,不應採用代理程式未經審查的結論。

將選定應對方式轉成工作,並設定可觀察的驗收條件。「改善代理程式安全」很難驗證;「測試工作無法讀取正式環境機密值」,則定義了可以檢查的邊界。

重大變更後重新審查

新連接器、模型路徑、環境或權限,都可能改變威脅模型。將這些變更加入複查觸發條件,也使用事件與失敗的評估結果更新假設。

試做風險審查練習,調整情境中的資料、權限、使用對象和復原條件。結果會提出問題,但不能取代針對特定系統的威脅模型,也不會授權執行工作。

進行練習

開啟風險審查練習,選擇內部資料、分支寫入、外部使用者和復原困難。從結果中選一項疑慮,寫出行為者、進入點、受影響資產、後果、控制措施、拒絕存取測試、負責人和複查觸發條件。

下載工作表(Markdown)
檢查理解程度 ↑

繼續學習

來源與延伸閱讀

Taiga 相關延伸閱讀

上一課: 將義務連結到證據