配置 Mend Unified Agent 扫描
"Mend" 脚本在 DevSecOps 管道中运行 "Mend Unified Agent" 依赖关系扫描,并根据扫描结果收集证据。
针对管道中由 list_repos
方法返回的每个源存储库运行 "Mend Unified Agent" 依赖关系扫描。 有关更多信息,请参阅 list_repos。
该脚本将在扫描的每个源存储库的根目录中搜索现有配置文件。 有关更多信息,请参阅 统一代理程序配置参数。 如果找不到配置文件,那么将为在执行时运行的每个管道创建缺省配置文件,但不会将其持久存储在源代码存储库中。
如果找到配置文件,那么脚本会在执行扫描时传递该配置文件。 管道在执行时使用 mend-org-token
和 mend-user-key
管道环境属性的值覆盖配置文件中的 apiKey
和 userKey
属性。
在运行脚本之前,请安装源存储库构建所需的所有构建依赖关系,以确保 "Mend Unified Agent" 依赖关系扫描返回准确的结果。
运行脚本
必须使用 save_repo
才能在 pipelinectl
中至少注册一个源存储库。
必需的 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 参数
参数名称 | 缺省值 | 描述 |
---|---|---|
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 管道会将证据上载到锁定程序,并在 "变更请求" 的证据摘要中包含这些证据。
字段 | 值 |
---|---|
工具类型 | mend |
证据类型 | com.ibm.code_vulnerability_scan |
资产类型 | repo |
附件 | <scan report containing detected libraries and list of vulnerabilities in JSON> |
附件 | <scan summary report in text format> |
调试和日志记录
参数名称 | 缺省值 | 描述 |
---|---|---|
pipeline-debug | 0 | 调试标志 0 off 1 on |
访问扫描结果
您可以使用下列任何方法来访问扫描结果:
- 在 Mend UI 上查看它们。
- 设置
mend-print-scan-results
管道环境属性以指示管道将扫描报告 JSON 打印到阶段日志。 - 设置
mend-print-scan-summaries
管道环境属性以指示管道将扫描摘要文本打印到阶段日志。 - 使用 DevSecOps/CoCoa CLI 命令行工具,通过使用阶段日志中打印的信息从证据锁定程序下载扫描结果。 有关更多信息,请参阅以下资源: