Revista Informática

Anuncio de Nuevos Paquetes Comunitarios de CodeQL

Publicado el 30 diciembre 2024 por Lauratuero @incubaweb

GitHub ha anunciado el lanzamiento de sus nuevos CodeQL Community Packs, una amplia colección de consultas y modelos diseñados para optimizar el análisis de código. Estos paquetes están concebidos para complementar el conjunto estándar de consultas de CodeQL, ofreciendo a los investigadores de seguridad y desarrolladores herramientas adicionales.

CodeQL es una potente herramienta de análisis semántico que permite a los desarrolladores explorar sus bases de código como si fueran bases de datos, lo cual es clave para identificar vulnerabilidades y errores con eficiencia. Las consultas estándar de CodeQL priorizan la precisión y la minimización de falsos positivos, lo que las hace ideales para su uso en pipelines de integración continua/entrega continua (CI/CD). Sin embargo, cuando las alertas son manejadas por ingenieros de seguridad o investigadores, se puede modificar el balance hacia los falsos negativos, asegurando que ningún error pase desapercibido, aún si esto resulta en un mayor esfuerzo de clasificación.

Los CodeQL Community Packs se dividen en tres tipos principales: los ‘Model packs’, que ofrecen modelos adicionales para el seguimiento de taint y cobertura de bibliotecas no soportadas por las consultas estándar; los ‘Query packs’, que proporcionan consultas adicionales para la seguridad y auditoría del código, mejorando calidad y detección de vulnerabilidades; y los ‘Library packs’, que sin incluir consultas, aportan importantes librerías para un análisis más exhaustivo.

El GitHub Security Lab ha estado utilizando estos paquetes con gran intensidad en los últimos años, logrando detectores avanzados de vulnerabilidades a través de consultas de auditoría. Estos han sido esenciales en revisiones de código manual, como las realizadas en proyectos como Datahub y Home Assistant, donde fue crucial listar archivos que manejan datos no confiables en aplicaciones de grandes bases de código desconocidas.

Estos Community Packs soportan lenguajes como Java, C# y Python, y están orientados a optimizar la relación entre señal y ruido, con un enfoque en reducir los falsos negativos. En particular, los paquetes de Java contienen consultas para vulnerabilidades conocidas, además de nuevas consultas de seguridad y plantillas para seguimiento de taint que ayudan a explorar rutas de datos.

Asimismo, se han desarrollado modelos de extensiones para bibliotecas, lo que permite a CodeQL reportar rutas de flujo de datos inseguras, facilitando la identificación de problemas de seguridad como la inyección JNDI. Esta mejora es el resultado de un análisis exhaustivo de aplicaciones que transfieren datos no confiables a APIs de terceros.

Los nuevos paquetes están disponibles tanto en los flujos de trabajo de escaneo de código de GitHub como a través de la línea de comandos de CodeQL, asegurando su fácil integración en los análisis de los usuarios. Este desarrollo fomenta la participación comunitaria, incentivando a los desarrolladores a contribuir con sus propios modelos y consultas para fortalecer la seguridad en el software de código abierto.


Volver a la Portada de Logo Paperblog