KICS Checkmarx与Azure Pipeline

1qczuiv0  于 2023-11-21  发布在  其他
关注(0)|答案(2)|浏览(117)

我计划使用KICS by Checkmarx扫描Terraform基础架构代码。这是我在网上获得的示例https://docs.kics.io/1.3.1/integrations_azurepipelines/#integrate_kics_with_azure_pipelines
但是,我在Azure DevOps发布管道中使用它时遇到了一些困难。
如果有人用Azure管道进行地形改造的话,请告诉我。如果我能得到一些指点,那将是一个很大的帮助。

这是我到目前为止尝试的:

并得到此错误:

gojuced7

gojuced71#

你看到的是一个非常过时的文档版本。
以下是最新版本的Azure DevOps集成链接:https://docs.kics.io/latest/integrations_azurepipelines/

icnyk63a

icnyk63a2#

您面临的问题是,您从KICS文档复制的代码不仅仅是一个简单的脚本:它是Azure DevOps管道的示例代码。在Azure DevOps中,有两种方法可以创建管道:

  • 经典UI
  • YAML管道

您可以在线查看两者之间的差异,但简而言之,“YAML管道”是定义管道的新方法(就像您可以在GitLab,Github,Bitbucket等中编写YAML管道一样)。
在第一个屏幕截图中,您使用“Classic UI”来定义管道,但也可以使用YAML(KICS文档提供的示例代码)来定义它。

trigger:
  - master

pool:
  vmImage: "ubuntu-latest"

container: checkmarx/kics:debian

steps:
  # running in CI mode, exporting results to a JSON file and printing the results in stdout
  # KICS should fail the pipeline if results are found
  - script: |
      /app/bin/kics scan --ci -p ${PWD} -o ${PWD}
      cat results.json

字符串
只需在您的存储库中创建一个YAML管道,给予您想要的任何名称(例如:azure-pipelines-kics.yaml)并复制粘贴它。从上到下,这个管道的作用是:

  • 每当“主”分支更新时触发
  • 必须使用代理“ubuntu-latest”
  • 容器:该字段告诉系统从Docker Hub获取Docker镜像(在本例中为带有标签“debian”的checkmarx/kics镜像),然后启动容器
  • 其余的步骤在容器内部执行(正在执行kics)

相关问题