← Volver al Blog
Security & Privacy

Infisical Agent Vault: cómo un proxy de credenciales mantiene las claves de API fuera de los agentes de IA

HTTPS_PROXY por sí solo no obliga a que el tráfico del agente pase por un proxy, y no trataríamos las negativas del modelo como una frontera de seguridad. Infisical Agent Vault nunca entrega a los agentes de IA la clave de API real: un proxy que intercepta TLS inyecta la credencial en las solicitudes salientes, así que el agente solo tiene un valor sustituto. Aquí explicamos qué detiene, qué se le escapa, en qué se diferencian las ediciones de código abierto y comercial, y cómo desplegarlo para agentes MCP, CLI y SDK.

Escrito por Hamza Diaz
8 de noviembre de 202613 min de lectura68 vistas

La gestión tradicional de secretos devuelve las credenciales a las aplicaciones y servicios que las utilizan. Infisical Agent Vault sigue otro camino. El agente nunca tiene la credencial real.

Esta guía explica cómo funciona ese patrón de proxy de credenciales, dónde reduce el riesgo y dónde no. Está organizada en torno a un modelo de tres capas que llamamos Placeholder / Proxy / Perimeter (valor sustituto, proxy y perímetro):

  • Placeholder: el agente solo tiene un valor sustituto, nunca la clave real.
  • Proxy: un intermediario independiente guarda la credencial real, aplica las políticas y la inyecta en las solicitudes aprobadas.
  • Perimeter: la red obliga a que cada llamada saliente pase por ese intermediario.

Por qué entregar secretos a los agentes de IA rompe el modelo anterior

La gestión clásica de secretos se basa en un contrato sencillo. Una aplicación que tú escribiste y revisaste se autentica ante un gestor de secretos, recibe una credencial y la usa.

Los agentes rompen ese contrato. El repositorio de Agent Vault lo dice sin rodeos: la gestión tradicional de secretos devuelve credenciales a aplicaciones y servicios, y esto deja de funcionar con los agentes de IA, a los que se puede engañar mediante inyección de prompts para que filtren secretos. Tony Dang, CTO de Infisical, defendió lo mismo en el lanzamiento: la gestión de secretos se creó para un mundo en el que las aplicaciones obtenían credenciales y las usaban, y esa premisa ya no se cumple con los agentes de IA.

El problema no es la mala intención. El artículo de lanzamiento de Infisical admite que, incluso con salvaguardas suficientes, no hay forma de garantizar que el agente no sea manipulado para filtrar sus secretos.

Las defensas a nivel de modelo no cierran la brecha. La hoja de referencia de OWASP sobre inyección de prompts cita a Hughes et al. (2024), que informaron de un 89% de éxito de ataque en GPT-4o y un 78% en Claude 3.5 Sonnet con hasta 10,000 prompts aumentados por solicitud. Ese estudio midió el éxito de jailbreaks con prompts aumentados de tipo Best-of-N, no la frecuencia con la que la inyección indirecta de prompts exfiltra secretos. Lo interpretamos como una razón para no tratar las negativas del modelo como una frontera de seguridad.

En lugar de confiarle una clave al agente, la mantienes completamente fuera de su contexto. Esa es la capa Placeholder. Las otras dos existen para que se mantenga intacta.

Cómo funciona el proxy de credenciales de Agent Vault

Infisical describe Agent Vault como un proxy de reenvío que intercepta TLS e inyecta credenciales, diseñado para cargas de trabajo de agentes. El flujo es así:

  1. El agente recibe un valor sustituto o un token de sesión en lugar de la clave de API real.
  2. Su tráfico HTTP pasa por el proxy, normalmente porque la variable de entorno HTTPS_PROXY está definida.
  3. El proxy intercepta la conexión TLS, compara el host de destino con sus servicios configurados e inserta la credencial real en la solicitud saliente.
  4. La solicitud sale hacia el servicio con la credencial real y la respuesta vuelve al agente.

En el binario de código abierto, el servidor inicia una API HTTP de gestión en el puerto 14321 y un proxy HTTP/HTTPS transparente en el puerto 14322.

La API de destino ve una solicitud autenticada normal. El agente, y cualquier proveedor de inferencia que registre su contexto, solo ve el valor sustituto. Por eso el patrón también aborda el riesgo de los registros del proveedor que se analiza más abajo, en la sección sobre protección.

La confianza en el certificado es un paso del despliegue

Te recomendamos tratar la confianza en el certificado como un paso explícito del despliegue: con cualquier proxy que intercepte TLS, prevé que cada entorno de ejecución del agente tenga que confiar en la autoridad de certificación que firma los certificados del proxy. Instala ese certificado de CA de forma deliberada en cada imagen del agente y sigue la documentación de tu edición sobre cómo se emite. Nunca desactives la verificación de certificados para que las conexiones funcionen.

Dos reglas deciden si la garantía se cumple

La primera es la ubicación, que sostiene la capa Proxy. Según el repositorio, Agent Vault está pensado para ejecutarse en una máquina distinta a la de tus agentes de IA, de modo que los agentes no puedan acceder directamente a las credenciales que contiene. Si el agente puede leer el almacenamiento del vault, el patrón te aporta muy poco.

La segunda es la aplicación obligatoria, la capa Perimeter. Definir HTTPS_PROXY por sí solo no garantiza que el tráfico pase por el proxy, advierte Infisical, porque el agente puede eliminar la variable. La variable solo orienta a los clientes que la respetan. Un despliegue completo bloquea la red para que todo el tráfico saliente pase obligatoriamente por Agent Vault.

La superficie de control: listas de permitidos, modo de denegación, sesiones y auditoría

Un proxy que inyecta credenciales también es un lugar natural para aplicar políticas.

Coincidencia de hosts y modo de denegación. De forma predeterminada, el proxy de código abierto reenvía como tráfico de proxy normal las solicitudes que no coinciden con ningún servicio configurado. Cambiar un vault al modo de denegación estricto (unmatched_host_policy=deny) rechaza esas solicitudes con HTTP 403.

Nosotros haríamos del modo de denegación la base de todos los vaults. Con el paso libre activado, un agente dirigido hacia un host controlado por un atacante aún puede llegar a él, solo que sin una credencial intermediada. El modo de denegación convierte el proxy en una lista de permitidos de salida además de un inyector de credenciales. Si tu edición admite reglas por ruta o por método HTTP, consulta la documentación para saber qué nivel de detalle se aplica realmente.

Sesiones con límite de tiempo. En el Agent Vault comercial, cada sesión de agente caduca según el calendario que definas, y los agentes en ejecución pierden el acceso en un plazo de 60 segundos desde que termina la sesión. Las sesiones cortas limitan cuánto tiempo puede seguir usando una ejecución secuestrada el acceso intermediado.

Proxies compartidos. Cuando varios agentes comparten un proxy, le envían su token de sesión por HTTP sin cifrar, algo que la documentación de Infisical señala como advertencia. Mantén esa configuración en una red privada que compartan los agentes y el proxy, como tus propios servidores, un clúster de Kubernetes o runners de CI autoalojados.

Auditoría. Todo el tráfico intermediado pasa por un único punto de control, lo que da a los equipos de seguridad un solo lugar para revisar a qué llaman los agentes. Antes de usarlo como evidencia, averigua qué registra tu edición y durante cuánto tiempo conserva esos datos, y confirma que puedes exportarlos. Si ya trazas las ejecuciones de agentes con trazas GenAI de OpenTelemetry, correlaciona los registros del proxy con esas trazas en lugar de considerar completo cualquiera de los dos.

Qué protege el patrón y qué no

Según la documentación de Infisical, si una inyección de prompts engaña al agente para que revele una credencial, no hay nada que revelar. Es una mejora real frente a los secretos guardados en variables de entorno que el agente puede imprimir.

El debate sobre el lanzamiento en Hacker News aportó otro ángulo. Un comentarista sostuvo que el patrón no resuelve el problema de los agentes hostiles, sino el de los proveedores de inferencia hostiles o comprometidos, porque no quieres secretos en los registros de un proveedor de IA. En cualquier caso, las claves que nunca entran en prompts, respuestas del modelo ni salidas de herramientas nunca acaban en registros de terceros, tanto si alguien te está atacando como si no.

Riesgo¿Lo cubre la intermediación?Por qué
Inyección de prompts que pide al agente imprimir o enviar sus clavesSíEl agente solo tiene un valor sustituto
Claves reales en los registros del proveedor de inferenciaSíLas claves reales nunca entran en el contexto del modelo
El agente elude el proxySolo con bloqueo de redHTTPS_PROXY se puede eliminar
Uso indebido del acceso permitidoNoUna llamada incluida en la lista de permitidos se ejecuta igualmente
Endpoints permitidos que devuelven credenciales (renovación OAuth, emisión de tokens, creación de claves, lectura de secretos)No de forma predeterminadaEl secreto vuelve en el cuerpo de la respuesta
Paso de tokens en cadenas MCPNoDepende de gestionar correctamente la audiencia del token

Uso indebido del acceso permitido. Si un agente puede llamar a un endpoint de eliminación a través del proxy, un agente manipulado también puede llamarlo, y el proxy adjunta la credencial real como siempre. La intermediación mantiene la clave en secreto. No hace que las acciones del agente sean seguras, y eso importa sobre todo en las herramientas MCP activadas por eventos que se ejecutan sin revisión humana.

Credenciales en las respuestas. Un crítico en el mismo hilo de Hacker News señaló que, si la credencial es un token OAuth2 y el servicio tiene un endpoint de renovación de tokens, la respuesta llevaría un token nuevo directamente al agente. Las API de emisión de tokens, creación de claves y lectura de secretos conllevan el mismo riesgo. La intermediación protege la solicitud, así que sigues teniendo que revisar lo que vuelve.

Gestión de tokens en MCP. Las buenas prácticas de seguridad de MCP establecen que los servidores MCP no deben aceptar ningún token que no se haya emitido explícitamente para el servidor MCP. Un proxy de credenciales no sustituye las comprobaciones correctas de audiencia dentro de tus servidores MCP.

Agent Vault de código abierto frente a comercial: qué cambió y por qué importa

Agent Vault procede de Infisical, que afirma procesar miles de millones de secretos al mes para equipos, pipelines de CI/CD y servidores.

La revisión independiente de Codeline en el lanzamiento señaló unas 800 estrellas, una etiqueta Preview y una API sujeta a cambios de forma explícita. También describió el funcionamiento interno: la contraseña maestra envuelve una clave de cifrado de datos aleatoria mediante Argon2id con parámetros predeterminados de 3 iteraciones, 64 MiB de memoria y 4 hilos. De forma predeterminada, el binario guarda todo el estado en una base de datos SQLite local que no requiere configuración, y PostgreSQL es la opción para producción.

En pocos meses, según un recuento posterior de Infisical, Agent Vault superó las 2,000 estrellas en GitHub, con decenas de miles de instalaciones y millones de ejecuciones de agentes. Son cifras del proveedor y no se han verificado de forma independiente.

Una nota sobre los nombres: Infisical llama a la edición de pago Agent Vault comercial cuando describe las sesiones, y llama a su componente intermediario Agent Proxy cuando describe el rediseño. Aquí usamos ambos términos de la misma manera.

El cambio más importante es de arquitectura. Al repasar la primera versión, Infisical explicó que había agrupado dos conceptos distintos en uno: el almacén de secretos y el intermediario de secretos. En el Agent Vault comercial, Agent Proxy los separa e incluye 30+ configuraciones predefinidas para servicios habituales, entre ellas proveedores de LLM como Anthropic y OpenAI y servicios como GitHub, Slack y Datadog. En cuanto al repositorio de código abierto, la empresa dice que sigue disponible y que puedes ejecutarlo, pero que no se mantiene activamente y nunca se diseñó para un equipo.

Nuestras fuentes también describen la gestión de hosts no coincidentes solo para el repositorio de código abierto y la caducidad de sesiones solo para la edición comercial. Consulta la documentación actual de la otra edición en lugar de suponer que son equivalentes.

Te recomendamos tratar el repositorio de código abierto como una herramienta para aprender y crear prototipos. Para producción, nos fijaríamos en la edición comercial o en un fork interno que estés dispuesto a mantener. Valora la carga de mantenimiento igual que lo harías con cualquier componente de agente en producción (consulta nuestra lista de verificación para elegir el runtime de agentes de IA duraderos).

Guía práctica y lista de verificación previa al lanzamiento para agentes MCP, CLI y SDK

Estos pasos siguen las tres capas y se aplican a cualquiera de las dos ediciones.

Capa Placeholder

  1. Inventaría las credenciales. Para cada agente, enumera todas las credenciales, el host contra el que se usa cada una y los endpoints y métodos HTTP más restringidos que necesita.
  2. Usa valores sustitutos. Reemplaza las claves reales de las variables de entorno y los archivos de configuración del agente por valores sustitutos o tokens de sesión.

Capa Proxy

  1. Separa el proxy. Ejecútalo en una máquina distinta o al otro lado de una frontera de red respecto a los agentes. El almacén de credenciales nunca debe estar en el entorno de ejecución del agente.
  2. Deniega por defecto. Activa el modo de denegación para los hosts no coincidentes y añade entradas a la lista de permitidos por agente, no por equipo.
  3. Revisa lo que vuelve. Marca los endpoints permitidos cuyas respuestas puedan devolver una credencial o un secreto, como las API de renovación OAuth, emisión de tokens, creación de claves y lectura de secretos. Mantenlos fuera del alcance del agente salvo que puedas justificar la exposición.
  4. Limita el alcance de los tokens MCP. Las claves de API de destino de cada servidor MCP residen en el intermediario, no en su configuración. Rechaza los tokens de cliente que no se hayan emitido explícitamente para el servidor MCP y nunca los reenvíes a los servicios posteriores.

Capa Perimeter

  1. Fuerza la salida. Usa reglas de firewall, políticas de red de Kubernetes o reglas de los runners de CI para que el proxy sea la única vía de salida del agente. Después, define HTTPS_PROXY como orientación para los clientes que la respetan.
  2. Instala la confianza en la CA. Añade el certificado de CA del proxy al almacén de confianza de cada entorno de ejecución del agente, con la verificación activada.
  3. Verifica los clientes HTTP. No todos los entornos de ejecución respetan las variables de proxy. La documentación de Infisical indica que el fetch integrado de Node.js no lee HTTPS_PROXY de forma predeterminada, así que necesitas --use-env-proxy o NODE_USE_ENV_PROXY=1 en Node 24 o posterior. Te recomendamos confirmar la compatibilidad del flag con la versión exacta del runtime que despliegues antes de confiar en él.

Demuéstralo

  1. Prueba la revocación y la inyección. Define duraciones de sesión cortas, termina una sesión en plena ejecución y confirma que el acceso se detiene. Después, ejecuta una prueba canario de inyección de prompts que pida al agente imprimir sus claves y comprueba que solo salen valores sustitutos.

Agentes CLI como Claude Code

Infisical incluye Claude Code entre los agentes que funcionan a través de Agent Vault. Para los agentes CLI, la configuración fiable es un contenedor o una VM cuyas reglas de red solo permitan conexiones salientes hacia el proxy, con valores sustitutos allí donde el agente espere claves de API. Un agente CLI puede ejecutar comandos de shell, así que da por hecho que puede eliminar variables de entorno y deja que la red imponga la ruta.

Agentes SDK personalizados

Audita cada cliente HTTP del árbol de dependencias. Una biblioteca que ignore la configuración del proxy debería fallar de forma cerrada en la capa de red, no conectarse directamente sin avisar.

Lee la lista de permitidos como lo haría un atacante

Cuando las claves ya no están en el contexto del agente, la lista de permitidos se convierte en lo principal que puede explotar una inyección exitosa, así que revísala desde ese ángulo antes del despliegue. Para cada entrada, pregúntate qué podría hacer la peor secuencia de llamadas permitidas si fuera otra persona quien las eligiera. Los endpoints de eliminación, transferencia, creación de claves y renovación de tokens deberían requerir aprobación humana o quedar totalmente fuera de la lista de permitidos. La credencial de destino detrás de cada entrada debería tener los permisos más restringidos que ofrezca el proveedor, para que incluso una llamada aprobada pueda hacer lo mínimo posible.

El proxy funciona junto a tus controles actuales contra la inyección de prompts, como el filtrado de entradas, las comprobaciones de salidas y el diseño de herramientas con mínimo privilegio. No sustituye a ninguno de ellos.

Puntos clave

  • 1Infisical Agent Vault nunca entrega credenciales reales a los agentes. Estos solo tienen valores sustitutos, y un proxy de reenvío que intercepta TLS inyecta la clave real en las solicitudes salientes.
  • 2Planifica los despliegues con el modelo Placeholder / Proxy / Perimeter: valores sustitutos en el agente, credenciales reales en un proxy separado y tráfico de salida obligado a pasar por ese proxy.
  • 3HTTPS_PROXY orienta el tráfico, pero no impone nada. Bloquea la salida de red, instala de forma deliberada el certificado de CA del proxy y activa el modo de denegación, ya que la configuración predeterminada de código abierto deja pasar los hosts no coincidentes.
  • 4La intermediación impide que la inyección de prompts robe claves y mantiene las claves fuera de los registros del proveedor. No impide el uso indebido del acceso permitido ni los endpoints como la renovación OAuth o la creación de claves, que devuelven secretos en las respuestas.
  • 5El Agent Vault de código abierto se lanzó como versión preliminar de investigación, e Infisical afirma que el repositorio no se mantiene activamente. En el Agent Vault comercial, los agentes en ejecución pierden el acceso en un plazo de 60 segundos desde que termina una sesión.
  • 6Prueba cada cliente HTTP: el fetch integrado de Node, por ejemplo, ignora HTTPS_PROXY salvo que actives --use-env-proxy o NODE_USE_ENV_PROXY=1.
  • 7En MCP, mantén las credenciales de destino en el intermediario y nunca reenvíes los tokens de cliente a las API posteriores.

Conclusión

Infisical Agent Vault se basa en una idea: un agente no puede filtrar un secreto que nunca tuvo. El modelo Placeholder / Proxy / Perimeter es la forma de comprobar que esa idea se cumple en tu propio despliegue. Bien implementado, elimina el beneficio más evidente de la inyección de prompts y mantiene las claves fuera de los registros de los proveedores de inferencia.

Cada capa falla a su manera. Los valores sustitutos fallan cuando quedan claves reales en las configuraciones. El proxy falla si comparte máquina con el agente, deja pasar hosts no coincidentes o incluye en la lista de permitidos endpoints que devuelven secretos. El perímetro falla cuando HTTPS_PROXY es lo único que dirige el tráfico, porque el agente puede eliminar la variable. También desaconsejamos restablecer la conectividad desactivando la verificación de certificados.

Nosotros trataríamos el repositorio de código abierto como una herramienta para aprender y crear prototipos, y para producción contaríamos con una edición con soporte o con un fork que vayas a mantener. Empieza con un agente y una credencial. Sigue la guía práctica, ejecuta una prueba canario de inyección y después amplía. Si te sirve una segunda opinión, Optijara puede revisar la arquitectura de credenciales de tus agentes y el diseño de la salida de red según estas tres capas antes de un despliegue más amplio.

Preguntas frecuentes

¿Qué es un proxy de credenciales para agentes de IA y en qué se diferencia de un gestor de secretos normal?

Un gestor de secretos normal devuelve la credencial a la aplicación, que luego la utiliza. Un proxy de credenciales como Infisical Agent Vault es un proxy de reenvío que intercepta TLS e inyecta la credencial real en las solicitudes salientes, de modo que el agente solo tiene un valor sustituto. El argumento de Infisical es que el modelo anterior deja de funcionar con los agentes porque la inyección de prompts puede engañarlos para que filtren los secretos que tienen.

¿Qué es el modelo Placeholder / Proxy / Perimeter?

Es el modelo de tres capas que esta guía utiliza para planificar un despliegue. Placeholder significa que el agente solo tiene valores sustitutos. Proxy significa que un intermediario independiente guarda las credenciales reales, aplica una política de denegación por defecto y las inyecta en las solicitudes aprobadas. Perimeter significa que los controles de red obligan a que todo el tráfico saliente pase por ese intermediario. Si eliminas cualquiera de las capas, la garantía se debilita.

¿Agent Vault detiene por completo los ataques de inyección de prompts?

No. Elimina uno de sus principales beneficios: si una inyección engaña al agente para que revele una credencial, no hay nada que revelar. Un agente manipulado aún puede usar cualquier acceso que le conceda su lista de permitidos, y endpoints como la renovación OAuth, la emisión de tokens o la creación de claves pueden devolver secretos nuevos en sus respuestas. Mantén permisos de mínimo privilegio, aprobación humana para las acciones destructivas y tus demás controles contra la inyección de prompts.

¿Basta con definir HTTPS_PROXY para enrutar el tráfico del agente a través de Agent Vault?

No. Infisical afirma que la variable solo orienta a los clientes que la respetan y que el agente puede eliminarla. Un despliegue completo bloquea la red para que todo el tráfico saliente pase por el proxy. Además, algunos entornos de ejecución ignoran la variable de forma predeterminada, como el fetch integrado de Node, que necesita --use-env-proxy o NODE_USE_ENV_PROXY=1.

¿Puedo usar el Agent Vault de código abierto en producción?

Con cuidado. Infisical afirma que el repositorio sigue disponible, pero que no se mantiene activamente y nunca se diseñó para un equipo. Nosotros usaríamos el repositorio para aprender y crear prototipos. Para producción, considera el Agent Vault comercial o prevé mantener tú mismo un fork.

¿Dónde debería ejecutarse el proxy respecto a mis agentes?

En una máquina distinta o al otro lado de una frontera de red, para que los agentes no puedan leer directamente el almacén de credenciales. La garantía de seguridad depende de esa separación. Si usas un proxy compartido, mantenlo en una red privada, como tus propios servidores, un clúster de Kubernetes o runners de CI autoalojados, porque los agentes le envían su token de sesión por HTTP sin cifrar.

Fuentes

Compartir este artículo

Hamza Diaz

Escrito por

Hamza Diaz

Hamza Diaz es el fundador de Optijara, donde crea agentes de IA prácticos, sistemas de automatización y flujos de trabajo de Copilot para empresas de servicios. Escribe sobre operaciones de IA, estrategia de agentes e implementación real para equipos que quieren sistemas útiles en lugar de promesas vacías.