使用最新的JFrog产品?hth华体会最新官方网站
JFrog平台用户指南


跳到元数据的末尾
转到元数据的开始

概述

失败包含构建工件或带有漏洞的依赖项的构建作业是防止任何受感染的构建到达生产系统的有效方法。有一些组织策略强制开发人员扫描他们运行的每个构建,并在发现受感染的工件时立即使其失败。然而,人们发现这种操作模式会抑制开发者的创造力并阻碍他们的生产力,开发者通常会找到绕过这种限制的方法。更好的解决方案是,一旦合并了几个开发人员的代码,就定期运行这种扫描。例如,在组织的CI服务器运行的夜间构建期间。

JFrog Xray可以集成到组织的CI/CD管道中,以确保在流程的早期停止包含漏洞的构建作业。作为完全自动化过程的一部分,Xray接收有关CI服务器刚刚运行的构建的信息,然后对构建运行深度递归扫描,直至最深层的依赖关系,如果发现任何漏洞,Xray将向调用CI服务器返回指示。

页面内容


这个过程

在这个过程中有三个参与者:

  • 您的CI服务器(目前支持Jenkins CI、TeamCity和Bamboo)
    CI服务器运行一个构建作业,并通过Artifactory向Xray发送一个请求,以便扫描构建。如果扫描检测到漏洞,则CI服务器可以按照构建作业中的配置采取适当的操作。
  • JFrog Artifactory
    JFrog Artifactory充当CI服务器和Xray之间的中介。它所做的不过是在两者之间传递信息。
  • JFrog x光
    根据要求,如果x射线已经定义了手表行动要使构建作业失败,它将扫描构建,并响应一条消息,如果在构建工件或其依赖项之一中检测到漏洞,则构建作业应该失败。

下图说明了如何使用Jenkins CI实现流程。

  1. Jenkins运行一个构建任务。
  2. 假设构建成功,Jenkins将构建上传到Artifactory。新的构建工件和依赖项被Xray自动索引。
  3. Jenkins向Artifactory传递一个请求来扫描构建。
  4. Artifactory传递一个请求,通过x射线扫描构建scanBuildREST API端点。
  5. x射线根据定义的Watch扫描构建构建任务失败行动。

    多块手表还是没有手表?

    您可以用一个失败构建作业定义多个watch行动,每个都有自己的标准(即:工件的过滤器和/或问题过滤器),应该会触发警报。每次扫描构建时,都会应用所有这些监视。

    如果x射线接收到ascanBuild请求,就有没有用失败构建作业定义的表行动,即使在构建工件或它们的依赖项中没有发现漏洞,Xray也将始终响应一个指示以使构建作业失败。

  6. 如果任何构建工件或依赖项满足Watch中定义的条件(过滤器),Xray就会触发警报并…
  7. x射线响应scanBuild指示生成作业应该失败的请求。

    所有警报在一个响应中

    响应包括由包含失败构建作业的所有watch生成的所有警报的详细信息行动

  8. Artifactory将响应返回给Jenkins。
  9. Jenkins未能完成构建任务。

结果

Xray的构建集成允许您管理构建作业,并在构建中发现带有漏洞的构建工件或依赖项时,使用适当的操作对它们进行配置。虽然默认操作(在Jenkins中)是简单地停止构建,但实际上您可以配置您的管道来做其他事情,例如发送电子邮件通知,甚至运行不同的构建作业。


配置

配置x光

Xray支持CI/CD集成版本1.6

要使Xray根据CI服务器的请求扫描构建,您需要配置一个使用正确的过滤器指定哪些工件和漏洞应该触发警报,并为该监视设置失败构建作业操作。

配置CI服务器

Xray CI/CD集成支持Jenkins CI、TeamCity和Bamboo。

詹金斯

配置构建作业请求扫描,用Jenkins Artifactory插件(v2.9.0及更高版本),您需要创建一个scanConfig实例和,并将其传递给xrayScan方法。

TeamCity

扫描构建工件和依赖项的漏洞TeamCity Artifactory插件,您需要启用构建时的x射线扫描失败构建选项,每个构建配置。

竹子

扫描构建工件对于漏洞,使用竹工艺品插件,你需要加上Artifactoryx光扫描完成你的计划该任务应该遵循前一个任务,该任务将构建信息发布到Artifactory。

Azure DevOps和TFS

要扫描构建工件以查找Azure DevOps或TFS中的漏洞,您需要添加人工x射线扫描任务后的任务Artifactory发布BuildInfo的任务。

配置Artifactory

虽然Artifactory在此集成中不起主动作用,也不需要显式配置,但Artifactory在CI服务器和JFrog Xray之间传递信息时确实起被动作用。

中支持此特性v4.16版本的工件及以上。


观看视频

观看此屏幕视频,了解如何通过使用JFrog Xray扫描每次构建的结果以查找安全漏洞、许可遵从性问题等,从而获得最佳的两个世界—开发人员的生产力和安全性。

  • 没有标签