Slopsquatting: tu asistente de IA te acaba de recomendar un paquete que no existe

Slopsquatting: tu asistente de IA te acaba de recomendar un paquete que no existe

Slopsquatting: tu asistente de IA te acaba de recomendar un paquete que no existe

De la alucinación al backdoor en una sola línea de código

Hace un par de años el peligro era el typosquatting: escribías reqeusts en vez de requests y alguien ya había registrado el paquete falso esperando que te equivocaras. Eso requería que tú cometieras el error. Ahora el error lo comete la IA y tú simplemente le haces caso.

Esto se llama slopsquatting, término acuñado por Seth Larson de la Python Software Foundation. La cadena de ataque es directa: le pides a un asistente de código que te ayude con OAuth2, el modelo alucina un nombre como requests-oauth2-helper que suena perfectamente real, y tú lo instalas sin pensarlo dos veces. El problema es que ese paquete nunca existió hasta que alguien lo registró justo para ti.

Un estudio de USENIX Security 2025 analizó 576 mil muestras de código generadas por 16 LLMs. El resultado no es bonito: el 19,7% de los paquetes recomendados no existían. Eso da 205.474 nombres inventados. Y lo peor: el 43% de esas alucinaciones se repitieron en cada ejecución. No son ruido aleatorio, son comportamientos estables que un atacante puede predecir y monetizar.

El caso más claro lo documentó Bar Lanyado en Lasso Security. Los modelos seguían sugiriendo pip install huggingface-cli, cuando la forma real es pip install -U "huggingface_hub[cli]". Lanyado registró el paquete vacío como experimento. En tres meses acumuló más de 15.000 descargas reales. Uno de esos proyectos fue Alibaba GraphTranslator, que terminó recomendando el paquete falso en su README. Si el experimento hubiera sido malicioso, esas credenciales ya estarían en venta en algún foro ruso.

Por qué tu infraestructura actual no te protege

El slopsquatting no es un bug de la IA que se va a arreglar con más parámetros. Es un problema de confianza desplazada: estás copiando y pegando comandos de una fuente que te parece autorizada, sin verificar si el destino existe. Y las defensas tradicionales no lo detectan.

Los nombres alucinados no son typos. Solo el 13% tienen distancia Levenshtein corta con paquetes reales. El 48% son completamente originales pero creíbles. Tu detector de typosquatting no va a saltar porque no hay error ortográfico: hay una invención coherente.

En npm, el ataque es especialmente sucio porque los scripts postinstall se ejecutan automáticamente al hacer npm install. En pip, las distribuciones fuente corren setup.py durante la instalación. En ambos casos, el atacante no necesita que importes nada: con que instales, ya leíste las variables de entorno y mandaste las credenciales a su servidor.

Lo que hago en mi pega y lo que te recomiendo

En mi equipo no instalamos paquetes sin pasar por tres filtros mínimos: existe en el registro público con más de un mes de antigüedad, tiene commit history visible en GitHub, y al menos una release firmada o auditada por alguien que no sea el propio autor. Si un modelo me sugiere algo que no conozco, no lo copio al terminal: lo busco primero.

La IA aceleró la producción de código, pero también aceleró la producción de vectores de ataque. No es culpa del modelo: el modelo solo predice el siguiente token. La responsabilidad es nuestra, de los que seguimos copiando y pegando sin leer. El slopsquatting no se va a arreglar con un patch de OpenAI. Se arregla cuando dejamos de confiar ciegamente en máquinas que inventan nombres con tanta naturalidad que ni nosotros notamos la diferencia.

Fuente de inspiración: Slopsquatting: The Supply Chain Attack That Weaponizes AI Hallucinations

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *