Según tengo entendido, la biblioteca de JavaScript lodash se inspiró en underscore.js e implementa una API similar. Según Wikipedia, es una bifurcación de underscore.js.
En mi aplicación, uso la última versión de Lodash (4.17.21). Algunos programas de seguridad que uso han señalado que esta versión de Lodash incluye una versión anterior de underscore.js que contiene problemas de seguridad.
En GitHub, puedo encontrar la versión anterior de Underscore.js en la siguiente subcarpeta en el repositorio de Lodash: https://github.com/lodash/lodash/tree/4.17/vendor/underscore
He recopilado el código fuente y tengo la impresión de que Lodash incluye underscore.js solo como referencia y para algún tipo de prueba. Cuando observo las funciones específicas implementadas por Lodash/Underscore, la implementación se filtra por separado.
¿Alguien sabe por qué la cuenta de Lodash github también incluye una copia de Underscore?
Divulgación completa: actualmente mantengo Underscore.
Dedujiste correctamente que Lodash no depende de Underscore, al menos no en producción. Más bien, es una bifurcación de Underscore que se ha apartado del original en gran medida con el tiempo, hasta el punto de que ya no reconoce la biblioteca original. Si observa el historial de confirmación inicial de Lodash , puede ver que el autor aún estaba fusionando los cambios de Underscore. Esto se detuvo después de Underscore 1.3.3.
Una de las formas en que Lodash se separó de Underscore es que su código fuente se infló drásticamente (compare Lodash sin minimizar (531 kB) con Underscore sin minimizar (66,8 kB) ). Creo que esto explica en parte por qué Lodash actualmente solo publica actualizaciones de seguridad raras; la superficie de mantenimiento se ha vuelto demasiado grande. Al leer el código Lodash, también encontrará que es muy difícil rastrear cómo funciona una función determinada.
Se suponía que el directorio de proveedores se usaría en las pruebas y las comparaciones de rendimiento. Todavía se pueden ver rastros de esto aquí y aquí . Underscore 1.8.3 tiene siete años, por lo que es una clara señal de que las pruebas de rendimiento no se han actualizado en mucho tiempo.
En cualquier caso, su software de escaneo de seguridad está siendo demasiado cauteloso. Lodash se basó originalmente en Underscore, pero no depende de él.