使用 JFrog CLI 和 Xray 扫描源代码中的依赖项

应尽早发现安全漏洞和许可证违规,并且在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、Gradlenpm安装,对应于扫描的源。


扫描步骤

可以通过以下两种方式之一进行扫描。在部署阶段之前,直接对源进行单独扫描,或作为构建的一部分进行扫描。在这两种情况下,我们都将从在 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配置、存储库路径或项目检索违规数据,您需要使用以下命令选项之一:

–watches – 后跟逗号分隔的 Xray watch列表

–repo-path – 后跟目标 repo 路径

–project – 后跟一个项目键

请注意,如果您使用这些命令选项之一运行扫描,则扫描结果将仅显示违规数据而不显示漏洞数据。要查看漏洞数据,请在没有这些选项的情况下运行扫描。

默认情况下,结果将以表格格式显示。

出于自动化目的,可以以 JSON 格式返回结果。要修改格式类型,请提供格式选项:–format=json。

通过在终端中提供–help选项查看其他选项,或阅读JFrog CLI 文档中的可用命令。

选项 2:条件上传 - Maven 和 Gradle

在这种方法中,作为使用 JFrog CLI 构建过程的一部分,在上传之前在本地系统上扫描所有文件。如果发现任何文件易受攻击,则会跳过上传。

要为构建配置 JFrog CLI,包括选择解析和部署存储库以及其他构建选项,请使用项目顶级目录中的相应包管理器配置命令:$ jfrog rt mvn-config 或 $ jfrog rt gradle-config。

默认情况下,配置命令将以交互方式运行。将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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容