前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Checkov:一款针对基础设施即代码(IaC)的静态代码安全分析工具

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

作者头像
FB客服
发布于 2022-04-14 06:00:19
发布于 2022-04-14 06:00:19
2.5K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

关于Checkov

Checkov是一款针对基础设施即代码(IaC)的静态代码安全分析工具,在该工具的帮助下,广大研究人员可以在在Terraform、CloudFormation、KubernetesServerless 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管理的IaaSPaaSSaaS的创建、管理和更新行为。 8、支持以CLI、CycloneDX、JSON、JUnit XML、SARIF和Github Markdown等形式输出结果。

工具要求

1、Python >= 3.7 2、Terraform >= 0.12

工具安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip3 install checkov

Alpine安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip3 install --upgrade pip && pip3 install --upgrade setuptools

pip3 install checkov

Ubuntu 18.04安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt update

sudo apt install software-properties-common

sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt install python3.7

sudo apt install python3-pip

sudo python3.7 -m pip install -U checkov #to install or upgrade checkov)

Homebrew安装(macOS)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew install checkov

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew upgrade checkov

工具使用样例

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
checkov --directory . --check CKV_AWS_20,CKV_AWS_57

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
checkov -d . --skip-check CKV_AWS_20

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
checkov -d . --check MEDIUM --bc-api-key ...

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
checkov -d . --check MEDIUM,CKV_123 --bc-api-key ...

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
checkov -d . --skip-check MEDIUM --bc-api-key ...

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
checkov -d . --skip-check MEDIUM,CKV_789 --bc-api-key ...

工具配置

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
branch: develop

check:

  - CKV_DOCKER_1

compact: true

directory:

  - test-dir

docker-image: sample-image

dockerfile-path: Dockerfile

download-external-modules: true

evaluate-variables: true

external-checks-dir:

  - sample-dir

external-modules-download-path: .external_modules

framework:

  - all

no-guide: true

output: cli

quiet: true

repo-id: bridgecrew/sample-repo

skip-check:

  - CKV_DOCKER_3

  - CKV_DOCKER_2

skip-fixes: true

skip-framework:

  - dockerfile

  - secrets

skip-suppressions: true

soft-fail: true

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
checkov --config-file path/to/config.yaml

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

工具运行截图

许可证协议

本项目的开发与发布遵循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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于Checkov
  • 功能介绍
  • 工具要求
  • 工具安装
    • Alpine安装
    • Ubuntu 18.04安装
    • Homebrew安装(macOS)
  • 工具使用样例
  • 工具配置
  • 工具运行截图
  • 许可证协议
  • 项目地址
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档