La creciente tendencia de los paquetes maliciosos en los ecosistemas de código abierto
23 de marzo de 2023
0 minutos de lecturaNota del editor: 5 de marzo de 2025
El panorama de los paquetes maliciosos de código abierto sigue evolucionando.
En 2024, Snyk identificó más de 3,600 paquetes maliciosos, principalmente en npm (más de 3,000) y PyPI (más de 600). En lo que va de 2025, hemos señalado más de 1,000 casos nuevos, y JavaScript sigue siendo el ecosistema más afectado.
Snyk está dando prioridad a agregar a su base de datos los paquetes maliciosos que tienen usuarios activos y pueden afectar a sus clientes, en lugar de aquellos que no tienen un impacto real.
Desde principios de 2023, Snyk ha documentado alrededor de 6800 paquetes maliciosos en PyPI y el registro de npm que requieren poca o ninguna interacción; nosotros descubrimos casi 860 de ellos.
A mediados de 2022, observamos un aumento en la cantidad de paquetes maliciosos publicados en estos ecosistemas. Estos 6800 nuevos paquetes maliciosos se suman a la enorme campaña de phishing de unos meses atrás: según descubrió Checkmarx en diciembre de 2022, se publicaron más de 144 000 paquetes maliciosos en registros de software de código abierto, que recurrieron al typosquatting y contaminaron estos ecosistemas con intentos de phishing. Este incidente ocurrió después de otro conocido ataque de phishing dirigido específicamente al ecosistema de npm, en el que se subieron más de 17 000 paquetes maliciosos a npm para engañar a los desarrolladores con intentos de phishing. Los desarrolladores de Python también fueron blanco de un incidente de seguridad dirigido a PyPI, el registro de bibliotecas de Python, donde se publicaron más de 1130 paquetes maliciosos.
En este artículo, queremos ofrecer una visión más amplia de cómo el equipo de seguridad de Snyk monitorea y divulga incidentes de seguridad relacionados con paquetes maliciosos. Ante la gran cantidad de informes sobre paquetes maliciosos, queremos brindar más información sobre el riesgo y el impacto reales que observamos en Snyk en relación con estos incidentes, y sobre cómo reducir el riesgo para mitigarlo.
El aumento reciente de los paquetes maliciosos publicados es claramente una tendencia al alza. En 2021, Snyk agregó 82 nuevos paquetes maliciosos, pero la escala de 2022 y 2023 fue totalmente distinta. Snyk agregó más de 9900 paquetes maliciosos con impacto, lo que representa un aumento del 11,973 % en comparación con 2021.
Este crecimiento se debe en gran medida a que aumentamos nuestra inversión en identificar y neutralizar los efectos de los paquetes maliciosos, en respuesta a la creciente conciencia sobre este fenómeno.
En Snyk, desarrollamos herramientas de análisis dinámico que nos permiten detectar y obtener el código fuente de paquetes maliciosos en distintos ecosistemas, como PyPI y npm, analizarlos y publicarlos oportunamente. Además, gracias a las alianzas y la colaboración de la comunidad de código abierto, podemos rastrear más recursos que publican paquetes maliciosos y mantenernos al día.
El siguiente gráfico muestra el cambio en la cantidad de paquetes maliciosos agregados a la inteligencia de seguridad de Snyk desde 2021:

Aunque la cantidad de paquetes maliciosos publicados está aumentando considerablemente, también es importante evaluar si todos representan el mismo riesgo para los desarrolladores, lo que en realidad no es así.
Muchos de los paquetes maliciosos conocidos públicamente son intentos de phishing dirigidos. Para explotarlos, se requiere la interacción del usuario: además de descargar el paquete, la víctima debe hacer clic de forma deliberada en los enlaces para que la redirijan a sitios de phishing. Por otro lado, muchos paquetes maliciosos con gran impacto, incluidos los que usan hooks del ciclo de vida como los scripts preinstall o postinstall, pueden descargar malware o robar información confidencial de la máquina de la víctima. Estos tipos de paquetes maliciosos no requieren interacción del usuario más allá de instalar el paquete. Por lo tanto, representan un riesgo mayor que los paquetes que requieren que el usuario interactúe deliberadamente para explotarlos.
Desde 2023, Snyk encontró 681 paquetes maliciosos que no requieren interacción del usuario, aparte de descargar el paquete. Uno de ellos es el paquete de JavaScript para npm llamado django-yauth.
Al investigar su código fuente, descubrimos que contiene un script preinstall llamado ./pre.sh, que incluye el siguiente código:
Este script preinstall se ejecuta cuando el usuario instala el paquete con el comando npm install django-yauth.
En este caso en particular, el malware es fácil de entender. Recopila información confidencial, como el nombre del host de la máquina, el nombre de usuario y el directorio actual. Una solicitud POST a un endpoint controlado por un atacante permite compartir estos datos.
Un usuario llamado ypvpctpbamdhxtkzdu publicó este paquete en npm. También publicó otros paquetes maliciosos con código similar, como:
Cómo evitar ser víctima de paquetes maliciosos
Antes de instalar un paquete, verifica que su nombre sea exactamente el que querías instalar.
Además, procura analizar tus proyectos y aplicaciones con regularidad para evitar que haya paquetes maliciosos desconocidos en tu sistema.
Como desarrollador, debes prestar atención a los indicadores sospechosos —como una versión mucho más alta que las demás del paquete o intentos de imitar nombres mediante typosquatting— e inspeccionar el código fuente de los paquetes que descargues.
Para conocer más consejos y técnicas que te ayuden a proteger tus proyectos, consulta nuestra publicación anterior sobre cómo prevenir los paquetes maliciosos y los ataques a la cadena de suministro con Snyk.
Seguridad para el futuro
Aunque la cantidad de paquetes maliciosos está aumentando, las capacidades de las organizaciones de seguridad de código abierto y de la comunidad de código abierto en general no se quedarán atrás. Se están desarrollando más herramientas de automatización y aprendizaje automático para detectar esos paquetes a tiempo, y la comunidad de código abierto ha comprobado que la colaboración es fundamental en la «lucha contra los paquetes maliciosos». Compartir información con colegas y especialistas permite ampliar la búsqueda y ayuda a que todos estén más atentos a los paquetes maliciosos que puedan encontrar.
Por último, aunque los incidentes más recientes incluyeron la publicación masiva de paquetes maliciosos, todos se eliminaron rápidamente del ecosistema y tuvieron un impacto limitado en los clientes de Snyk.
Empieza con los desafíos de Capture the Flag
Aprende a resolver desafíos de captura la bandera con nuestro taller virtual introductorio a pedido.
