El blog de Deska
Agentes que instalan paquetes que no pediste
Descubre por qué los agentes de IA instalan dependencias sin permiso y cómo gestionar agentes que instalan paquetes que no pediste mediante mejores políticas.
· 10 min de lectura
Los agentes de IA para programación están diseñados para reducir la fricción en el desarrollo de software mediante la automatización de tareas repetitivas, pero a menudo presentan un modo de fallo específico: agentes que instalan paquetes que no pediste sin una confirmación explícita. Este comportamiento generalmente surge cuando un agente intenta resolver un error de compilación o una utilidad faltante recurriendo al gestor de paquetes más cercano. Aunque esta autonomía puede ser útil en un entorno de pruebas, introduce riesgos significativos relacionados con el crecimiento innecesario del proyecto, la seguridad de la cadena de suministro y la estabilidad del entorno en flujos de trabajo profesionales.
La lógica detrás de las dependencias no invitadas
La mayoría de los agentes autónomos operan en un ciclo de observación, pensamiento y acción. Cuando un agente encuentra un error de "módulo no encontrado" durante una prueba o un proceso de construcción, su lógica interna a menudo dicta que debe resolver el requisito faltante para cumplir con su objetivo principal. Si el agente tiene acceso a una terminal o a una consola, instintivamente ejecutará comandos como npm install, pip install o cargo add.
Esto se vuelve problemático porque el agente no siempre comprende los matices de la arquitectura de tu proyecto. Podría instalar una biblioteca de utilidades pesada cuando una simple función nativa sería suficiente. También podría elegir un paquete con un nombre similar al que necesita pero que contiene código malicioso, un riesgo conocido comúnmente como typosquatting. El agente está optimizado para completar tareas, no necesariamente para la salud a largo plazo de tu grafo de dependencias.
Riesgos de la instalación autónoma
Permitir que un agente modifique tu package.json o requirements.txt sin supervisión puede generar varios problemas técnicos.
- Engrosamiento de dependencias: Los agentes suelen incorporar bibliotecas masivas para resolver problemas mínimos. Esto aumenta los tiempos de compilación y el tamaño del paquete final de tu aplicación.
- Conflictos de versiones: Un agente podría instalar una versión de una biblioteca que es incompatible con otras partes de tu stack, rompiendo la construcción de formas difíciles de depurar.
- Vulnerabilidades de seguridad: Al añadir nuevas entradas a tu árbol de dependencias, el agente aumenta la superficie de ataque de tu aplicación. Cada paquete nuevo es un vector potencial para un ataque a la cadena de suministro.
- Cumplimiento de licencias: Los agentes no suelen verificar la licencia de los paquetes que instalan. Esto podría introducir accidentalmente código con licencia GPL en un proyecto propietario.
Estrategias para gestionar los permisos de los agentes
Los desarrolladores deben decidir dónde trazar la línea entre la autonomía y la seguridad. Diferentes herramientas manejan esto de varias maneras, clasificándose generalmente en tres categorías:
| Tipo de política | Descripción | Pros | Contras |
|---|---|---|---|
| Autonomía total | El agente ejecuta cualquier comando necesario para terminar la tarea. | Máxima velocidad y experiencia sin intervención. | Alto riesgo de errores y problemas de seguridad. |
| Consola restringida | El agente solo puede ejecutar una lista blanca de comandos permitidos. | Evita la instalación de software nuevo. | Puede impedir que el agente finalice tareas válidas. |
| Humano en el ciclo | El agente propone un comando y espera un clic de "sí/no". | Máxima seguridad y control arquitectónico. | Ritmo más lento debido a interrupciones frecuentes. |
Para la mayoría de los entornos profesionales, el modelo de Humano en el ciclo es el más sostenible. Permite al desarrollador detectar agentes que instalan paquetes que no pediste antes de que toquen el disco.
Cómo maneja Deska la autonomía de los agentes
Deska proporciona un entorno único para ejecutar agentes de IA como Claude Code, Codex CLI y OpenCode. Debido a que estos agentes se ejecutan en paneles contiguos en un lienzo infinito, tienes una vista directa de cada comando que intentan ejecutar.
El asistente Ask Deska puede dirigir el espacio de trabajo abriendo terminales o revisando sesiones existentes, pero la filosofía central sigue siendo local-first. Tu código y tus archivos permanecen en tu máquina, y tú conservas el control sobre el entorno de la terminal. Cuando un agente dentro de un panel de Deska quiere ejecutar un comando, tú eres quien supervisa la salida de la terminal.
Usando el lienzo infinito, puedes colocar tu editor de código junto a la terminal del agente. Si ves que el agente intenta instalar un paquete, puedes intervenir de inmediato. Este diseño visual facilita la detección de cuándo un agente se está desviando del camino previsto.
Implementación de políticas mediante el diseño del entorno
Para evitar que los agentes desordenen tu proyecto, puedes usar configuraciones de entorno específicas. Un método efectivo es usar un entorno contenedorizado o virtualizado donde el agente tenga permisos limitados.
- Usa sistemas de archivos de solo lectura: Puedes montar tu código fuente como solo lectura y solo permitir escrituras en directorios específicos. Esto evita que el agente modifique archivos de configuración como
go.modopom.xml. - Variables de entorno: Algunos agentes respetan variables de entorno que activan modos de seguridad o comportamientos de auto-aprobación. Revisa siempre la documentación del agente para estas banderas.
- Paneles separados: En Deska, puedes ejecutar un agente en un panel y una consola restringida en otro. Luego puedes copiar los cambios de código del agente y realizar las instalaciones tú mismo en una terminal controlada.
La importancia del contexto local
Los agentes a menudo instalan paquetes no invitados porque carecen de contexto sobre lo que ya está disponible en tu entorno. Si un agente no puede "ver" que una biblioteca de utilidades ya está presente en tu proyecto, intentará instalarla de nuevo.
Deska ayuda a cerrar esta brecha manteniendo todos los hilos de agentes y el almacenamiento de datos de forma local. Al ejecutar los agentes directamente en tu máquina en lugar de un entorno de nube remoto, el agente tiene mejor acceso al contexto local de tu sistema de archivos, siempre que le des permiso para indexar esos archivos. Esto reduce la probabilidad de que el agente realice llamadas de instalación redundantes o innecesarias.
Preguntas frecuentes
¿Por qué mi agente de IA sigue instalando paquetes de npm?
Los agentes suelen hacer esto para resolver errores que encuentran durante la ejecución del código. Están programados para arreglar compilaciones fallidas, y la solución más común para un módulo faltante es instalarlo a través del gestor de paquetes.
¿Es seguro dejar que un agente de IA ejecute comandos de terminal?
Por lo general, no es seguro dar a un agente acceso sin restricciones a la terminal en una máquina de producción. Es mejor usar una herramienta que te permita revisar los comandos o ejecutar el agente en un espacio de trabajo aislado.
¿Cómo puedo evitar que un agente cambie mis dependencias?
Puedes usar una consola restringida o configurar los ajustes del agente para que requiera aprobación humana para todas las operaciones de escritura. Monitorear al agente en una interfaz dedicada como Deska también te ayuda a captar estas acciones en tiempo real.
Comienza con una programación con IA controlada
Gestionar agentes que instalan paquetes que no pediste es una cuestión de elegir el espacio de trabajo adecuado. Al usar una herramienta que prioriza la visibilidad y el control local, puedes disfrutar de los beneficios de la automatización con IA sin perder la integridad de tu base de código.
Deska ofrece una aplicación de escritorio gratuita para Mac, Windows y Linux que te permite ejecutar múltiples agentes de forma paralela. Puedes usar tus propias llaves de API o elegir una suscripción para inferencia gestionada. El entorno está diseñado para mantenerte informado, asegurando que cada paquete añadido a tu proyecto sea una elección consciente.
Descarga Deska y toma el control de tu flujo de trabajo de desarrollo con IA hoy mismo.