Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

admin 2025年2月16日00:40:56评论22 views字数 2842阅读9分28秒阅读模式

Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

 关于Checkov 

Checkov是一款针对基础设施即代码(IaC)的静态代码安全分析工具,在该工具的帮助下,广大研究人员可以在在Terraform、CloudFormation、Kubernetes、Serverless Framework和其他基础设施的构建期间,轻松检测出云端代码安全问题。

Checkov使用了基于图表的扫描技术来扫描那些使用了Terraform、Terraform plan、Cloudformation、AWS SAM、Kubernetes、Helm charts、Kustomize、Dockerfile、Serverless、Bicep或ARM模板配置的云基础设施,并尝试检测出潜在的安全性问题或合规性错误配置。

 功能介绍 

1、内置了超过1000种针对AWS、Azure和Google Cloud的安全和合规性最佳实践策略。

2、支持扫描Terraform、Terraform Plan、CloudFormation、AWS SAM、Kubernetes、Dockerfile、Serverless Framework、Bicep和ARM模板文件。

3、支持基于内存扫描的上下文感知策略。

4、属性策略支持Python格式,属性和混合策略支持YAML格式。

5、支持检测EC2用户数据、Lambda环境变量和Terraform中的AWS凭据。

6、使用正则表达式、关键字和基于熵的检测来识别敏感数据。

7、评估Terraform提供商设置,以规范那些通过Terraform管理的IaaS、PaaS或SaaS的创建、管理和更新行为。

8、支持以CLI、CycloneDX、JSON、JUnit XML、SARIF和Github Markdown等形式输出结果。

 工具要求 

1、Python >= 3.7

2、Terraform >= 0.12

 工具安装 

pip3 install checkov

Alpine安装

pip3 install --upgrade pip && pip3 install --upgrade setuptoolspip3 install checkov

Ubuntu 18.04安装

sudo apt updatesudo apt install software-properties-commonsudo add-apt-repository ppa:deadsnakes/ppasudo apt install python3.7sudo apt install python3-pipsudo python3.7 -m pip install -U checkov #to install or upgrade checkov)

Homebrew安装(macOS)

brew install checkov

brew upgrade checkov

 工具使用样例 

执行两种特定的安全检测:

checkov --directory . --check CKV_AWS_20,CKV_AWS_57

运行所有的检测(排除一个):

checkov -d . --skip-check CKV_AWS_20

运行所有中危或高危问题检测(需要API密钥):

checkov -d . --check MEDIUM --bc-api-key ...

运行所有中危或高危问题检测,并检测CKV_123:

checkov -d . --check MEDIUM,CKV_123 --bc-api-key ...

跳过所有的中危或低危问题检测:

checkov -d . --skip-check MEDIUM --bc-api-key ...

跳过所有的中危或低危问题,以及CKV_789的检测:

checkov -d . --skip-check MEDIUM,CKV_789 --bc-api-key ...

 工具配置 

工具的配置文件config.yaml样例如下:

branch: developcheck:  - CKV_DOCKER_1compact: truedirectory:  - test-dirdocker-image: sample-imagedockerfile-path: Dockerfiledownload-external-modules: trueevaluate-variables: trueexternal-checks-dir:  - sample-direxternal-modules-download-path: .external_modulesframework:  - allno-guide: trueoutput: cliquiet: truerepo-id: bridgecrew/sample-reposkip-check:  - CKV_DOCKER_3  - CKV_DOCKER_2skip-fixes: trueskip-framework:  - dockerfile  - secretsskip-suppressions: truesoft-fail: true

我们可以通过命令行参数传递一个config配置文件的路径:

checkov --config-file path/to/config.yaml

或者使用“--create-config”命令来创建一个配置文件:

checkov --compact --directory test-dir --docker-image sample-image --dockerfile-path Dockerfile --download-external-modules True --external-checks-dir sample-dir --no-guide --quiet --repo-id bridgecrew/sample-repo --skip-check CKV_DOCKER_3,CKV_DOCKER_2 --skip-fixes --skip-framework dockerfile secrets --skip-suppressions --soft-fail --branch develop --check CKV_DOCKER_1 --create-config /Users/sample/config.yml

 工具运行截图 

Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可证协议。

项目地址

https://github.com/bridgecrewio/checkov

参考资料

https://docs.bridgecrew.io/docs/aws-policy-index

https://github.com/bridgecrewio/checkov/blob/master/docs/1.Welcome/Quick%20Start.md

https://bridgecrew.io/?utm_source=github&utm_medium=organic_oss&utm_campaign=checkov

Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

 

 

原文始发于微信公众号(FreeBuf):Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月16日00:40:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具https://cn-sec.com/archives/905072.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息