IBM Cloud Docs
配置 Mend Unified Agent 扫描

配置 Mend Unified Agent 扫描

"Mend" 脚本在 DevSecOps 管道中运行 "Mend Unified Agent" 依赖关系扫描,并根据扫描结果收集证据。

针对管道中由 list_repos 方法返回的每个源存储库运行 "Mend Unified Agent" 依赖关系扫描。 有关更多信息,请参阅 list_repos

该脚本将在扫描的每个源存储库的根目录中搜索现有配置文件。 有关更多信息,请参阅 统一代理程序配置参数。 如果找不到配置文件,那么将为在执行时运行的每个管道创建缺省配置文件,但不会将其持久存储在源代码存储库中。 如果找到配置文件,那么脚本会在执行扫描时传递该配置文件。 管道在执行时使用 mend-org-tokenmend-user-key 管道环境属性的值覆盖配置文件中的 apiKeyuserKey 属性。

在运行脚本之前,请安装源存储库构建所需的所有构建依赖关系,以确保 "Mend Unified Agent" 依赖关系扫描返回准确的结果。

运行脚本

必须使用 save_repo 才能在 pipelinectl中至少注册一个源存储库。

必需的 Mend Unified Agent 参数

表 1. 必需的 Mend Unified Agent 参数
参数名称 描述
mend-server-url Mend 服务器的基本 URL。
mend-org-token 组织的标识。 在 Org Token 文本字段中使用加载请求返回的组织标记。
mend-user-key 在 ServiceNow 上线后创建的私钥产品 ServiceUser。
mend-product-name Product Name on Mend 文本字段中使用入职请求返回的产品名称。
mend-product-token 使用 Product Token 文本字段中的加载请求返回的产品令牌
opt-in-mend 将此参数设置为任何非空字符串值,以包括 "Mend Unified Agent" 扫描作为 Compliance Checks 管道阶段的一部分。

可选的 Mend Unified Agent 参数

表 2. 可选的 Mend Unified Agent 参数
参数名称 缺省值 描述
mend-config-file-name mendUnifiedAgent.config 扫描在每个扫描的源代码存储库的根目录中查找的 Mend Unified Agent 配置文件的文件名。
mend-print-scan-results false (未设置属性) 输入任何非零长度字符串以将每个 Mend 扫描结果 JSON 文件打印到阶段日志。
mend-print-scan-summaries false (未设置属性) 输入任何非零长度字符串,以将每个 "Mend" 扫描摘要报告打印到阶段日志。
mend-jar-url https://unified-agent.s3.amazonaws.com/wss-unified-agent.jar 为每次管道运行下载的扫描程序 JAR 文件。

证据和附件

创建的证据基于表 3 中的值。 DevSecOps 管道会将证据上载到锁定程序,并在 "变更请求" 的证据摘要中包含这些证据。

表 3. 证据字段和值
字段
工具类型 mend
证据类型 com.ibm.code_vulnerability_scan
资产类型 repo
附件 <scan report containing detected libraries and list of vulnerabilities in JSON>
附件 <scan summary report in text format>

调试和日志记录

表 4. 调试参数
参数名称 缺省值 描述
pipeline-debug 0 调试标志 0 off 1 on

访问扫描结果

您可以使用下列任何方法来访问扫描结果:

  • 在 Mend UI 上查看它们。
  • 设置 mend-print-scan-results 管道环境属性以指示管道将扫描报告 JSON 打印到阶段日志。
  • 设置 mend-print-scan-summaries 管道环境属性以指示管道将扫描摘要文本打印到阶段日志。
  • 使用 DevSecOps/CoCoa CLI 命令行工具,通过使用阶段日志中打印的信息从证据锁定程序下载扫描结果。 有关更多信息,请参阅以下资源: