Antes se podía reconocer a un desarrollador. Tenían el terminal negro y verde, el editor con diecisiete archivos abiertos y una asombrosa habilidad para salir de vim (`esc :q!`, por si no lo sabías). Escribir software tenía un listón alto, y ese listón mantenía a la mayoría de la gente fuera.
Abres algo como Claude Cowork, escribes "créame una herramienta que limpie esta hoja de cálculo y me envíe un resumen cada lunes," y te vas. Minutos después, hay algo funcionando. Detrás de la ventana de chat, un agente puso en marcha una máquina virtual, escribió código real, incorporó las librerías que consideró necesarias, lo ejecutó, encontró un error, lo corrigió y te entregó el resultado. Tú describiste un resultado, mientras una máquina hizo la ingeniería.
¡Enhorabuena! Ahora eres un desarrollador, uno que nunca vio una sola línea de lo que se construyó.

La dependencia que no elegiste
Para solucionar tu problema, tu amable agente de barrio recurre a una biblioteca pública de paquetes mágicos y descarga código de extraños en una máquina. Así es como funciona el software moderno, y los desarrolladores lo hacen constantemente. La diferencia es que estos desarrolladores al menos saben que npm install se está ejecutando y los riesgos que implica. Tú quizás no. Tú pediste un limpiador de hojas de cálculo.
Y esa librería está bajo ataque activo. Este mes, un atacante republicó 141 paquetes en el popular ecosistema de agentes de IA @mastra en un estallido nocturno de 45 minutos, introduciendo una dependencia maliciosa en cada uno. El paquete envenenado, un imitador de una librería de fechas común, ejecutó un script en el momento de la instalación que descargó una segunda carga útil, la lanzó como un proceso en segundo plano invisible y luego se eliminó para ocultar la evidencia. La carga útil rastreó más de 160 carteras de criptomonedas de navegador y se afianzó para la persistencia en Mac, Windows y Linux. Un paquete central afectado recibe casi un millón de descargas a la semana.
Cuando un desarrollador añade una dependencia, suele haber cierto juicio de por medio. Si no están familiarizados con las herramientas populares o de confianza en el ámbito, podrían echar un vistazo a los números de descarga, el último commit y quién lo mantiene. Luego, la decisión se traslada a una pull request donde otra persona puede cuestionar y revisar el paquete antes de que se fusione. Las formas en que una IA busca un paquete no están claras. A veces es simplemente lo más común, o a veces es realmente oscuro. Pero las IA también alucinan paquetes que suenan reales pero no lo son. Cuando esto último ocurre, en el mejor de los casos el paquete que la IA inventó no existe. En el peor, un atacante adivinó lo que una IA podría inventar y colocó malware desagradable en ese nombre de paquete. Esto se llama slopsquatting, y es algo que cualquiera que use IA para codificar debe tener en cuenta.
.png)
Esto no es un argumento de "no uses las herramientas"
Las herramientas son transformadoras y no van a volver a la caja. El sandboxing ayuda, una VM aislada contiene cierto radio de impacto, y eso es real. Sin embargo, el código en los sandboxes se envía a repositorios y credenciales reales en el momento en que son útiles, y el aislamiento no resuelve el hecho de que nunca revisaste las dependencias.
Los LLM han puesto el teclado en manos de todos, lo cual es maravilloso. Sin embargo, al hacerlo, hemos trasladado la decisión más peligrosa en el software (¿en qué código confío lo suficiente como para ejecutarlo?) a un lugar donde ningún humano está prestando atención. La respuesta no es volver a leer cada diff. Eso ya es cosa del pasado. En su lugar, necesitamos llevar la verificación de confianza al punto donde se realiza la instalación. Bloquear los paquetes maliciosos conocidos antes de que lleguen a la máquina, hacer que los scripts de instalación sean de activación manual en lugar de automáticos, y considerar "el agente lo ha gestionado" como una frase que debería inquietarte ligeramente.
Ahora todo el mundo es desarrollador. La bicicleta no tiene ruedines, y la mayoría de los nuevos ciclistas van sin manos.
¡Mira, mamá, sin barreras de seguridad! La buena noticia es que puedes volver a añadirlas sin ralentizar a nadie. Aikido Device Protection detecta el paquete malicioso en el único momento que importa, antes de que se instale, para que "el agente lo ha gestionado" deje de ser una frase que deba asustarte.
Si quieres saber cómo proteger tus aplicaciones "vibe-coded", consulta nuestra Vibe Coding Checklist for Security.

