應盡早發(fā)現安全漏洞和許可證違規(guī)杉辙,并且在SDLC中越早越好特愿。
作為安全“左移”的一部分配并,JFrog CLI 和 Xray 現在允許使用簡單的命令直接從源碼中按需掃描依賴項丑搔。
此增強功能可確保開發(fā)團隊僅將掃描過的和無違規(guī)的二進制文件上傳到 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 rt ping 以驗證您的連接。
選項 1:運行掃描命令
按需掃描源代碼味抖,而不是作為構建的一部分评甜。從包含源文件的頂級目錄運行審計命令。每個受支持的包管理器都有自己的審計命令仔涩。例如忍坷,要掃描源代碼中的 Maven 項目并報告所有漏洞:
$ jfrog xr audit-mvn
Gradle 和 npm 對應的命令是:
$ jfrog xr audit-gradle 或 $ jfrog xr audit-npm。
默認情況下熔脂,掃描會返回在所有依賴項中找到的漏洞數據佩研。要使用特定的Watch配置、存儲庫路徑或項目檢索違規(guī)數據霞揉,您需要使用以下命令選項之一:
–watches – 后跟逗號分隔的 Xray watch列表
–repo-path – 后跟目標 repo 路徑
–project – 后跟一個項目鍵
請注意旬薯,如果您使用這些命令選項之一運行掃描,則掃描結果將僅顯示違規(guī)數據而不顯示漏洞數據适秩。要查看漏洞數據绊序,請在沒有這些選項的情況下運行掃描硕舆。
默認情況下,結果將以表格格式顯示骤公。
出于自動化目的抚官,可以以 JSON 格式返回結果。要修改格式類型淋样,請?zhí)峁└袷竭x項:–format=json耗式。
通過在終端中提供–help選項查看其他選項,或閱讀JFrog CLI 文檔中的可用命令趁猴。
選項 2:條件上傳 - Maven 和 Gradle
在這種方法中刊咳,作為使用 JFrog CLI 構建過程的一部分,在上傳之前在本地系統(tǒng)上掃描所有文件儡司。如果發(fā)現任何文件易受攻擊娱挨,則會跳過上傳。
要為構建配置 JFrog CLI捕犬,包括選擇解析和部署存儲庫以及其他構建選項跷坝,請使用項目頂級目錄中的相應包管理器配置命令:$ jfrog rt mvn-config 或 $ jfrog rt gradle-config。
默認情況下碉碉,配置命令將以交互方式運行柴钻。將CI=TRUE環(huán)境變量設置為非交互式使用。
在此處閱讀有關配置和構建命令的信息垢粮,或使用–help選項查看贴届。
配置構建后,使用適當的目標/任務和選項運行構建命令蜡吧,并提供 –scan 選項以使用條件上傳毫蚓。
例如:
$ jfrog rt mvn clean install --scan
$ jfrog rt gradle clean build --scan
JFrog CLI 通過從 Xray 下載索引器組件(僅在第一次使用或更新后發(fā)生)來提供與 Xray 的集成。
在請求掃描時昔善,CLI 組裝一個層次依賴樹并將其提供給索引器元潘,索引器反過來回復漏洞/違規(guī)結果。
繼續(xù)探索
使用 JFrog CLI 可以完成更多工作君仆,請在文檔中了解更多信息翩概。您甚至可以開發(fā)和分享您自己的插件!
JFrog CLI 項目及其依賴項都是開源的返咱。在該項目的 Github 問題部分提出問題或讓我們知道您希望看到的其他功能钥庇。
JFrog CLI文檔地址:
https://www.jfrog.com/confluence/display/CLI/JFrog+CLI?ivk_sa=1024320u