Pídale a un asistente de codificación que resuelva un problema y, a veces, le recomendará instalar un paquete: paquetes reales para tareas comunes y, con mucha frecuencia, paquetes que no existen en absoluto. Inventó un nombre plausible porque el patrón de código circundante requería una dependencia allí. Si usted o su agente de codificación ejecutan el comando de instalación de todos modos, lo que esté realmente registrado con ese nombre en PyPI o npm es lo que aterriza en su máquina. El investigador de seguridad Seth Larson, desarrollador residente de la Python Software Foundation, denominó el ataque resultante “slopsquatting”, registrando los nombres que los modelos alucinan, el equivalente de typosquatting generado por IA.
¿Con qué frecuencia esto sucede realmente?
Un equipo de la Universidad de Texas en San Antonio, Virginia Tech y la Universidad de Oklahoma lo midieron directamente: “¡Tenemos un paquete para usted!”, aceptado en USENIX Security 2025. A través de 576.000 muestras de código generado de 16 modelos populares en dos idiomas, encontraron paquetes alucinados en “al menos el 5,2 por ciento para los modelos comerciales y el 21,7 por ciento para los modelos de código abierto”, con un total de 205.474 nombres únicos de paquetes alucinados. Este no es un caso extremo raro; para algunos modelos de código abierto, es aproximadamente una de cada cinco dependencias sugeridas.
| clase modelo | Tasa de alucinaciones (de las recomendaciones del paquete) |
|---|---|
| Modelos comerciales (promedio) | al menos 5,2 por ciento |
| Modelos de código abierto (promedio) | al menos el 21,7 por ciento |
¿Por qué esto es algo que se puede poner en cuclillas y no sólo que está mal?
Un nombre inventado por única vez sería una molestia, no una superficie de ataque. Lo que lo hace explotable es la repetición: como El Registro informó el 12 de abril de 2025, cuando los investigadores repitieron el mismo mensaje diez veces, “el 43 por ciento de los paquetes alucinados se repitieron cada vez y el 39 por ciento nunca reapareció”. Cerca de la mitad de los nombres alucinados no son ruidos aleatorios; son las mismas suposiciones que el modelo alcanza para un código similar dado de manera confiable. Un atacante no necesita adivinar lo que escribirá un desarrollador específico. Pueden ejecutar los mismos modelos según indicaciones comunes, recopilar los nombres que se repiten y registrarlos en el índice del paquete real por adelantado.
pip install fast-json-normalizer # suggested by a coding assistant
Collecting fast-json-normalizer
Downloading fast-json-normalizer-0.3.1.tar.gz
Running setup.py install for fast-json-normalizer ... done
# Nothing here indicates whether this name was ever a real, reviewed project
# or was registered specifically because models keep suggesting it.Por qué esto encaja con el patrón que OWASP ya sigue
Esta es una variante de lo que Top 10 de OWASP para aplicaciones de LLM llama un riesgo de la cadena de suministro para el desarrollo asistido por IA: el límite de confianza que solía establecerse en “si un humano eligió agregar esta dependencia” se mueve a “lo eligió la finalización del patrón de un modelo”, y la finalización del patrón no tiene concepto de si un nombre es real.
Qué hacer realmente al respecto
- Trate cada nombre de paquete que sugiere un agente de codificación como una sugerencia para verificar, no como una dependencia conocida, de la misma manera que trataría un nombre que un colaborador junior escribió de memoria.
- Verifique la fecha de registro y el historial de descargas antes de instalar algo desconocido; un paquete que apareció recientemente y que coincide sospechosamente con un patrón de aviso común generado por IA merece una segunda mirada.
- Fije las dependencias y use un archivo de bloqueo, de modo que un nombre alucinado que se deslizó una vez no se vuelva a resolver silenciosamente más tarde.
- Observe lo que realmente hace un paquete recién instalado en la primera ejecución. Una dependencia recién registrada que se comunica con un servidor con el que no tiene por qué contactarse es una señal que un firewall puede detectar incluso cuando una revisión del código omitió el nombre.
Dónde entran FireAI y HisnLabs
A squatted package that phones home still has to make a connection to do it, from a Python or Node process you just ran; FireAI shows you that connection, the process behind it and where it is going, before you decide whether it belongs there.
FireAI es el producto de HisnLabs: un firewall con IA que corre directamente en tu Mac. Te muestra, en lenguaje claro, cada conexión que hacen tus aplicaciones y te deja decidir qué sale de tu Mac; su IA funciona de manera local, así que tu tráfico nunca se envía a nosotros ni a nadie más. El equipo de investigación en seguridad de HisnLabs es el que mantiene esas decisiones confiables: cataloga qué dominios son simple telemetría y cuáles un servicio real, rastrea el país y la red detrás de cada conexión, y entrena el modelo local (la función Autopilot) con patrones de tráfico reales, sin que nada de eso salga de tu Mac.
Puedes leer las decisiones técnicas detrás de FireAI, o probarlo durante 17 días, en FireAI, de HisnLabs.
