37. 下列何種技術最適合整合至 CI/CD 工作流程中?
(A) 靜態應用安全測試(Static Application Security Testing, SAST)
(B) SQL 資料表比對工具
(C) 黑箱測試(Black-box Testing)
(D) 動態應用安全測試(Dynamic Application Security Testing, DAST)
統計: A(40), B(2), C(2), D(10), E(0) #3536983
詳解 (共 2 筆)
✅ 正確答案: (A) 靜態應用安全測試 (SAST)
? 題目解析
題目說明:
你要在 DevSecOps 實踐中,協助團隊建立「自動化原始碼檢測機制」以提前發現弱點,並整合到 CI/CD 工作流程中。
關鍵字:「原始碼檢測」+「自動化」+「CI/CD」= → SAST
? 一、DevSecOps 的精神
DevSecOps 的核心是:
「在開發階段就把安全測試自動化整合進開發流程。」
因此在 CI/CD pipeline(例如 GitLab CI、GitHub Actions、Jenkins)中,會整合安全掃描工具於以下階段:
| 階段 | 對應安全測試 | 目的 |
|---|---|---|
| Code(開發階段) | ? SAST | 掃描原始碼弱點(提早發現) |
| Build(建置階段) | SCA(Software Composition Analysis) | 掃描第三方元件漏洞 |
| Deploy / Runtime(運行階段) | DAST、IAST | 探測運行中漏洞 |
? 二、選項分析
(A) 靜態應用安全測試 (SAST)
✅ 掃描「原始碼」的安全弱點。
✅ 適合整合在 CI/CD Pipeline 的早期階段(build 或 commit 時)。
✅ 目的:在程式尚未部署前,提早阻止漏洞進入產線。
→ 最合適答案。
(B) SQL 資料表比對工具
❌ 與安全測試無關,屬於資料維運或版本比對用途。
(C) 黑箱測試 (Black-box Testing)
❌ 屬於滲透測試類型,通常在系統上線後進行,
不適合在 CI/CD 階段自動化整合。
(D) 動態應用安全測試 (DAST)
⚠️ 雖然屬於 DevSecOps 流程的一部分,但它針對運行中系統進行模擬攻擊,
需要服務啟動、URL 可被掃描,不適合放在「原始碼階段」的自動化檢測。
✅ 最終答案:
(A) 靜態應用安全測試 (SAST)
?補充記憶法:
| 安全測試類型 | 時機 | 特性 | 常用工具 |
|---|---|---|---|
| SAST | 開發階段 | 檢查原始碼安全漏洞 | SonarQube, Checkmarx, Fortify |
| DAST | 測試階段 | 模擬駭客攻擊、黑箱測試 | OWASP ZAP, Burp Suite |
| SCA | Build 階段 | 掃描開源套件漏洞 | Snyk, Dependency-Check |
| IAST | 測試階段 | 動靜態混合檢測 | Contrast Security |
? 一句話總結:
DevSecOps 強調「左移安全(Shift Left Security)」──在程式開發階段用 SAST 自動檢查漏洞,提早修正,避免安全問題流入生產環境。