
KICS를 사용하여 Infrastructure as Code 파일에서 보안 구성 오류 및 취약점을 스캔하고, Bitbucket Code Insights 보고를 제공합니다.
Infrastructure as Code 구성 파일을 스캔하여 올바른 보안 관행을 보장합니다. 문제가 발견되면 보안 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 | 파이프가 KICS 실행 결과를 사용하여 Bitbucket CodeInsights 보고서를 생성할지 여부를 제어합니다. 기본값: true. |
| FAIL_ON | 파이프가 실패를 트리거해야 하는 KICS 스캐너의 [결과 상태 코드][result status code] 임계값입니다. |
| DEBUG | 추가 디버그 정보를 켭니다. 기본값: false. |
(*) = 필수 변수.
필요한 경우 사용자는 SCAN_EXTRA_ARGS 변수와 함께 스캔 명령의 옵션을 통합하여 스캔을 개선할 수 있습니다.
또한 사용자는 사용자 지정 KICS 구성 파일을 생성하여 제공할 수 있으며, 이는 CONFIG_PATH 변수를 통해 bitbucket-iac-scan 파이프에 적용됩니다. 이 구성 파일은 SCAN_EXTRA_ARGS 사용의 대안으로 사용됩니다.
사용자 지정 KICS 구성을 생성한 후에는 사용자의 리포지토리 내에 저장해야 합니다. 이곳에서 bitbucket-iac-scan 파이프가 포함된 파이프라인이 트리거됩니다.
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'
이 파이프에 대한 도움이 필요하거나, 문제 또는 기능 요청이 있는 경우 Community에서 알려주세요.
문제를 보고하는 경우 다음을 포함해 주세요:
Copyright (c) 2024 Atlassian and others. Apache 2.0 라이선스이며, LICENSE.txt 파일을 참조하세요.