需要其他JFrog产品的帮助?hth华体会最新官方网站

JFrog平台
JFrog Artifactory
JFrog x光
JFrog任务控制中心
JFrog分布
(JFrog管道)
JFrog访问


页面树
跳到元数据的末尾
进入元数据的开始

概述

介绍JFrog CLI配合JFrog Xray的使用方法。

阅读更多关于JFrog CLI的信息在这里

身份验证

当与Xray一起使用时,JFrog CLI提供了几种身份验证方法:JFrog CLI不支持未经身份验证访问Xray。

使用用户名和密码进行认证

要使用Xray登录凭据进行身份验证,请使用c add命令或者为每个命令提供以下选项。

命令选项 描述
url—— JFrog x射线API端点URL。通常以/xray结尾
——用户 JFrog用户名
——密码 JFrog密码

使用访问令牌进行身份验证

若要使用x射线访问令牌进行身份验证,请使用c add命令或者为每个命令提供以下选项。

命令选项 描述
url—— JFrog x射线API端点URL。通常以/xray结尾
——访问令牌 JFrog访问令牌

页面内容


将军的命令

运行cUrl

使用已配置的x射线详细信息执行cUrl命令。该命令期望cUrl客户端包含在PATH中。

命令名

xr旋度

缩写
xr cl
命令选项


——服务器id

(可选)

配置的服务器IDc add命令。如果不指定,则使用默认配置的服务器。

命令参数

cUrl参数和标志

传递给cUrl的参数和标志的相同列表,除了以下更改:

  1. 不应该传递完整的x射线URL。相反,应该发送REST端点URI。
  2. 不应该传递登录凭据。相反,应该使用——server-id。

例子

示例1

执行cUrl客户端,发送一个GET请求到/api/system/version端点到默认配置的x射线服务器。

jf xr curl -XGET /api/v1/system/version

示例2

执行cUrl客户端,向/api/v1/system/version端点发送一个GET请求到配置好的my-xr-server服务器ID。

jf rt curl -XGET /api/v1/system/version——server-id my-xr-server


下载Xray数据库的更新

offline-update命令将更新下载到for Xray的漏洞数据库。Xray用户界面允许为您构建命令结构。

命令名

xr offline-update

缩写
xr欧
命令选项


——license-id

(强制)

x射线许可证ID。

——从

(可选)

从更新日期开始,格式为YYYY-MM-DD。

——以

(可选)

以YYYY-MM-DD格式更新日期。

——版本

(可选)

Xray API版本。

——目标

(默认值:. /)

下载升级文件的路径。

——dbsyncv3

(默认值:false)

使用Xray DBSync V3时,设置为true。

——定期

(默认值:false)

设置为true获取x射线DBSync V3周期包(带dbsyncv3标志使用)。

命令参数
该命令不接受参数。

按需二进制扫描

按需二进制扫描允许您指向本地文件系统中的二进制文件,并在将二进制文件或构建到Artifactory之前接收包含该二进制文件的漏洞、许可证和策略违规列表的报告。

扫描本地文件系统中的文件

这个jf扫描命令对本地文件系统中的文件进行x射线扫描。

该命令要求:

  • x射线3.29.0或以上版本
  • JFrog CLI 2.1.0或以上版本
命令名

扫描

缩写

年代

命令选项

——服务器id

(可选)

配置的服务器IDc add命令。如果不指定,则使用默认配置的服务器。

——规范

(可选)

指定要扫描的文件的文件路径。如果为命令提供了pattern参数,则不应提供此选项。

——项目

(可选)

JFrog项目密钥,使x射线能够确定相应的安全违规。只有在没有提供——repo-path和——watches选项时,命令才接受该选项。如果三个选项都没有提供,该命令将显示所有已知的漏洞。

——repo-path

(可选)

/的形式生成Artifactory存储库路径,从而使Xray能够据此确定违规行为。只有在没有提供——project和——watches选项时,命令才接受该选项。如果三个选项都没有提供,该命令将显示所有已知的漏洞。

——手表

(可选)

一个以逗号分隔的Xray手表列表,使Xray能够确定相应的违规。只有在没有提供——project和——repo-path选项时,命令才接受该选项。如果三个选项都没有提供,该命令将显示所有已知的漏洞。

——许可证

(默认值:false)

如果您还需要显示许可证列表,请设置。

——= json格式

(可选)

生成一个包含扫描结果的JSON文件。

命令参数

模式

指定要扫描的工件的本地文件系统路径。您可以使用通配符指定多个文件。

输出示例

例子

示例1

使用Xray中定义的watch1手表扫描路径/ti/files/ file-system目录下的所有文件。

Jf的“路径/到/文件/”——手表“watch1”


示例2
命令扫描路径/ti/files/ file-system目录下的所有文件watch1而且watch2手表定义在x射线。

Jf的“路径/到/文件/”——手表“watch1,watch2”


示例3

命令扫描路径/ti/files/ file-system目录下的所有zip文件watch1而且watch2手表定义在x射线。

Jf“path/to/files/*.zip”——watch1,watch2


示例4

使用为project-1定义的策略扫描位于path/ti/files/ file-system目录下的所有tgz文件。

Jf的“路径/到/files/*”。tgz" --project "project-1"


示例5
目录中的所有tgz文件
当前的属性定义的策略libs-local release-artifacts /路径在Artifactory。

Jf s "*.tgz"——repo-path"libs-local/release-artifacts/"


例子6
目录下的所有tgz文件当前目录。显示所有已知的漏洞,而不考虑在Xray中定义的策略。

Jf s "*.tgz"

扫描本地文件系统上的Docker容器

这个jF docker扫描命令扫描位于本地文件系统上的docker容器码头工人的客户而且JFrog x光.在扫描容器之前,不需要将容器部署到Artifactory或任何其他容器注册中心。

该命令要求:

  • x射线3.40.0或以上版本
  • JFrog CLI 2.11.0或以上版本
命令名

码头工人扫描

缩写


命令选项

——服务器id

(可选)

配置的服务器IDc add命令。如果不指定,则使用默认配置的服务器。

——项目

(可选)

JFrog项目密钥,使x射线能够确定相应的安全违规。只有在没有提供——repo-path和——watches选项时,命令才接受该选项。如果三个选项都没有提供,该命令将显示所有已知的漏洞。

——repo-path

(可选)

/的形式生成Artifactory存储库路径,从而使Xray能够据此确定违规行为。只有在没有提供——project和——watches选项时,命令才接受该选项。如果三个选项都没有提供,该命令将显示所有已知的漏洞。

——手表

(可选)

一个以逗号分隔的Xray手表列表,使Xray能够确定相应的违规。只有在没有提供——repo-path和——repo-path选项时,命令才接受该选项。如果三个选项都没有提供,该命令将显示所有已知的漏洞。

——许可证

(默认值:false)

如果您还需要显示许可证列表,请设置。

——= json格式

(可选)

生成一个包含扫描结果的JSON文件。

命令参数

模式

指定要扫描的工件的本地文件系统路径。您可以使用通配符指定多个文件。


输出示例

例子

示例1

扫描本地reg1 / repo1 / img1:1.0.0容器并显示所有已知的漏洞,而不管在Xray中定义的策略。

$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE reg1/repo1/img1 1.0.0 6446ea57df7b 19 months ago 5.57MB $ $ jf docker scan reg1/repo1/img1:1.0.0


示例2

扫描本地reg1 / repo1 / img1:1.0.0容器,并根据关联的策略显示所有违规行为我的项目JFrog项目。

$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE reg1/repo1/img1 1.0.0 6446ea57df7b 19 months ago 5.57MB $ $ jf docker scan reg1/repo1/img1:1.0.0——project my-project


示例3

扫描本地reg1 / repo1 / img1:1.0.0容器,并根据关联的策略显示所有违规行为我的手表x光的手表。

$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE reg1/repo1/img1 1.0.0 6446ea57df7b 19 months ago 5.57MB $ $ jf docker scan reg1/repo1/img1:1.0.0——watches my-watch


示例4

扫描本地reg1 / repo1 / img1:1.0.0容器,并根据关联的策略显示所有违规行为releases-local / app1 /路径在工件。

$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE reg1/repo1/img1 1.0.0 6446ea57df7b 19 months ago 5.57MB $ $ jf docker scan reg1/repo1/img1:1.0.0——repo-path released -local/app1/

扫描本地文件系统上的图像tarball

扫描'命令可用于扫描本地文件系统上Docker和OCI映像的tarball。

它需要使用兼容的工具将图像保存为未压缩的tarball,然后使用'摩根富林明年代”命令。图像必须以未压缩的方式保存到文件系统中<名称> . tar文件名。

该命令要求:

  • x射线3.61.5或以上版本。
  • JFrog CLI 2.14.0或以上版本。


码头工人的客户

使用Docker客户端码头工人保存命令将镜像保存到文件系统中进行扫描。

例子


$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE my-image 1.0.0 aaaaabbcccddd 2 months ago 1.12MB $ docker save——output my-image-docker.tar my-image:1.0.0 $ jf s my-image-docker.tar . gz


Skopeo

使用Skopeo CLI将映像保存到文件系统。输出图像可以是OCI格式或Docker格式。

例子


$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE my-image 1.0.0 aaaaabbcccddd 2 months ago 1.12MB //以docker格式扫描镜像$ skopeo copy docker-daemon:my-image:1.0.0 docker-archive:my-image-docker.tar $ jf s my-image-docker.tar //以OCI格式扫描镜像$ skopeo copy docker-daemon:my-image:1.0.0 OCI -archive:my-image- OCI .tar $ jf s my-image- OCI .tar


Podman

使用Podman CLI将镜像保存到文件系统。输出图像可以是OCI格式或Docker格式。

例子


$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE my-image 1.0.0 aaaaabbcccddd 2 months ago 1.12MB //扫描Docker格式的图像$ podman save——format= Docker -archive -o my-image- Docker .tar my-image:1.0.0 $ jf s my-image- Docker .tar //扫描OCI格式的图像$ podman save——format= OCI -o my-image- Docker .tar my-image:1.0.0 $ jf s my-image- Docker .tar my-image:1.0.0 $ jf s my-image- Docker .tar


Kaniko

使用Kaniko '——tarPath”将构建的图像保存到文件系统,然后用JFrog CLI扫描它们。下面的例子是在Docker中运行Kaniko。

例子


$ cat Dockerfile FROM alpine:3.16 $ docker run -it——rm -v $(pwd):/workspace gcr.io/kaniko-project/executor:v1.8.1-debug -f Dockerfile——no-push——tarPath my-image.tar -d my-image:1.0 -c。——清理$ jf s my-image.tar


扫描项目依赖项

摩根富林明审计命令允许扫描您的源代码依赖项,以查找安全漏洞和许可证违规,并能够扫描您的x射线策略。该命令为项目构建深度依赖关系图,使用Xray扫描它,并显示结果。它使用项目使用的包管理器来构建依赖关系图。目前支持以下包管理器。

  • Maven (mvn)——支持Maven的3.1.0或更高版本。
  • Gradle(它)
  • Npm (Npm)
  • 纱线2(纱线)
  • 皮普(Pip)
  • Pipenv (Pipenv)
  • 诗歌(诗歌)
  • 模块(Go)
  • NuGet (NuGet)
  • .NET核心命令行(dotnet)

该命令将自动检测项目使用的包管理器。要求Xray 3.29.0版本及以上,同时要求JFrog CLI 2.13.0版本及以上。

  • 在运行该命令之前,通过运行相关包管理器的适当命令,确保项目依赖项已经缓存到本地文件系统上。例如:npm安装nuget恢复
  • 摩根富林明审计命令不会提取扫描的依赖项的内部内容。这意味着如果一个包包含其他易受攻击的组件,它们可能不会作为结果的一部分显示。这是与摩根富林明扫描命令,该命令向下钻取包内容。
命令名

审计

缩写

澳元

命令选项

——服务器id

(可选)

配置的服务器IDc add命令。如果不指定,则使用默认配置的服务器。

——项目

(可选)

JFrog项目密钥,使x射线能够确定相应的安全违规。只有在没有提供——repo-path和——watches选项时,命令才接受该选项。如果三个选项都没有提供,该命令将显示所有已知的漏洞

——repo-path

(可选)

/的形式生成Artifactory存储库路径,从而使Xray能够据此确定违规行为。只有在没有提供——project和——watches选项时,命令才接受该选项。如果三个选项都没有提供,该命令将显示所有已知的漏洞

——手表

(可选)

一个以逗号分隔的Xray手表列表,使Xray能够确定相应的违规。只有在没有提供——repo-path和——repo-path选项时,命令才接受该选项。如果三个选项都没有提供,该命令将显示所有已知的漏洞

——许可证

(默认值:false)

如果还想显示许可证列表,请设置。

- - -格式

(默认:表)

定义命令的输出格式。可接受的值是:table和json。

——失败

(默认值:真实)

如果您不希望命令返回退出代码3,则设置为false,即使'Fail Build'规则由x射线匹配。

——使用包装

[默认值:false] [Gradle]

如果您想使用Gradle包装器,则设置为true。

——dep-type

[默认值:all] [npm]

定义npm依赖类型。取值包括:all、devOnly和prodOnly

——exclude-test-deps

[默认值:false] [Gradle]

如果你想从x射线扫描中排除Gradle测试依赖,设置为true。

——requirements-file

[可选](Pip)

定义pip需求文件名。例如:'requirements.txt'

——working-dirs

(可选)

以逗号分隔的相对工作目录列表,以确定审计目标位置。

——去

(默认值:false)

设置为true为Go项目请求审计。

——gradle

(默认值:false)

设置为true为Gradle项目请求审计。

——mvn

(默认值:false)

设置为true为Maven项目请求审计。

——npm

(默认值:false)

设置为true为npm项目请求审计。

——nuget

(默认值:false)

设置为true为. net项目请求审计。

——脉冲

(默认值:false)

设置为true为Pip项目请求审计。

——pipenv

(默认值:false)

设置为true请求Pipenv项目的审计。

——纱

(默认值:false)

设置为true为Yarn 2+项目请求审计。

命令参数

该命令不接受参数

输出示例

例子

示例1

在当前目录下审计项目。显示所有已知的漏洞,而不考虑在Xray中定义的策略。

jfrog审计

示例2

在当前目录下审计项目。显示所有已知的漏洞,而不考虑在Xray中定义的策略。只显示maven和npm漏洞

Jfrog audit—mvn—npm

示例3

在当前目录中使用名为watch1手表定义在x射线。

Jf审计—手表“watch1”

示例4

在使用的当前目录中审计项目watch1而且watch2x射线定义。

Jf审计—手表“watch1,watch2”

示例5

使用为project-1定义的策略在当前目录下审计项目。

Jf审计—项目“project-1”

例子6

类定义的策略在当前目录中审计项目libs-local release-artifacts /路径在Artifactory。

Jf audit——repo-path "lib -local/release-artifacts/"

扫描已发布的构建

JFrog CLI集成了JFrog Xray和JFrog Artifactory,允许您扫描构建工件和依赖项以查找漏洞和许可证违规。命令允许扫描已经发布到Artifactory的构建构建发布命令

命令名

build-scan

缩写
废话
命令选项


——服务器id

(可选)

配置的服务器IDc add命令。如果不指定,则使用默认配置的服务器。

——vuln

(可选)

如果您想接收所有漏洞,请设置,无论在Xray中配置的策略如何。

——失败

(默认值:真实)

设置后,如果x射线匹配“失败构建”规则,该命令返回退出代码3。
如果您不希望命令在这种情况下返回退出代码3,则设置为false,并且将返回退出代码0。

- - -格式

(默认:表)

定义命令的输出格式。公认值为:表格而且json

——项目

(可选)

JFrog项目密钥

——重新扫描

(默认值:false)

当扫描已经成功扫描的构建时,设置为true,例如在添加忽略规则之后。

命令参数
该命令接受两个参数。
构建的名字 要扫描的构建名称。
建立数 要扫描的版本号。
例子
Jf b my-build-name 18



  • 没有标签