Amazon CodeGuru Security

Servicio de pruebas de seguridad de aplicaciones estáticas que utiliza ML para detectar automáticamente vulnerabilidades en el código fuente y proponer código de corrección

Descripción general

Amazon CodeGuru Security es un servicio de pruebas de seguridad de aplicaciones estáticas (SAST) basado en machine learning que detecta automáticamente vulnerabilidades de seguridad en el código fuente y propone código de corrección específico. Cubre de forma integral las categorías de vulnerabilidades incluidas en OWASP Top 10, como inyección SQL, cross-site scripting (XSS), credenciales hardcodeadas y deficiencias en encriptación. A diferencia de las herramientas SAST tradicionales basadas en reglas, utiliza modelos ML entrenados con código real para detectar patrones de vulnerabilidad complejos con alta precisión.

Detección de vulnerabilidades basada en ML y diferencias con SAST tradicional

CodeGuru Security utiliza modelos de machine learning entrenados con millones de líneas de código y patrones de vulnerabilidad conocidos para detectar problemas de seguridad en el código fuente. Las herramientas SAST tradicionales se basan en coincidencia de patrones con reglas predefinidas, lo que genera muchos falsos positivos y tiene dificultades para detectar vulnerabilidades que abarcan múltiples archivos o funciones. CodeGuru Security comprende el flujo de datos y el flujo de control del código, pudiendo rastrear cómo la entrada del usuario se propaga a través de la aplicación y detectar puntos donde se usa sin sanitizar. Además de la detección, proporciona código de corrección específico, permitiendo a los desarrolladores aplicar las correcciones inmediatamente. Las categorías de detección incluyen inyección (SQL, OS command, LDAP), XSS, deserialización insegura, configuración de seguridad incorrecta, exposición de datos sensibles, control de acceso roto y uso de componentes con vulnerabilidades conocidas. La severidad se clasifica en Critical, High, Medium y Low, permitiendo priorizar las correcciones.

Patrones de integración en pipelines CI/CD

CodeGuru Security se integra en pipelines CI/CD para ejecutar escaneos de seguridad automáticamente en cada cambio de código. En la integración con CodePipeline, se añade una acción de escaneo de seguridad después de la etapa de compilación de CodeBuild, bloqueando el despliegue si se detectan vulnerabilidades de severidad Critical o High. En GitHub Actions, se puede ejecutar como paso del workflow usando la acción oficial proporcionada por AWS. Los resultados del escaneo se integran con Security Hub, permitiendo gestionar centralmente las vulnerabilidades de toda la organización y rastrear tendencias. También se puede integrar con el IDE del desarrollador, detectando vulnerabilidades en tiempo real durante la codificación y proporcionando correcciones antes del commit. Este enfoque shift-left permite detectar y corregir problemas de seguridad en las etapas más tempranas del desarrollo, reduciendo significativamente el costo de remediación. La API permite también la integración con herramientas de seguridad de terceros y sistemas de gestión de tickets.

Detección de secretos y mejores prácticas operativas

La función de detección de secretos de CodeGuru Security identifica credenciales hardcodeadas en el código fuente, como claves API, contraseñas de bases de datos, tokens OAuth y claves privadas. Detecta no solo formatos obvios sino también credenciales ofuscadas o codificadas en base64. Al detectar un secreto, recomienda el uso de AWS Secrets Manager o Systems Manager Parameter Store como alternativa segura. Las mejores prácticas operativas incluyen: ejecutar escaneos en cada pull request para prevenir la introducción de nuevas vulnerabilidades, realizar escaneos completos del repositorio periódicamente para detectar vulnerabilidades existentes, configurar umbrales de severidad apropiados para el equipo (por ejemplo, bloquear merge solo para Critical y High), y revisar y ajustar regularmente las reglas de supresión de falsos positivos. La integración con EventBridge permite configurar notificaciones automáticas cuando se detectan vulnerabilidades de alta severidad, acelerando el tiempo de respuesta del equipo de seguridad.

共有するXB!