天天看點

使用 JFrog CLI 和 Xray 掃描源代碼中的依賴項掃描步驟繼續探索

作者:JFrog傑蛙中國

應盡早發現安全漏洞和許可證違規,并且在SDLC中越早越好。

作為安全“左移”的一部分,JFrog CLI 和 Xray 現在允許使用簡單的指令直接從源碼中按需掃描依賴項。

此增強功能可確定開發團隊僅将掃描過的和無違規的二進制檔案上傳到 Artifactory,進而幫助組織遵守其安全政策和标準。

源代碼中的依賴項掃描作為 JFrog CLI 新 v2 版本的一部分提供,源代碼掃描支援Maven、Gradle 和 npm 包。Go 和 Pip 包的支援即将推出!

你知道嗎?JFrog CLI是一個靈活且智能的用戶端,可與 Artifactory、Xray、Distribution 和 Mission Control 配合使用,以可讀和可靠的方式為您的自動化腳本提供強大的功能。

在你開始之前,你需要:

已安裝 JFrog CLI(版本 2.1.0 或更高版本)。使用您選擇的安裝程式擷取 JFrog CLI。

安裝JFrog Artifactory 和 Xray(Xray 版本 3.29.0 或以上)

Maven、Gradle或npm安裝,對應于掃描的源。

可以通過以下兩種方式之一進行掃描。在部署階段之前,直接對源進行單獨掃描,或作為建構的一部分進行掃描。在這兩種情況下,我們都将從在 JFrog CLI 上配置您的 JFrog 平台開始。

使用 JFrog CLI 配置伺服器

在您機器上的任何位置運作$ jfrog c add以配置您的平台詳細資訊。

使用 JFrog CLI 和 Xray 掃描源代碼中的依賴項掃描步驟繼續探索

運作$ jfrog rt ping 以驗證您的連接配接。

選項 1:運作掃描指令

按需掃描源代碼,而不是作為建構的一部分。從包含源檔案的頂級目錄運作審計指令。每個受支援的包管理器都有自己的審計指令。例如,要掃描源代碼中的 Maven 項目并報告所有漏洞:

$ jfrog xr audit-mvn

Gradle 和 npm 對應的指令是:

$ jfrog xr audit-gradle 或 $ jfrog xr audit-npm。

預設情況下,掃描會傳回在所有依賴項中找到的漏洞資料。要使用特定的Watch配置、存儲庫路徑或項目檢索違規資料,您需要使用以下指令選項之一:

–watches – 後跟逗号分隔的 Xray watch清單

–repo-path – 後跟目标 repo 路徑

–project – 後跟一個項目鍵

請注意,如果您使用這些指令選項之一運作掃描,則掃描結果将僅顯示違規資料而不顯示漏洞資料。要檢視漏洞資料,請在沒有這些選項的情況下運作掃描。

預設情況下,結果将以表格格式顯示。

使用 JFrog CLI 和 Xray 掃描源代碼中的依賴項掃描步驟繼續探索

出于自動化目的,可以以 JSON 格式傳回結果。要修改格式類型,請提供格式選項:–format=json。

通過在終端中提供–help選項檢視其他選項,或閱讀JFrog CLI 文檔中的可用指令。

選項 2:條件上傳 - Maven 和 Gradle

在這種方法中,作為使用 JFrog CLI 建構過程的一部分,在上傳之前在本地系統上掃描所有檔案。如果發現任何檔案易受攻擊,則會跳過上傳。

要為建構配置 JFrog CLI,包括選擇解析和部署存儲庫以及其他建構選項,請使用項目頂級目錄中的相應包管理器配置指令:$ jfrog rt mvn-config 或 $ jfrog rt gradle-config。

使用 JFrog CLI 和 Xray 掃描源代碼中的依賴項掃描步驟繼續探索

預設情況下,配置指令将以互動方式運作。将CI=TRUE環境變量設定為非互動式使用。

在此處閱讀有關配置和建構指令的資訊,或使用–help選項檢視。

配置建構後,使用适當的目标/任務和選項運作建構指令,并提供 –scan 選項以使用條件上傳。

例如:

$ jfrog rt mvn clean install --scan

$ jfrog rt gradle clean build --scan

JFrog CLI 通過從 Xray 下載下傳索引器元件(僅在第一次使用或更新後發生)來提供與 Xray 的內建。

在請求掃描時,CLI 組裝一個層次依賴樹并将其提供給索引器,索引器反過來回複漏洞/違規結果。

使用 JFrog CLI 可以完成更多工作,請在文檔中了解更多資訊。您甚至可以開發和分享您自己的插件!

JFrog CLI 項目及其依賴項都是開源的。在該項目的 Github 問題部分提出問題或讓我們知道您希望看到的其他功能。

JFrog CLI文檔位址:

https://www.jfrog.com/confluence/display/CLI/JFrog+CLI?ivk_sa=1024320u

繼續閱讀