65.9K
CodeProject 正在变化。 阅读更多。
Home

如何利用 YAML 将 Veracode 解决方案集成到 CI/CD 管道中

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2020年4月15日

CPOL

3分钟阅读

viewsIcon

21721

将 Veracode 扫描集成到新的 CI/CD 管道中。

YAML 脚本常用于简化 CI/CD 工具的配置管理。将 Veracode AppSec 解决方案集成到 CI/CD 管道中,使开发人员能够将软件漏洞的修复直接嵌入到他们的 SDLC 工作流程中,从而创建一个更高效的构建安全应用程序的过程。您还可以扩展此博客中提出的脚本模板,以将 Veracode AppSec 扫描与几乎所有 YAML 配置的构建工具集成。

第一步:环境要求

第一步是确认您选择的 CI 工具支持基于 YAML 的管道定义,我们假设您正在启动 Docker 镜像来运行您的 CI/CD 工作流程。您的 Docker 镜像可以在 Java 或 .NET 上运行。本文中包含的脚本仅针对 Java,您需要在继续下一步之前确认此步骤。

第二步:设置您的 YAML 文件

第二步是找到 YAML 配置文件,对于许多 CI 工具,该文件标记为 config.yml。基本语法对于大多数构建工具都是相同的,只有一些细微的变化。以下链接包含 Circle CI、Concourse CI、GitLab 和 Travis 的配置文件脚本,您也可以将它们用作调整其他构建工具的配置文件方法的示例。

第三步:下载 Java API 包装器

下一步需要下载 Java API 包装器,可以使用以下脚本完成。

 # grab the Veracode agent
run:
	name: "Get the Veracode agent"
	command: |
	wget https://repo1.maven.org/maven2/com/veracode/vosp/api/wrappers/vosp-api-wrappers-java/19.2.5.6/vosp-api-wrappers-java-19.2.5.6.jar -O VeracodeJavaAPI.jar

第四步:将 Veracode 扫描属性添加到构建管道

最后一步需要在脚本中输入与 Veracode API 交互所需的所有信息,包括用户访问凭据、应用程序名称、构建工具版本号等数据属性。Veracode 创建了一个丰富的 API 库,提供了许多与 Veracode 平台交互的选项,并使客户和合作伙伴能够创建自己的集成。有关 Veracode API 的信息可在 Veracode 帮助中心 中找到。

下面列出的脚本演示了如何将属性添加到 Circle CI YAML 配置文件,以便该脚本可以运行 uploadandscan API,这将启用从 Circle CI 到 Veracode 平台的应用程序上传,并触发平台运行应用程序扫描。

run:
	     name: "Upload to Veracode"
	     command: java -jar VeracodeJavaAPI.jar 
	       -vid $VERACODE_API_ID 
	       -vkey $VERACODE_API_KEY 
	       -action uploadandscan 
	       -appname $VERACODE_APP_NAME 
	       -createprofile false 
	       -version CircleCI-$CIRCLE_BUILD_NUM 
	       -filepath upload.zip

在本例中,我们定义了

Name – 此脚本中定义的 YAML 工作流程名称

Command – 运行 Veracode API 的命令。下载 API jar 的详细信息已在之前的步骤中提供

-vid $VERACODE_API_ID - 用户的 Veracode ID 访问凭据

--vkey $VERACODE_API_KEY – 用户的 Veracode Key 访问凭据

-action uploadandscan – 此脚本调用的 Veracode API 的名称

$VERACODE_APP_NAME – 客户应用程序的名称,平台针对该应用程序进行上传和扫描。此应用程序名称的定义应与 Veracode 平台上应用程序配置文件的定义完全相同

-createprofile false – 是一个布尔值,用于定义如果 veracode_app_name 未找到现有应用程序配置文件的匹配项,是否应自动创建应用程序配置文件。

  • 如果定义为 true,则如果未找到 app_name 匹配项,将自动创建应用程序配置文件,并且上传和扫描步骤将继续
  • 如果定义为 false,则不会创建应用程序配置文件,也不会执行进一步的上传和扫描操作

-version CircleCI - $CIRCLE_BUILD_NUM – 客户用于运行此集成的 Circle CI 工具的版本号

-filepath upload.zip – 在与 Veracode API 交互之前,应用程序文件所在的路径

通过这四个步骤,Veracode 扫描现在已集成到新的 CI/CD 管道中。

将应用程序安全扫描直接集成到您的构建工具中,使开发人员能够将安全扫描直接纳入他们的 SDLC 周期中。在开发周期的早期发现软件漏洞可以简化修复并提高问题解决效率,使 Veracode 客户能够构建更安全的软件,而不会影响开发截止日期。

有关 Veracode 集成的更多信息,请访问我们的 集成页面

© . All rights reserved.