
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://raw.githubusercontent.com/bridgecrewio/checkov/master/docs/web/images/checkov_by_bridgecrew.png
 https://github.com/bridgecrewio/checkov/workflows/security/badge.svg](https://github.com/bridgecrewio/checkov/actions?query=event%3Apush+branch%3Amaster+workflow%3Asecurity) 的静态代码分析工具。它扫描使用各种IaC工具 provisioned 的云基础设施,并通过基于图形的扫描检测安全和合规性配置错误。
主要用途:在构建时防止云配置错误,确保基础设施即代码的安全性和合规性。
Checkov适用于以下场景:
适用范围包括使用基础设施即代码工具管理云资源的团队和组织,特别是那些使用AWS、Azure或Google Cloud的团队。
拉取镜像
bashdocker pull bridgecrew/checkov
基本扫描命令
bashdocker run --tty --volume /path/to/your/iac/code:/tf --workdir /tf bridgecrew/checkov --directory /tf
参数说明:
--tty:启用终端模式,提供更好的输出格式--volume /path/to/your/iac/code:/tf:将本地IaC代码目录挂载到容器内的/tf目录--workdir /tf:可选,将工作目录更改为挂载的卷(如果使用SARIF输出,结果文件将输出到挂载卷)--directory /tf:指定要扫描的目录扫描特定文件
bashdocker run --tty --volume /path/to/your/iac/code:/tf bridgecrew/checkov --file /tf/example.tf
扫描多个文件
bashdocker run --tty --volume /path/to/your/iac/code:/tf bridgecrew/checkov -f /tf/example1.yml -f /tf/example2.yml
扫描Terraform计划文件
bash# 首先在本地生成Terraform计划文件 terraform init terraform plan -out tf.plan terraform show -json tf.plan > tf.json # 然后使用Checkov扫描生成的JSON文件 docker run --tty --volume /path/to/your/terraform/code:/tf bridgecrew/checkov -f /tf/tf.json
运行或跳过特定检查
列出可用检查:
bashdocker run --tty bridgecrew/checkov --list
仅运行指定检查:
bashdocker run --tty --volume /path/to/your/iac/code:/tf bridgecrew/checkov --directory /tf --check CKV_AWS_20,CKV_AWS_57
运行除指定检查外的所有检查:
bashdocker run --tty --volume /path/to/your/iac/code:/tf bridgecrew/checkov -d /tf --skip-check CKV_AWS_20
运行除指定模式检查外的所有检查:
bashdocker run --tty --volume /path/to/your/iac/code:/tf bridgecrew/checkov -d /tf --skip-check CKV_AWS*
跳过命名空间(Kubernetes)
bashdocker run --tty --volume /path/to/your/k8s/code:/tf bridgecrew/checkov -d /tf --skip-check kube-system
输出格式配置
JSON格式输出:
bashdocker run --tty --volume /path/to/your/iac/code:/tf bridgecrew/checkov -d /tf -o json
JUnit XML格式输出:
bashdocker run --tty --volume /path/to/your/iac/code:/tf bridgecrew/checkov -d /tf -o junitxml > results.xml
SARIF格式输出(适用于GitHub代码扫描):
bashdocker run --tty --volume /path/to/your/iac/code:/tf --workdir /tf bridgecrew/checkov -d /tf -o sarif
配置文件使用
Checkov可以使用YAML配置文件进行配置。默认情况下,Checkov会按以下优先级顺序查找.checkov.yaml或.checkov.yml文件:
--directory指定的目录)可以通过命令行参数指定配置文件路径:
bashdocker run --tty --volume /path/to/your/iac/code:/tf --volume /path/to/your/config/.checkov.yaml:/checkov.yaml bridgecrew/checkov --directory /tf --config-file /checkov.yaml
环境变量配置
LOG_LEVEL:设置日志级别,默认为WARNING,可设置为DEBUG获取详细日志IGNORE_HIDDEN_DIRECTORY_ENV:设置为false可取消跳过以.开头的目录CKV_IGNORED_DIRECTORIES:覆盖默认跳过的目录列表示例:
bashdocker run --tty --env LOG_LEVEL=DEBUG --volume /path/to/your/iac/code:/tf bridgecrew/checkov --directory /tf
集成到CI/CD管道
GitHub Actions示例:
yamljobs: checkov: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Run Checkov uses: docker://bridgecrew/checkov:latest with: args: --directory . --output sarif --soft-fail
抑制/忽略检查
在资源定义块或CloudFormation资源中应用以下注释模式,可以跳过对特定检查:
hclresource "aws_s3_bucket" "example_bucket" { #checkov:skip=CKV_AWS_20:The bucket is intended to be public bucket = "example-bucket" acl = "public-read" }
对于Kubernetes清单,使用注释格式:
yamlapiVersion: v1 kind: Pod metadata: name: mypod annotations: checkov.io/skip1: CKV_K8S_20=不关心权限升级 spec: containers: - name: mycontainer image: myimage
Python版本问题:如果使用Python 3.6(Ubuntu 18.04的默认版本),checkov将无法工作,并会失败并显示ModuleNotFoundError: No module named 'dataclasses'错误消息。在这种情况下,可以使用Docker版本。
输出重定向问题:将docker run --tty输出重定向到文件时(例如,要将Checkov JUnit输出保存到文件),可能会导致打印额外的控制字符,这可能会破坏文件解析。如果遇到此问题,请删除--tty标志。
工作目录设置:--workdir /tf标志可选,用于将工作目录更改为挂载卷。如果使用SARIF输出-o sarif,这会将results.sarif文件输出到挂载卷。如果不包含该标志,工作目录将为"/"。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务