在 GitLab CI 中使用 Google osv-scanner

根據 iThome 的報導,Google 釋出了一個新的免費開源軟體漏洞掃描工具 OSV-Scanner,可以幫助開發者自動掃描找出專案內的相依套件是否存有漏洞。看見這樣的好工具,我們第一時間當然要問一句,這玩意能夠放進我們的 CI Pipeline 嗎?是否能有助於我們及早發現程式碼中潛藏的資安問題呢? 因此本文,就讓我們試著在 GitLab CI Pipeline 中運用 OSV-Scanner 吧! 操作步驟 尋找可用的 Docker Image 老樣子,想要在 GitLab CI Pipeline 中試用一個新工具的第一步,當然是先找找看有沒有現成的 Docker image 可以使用。 在今天 2023/1/1 於 Docker Hub 上搜尋「osv-scanner」,只能找到兩個看起來並非是 Google 官方建立的 Image。 這兩個 Image 看起來都沒什麼人 Download 使用,稍微深入瀏覽後,可以發現 anmalkov/osv-scanner 的說明較完整,有興趣者可以嘗試看看。 以 anmalkov/osv-scanner 為例,我用它來嘗試掃描了手邊的一個專案,得到如下圖的結果,它依據 package-lock.json 的資訊,幫我找出許多的 Vulnerabilities,並且每一個 Vulnerability 都會提供一個 OSV URL,讓我可以了解更多的詳細資訊。 OSV URL 的網頁內容如下,會有完整的漏洞說明。 如果你想要自己 Build 一個 Image,則可以參考 GitHub Repo - osv-scanner ,在 Repo 中有提供 Dockerfile ,可以用來 Build image。在本文,我就是參考 GitHub Repo 的 Dockerfile,自行 Build 了一個可以讓我在 GitLab CI 中使用的 Image,並上傳 Docker Hub - chengweisdocker/osv-scanner-for-ci。...

January 1, 2023 · Cheng Wei Chen