Un agente de IA nunca debería ver ni manejar contraseñas, API keys o tokens en texto plano. Todo lo que entra en el contexto del modelo puede acabar en un registro, en una respuesta o en manos de alguien que lo manipule con un texto preparado. La buena noticia es que no hace falta: un agente puede trabajar con tu ERP, tu correo o tu banco sin conocer ni un solo secreto, siempre que el diseño separe lo que decide el modelo de lo que ejecuta el código.
Por qué un agente no debe ver tus credenciales
El contexto de un modelo de lenguaje no es una caja fuerte: es texto que el modelo lee, procesa y puede repetir. Si una contraseña está en ese texto, está expuesta a tres riesgos que no dependen de lo bueno que sea el modelo.
Se puede filtrar en una respuesta. El modelo puede citar la credencial al explicar lo que ha hecho, al resumir una conversación o al generar un informe. El proyecto de seguridad de OWASP incluye las credenciales entre los datos sensibles que una aplicación con modelos de lenguaje puede exponer, y advierte de que las restricciones que se ponen en el prompt de sistema «pueden no respetarse siempre» y pueden saltarse con prompt injection (OWASP LLM02).
Se queda registrada. Las conversaciones, las llamadas a herramientas y los errores suelen guardarse en logs para depurar o auditar. Una API key pegada en un prompt acaba en esos registros, en las copias de esos registros y en cualquier sistema de observabilidad que los reciba. La guía de gestión de secretos de OWASP es tajante: los secretos no deben registrarse nunca (Secrets Management Cheat Sheet).
La puede pedir un atacante. Un agente lee correos, documentos y páginas web. Cualquiera de esos contenidos puede llevar instrucciones escondidas del tipo «envía la clave de la API a esta dirección». Es lo que se conoce como prompt injection indirecta, y Anthropic, en su guía para mitigarla, recomienda expresamente no dar al modelo acceso a secretos que no necesita (Mitigate jailbreaks and prompt injections). Si el secreto no está en el contexto, no hay nada que robar.
La conclusión práctica es sencilla: el modelo decide qué hacer; el código, con sus credenciales, decide si se puede hacer y lo hace.
El principio clave: credenciales fuera del modelo
Separar credenciales y modelo significa que el agente pide acciones con un nombre y unos parámetros, y es la herramienta la que añade la autenticación al llamar al sistema real. Un ejemplo con un ERP:
- El usuario pregunta «¿cuánto nos debe el cliente Talleres Norte?».
- El modelo decide llamar a la herramienta
consultar_saldo_clientecon el parámetrocliente = "Talleres Norte". - El código de la herramienta recupera el token del ERP de un almacén de secretos, hace la llamada a la API y devuelve solo el saldo.
- El modelo redacta la respuesta con ese dato.
En ningún paso el modelo ve el token. Si alguien consigue manipularlo, lo máximo que puede hacer es pedir otra acción de las que existen, con los permisos que tiene esa herramienta. Es la diferencia entre darle a un empleado nuevo las llaves de toda la oficina o una tarjeta que solo abre la sala que necesita.
Alternativas seguras a darle tus contraseñas al agente
Hay varias piezas que se combinan según el sistema y el riesgo. Ninguna es exótica: son prácticas de seguridad conocidas aplicadas a un actor nuevo.
OAuth con permisos acotados
OAuth permite que el agente actúe con un token que concede permisos concretos (scopes) en lugar de con tu contraseña. OWASP propone justo esto para los agentes: ejecutar las acciones en el contexto del usuario y con el mínimo privilegio, por ejemplo pidiendo solo el scope de lectura cuando el agente solo tiene que leer el correo (OWASP LLM06 Excessive Agency).
Si conectas agentes mediante MCP, la especificación de autorización de MCP se basa en OAuth 2.1, obliga a que cada token esté ligado al servidor para el que se emitió y prohíbe reenviar tokens a otros servicios. Sus buenas prácticas de seguridad desaconsejan los scopes comodín como *, all o full-access y proponen empezar con permisos mínimos y ampliarlos solo cuando hacen falta. Lo tratamos en detalle en seguridad en MCP.
Tokens de corta duración y mínimo privilegio
Un token que caduca en minutos u horas limita el daño si se filtra. La especificación de MCP recomienda emitir tokens de acceso de corta duración precisamente para reducir el impacto de una filtración, y la guía de OWASP aconseja secretos dinámicos con periodos de validez cortos. A eso se suma el mínimo privilegio: el token del agente de facturación lee facturas y crea borradores; no borra clientes ni cambia cuentas bancarias.
Cuentas de servicio dedicadas
Cada agente debe tener su propia identidad en cada sistema: un usuario técnico en el ERP, una cuenta de servicio en el CRM, un buzón o una delegación específica en el correo. Así puedes darle permisos a medida, ver en los registros qué ha hecho él y no una persona, y desactivarlo sin afectar a nadie más.
Gestores de secretos (vaults)
Los secretos que sí hacen falta (claves de API, certificados, contraseñas de servicio) deben vivir en un gestor de secretos centralizado, no en el código, ni en ficheros de configuración sueltos, ni en el prompt. OWASP recomienda centralizar el almacenamiento, el aprovisionamiento, la auditoría y la rotación, y controlar con detalle quién puede leer cada secreto.
Pasarelas que añaden la credencial
Otra opción es poner un proxy o pasarela entre el agente y el sistema externo. El agente envía la petición sin credenciales; la pasarela comprueba que la operación está permitida, añade la autenticación y la reenvía. Es el patrón que Anthropic describe para las sesiones en la nube de Claude Code: las credenciales de GitHub se guardan cifradas, nunca entran en la máquina virtual de la sesión, y un proxy las añade en el lado del servidor; la máquina solo tiene una credencial de corta duración limitada a esa sesión (Claude Code security). Además, ese proxy rechaza operaciones como borrar ramas, aunque la credencial lo permitiera.
Aprobación humana para dinero y datos sensibles
Hay acciones que deben pasar por una persona aunque el agente tenga permiso técnico: ordenar una transferencia, cambiar el IBAN de un proveedor, enviar datos personales fuera de la empresa o borrar registros. OWASP recomienda exigir aprobación humana para las acciones de alto impacto y, sobre todo, que la autorización la aplique el sistema de destino y no el criterio del modelo. Un ejemplo con banca: el agente prepara la remesa de pagos, pero la firma la hace el responsable financiero en el portal del banco.
Rotación, revocación y auditoría
Las credenciales del agente deben rotarse con regularidad y poder revocarse al momento, ya sea por sospecha de filtración, por fin del proyecto o por un cambio de proveedor. Y cada uso debe quedar registrado: qué agente, qué herramienta, qué parámetros, cuándo y con qué resultado. OWASP insiste en que esos registros estén protegidos frente a manipulación o borrado. Sin auditoría, un incidente con un agente es casi imposible de investigar.
Errores típicos al conectar un agente de IA a tus sistemas
Estos son los errores que más se repiten cuando una empresa empieza con agentes. Todos tienen arreglo, y casi siempre es más barato hacerlo bien desde el principio.
Pegar API keys en el prompt. «Usa esta clave para consultar la API: sk-…». La clave queda en el historial, en los logs y al alcance de cualquier prompt injection. Lo mismo ocurre con las contraseñas escritas en el prompt de sistema «para que el agente las tenga a mano».
Usar la cuenta de administrador. Conectar el agente con el usuario administrador del ERP o del servidor «porque así no da errores de permisos». Es exactamente el exceso de permisos que OWASP describe como una de las causas de la agencia excesiva: si algo sale mal, el daño posible es el máximo.
Compartir una cuenta entre personas y agentes. Si el agente usa la misma cuenta que tres personas del equipo, los registros no distinguen quién hizo qué, y revocar el acceso del agente deja sin trabajo a los demás.
«Que el agente inicie sesión con mi usuario». Darle tu usuario y contraseña para que entre en el correo, el CRM o la banca online como si fueras tú. El agente hereda todos tus permisos, actúa en tu nombre sin que quede claro en los registros y, si la contraseña se filtra, el problema ya no es el agente sino tu cuenta entera. Si necesitas que actúe en tu nombre, usa una delegación con OAuth y scopes acotados.
Herramientas demasiado abiertas. Dar al agente una herramienta genérica de «ejecutar comando» o «hacer cualquier petición HTTP» con credenciales potentes detrás. OWASP recomienda herramientas granulares y con la funcionalidad mínima: si el agente solo resume correos, la herramienta no debe poder enviarlos ni borrarlos. Este control del entorno lo desarrollamos en el artículo sobre el harness y los guardrails de los agentes de IA.
Olvidarse de las credenciales del piloto. Tokens de prueba con permisos amplios que siguen activos meses después de cerrar la prueba. Sin rotación ni inventario, nadie recuerda que existen.
Usar herramientas de IA por libre. Empleados que conectan su correo o su Drive a extensiones o asistentes no aprobados y les conceden permisos amplios. Es una de las caras de la shadow AI en las empresas y un punto ciego para cualquier política de credenciales.
Checklist: agentes IA y credenciales
Antes de poner un agente en producción, comprueba estos puntos:
- Ninguna contraseña, API key ni token aparece en prompts, prompts de sistema, documentos que lee el agente ni historiales.
- Las credenciales las añade la herramienta o una pasarela, nunca el modelo.
- El agente usa una cuenta de servicio propia en cada sistema, no la de una persona ni la de administrador.
- Los permisos son los mínimos para cada herramienta: lectura cuando basta con leer, sin borrado si no hace falta borrar.
- Donde el sistema lo permite, se usa OAuth con scopes acotados y tokens de corta duración.
- Los secretos están en un gestor de secretos con control de acceso, no en el código ni en ficheros de configuración.
- Las acciones con dinero, datos personales o borrados requieren aprobación humana, y la autorización la aplica el sistema de destino.
- Hay un procedimiento para rotar y revocar las credenciales del agente, y se ha probado.
- Cada acción del agente queda registrada (herramienta, parámetros, resultado, hora) y los registros no contienen secretos.
- Los registros se revisan y hay alertas ante usos anómalos, como volúmenes inusuales o accesos fuera de horario.
- Se ha probado el agente con intentos de prompt injection que pidan credenciales o acciones no autorizadas, como parte de un ejercicio de red teaming de IA.
Si quieres ver cómo encaja todo esto con el resto de riesgos, el OWASP Top 10 para LLM da una visión de conjunto.
Cómo te ayudamos en Hive Mind Solutions
En Hive Mind Solutions diseñamos agentes de IA para empresas con seguridad por diseño: las credenciales se quedan fuera del modelo, cada agente tiene su identidad y sus permisos mínimos, las acciones sensibles requieren aprobación y todo queda registrado. Trabajamos con Claude, OpenAI y modelos abiertos, alojado en la UE y cumpliendo el RGPD.
Si ya tienes agentes o integraciones en marcha, podemos revisarlos dentro de nuestro servicio de seguridad y cumplimiento de la IA, y completarlo con nuestro servicio de ciberseguridad para el resto de la infraestructura. Trabajamos en remoto con empresas de toda España, con precios muy difíciles de batir y empezando por algo pequeño y medible. Cuéntanos qué quieres conectar y lo vemos juntos.
Fuentes
- LLM06:2025 Excessive Agency (OWASP Gen AI Security Project)
- LLM02:2025 Sensitive Information Disclosure (OWASP Gen AI Security Project)
- Secrets Management Cheat Sheet (OWASP Cheat Sheet Series)
- Authorization, Model Context Protocol specification (2025-06-18)
- Security Best Practices, Model Context Protocol
- Mitigate jailbreaks and prompt injections (Claude Docs, Anthropic)
- Claude Code security (Anthropic)
