# Checkov

##### Descripción

[Checkov](https://www.checkov.io/) es un escáner de infraestructura como código (IaC) que detecta configuraciones inseguras en Terraform, CloudFormation, Kubernetes, etc.

##### Uso local

```
checkov -d .    # Escanea el directorio actual
```

##### Reportes

- [CLI](https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html), [JSON](https://www.checkov.io/7.Scan%20Examples/Terraform%20Plan%20Scanning.html), [JUnit](https://www.checkov.io/8.Outputs/JUnit%20XML.html), [SARIF](https://www.checkov.io/8.Outputs/SARIF.html#:~:text=SARIF%20(Static%20Analysis%20Results%20Interchange,of%20the%20code%20scanning%20experience.).
- Puede integrarse con plataformas como [Prisma Cloud](https://docs.prismacloud.io/en/enterprise-edition/content-collections/application-security/get-started/connect-code-and-build-providers/ci-cd-runs/add-checkov) o [DefectDojo](https://docs.defectdojo.com/en/connecting_your_tools/parsers/file/checkov/#:~:text=Sample%20Scan%20Data-,File%20Types,%221.0.467%22%20%7D%20%7D).

##### Integración en CI/CD

- Esta [acción de GitHub](https://github.com/bridgecrewio/checkov-action) ejecuta [Checkov](https://github.com/bridgecrewio/checkov) en infraestructura como código, paquetes de código abierto, imágenes de contenedores y configuraciones de CI/CD para identificar configuraciones incorrectas, vulnerabilidades y problemas de cumplimiento de licencias.

```

      - name: Run Checkov action
        id: checkov
        uses: bridgecrewio/checkov-action@master
        with:
          directory: .
          soft_fail: true
          download_external_modules: true
          github_pat: ${{ secrets.GH_PAT }}
        env:
          GITHUB_OVERRIDE_URL: true  # optional: this can be used to instruct the action to override the global GIT config to inject the PAT to the URL

```

##### Integraciones

- [GitHub](https://www.checkov.io/7.Scan%20Examples/Github.html#:~:text=Checkov%20supports%20the%20evaluation%20of,defined%2C%20having%20SSO%20and%20more.),[ Jira (API)](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#about),[ Slack](https://medium.com/akumosolutions-devops/integrating-custom-yaml-policies-in-checkov-with-jenkins-and-slack-3438cefd2c54).
- VSCode: [extensión oficial](https://github.com/bridgecrewio/checkov-vscode) para resaltar problemas en tiempo real.

##### UI

- Checkov OSS no tiene UI propia, pero [Prisma Cloud](https://www.paloaltonetworks.es/prisma/cloud) (versión paga) sí.

##### Licencia

- **Open source (Apache 2.0)**.
- Instalación simple en máquinas virtuales.

##### Facilidad de uso

- Muy fácil. CLI sencilla y reglas predefinidas muy completas.

##### Cumplimiento con estándares:

- **OWASP:** Apoya indirectamente la mitigación de riesgos del OWASP Top 10 para aplicaciones cloud-native.
- **NIST:** Compatible con controles de NIST 800-53 (por ejemplo, CM-6: configuración, SC-12: seguridad criptográfica).
- **ISO/IEC 27001:** Apoya la seguridad en configuración de infraestructura (controles A.12.1.2 y A.14.1.3).
- **CIS Benchmarks:** Checkov valida configuraciones directamente contra benchmarks CIS para AWS, Azure, GCP, Kubernetes.