扫描你的基础设施即代码配置文件,以确保良好的安全实践。如果发现问题,将创建安全 Code Insights 报告。
这个受 Bitbucket Cloud 支持的 Pipe 利用业界领先的 KICS 扫描工具,为 Bitbucket 客户提供 IaC 扫描能力。 有关更多信息,请参阅详情和示例部分。
将以下代码片段添加到你的 bitbucket-pipelines.yml 文件的 script 部分:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: '<string>'
# SCAN_EXTRA_ARGS: '<array>' # Optional.
# CONFIG_PATH: '<string>' # Optional.
# CREATE_REPORT: "<boolean>" # Optional. Default: `true`
# FAIL_ON: "<integer>" # Optional.
# DEBUG: "<boolean>" # Optional. Default: `false`
| 变量 | 用途 |
|---|---|
| FILES_TO_SCAN_PATH (*) | 要扫描的文件或目录,以 , 分隔。示例:"./path_to_dir,path_to_file.txt"。 |
| SCAN_EXTRA_ARGS | 传递给 KICS 扫描命令的附加选项。如果传入了 -p 参数,它将扩展 FILES_TO_SCAN_PATH 变量中提供的文件或目录。如果传入了 --config 参数,它将被忽略,转而使用 CONFIG_PATH 变量。 |
| CONFIG_PATH | KICS 配置文件的路径。作为 SCAN_EXTRA_ARGS 变量的替代方案。如果配置文件内提供了 path 关键字,它将被忽略,转而使用 FILES_TO_SCAN_PATH 变量。 |
| CREATE_REPORT | 控制该 pipe 是否使用 KICS 执行结果创建 Bitbucket CodeInsights 报告。默认值:true。 |
| FAIL_ON | KICS 扫描器[结果状态码][result status code]的阈值,达到该值时该 pipe 应触发失败。 |
| DEBUG | 开启额外的调试信息。默认值:false。 |
(*) = 必填变量。
如有必要,用户可以通过 SCAN_EXTRA_ARGS 变量纳入扫描命令中的选项来增强其扫描。
此外,用户还可以创建并提供自定义 KICS 配置文件,该文件通过 CONFIG_PATH 变量在 bitbucket-iac-scan pipe 中应用。此配置文件可作为使用 SCAN_EXTRA_ARGS 的替代方案。
创建自定义 KICS 配置后,应将其存储在用户仓库中。这里也是触发带有 bitbucket-iac-scan pipe 的流水线的地方。
如果同时提供了 SCAN_EXTRA_ARGS 和 CONFIG_PATH 变量且参数重复,则 SCAN_EXTRA_ARGS 变量中的参数将具有更高的优先级。
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
扫描源代码,如果 KICS 扫描器的[结果状态码][result status code]大于或等于所提供的阈值,则管道应失败。
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
FAIL_ON: 40
可在流水线中使用的 kics 配置示例:
kics-config.json。path 键将被忽略
{
"path": "assets/iac_samples",
"verbose": true,
"log-file": true,
"type": "Dockerfile,Kubernetes",
"queries-path": "assets/queries",
"exclude-paths": [
"foo/",
"bar/"
],
"output-path": "results"
}
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
CONFIG_PATH: kics-config.json
带扫描选项的示例:
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
SCAN_EXTRA_ARGS:
- "--disable-secrets"
- "--type=Dockerfile"
不要创建 CodeInsights 报告:
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
CREATE_REPORT: 'false'
如果您需要关于此 pipe 的帮助,或者遇到问题、有功能需求,请在社区中告知我们。
如果您要报告问题,请包含:
Copyright (c) 2024 Atlassian and others. 采用 Apache 2.0 许可,请参阅 LICENSE.txt 文件。