🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónNombres engañosos y paquetes nuevos sospechosos
5 tareas · 40 min · Principiante
No todo el riesgo de una dependencia está en sus fallos. A veces el problema es que el paquete no es el que el equipo cree: un nombre casi igual al de una biblioteca conocida, o un paquete público que se hace pasar por uno interno. El escáner no da alertas porque no hay aviso que citar. Cooperativa Uvito te entrega una solicitud de cambio que añade tres dependencias, sus entradas del archivo de bloqueo, los datos públicos de cada una y el resumen de la instalación que appsec hizo en una máquina desechable.
Objetivo de la sala
No todo el riesgo de una dependencia está en sus fallos. A veces el problema es que el paquete no es el que el equipo cree: un nombre casi igual al de una biblioteca conocida, o un paquete público que se hace pasar por uno interno. El escáner no da alertas porque no hay aviso que citar. Cooperativa Uvito te entrega una solicitud de cambio que añade tres dependencias, sus entradas del archivo de bloqueo, los datos públicos de cada una y el resumen de la instalación que appsec hizo en una máquina desechable.El primero vive del error humano: se publica un paquete con un nombre que se confunde con otro muy usado (una letra de menos, dos letras cambiadas de orden, un guion donde no iba) y se espera a que alguien lo escriba mal. Se le suele llamar suplantación por errata, y el paquete falso a menudo exporta las mismas funciones que el bueno para que nada falle y nadie mire.
El segundo vive de la configuración: un equipo usa un paquete interno con un nombre sin ámbito y su gestor consulta también el registro público. Si alguien publica en el registro público un paquete con ese mismo nombre y una versión más alta, y el rango declarado la admite, el gestor puede preferir la pública. Se le llama confusión de dependencias. Se evita poniendo los paquetes internos bajo un ámbito propio (en npm, un prefijo como @empresa/) asociado al registro interno, y reservando ese ámbito en el público.
Responde para continuar
¿Qué separa la confusión de dependencias de la suplantación por errata?
Ver pista de ayuda
Pregúntate en cuál de los dos la persona escribió bien el nombre.
Abre el laboratorio y lee encargo.txt y solicitud-de-cambio-231.txt. Compara cada nombre nuevo con los que el portal ya usa y con metadatos-registro.txt. Las señales de un paquete sospechoso se leen juntas: creado hace días, pocas versiones publicadas en poco tiempo, una cuenta de publicador recién creada, sin repositorio enlazado y muy pocas descargas frente al paquete al que se parece.
Responde para continuar
¿Qué paquete nuevo de la solicitud imita el nombre de una dependencia que el portal ya usa? Escribe su nombre.
Ver pista de ayuda
Pon cada nombre nuevo al lado de los que ya están en el manifiesto.
Lee npmrc.txt y la entrada del paquete interno en bloqueo-extracto.txt. El campo resolved dice de dónde se descargó cada paquete; la configuración dice qué nombres van al registro interno. Un paquete sin el prefijo de ámbito no lo cubre esa regla, y el rango que escribió el desarrollador no tiene techo.
Responde para continuar
¿Qué versión de uvito-utilidades quedó fijada en el archivo de bloqueo de la solicitud?
Ver pista de ayuda
Compárala con la última versión del registro interno.
Muchos paquetes maliciosos no esperan a que la aplicación los use: actúan al instalarse, a través de los scripts que el gestor ejecuta en ese momento, y eso ocurre en el portátil de quien desarrolla y en la integración continua, donde suele haber credenciales. El archivo de bloqueo de npm marca las entradas que traen scripts de instalación, lo que permite verlo en la revisión del cambio sin abrir el paquete. Lee otra vez las entradas nuevas del bloqueo y el resumen de revision-aislada.txt.
Responde para continuar
¿Qué campo del archivo de bloqueo indica que un paquete ejecuta un script al instalarse? Escríbelo tal como aparece.
Ver pista de ayuda
Aparece en dos de las tres entradas nuevas y en ninguna de las de toda la vida.
Rechazar este cambio resuelve el día. Lo que evita el siguiente es un control que no dependa de que alguien lea con atención cada nombre. Mira cómo está configurado el registro interno y qué nombres cubre.
Responde para continuar
¿Qué control habría impedido que uvito-utilidades llegara del registro público?
Ver pista de ayuda
El escáner no dio ninguna alerta: el paquete falso no tenía aviso.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.