Semgrep v1.157.0, lanzado el 31 de marzo de 2026, se centra en mejoras de rendimiento y seguridad, especialmente para usuarios Pro. Esta actualización menor refina las capacidades de análisis estático y aborda varios problemas de parsing.
Cambios Clave
Características y Mejoras:
- Seguimiento de Taint Mejorado (Pro): Mayor precisión en el seguimiento de taint a través de llamadas a lambda y mejor seguimiento entre archivos para globales (LANG-268, LANG-275).
- Coincidencia Avanzada de Metavariable-Type: Ahora es posible hacer coincidir un nombre de clase como en
$C.getInstance(...)y luego usarmetavariable-typeen$Cpara verificar su tipo (LANG-271). - Nuevo Parser para npm Lock Files (Pro): El análisis de la cadena de suministro para archivos
npm package lockahora utiliza un parser propietario basado en OCaml, reemplazando la versión anterior de Python. Esta funcionalidad ahora está disponible exclusivamente para usuarios de Semgrep Pro (gh-5658).
Rendimiento:
- Análisis de Taint Inter-Archivo Optimizado (Pro): Reduce la recomputación redundante durante el análisis de taint entre archivos al serializar los resultados intermedios en disco (ENGINE-2582).
Correcciones y Estabilidad:
- Reporte de Errores Mejorado: Los errores durante el descubrimiento de archivos objetivo (por ejemplo, errores de permisos) ahora se muestran como advertencias en lugar de ser ignorados silenciosamente (ENGINE-2627).
- Correcciones de Parsing: Se solucionaron problemas en el parsing de Rust (
&raw), FQN de Kotlin enmetavariable-type,requirements.txtque omitía dependencias fijadas, y el parsing de Python con cadenas vacías/comillas (rust-parser-updated, LANG-271, SC-3379, gh-11287). - Filtrado de Rutas de Reglas: Se corrigió el filtrado
paths.include/paths.excludecuando se pasa un solo archivo como objetivo de escaneo, asegurando que se utilicen las rutas completas relativas al proyecto (gh-11560). - Estabilidad: Se evitaron segfaults causados por coincidencias de aliengrep profundamente anidadas (engine-2628).
- Mejoras en Scala y Golang (Pro): Mejor resolución de tipos y llamadas en Scala, y resolución de módulos de Golang mejorada (lang-79, lang-80, code-9225).
Para una lista completa de cambios, consulte las notas de lanzamiento oficiales de Semgrep v1.157.0.
Impacto para Equipos QA
Esta actualización proporciona a los equipos de QA resultados de análisis estático más precisos, especialmente para el análisis de taint enfocado en seguridad en bases de código complejas. La mejora en el reporte de errores durante el descubrimiento de archivos significa menos archivos omitidos silenciosamente, aumentando la fiabilidad del escaneo. Los usuarios Pro se benefician de un análisis de la cadena de suministro y un seguimiento de taint entre archivos más rápidos y precisos, lo que lleva a flujos de trabajo de detección de vulnerabilidades más eficientes.
