你把一個服務包成 Docker 映像檔,準備交給同事測試或部署。安全掃描器跑完後,畫面上突然出現幾十個甚至上百個警示:套件版本太舊、基礎映像有漏洞、Dockerfile(描述這個映像怎麼建起來的設定檔)寫法不安全、某些設定可能讓容器權限太大。
如果你不是每天處理資安的人,很容易卡在兩個極端:不是把警示全部忽略,就是請 AI 幫你「全部修好」。前者可能留下真正危險的洞;後者也不安全,因為 AI 可能改掉版本、安裝方式或執行權限,讓服務看起來變安全,實際上卻壞在另一個地方。
OWASP Incubator Project DockSec 最近受到多家資安與開源媒體介紹。它把 Trivy、Hadolint、Docker Scout 這類既有 Docker 掃描工具整合起來,再用大型語言模型,也就是能讀懂文字並產生解釋的 AI,整理警示、說明風險,並提出 Dockerfile 的修補建議。它也提供只掃描、不呼叫 AI 的離線模式(scan-only);需要 AI 解釋時,才連到 OpenAI、Anthropic、Google Gemini 或本機 Ollama 等模型。
這類工具的價值,不是讓 AI 直接替你按下修補鍵。真正值得學的是:掃描結果變多以後,團隊需要一個「先分層、再修補、最後有人確認」的流程。

問題不是警示太少,而是警示太多以後沒人知道先看哪一個
Docker 是一種把程式、執行環境和相依套件打包在一起的方式。很多網站、API、內部工具和 AI 小服務,都會用 Docker 讓部署比較穩定。問題是,這個包裡可能同時包含作業系統套件、語言套件、設定檔和啟動指令;任何一層過舊或權限太大,都可能變成風險。
傳統掃描工具很會找問題,卻不一定很會幫忙判斷優先順序。對一般開發者來說,一份掃描報告常常像這樣:
- 有些警示是真的急,需要今天修。
- 有些警示存在於套件裡,但你的服務根本沒有用到那段功能。
- 有些修補看起來只是升級版本,實際上可能改到相容性。
- 有些 Dockerfile 建議很合理,但會讓原本的部署流程失效。
DockSec 這類工具想補上的,就是「從一堆警示到可理解修補」中間的空白。Open Source For You 引述專案作者的說法:以前開發者可能收到 200 多個 CVE,也就是已公開編號的安全漏洞,卻很難知道「到底要修哪幾行」。
但這也帶來新的風險:當 AI 把修補說得很順,團隊更容易以為它已經完成判斷。事實上,AI 可以幫忙整理線索,不能替你決定這個服務能不能改版本、能不能換基礎映像、能不能刪掉某個套件。
先用三層表分清楚:可照表修、要測試、要人決定
看到 AI 整理好的掃描報告時,不要先問「它是不是很聰明」。先問:這個修補如果做錯,會影響誰?
| 修補層級 | 常見例子 | 下一步 |
|---|---|---|
| 可照表修 | Dockerfile 格式、明顯不必要的暫存檔、文件化的低風險設定 | 照建議修改,仍要留下差異紀錄 |
| 測試後再修 | 升級套件版本、調整基礎映像、改變建置步驟 | 在隔離的測試環境跑測試;失敗時要能回滾/復原 |
| 必須有人決定 | 改權限模型、移除核心套件、調整網路或憑證設定、影響客戶資料處理 | 請負責這件事的人確認風險、時程與上線窗口 |
這張表的重點,是把「AI 建議」改成「可追蹤的修補決策」。AI 可以說明某個漏洞為什麼值得注意,也可以指向 Dockerfile 的可能修改位置;但只要修補會影響部署、權限、資料處理或客戶可用性,就不能只讓 AI 建議一路通到正式環境。
特別是權限相關修補,要格外小心。降低權限通常是好事,但如果你的服務原本靠某個檔案、連線或系統能力運作,直接改掉可能讓它在測試時正常、在正式環境才壞。安全不是把所有權限都砍掉,而是知道每個權限為什麼存在,哪些可以移除,哪些要改成更窄的替代做法。
AI 修補建議要先過四個檢查點
如果團隊想把 AI 輔助掃描放進日常流程,可以把每個修補建議都放進四個檢查點。
| 檢查點 | 要問的問題 | 為什麼重要 |
|---|---|---|
| 影響範圍 | 這個漏洞真的影響目前映像檔、目前執行方式和目前開放的入口嗎? | 避免把時間花在不會被觸發的警示上 |
| 修改內容 | AI 建議改的是版本、設定、權限,還是整個建置流程? | 不同修改需要不同測試強度 |
| 測試證據 | 修改後有沒有跑單元測試、整合測試、啟動測試或部署測試? | 避免「掃描分數變高,但服務壞掉」 |
| 復原方式 | 如果修補造成問題,能不能快速回到前一版? | 安全修補也要有回滾/復原計畫 |
「回滾/復原」就是把變更退回前一個穩定狀態。這不是悲觀,而是安全工作的一部分。越是涉及基礎映像、系統套件和部署權限的修改,越需要在修改前先知道怎麼退回。
也不要把 0 到 100 的安全分數當成唯一目標。分數可以幫你追蹤改善,但分數不是產品是否安全的完整答案。真正要看的,是高風險警示是否被處理、修補是否有測試、例外是否有人批准,以及下次掃描時是否能看懂為什麼某個警示被保留。
什麼情境不適合讓 AI 自動修補
有些修補很適合讓 AI 協助整理。例如,把報告翻成白話、把重複警示合併、列出可能的 Dockerfile 修改方式。這些工作能節省閱讀時間。
但下面幾種情境,不適合讓 AI 直接自動修補後上線:
- 服務處理客戶資料、付款、登入、內部憑證或公司機密。
- 修補會改到基礎映像、資料庫驅動、加密套件或網路設定。
- 目前沒有自動測試,也沒有明確的部署回滾/復原方式。
- 團隊沒有人能說明這個容器需要哪些權限。
- 掃描工具和 AI 模型需要把報告資料送到外部服務,但你還沒確認裡面是否含有敏感資訊。
DockSec 的文件提到,它可以只做離線掃描,也能在需要時使用不同 AI 模型。這提醒我們:導入任何 AI 輔助資安工具前,都要先看資料會不會離開本機、送出去的是完整映像內容還是掃描摘要、誰能看到報告、報告會保存在哪裡。
如果你還說不清楚這些問題,就先不要把它放進正式建置流程。可以先在隔離的測試環境跑一次,拿一個非敏感專案練習分類與修補流程。
最小可用流程:讓 AI 幫忙解釋,但讓人決定放行
一個小團隊不需要一開始就建立複雜的資安平台。比較實際的做法,是先把掃描結果放進一張簡單表格。這張表不是第三套新標準,而是把前面的三層分類與四個檢查點,濃縮成一份可以貼進 PR、工單或修補紀錄的工作表:
| 欄位 | 要填什麼 |
|---|---|
| 警示摘要 | AI 或掃描工具整理出的問題 |
| 影響判斷 | 這個問題是否影響目前服務;如果不影響,為什麼 |
| 修補類型 | 可照表修、測試後再修、必須有人決定 |
| 測試證據 | 修改後跑過哪些測試、結果如何 |
| 放行人 | 真正確認這次修補可以合併或部署的人 |
這個流程看起來比「一鍵修好」慢,但它能避免最危險的誤會:以為 AI 解釋了漏洞,就等於 AI 承擔了修補後果。
用日常來理解

- 團隊收到一整箱安全警示,一開始每張看起來都很急。
- 大家先把警示分成可照表修、要測試、必須有人決定三種籃子。
- AI 幫忙整理線索與檢查表,但人仍要確認測試證據和復原方式。
- 最後只有低風險修補先放行,高風險項目留給負責人判斷。
DockSec 這類工具把安全掃描變得比較容易讀,這是好事。只是,越容易讀的報告,越需要清楚的人工關卡。下一次 Docker 掃描器丟出一堆漏洞時,不要急著叫 AI 全部改完。先分清楚:哪些只是整理工作,哪些是工程修改,哪些會影響真正的產品責任。
AI 整理卡
依這篇情境,請 AI 幫你整理
複製到你自己的 AI 聊天工具,讓它把這篇微課轉成你的個人版檢查清單。BMC 不會看到你貼給 AI 的內容。
參考來源
- OWASP:DockSec project page — https://owasp.org/www-project-docksec/
- GitHub:OWASP/DockSec — https://github.com/OWASP/DockSec
- Open Source For You:OWASP-Backed Open Source DockSec Uses LLMs To Fix Docker Vulnerabilities Faster — https://www.opensourceforu.com/2026/05/owasp-backed-open-source-docksec-uses-llms-to-fix-docker-vulnerabilities-faster/
- Help Net Security:DockSec: Open-source AI-powered Docker security scanner — https://www.helpnetsecurity.com/2026/06/08/docksec-open-source-ai-docker-security-scanner/
- SecurityWeek:Open Source DockSec Uses AI to Cut Through Vulnerability Noise in Docker Images — https://www.securityweek.com/open-source-docksec-uses-ai-to-cut-through-vulnerability-noise-in-docker-images/