以安全為先的 AI 開發

進階 AI 輔助程式開發

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

從測試走向安全

保護應用程式碼的盾牌

 

 

  • 測得再好也不代表一定「安全」
  • 在進入「正式環境」前,著重「預防弱點」
進階 AI 輔助程式開發

安全優先原則

 

 

安全優先原則示意圖

 

 

  • ✔ 及早找出「弱點模式」
  • ✔ 用「安全作法」修補,不是臨時補丁
  • ✔ 「自動化」安全檢查
進階 AI 輔助程式開發

為何用 AI 做安全?

AI 機器人掃描程式碼的安全問題

 

 

  • 快速「掃描」不熟悉的程式碼
  • 「標示」高風險熱點
  • 「提出」具體修補方案
進階 AI 輔助程式開發

AI 協助的安全審查

🤖 安全提示詞:

你是一名應用程式資安工程師。

請掃描此版本庫中的「常見弱點」,例如 SQL injection、cross-site scripting、cross-site request forgery、command injection、缺少身分驗證與授權檢查,或敏感資料外洩。請遵循「CWE Top 25 Most Dangerous Software Weaknesses」。

對每個發現請包含:

  • 發生的「位置」與為何有風險。
  • 可觸發問題的最小化概念驗證「輸入」。
進階 AI 輔助程式開發

安全審查輸出

top-vulnerabilities.png

進階 AI 輔助程式開發

用資安掃描工具驗證

 

scan-commands.png

  • 用「掃描工具」驗證 AI 發現
  • pip-audit → 套件相依弱點
  • semgrep → 不安全程式碼模式
進階 AI 輔助程式開發

解讀掃描結果

🤖 解讀結果的提示詞:

以下是掃描輸出。請協助解讀結果,並列出發現的弱點,盡可能使用官方名稱。

將發現分組為快速修復、中等工時、與架構性變更。對每一項,評估風險並標註嚴重等級。

<copy security reports here>

scan-reports.png

進階 AI 輔助程式開發
進階 AI 輔助程式開發

自動化安全檢查

 

🤖 CI 提示詞:

將 pip-audit 與 semgrep 指令加入此程式碼庫的 CI 工作流程,定期執行安全掃描。

設定工作流程在高嚴重等級時失敗,並保持輸出可重現。

ai-ci.png

  • 整合進「CI 工作流程」
  • 自動化「單元/整合測試」
  • 自動化「相依稽核」與「靜態分析」
  • 為網頁服務加入「OWASP ZAP」
進階 AI 輔助程式開發

安全提示詞樣式

含糊與安全提示詞的比較

進階 AI 輔助程式開發

三段式樣式

 

 

  • 「威脅模型」→ 需要保護的是什麼
  • 「安全預設」→ 較安全的基礎元件
  • 「驗證測試」→ 防止問題再發

 

 

三段式安全提示詞樣式

進階 AI 輔助程式開發

一起來練習吧!

進階 AI 輔助程式開發

Preparing Video For Download...