¿Qué es Checkmarx?
Checkmarx es una plataforma de Pruebas de Seguridad de Aplicaciones (AST) de nivel empresarial diseñada para ayudar a las organizaciones a proteger su software identificando y remediando vulnerabilidades a lo largo del ciclo de vida de desarrollo de software (SDLC). Proporciona una solución unificada que integra Pruebas de Seguridad de Aplicaciones Estáticas (SAST), Análisis de Composición de Software (SCA) y Pruebas de Seguridad de Aplicaciones Interactivas (IAST), permitiendo a los desarrolladores construir código más seguro desde el principio y brindando a los equipos de seguridad una visibilidad completa del riesgo de la aplicación.
Características Clave
- Pruebas de Seguridad de Aplicaciones Estáticas (SAST): Escanea el código fuente para identificar vulnerabilidades de seguridad, como inyección de SQL, Cross-Site Scripting (XSS) y configuraciones inseguras, sin necesidad de ejecutar la aplicación.
- Análisis de Composición de Software (SCA): Identifica componentes de código abierto y bibliotecas de terceros dentro de su base de código, marcando vulnerabilidades conocidas y problemas de cumplimiento de licencias.
- Pruebas de Seguridad de Aplicaciones Interactivas (IAST): Analiza las aplicaciones en tiempo real durante las pruebas de ejecución para detectar vulnerabilidades que solo se pueden descubrir a través de la interacción dinámica.
- Seguridad de Infraestructura como Código (IaC): Escanea plantillas de IaC (como Terraform, Kubernetes y CloudFormation) en busca de configuraciones incorrectas que podrían llevar a brechas de seguridad en entornos de nube.
- Integración Fluida con CI/CD: Se integra directamente en los flujos de trabajo de los desarrolladores y en los pipelines de CI/CD (p. ej., Jenkins, GitLab, Azure DevOps), proporcionando retroalimentación rápida y escaneo automatizado.
- Mejor Ubicación de Corrección (Best Fix Location): Identifica de manera inteligente el lugar óptimo en el código para corregir múltiples vulnerabilidades con un solo cambio, ahorrando un tiempo de desarrollo significativo.
Casos de Uso
- Implementación de DevSecOps: Integrar controles de seguridad automatizados directamente en el pipeline de CI/CD para detectar vulnerabilidades de manera temprana y frecuente.
- Cumplimiento y Auditoría: Generar informes para demostrar el cumplimiento de estándares de la industria como PCI DSS, HIPAA y GDPR.
- Gestión de Riesgos de Código Abierto: Obtener visibilidad sobre las dependencias de código abierto para gestionar vulnerabilidades y garantizar el cumplimiento de licencias.
- Protección de Aplicaciones Nativas de la Nube: Analizar microservicios, contenedores y plantillas de IaC para proteger arquitecturas modernas basadas en la nube.
- Triaje y Remediación de Vulnerabilidades: Proporcionar a los equipos de seguridad y desarrolladores una plataforma centralizada para priorizar y corregir fallos de seguridad de manera eficiente.
Cómo Empezar
Checkmarx es una plataforma comercial que requiere instalación y configuración. Un ejemplo de “Hola Mundo” implica integrarla en un pipeline de CI. A continuación se muestra un ejemplo conceptual de cómo podría ser un paso de escaneo de Checkmarx en un archivo gitlab-ci.yml.
```yaml
.gitlab-ci.yml
stages:
- build
- test
build_job: stage: build script: - echo “Construyendo la aplicación…” # Pasos de construcción aquí
checkmarx_sast_scan:
stage: test
script:
- echo “Ejecutando escaneo SAST de Checkmarx…”
- |
/opt/cx/runCxScan.sh
–projectname=”${CI_PROJECT_NAME}”
–cxserver=”${CX_SERVER_URL}”
–cxuser=”${CX_USER}”
–cxpassword=”${CX_PASSWORD}”
–locationtype=git
–giturl=”${CI_REPOSITORY_URL}”
–branch=”${CI_COMMIT_REF_NAME}”
–preset=”Checkmarx Default”
–comment=”Escaneo CI de GitLab”
–asynchronous
rules:
- if: ‘$CI_COMMIT_BRANCH == “main”’
Nota: Este es un ejemplo representativo. El script y los parámetros reales variarán según su configuración específica de Checkmarx y su entorno de CI/CD. El primer paso suele ser contactar a Checkmarx para una demostración y una licencia de prueba.
Precios
Checkmarx opera con un modelo de precios Pagado (basado en suscripción). El costo generalmente se basa en factores como el número de desarrolladores, el número de aplicaciones que se escanean y los productos específicos requeridos (SAST, SCA, IAST, etc.). Ofrecen cotizaciones personalizadas para empresas y no publican una lista de precios fija públicamente.