Volver a actualizaciones
Nuevo releaseJul 31, 2026

agent-vault-proxy v0.9.0

Claves de API just-in-time para agentes de IA - y cualquier otro proceso que enrutes a través de ella: quien llama solo ve un marcador de posición.

Compartir

keys-on-the-wire

Claves API just-in-time para agentes de IA y cualquier otro proceso que enrutes a través de ella: el llamador solo ve un marcador de posición.

Antes conocido como agent-vault-proxy. La CLI ahora es kow; el antiguo comando avp sigue funcionando en esta versión y se eliminará en la próxima versión principal (ADR-0045).

Keys on the Wire te protege de los ladrones de credenciales (Shai-Hulud y similares) y de agentes con inyección de prompt que filtran tus secretos. Es un proxy local que inyecta secretos reales en las solicitudes en tránsito, de modo que un agente comprometido o con inyección de prompt no tenga nada que robar.

PyPI License: Apache-2.0 CI

Cómo keys-on-the-wire sustituye secretos en el cable

Bajo el capó: un proxy HTTPS de bucle local que obtiene credenciales de Bitwarden Secrets Manager (en la nube o autoalojado) justo a tiempo y las inyecta en las solicitudes salientes, de modo que el proceso llamador nunca tenga los bytes reales de las credenciales en su espacio de direcciones.

Completamente open source, deliberadamente simple

Cada funcionalidad está en este repositorio bajo Apache-2.0, sin nivel de pago, edición empresarial, nube de confianza ni telemetría. Puedes leerlo todo de principio a fin (unos pocos miles de líneas) y ejecutarlo para siempre.

Todo el flujo de trabajo es un solo movimiento: pide a la skill incluida que enrute un servicio, te indica la única línea que debes pegar en Bitwarden (o en tu bóveda), la pegas y el agente queda intermediado. Listo. Como cada credencial intermediada es un enlace, la configuración es la lista completa y auditable de exactamente qué secretos puede alcanzar cada agente: nada implícito ni oculto.

El objetivo es menos claves reales dentro de los agentes de IA en todas partes, no el bloqueo. Si Keys on the Wire encaja, úsalo; si una de las alternativas se adapta mejor a tu configuración, usa esa. Cualquier herramienta que mantenga el secreto real fuera de la memoria del agente es una victoria.

Pruébalo. 10 segundos.

1. Instala - Linux pipx, macOS brew:

pipx install 'keys-on-the-wire[bitwarden]'   # [bitwarden] añade el SDK del backend de Bitwarden; quítalo para solo AWS/GSM/env
# macOS: brew install inflightsec/keys-on-the-wire/keys-on-the-wire
sudo kow setup --bws        # pega tu token de Bitwarden — genera la CA, inicia el daemon

2. Instala la skill para que tu agente escriba el enlace por ti:

/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy

3. Pide a la skill que intermedie un servicio - di "enruta la API de Stripe a través de Keys on the Wire". Genera el marcador de posición e imprime la nota exacta para pegar en Bitwarden; nunca ve tu clave.

4. Pon el secreto en tu bóveda - añade la clave real a Bitwarden Secrets Manager (o Google Secret Manager) con esa nota, y luego enruta tu agente a través del proxy:

kow env && kow run claude

Listo: el agente solo envía el marcador de posición; Keys on the Wire intercambia la clave real en el cable.

En lugar de kow run, puedes exportar las variables del proxy y de la CA en el ~/.zshrc de tu agente (o cualquier shell rc) - consulta Uso para el bloque canónico. Es persistente, pero enruta todo tu shell a través de Keys on the Wire, no solo el agente que lanza.

Véalo en acción

demo de keys-on-the-wire: inyección de prompt vs. aislamiento de credenciales

Añade un secreto con tu agente de IA: sin editar configuración

La incorporación de una nueva credencial intermediada no debería significar escribir YAML de enlaces a mano. La skill avp incluida permite que un asistente de IA (Claude Code, o cualquier agente que cargue skills) te guíe: dices "enruta la API de Acme a través de Keys on the Wire", pregunta por la forma de autenticación y el host, y luego te indica exactamente qué añadir: el nombre del secreto más la anotación para pegar en el campo Notas de Bitwarden Secrets Manager (o la anotación avp-binding de Google Secret Manager, o los metadatos por secreto de un backend futuro). Sin edición de configuración ni redespliegue, y el asistente nunca ve ni almacena el secreto; propone, tú aplicas.

La nota en sí son dos líneas pegadas en el campo Notas del secreto:

# avp-binding
api.acme.com

La línea de marcador es lo que la convierte en un enlace: una nota cuya primera línea no sea # avp-binding sigue siendo lo que es, una descripción humana, nunca analizada (ADR-0025). (El marcador avp-binding y las rutas en disco mantienen sus nombres en esta versión por compatibilidad hacia atrás; se trasladan a kow en la próxima versión principal - consulta ADR-0045.)

Instala la skill

Claude Code (recomendado) - instálala como plugin, para que esté disponible en todos los proyectos y se actualice con /plugin marketplace update:

/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy

Invócala como /avp:avp, o simplemente di "enruta la API de Acme a través de Keys on the Wire" y se activará por sí sola. (El plugin incluido mantiene el nombre avp por ahora; se renombrará con la migración del marketplace.)

Manual (cualquier agente que cargue skills en formato Anthropic) - copia o crea un enlace simbólico de skills/avp/ en el directorio de skills de tu agente; Claude Code lee ~/.claude/skills/. Un enlace simbólico lo mantiene actualizado con git pull:

ln -s "$PWD/skills/avp" ~/.claude/skills/avp

Intermedia un servidor MCP

Los servidores MCP son una superficie de fuga de credenciales en rápido crecimiento: cada uno mantiene un token ascendente de larga duración (un PAT de GitHub, una clave de Slack/Brave/Perplexity) en texto plano en tu configuración de cliente, donde cualquier servidor que cargue el cliente puede leerlo. kow mcp install reemplaza ese secreto permanente con un marcador de posición y enruta el tráfico saliente del servidor a través del proxy, de modo que el valor real nunca viva en la configuración:

kow mcp install github --host api.github.com --env-var GITHUB_PERSONAL_ACCESS_TOKEN \
  --server-cmd "npx -y @modelcontextprotocol/server-github"

Imprime la nota de la bóveda para pegar y el comando exacto claude mcp add --env / codex mcp add --env (proxy + confianza de CA por tiempo de ejecución + env con marcador de posición): solo propuesta para la bóveda, el valor del secreto nunca se toca. La skill avp incluida puede derivar el host/encabezado/formato de la documentación del servidor y confirmar el host contigo primero. Diseño + modelo de amenazas: ADR-0040.

Documentación

  • ¿Es Keys on the Wire para ti? - qué hace, qué deliberadamente no hace, por qué y cuándo recurrir a ella (empieza aquí si estás evaluando)
  • Inicio rápido - primera ejecución de 10 minutos que termina con una sustitución visible
  • Conceptos - marcador de posición, enlace, la CA, fail-closed, en términos sencillos
  • Requisitos previos - configuración de Bitwarden Secrets Manager (haz esto primero)
  • Instalación en Linux · Docker · macOS
  • Uso - apuntar tu agente al proxy
  • Aislamiento en Linux - componer Keys on the Wire con bubblewrap para sandboxing del sistema de archivos
  • bindings.example.yaml - esquema completo de configuración
  • skill avp - deja que un asistente de IA redacte tus enlaces de notas/anotaciones (solo propuesta, sin edición de configuración, sin redespliegue)
  • Intermedia un servidor MCP - ejecuta servidores MCP de Claude Code / Codex sin credenciales en texto plano (kow mcp install)
  • Arquitectura - modelo de amenazas, invariantes G1–G9, endurecimiento, riesgos residuales
  • Arquitectura de adaptadores - backends de bóveda (Bitwarden, Google Secret Manager y AWS Secrets Manager se incluyen hoy, static para desarrollo) y cómo añadir otro
  • Google Secret Manager - mantén secretos en GSM: configuración, autenticación sin claves y pruebas de extremo a extremo
  • Comparación - vs. Vault Agent, Doppler, op run, superfly/tokenizer, OneCLI y otras herramientas de credenciales para agentes (usa la que encaje: el punto es más agentes protegidos, no el bloqueo)
  • CHANGELOG · SECURITY · CONTRIBUTING · CREDITS

El proxy nunca se comunica con el exterior. Las únicas conexiones salientes que realiza son al endpoint de BWS que configures y a las APIs ascendentes que tu agente está llamando. Sin telemetría. El registro de auditoría en /var/log/agent-vault-proxy/audit.jsonl es solo local por defecto; el envío fuera del host opcional lo reenvía (desde un sidecar separado, nunca el proxy) solo a un recopilador que tú ejecutas y controlas.

Licencia

Apache-2.0: consulta LICENSE y NOTICE; la concesión explícita de patentes es deliberada para una herramienta de seguridad (ADR-0037). Cada funcionalidad se incluye aquí, sin open-core, nivel empresarial ni servicio alojado. Haz un fork, léelo de principio a fin, ejecútalo para siempre. Las versiones hasta 0.9.0 siguen disponibles bajo sus términos MIT originales y el nombre agent-vault-proxy. Reconocimiento de trabajo previo en CREDITS.md.

Una dependencia no es open source, y es opcional. El backend opcional de Bitwarden incorpora bitwarden-sdk, que está bajo la licencia de SDK propietaria de Bitwarden, no Apache-2.0. Keys on the Wire nunca lo incluye; lo instalas tú mismo (pip install 'keys-on-the-wire[bitwarden]') solo si usas ese backend. La instalación por defecto y los backends de AWS Secrets Manager, Google Secret Manager y env son 100% open source.

Categorías