題幹與適用場景
你負責多個儲存庫的研發平台。安全團隊希望每個拉取請求都顯示新增、更新、刪除的相依套件及漏洞影響,發現高風險套件時阻止合併;研發團隊擔心誤報、授權衝突與等待變長。假設平台能讀取清單與鎖定檔,擁有四週試點窗口,目標是降低進入生產的相依風險並保持交付流暢。
面試官考察點
面試官看你能否把「更安全」拆成可觀測結果:高風險相依套件進入生產的數量、發現到修復的時間、門禁阻塞率、誤報率與開發等待 p95。強回答會區分可見性(評論或報告)與強制性(阻止合併),並依儲存庫風險與生態支援度分級,而非全公司一刀切。
回答前需要澄清的問題
- 哪些漏洞等級或授權義務必須阻斷?若法律義務高於可接受風險,策略應更嚴格。
- 目前相依圖涵蓋哪些生態與鎖定檔?無法解析的儲存庫不能假設已受保護。
- 修復責任人與 SLA 是誰?沒有責任分配時,門禁只會累積例外。
- 緊急發布如何處理?需要可稽核的臨時豁免與到期時間。
- 目標是發現、阻斷,還是兩者都要?若誤報高,先只評論再逐步阻斷。
30 秒回答框架
「我先建立基線:高風險相依變更量、修復中位數與 p95、門禁阻塞與例外率。接著在相依圖完整、檢查穩定的高風險儲存庫試點,先報告再阻斷 critical,再評估 high。成功標準同時包含風險下降與交付護欄;若誤報或等待越界,就退回報告模式並修正规則。」
分步驟深入解答
- 劃分風險。 用可利用性、生產暴露、資料敏感度與授權義務給儲存庫分層;不要只按漏洞分數排序。
- 驗證資料。 檢查清單、鎖定檔與相依提交是否被解析;對未支援生態標記「未知」,不能當作安全。
- 設計策略。 低風險儲存庫先評論;高風險儲存庫阻斷 critical;授權規則使用明確的 SPDX 允許或拒絕集合,並保留人工複核。
- 定義指標。 主要指標是生產高風險相依新增率與修復 p95;護欄是門禁阻塞率、誤報率、建置等待 p95、例外率與安全團隊工時。
- 灰度與回饋。 先覆蓋 10% 高風險儲存庫,記錄規則命中、修復結果、豁免原因與到期情況;按生態分別比較,避免平均值掩蓋缺口。
- 發布與回滾。 透過組織規則集逐步擴大範圍;任何規則變更都版本化。阻塞率或等待超過門檻時立即切回報告模式,而不是讓團隊繞過檢查。
替代方案包括只在發布分支阻斷、使用每日掃描、為執行期相依與開發相依設定不同門檻,或先投入鎖定檔覆蓋率。若主要問題是資產不可見,先補齊相依圖比加嚴門禁更有效。
高品質示範回答
「我會把它當作風險控制產品評估。第一週測量四類基線:生產高風險相依新增率、發現到修復 p95、相依檢查阻塞率、人工豁免率。第二週在相依圖完整且有安全負責人的高風險儲存庫試點,先以評論模式執行;第三週只阻斷 critical,並用明確的 SPDX 授權規則,保留有理由與到期時間的豁免。成功要求新增率下降 40%,修復 p95 不上升,阻塞率低於 5%,建置等待 p95 增幅低於 10%。如果未解析相依超過 2%,我會暫停擴大範圍並先補資料;如果緊急豁免超過 10%,表示策略或責任分配有問題。」
常見錯誤
- 錯誤表現: 一開始阻斷所有漏洞 → 失敗原因: 嚴重度、可利用性與生產暴露沒有分層 → 修正方法: 先報告,依儲存庫風險逐級阻斷。
- 錯誤表現: 只看掃描命中數量 → 失敗原因: 命中不等於風險降低 → 修正方法: 追蹤生產新增率與修復時效。
- 錯誤表現: 忽略鎖定檔與生態覆蓋 → 失敗原因: 未解析相依會製造虛假的安全感 → 修正方法: 把覆蓋率作為前置指標並標記未知。
- 錯誤表現: 允許永久豁免 → 失敗原因: 門禁逐漸失去約束力 → 修正方法: 要求理由、負責人與到期時間。
追問及應對
誤報導致開發者頻繁申訴,是否關閉門禁?
先按規則、生態與嚴重度拆分誤報,保留報告模式收集證據;只有誤報無法在目標 SLA 內下降時才回退,並把規則修復列為試點退出條件。
一個 critical 漏洞沒有可用修復版本,怎麼辦?
將「無修復版本」作為顯式狀態,要求安全負責人批准臨時豁免、補償控制與到期複查;不能把掃描失敗偽裝成通過。
如何證明策略沒有拖慢交付?
按儲存庫與變更類型比較試點前後等待 p95、合併吞吐與回滾率,同時報告例外率;只看全公司平均值會掩蓋少數團隊的嚴重阻塞。
什麼時候擴大到全組織?
當高風險儲存庫覆蓋率、規則命中可解釋性、修復 SLA 與等待護欄連續兩個發布週期達標,且豁免按期關閉,才擴大範圍。