La inteligencia artificial está transformando diversas áreas de manera positiva, pero también está facilitando nuevas oportunidades para los ciberdelincuentes. En este artículo, te hablaré sobre el slopsquatting, una amenaza que tal vez no conozcas, pero que puede infiltrarse en tus proyectos si utilizas código generado por IA.
Desde hace un tiempo, he estado explorando herramientas de inteligencia artificial para crear código. Son rápidas, convenientes y, en muchas ocasiones, bastante precisas. Sin embargo, no esperaba encontrarme con una amenaza como el slopsquatting. Este nuevo tipo de ataque se aprovecha de uno de los errores más frecuentes en los modelos de lenguaje: las alucinaciones. Esto sucede cuando una IA “inventa” información que parece creíble, pero que no es cierta. En el ámbito del código, a veces se generan nombres de paquetes que no existen, pero que suenan tan plausibles que cualquiera podría caer en la trampa.
Definición de slopsquatting
Piénsalo así: utilizas una IA para ayudarte a programar en Python o JavaScript, y te sugiere instalar un paquete llamado secure-auth-helper. A primera vista, parece legítimo, ¿cierto? El inconveniente es que ese paquete no existe… hasta que un atacante decide crearlo y subirlo a un repositorio público con contenido nocivo.
Eso es el slopsquatting: los hackers utilizan esas “alucinaciones” de nombres que la IA genera y desarrollan paquetes con esos nombres ficticios. Luego, cuando un desarrollador confiado sigue la recomendación de la IA y lo instala, el atacante tiene acceso total para actuar a su antojo en el sistema.
Un estudio reciente realizado por tres universidades de EE. UU. revela que hasta un 20 % de los paquetes sugeridos por ciertos modelos de IA no existen. Lo más alarmante es que estos modelos tienden a repetir los mismos nombres una y otra vez, convirtiendo lo que inicialmente era una invención en un patrón fácilmente explotable.
Cómo evitar caer en la trampa
Si trabajas con código generado por IA, es fundamental que adoptes ciertas medidas de precaución. Aquí te comparto lo que yo mismo he comenzado a implementar en mis proyectos:
- No confíes ciegamente en las sugerencias de la IA: cada vez que un modelo te recomiende un paquete, asegúrate de que realmente existe. Visita el repositorio oficial (como PyPI o npm) y verifica quién lo ha subido, cuándo fue creado y qué opiniones tiene.
- Elige paquetes reconocidos y de buena reputación: si la IA te sugiere algo poco común o reciente, piénsalo dos veces antes de instalarlo. Siempre busca alternativas más consolidadas, incluso si tardan un poco más en configurarse.
- Usa entornos de prueba antes de implementar nada en producción: no instales nuevos paquetes directamente en tu sistema principal. Utiliza entornos aislados o virtuales para probarlos y asegurarte de que no presentan comportamientos extraños.
- Mantén tu entorno de desarrollo actualizado: los gestores de paquetes suelen incluir filtros para prevenir instalaciones maliciosas, pero debes tener la versión más reciente. Actualizar tu entorno puede ahorrarte sorpresas desagradables.
- No te apresures por querer avanzar: la IA puede ayudarte a ahorrar tiempo, sí, pero la seguridad no es negociable. Que algo funcione no implica que sea seguro. Dedica tiempo a revisar lo que te propone.
No se trata de temer a la IA, sino de usarla con prudencia.
El slopsquatting es solo uno de los muchos peligros que surgen del uso indebido de la inteligencia artificial. No se trata de temer a la IA, sino de saber cómo utilizarla con sensatez. Si confías en herramientas como ChatGPT, Copilot o Code Llama para programar, perfecto. Pero no bajes la guardia. Revisa, verifica y protege tus entornos como si cada línea de código pudiera ser una puerta abierta a tu sistema.
Porque en la actualidad, incluso una simple sugerencia de código puede marcar el inicio de un ataque. Y cuanto antes empecemos a abordar este tema, mejor preparados estaremos.