GitHub ha anunciado la adición de un sistema de aprendizaje automático experimental al servicio de Code scanning para identificar tipos comunes de vulnerabilidades en el código. En la fase de prueba, esta nueva funcionalidad está disponible solo para repositorios con código en los lenguajes JavaScript y TypeScript. Se destaca que la aplicación del sistema de aprendizaje automático ha permitido ampliar significativamente el rango de problemas detectados, ya que el análisis ya no se limita a la verificación de plantillas estándar ni se restringe a frameworks conocidos. Entre los problemas que la nueva sistema puede identificar se mencionan errores que conducen a scripting entre sitios (XSS), distorsión de rutas de archivos (por ejemplo, a través de la indicación “/..”), y la inyección de consultas SQL y NoSQL.
El servicio Code scanning permite detectar vulnerabilidades en las primeras etapas del desarrollo al escanear cada operación de ‘git push’ en busca de problemas potenciales. El resultado se adjunta directamente a la solicitud de extracción (pull request). Anteriormente, la verificación se realizaba utilizando el motor CodeQL, que analiza patrones con ejemplos típicos de código vulnerable (CodeQL permite crear un patrón de código vulnerable para detectar la presencia de vulnerabilidades similares en el código de otros proyectos). El nuevo motor, que utiliza aprendizaje automático, puede identificar vulnerabilidades previamente desconocidas, ya que no está limitado a la evaluación de patrones de código que describen vulnerabilidades específicas. El costo de esta capacidad es un aumento en el número de falsos positivos en comparación con las verificaciones basadas en CodeQL.
Fuente: opennet.ru
