GitHub ha introducido los CodeQL Community Packs, una innovadora colección de herramientas destinada a reforzar las capacidades de análisis de código. Estos nuevos paquetes están diseñados específicamente para complementar el conjunto estándar de CodeQL, proporcionando recursos valiosos tanto para desarrolladores como para investigadores de seguridad.
CodeQL, conocida por su precisión y bajos índices de falsos positivos, es una herramienta esencial que convierte bases de código en bases de datos, permitiendo a los desarrolladores identificar errores y vulnerabilidades con eficacia. Aunque su configuración estándar es idónea para su integración en pipelines de CI/CD, las nuevas posibilidades con los Community Packs apuntan a un ajuste fino que prioriza la detección de errores críticos, incluso si eso significa un aumento en la clasificación de falsos positivos.
Los CodeQL Community Packs se dividen en tres categorías principales. Los “Model packs” incluyen modelos adicionales para seguimiento de taint y resumen de bibliotecas no soportadas por los conjuntos estándar. Los “Query packs” aportan consultas adicionales que ayudan en la identificación de vulnerabilidades y optimización de la calidad del código. Por último, los “Library packs”, si bien no contienen consultas, ofrecen bibliotecas que enriquecen el análisis.
Con el respaldo del GitHub Security Lab, estos paquetes se han utilizado extensamente, demostrando su eficacia en revisiones de código manuales en proyectos como Datahub y Home Assistant. En estos contextos, las consultas de auditoría robustas han sido fundamentales para examinar bases de código masivas y desconocidas, permitiendo un descubrimiento efectivo de rutas de datos no confiables.
Los paquetes están disponibles para varios lenguajes, como Java, C# y Python, y están diseñados para minimizar la tasa de falsos negativos, lo que resulta especialmente ventajoso para investigadores de seguridad. En particular, las iniciativas para Java incluyen consultas diseñadas para CVEs conocidos y plantillas avanzadas de seguimiento de taint, facilitando la identificación de rutas de datos vulnerables.
Una de las innovaciones clave de estos paquetes es su capacidad para detectar problemas de seguridad complejos como inyecciones JNDI, a través del desarrollo de modelos de extensión para bibliotecas, mejorando así el diagnóstico de flujos de datos inseguros hacia APIs de terceros.
Accesibles tanto desde los flujos de trabajo de GitHub como mediante la interfaz de línea de comandos de CodeQL, estos paquetes no solo potencian el análisis de código, sino que también fomentan la colaboración comunitaria. GitHub alienta a los desarrolladores a contribuir con sus propias consultas y modelos, reforzando de este modo la seguridad del software de código abierto a nivel global.