Checkov Scan is an open-source static analysis tool that scans infrastructure-as-code (IaC) files to identify potential security risks and compliance violations.
Checkov supports various IaC formats, including Terraform, Kubernetes, AWSCloudFormation, and Azure Resource Manager templates. Checkov can be used to identify misconfigurations and enforce compliance with industry-standard policies and regulations.
Checkov Scan works by analyzing the code structure and applying a set of built-in and custom rules. The rules are written in YAML format and can be easily extended or modified to fit specific use cases. Each rule checks for a specific condition, such as the use of insecure protocols or the exposure of sensitive data, and generates a report with the findings. The report can be exported in various formats, such as JSON, HTML, or JUnit.
In this command, the following parameters are used:
-X POST: specifies the HTTP method to be used (in this case, POST)
-H "Authorization: Token <authorization_token>": specifies the authorization token obtained from AppSec Portal.
-H "Content-Type: multipart/form-data": specifies the content type of the request.
-F "file=@<report_file_path>": specifies the path to the report file generated by the scanner.
-F "product_name=<product_name>": specifies the name of the product being scanned.
-F "product_type=<product_type>": specifies the type of the product being scanned.
-F "scanner_name=<scanner_name>": specifies the name of the scanner used to generate the report (Checkov Scan)
-F "branch=<branch_name>": (optional) specifies the name of the branch in the source code repository (if applicable) This parameter is particularly useful when you want to associate the scan results with a specific branch in your repository. If not provided, the scan will be associated with the default branch
-F "repository=<repository SSH URL>": If your product is code in a repository enter the address of your repository in a specific format, for example: [email protected]:whitespots-public/appsec-portal.git
-F "docker_image=<registry address>": If your product is image enter the address of the registry where your product is located, for example: registry.gitlab.com/whitespots-public/appsec-portal/back/auto_validator:latest
-F "domain=<domain>": If your product is web enter the domain name of your product, for example: whitespots.io
-F "host=<host>": If your product is web enter the IP address of your product, for example: 0.0.0.0