Docker Image 資安掃描工具-grype
在這個軟體開發環境都開始用Docker的時代,許多專案在開始前都會從Docker開始建立。同時DevSecOps的觀念越來越盛行的需求下,Docker的資安也成為了很重要的一環。本次就來介紹Docker Image 資安掃描工具「grype」。
這個軟體可以在各個平台上執行,是用 golang 開發的,並且它也是一個開源的軟體,安裝簡單,使用上也容易,掃描的報告也非常的清楚。
本次將介紹如何把 grype 安裝在mac。
因為 grype 有支援 homebrew 的安裝,所以可以直接使用。
$brew install grype
安裝結果如下
接下來可以透過–version來確定是否安裝完成。
$grype --version // grype 0.82.0
因為資安的相關資訊都是預先更新至本機grype的資料庫中,需要透過資料庫的資料做比對,因此會需要更新資料庫,更新的話可以用「db update」可以更新,並且也可以透過「db status」查看本機資料庫的狀態。
$grype db update // 更新資料庫
$grype db status // 查看資料庫狀態
指令執行結果如下
最後就可以準備檢查 docker image 了,而檢查指令也很簡單「grype {docker image name}」
$grype {docker image name} // ex:grype golang:alpine3.16
執行結果如下
其中就會看到這個image裡面包了哪些東西,有什麼樣的安全問題。
其中
- INSTALLED 目前安裝的版本
- FIXED-IN 需要更新的版本
- TYPE是包的檔案類型包含但不限於以下幾種:
- deb (Debian軟體包)
- binary (二進制文件)
- apk (Alpine Linux軟體包)
- go-module (Go语言模組)
- VULNERABILITY 是哪一條資安通報
- SEVERITY 是嚴重程度
在使用Docker hub上已經包好的image時,最好都要先進行資安掃描,確保其安全性,若是必要也是可以將這個檢查結合到CICD的一環,使其安全性可以更加的全面。另外這也可以成為SBOM(Software Bill of Materials)的資料來源之一。
今天就分享到這邊,謝謝大家。
註: