用途:作为安全工程师使用 Checkov 扫描基础设施即代码(IaC)中的安全配置错误。适用于扫描 Terraform、CloudFormation、Kubernetes 清单、Helm chart、ARM 模板、Ansible playbook 或 Dockerfile 的安全问题。
前提条件:需安装 Checkov(pip install checkov),可用 checkov --version 验证。
使用方式:先确定目标 IaC 文件或目录,再运行扫描。常用命令包括:checkov -d <target-path> --output json > checkov-results.json;指定框架 checkov -d . --framework terraform --output json;指定文件 checkov -f main.tf --output json;指定检查项 checkov -d . --check CKV_AWS_18,CKV_AWS_21 --output json;跳过检查项 checkov -d . --skip-check CKV_AWS_18 --output json;紧凑输出 checkov -d . --compact --output json。
结果处理:读取 JSON 输出,按表格呈现发现项,字段包括序号、状态、检查 ID、资源、文件与行号、发现内容、指南。随后汇总总检查数(通过、失败、跳过)、按严重程度统计失败项,并给出针对 IaC 的修复建议(如 Terraform 属性修改、K8s spec 修复等)。
常见检查 ID 示例:CKV_AWS_18(S3 未启用日志)、CKV_AWS_21(S3 未启用版本控制)、CKV_AWS_24(安全组允许 0.0.0.0/0 访问 22 端口)、CKV_AWS_145(RDS 未使用 CMK 加密)、CKV_K8S_8(未配置存活探针)、CKV_K8S_20(容器以 root 运行)、CKV_K8S_28(未丢弃容器能力)、CKV_DOCKER_2(未定义 HEALTHCHECK)、CKV_DOCKER_3(以 root 用户运行)。
限制:资料未提供收费、价格、平台支持范围或效果保证等信息。