Skip to main content

Infrastructure as code static analysis

Project description

Checkov

Maintained by Bridgecrew.io build status code_coverage docs PyPI Downloads Terraform Version

Table of contents

Description

Checkov is a static code analysis tool for infrastructure-as-code. It scans cloud infrastructure provisioned using Terraform and detects security and compliance misconfigurations.

Checkov is written in Python and provides a simple method to write and manage policies. It follows the CIS Foundations benchmarks where applicable.

Features

  • 50+ built-in policies cover security and compliance best practices for AWS, Azure & Google Cloud.
  • Policies support variable scanning by building a dynamic code dependency graph (coming soon).
  • Supports in-line suppression of accepted risks or false-positives to reduce recurring scan failures.
  • Output currently available as CLI, JSON or JUnit XML.

Screenshots

Scan results in CLI

scan-screenshot

Scheduled scan result in Jenkins

jenikins-screenshot

Getting started

Installation

pip install checkov

Configure an input folder

checkov -d /user/tf

Or a specific file

checkov -f /user/tf/example.tf

Scan result sample (CLI)

Passed Checks: 1, Failed Checks: 1, Suppressed Checks: 0
Check: "Ensure all data stored in the S3 bucket is securely encrypted at rest"
/main.tf:
	 Passed for resource: aws_s3_bucket.template_bucket 
Check: "Ensure all data stored in the S3 bucket is securely encrypted at rest"
/../regionStack/main.tf:
	 Failed for resource: aws_s3_bucket.sls_deployment_bucket_name       

Start using Checkov by reading the Getting Started page.

Using Docker

docker pull bridgecrew/checkov
docker run bridgecrew/checkov -i -v /user/tf:/tf -d /tf

Alternatives

For Terraform compliance scanners check out tfsec, Terrascan and Terraform AWS Secure Baseline.

For CloudFormation scanning check out cfripper and cfn_nag.

Contributing

Contribution is welcomed!

Start by reviewing the contribution guidelines. After that, take a look at a good first issue.

Looking to contribute new checks? Learn how to write a new check (AKA policy) here

Support

Bridgecrew builds and maintains Checkov to make policy-as-code simple and accessible.

Start with our Documentation for quick tutorials and examples.

If you need direct support you can contact us at info@bridgecrew.io or open a ticket.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

checkov-1.0.137.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

checkov-1.0.137-py3-none-any.whl (64.2 kB view details)

Uploaded Python 3

File details

Details for the file checkov-1.0.137.tar.gz.

File metadata

  • Download URL: checkov-1.0.137.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for checkov-1.0.137.tar.gz
Algorithm Hash digest
SHA256 662bc8a64ba0431a4a4506d792081cb2932009f7e81490c638595b3a4eea9b04
MD5 87b6b663103c2dc2b01fa0c15f48b637
BLAKE2b-256 05d36aa1cfb08cf4b3b284a64fb5380b19f0515048c05f9e1a1bf4e5e0411f2f

See more details on using hashes here.

File details

Details for the file checkov-1.0.137-py3-none-any.whl.

File metadata

  • Download URL: checkov-1.0.137-py3-none-any.whl
  • Upload date:
  • Size: 64.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6

File hashes

Hashes for checkov-1.0.137-py3-none-any.whl
Algorithm Hash digest
SHA256 7cc4f586e07bc74b207a5420adc9301b2e7bcb8797baaf653d67e7fb42364477
MD5 aea4aca1c807a3b0256a82ed021109b7
BLAKE2b-256 5e95eef0a1a37268eb05eecc6950aecbb154eb04b7c95e0429d1b4411dce5e80

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page