GitHub ha dado un paso significativo en el ámbito del análisis de seguridad de código con el lanzamiento de sus nuevos CodeQL Community Packs. Esta innovadora colección de consultas y modelos ha sido concebida para potenciar las capacidades de análisis de código, complementando las ya conocidas herramientas estándar de CodeQL. Diseñados para ser un recurso esencial tanto para investigadores de seguridad como para desarrolladores, estos paquetes prometen una mejora sustancial en la identificación de vulnerabilidades en bases de código.
CodeQL, conocido por su capacidad para analizar semánticamente el código, permite a los usuarios inspeccionar sus bases de código con la precisión de una consulta de base de datos. Esto resulta particularmente útil en la detección de vulnerabilidades y errores, garantizando un bajo índice de falsos positivos, lo cual es ideal para su integración en procesos CI/CD. Sin embargo, los nuevos paquetes abren la puerta a ajustes más precisos entre falsos positivos y negativos, priorizando detecciones críticas.
Los CodeQL Community Packs se dividen en tres categorías principales: los ‘Model packs’, que añaden modelos para el seguimiento de taint y resúmenes de bibliotecas fuera del alcance estándar; los ‘Query packs’, que ofrecen un conjunto ampliado de consultas de seguridad y auditoría; y los ‘Library packs’, los cuales incluyen bibliotecas cruciales para un análisis detallado, aunque carecen de consultas directas.
El GitHub Security Lab ha estado a la vanguardia en la adopción de estos paquetes, mostrando resultados impresionantes en la identificación de vulnerabilidades, especialmente durante auditorías de código manuales de gran envergadura en proyectos como Datahub y Home Assistant. Estos paquetes, diseñados para lenguajes como Java, C# y Python, priorizan minimizar los falsos negativos. Por ejemplo, los paquetes de Java integran consultas para CVEs conocidos y nuevas adiciones de seguridad aportadas por ingenieros, además de plantillas para seguimiento de taint que facilitan el rastreo de datos.
Asimismo, los modelos de extensión desarrollados permiten a CodeQL identificar rutas de flujo de datos no seguras, mejorando notablemente la efectividad en la detección de amenazas de seguridad como la inyección JNDI. Este avance es fruto de un exhaustivo análisis de aplicaciones que gestionan datos no confiables.
Estos nuevos CodeQL Community Packs son fácilmente accesibles a través de los flujos de trabajo de escaneo de código de GitHub y mediante la interfaz de línea de comandos de CodeQL. Esta iniciativa también fomenta la participación comunitaria, alentando a desarrolladores a contribuir con sus propios modelos y consultas, apuntando a una colaboración más abierta y segura en el desarrollo de software de código abierto.