Volver a actualizaciones
Nuevo releaseSep 3, 2026

agent-vault-proxy v1.1.1

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

Tu agente de IA nunca tiene tus claves de API. Envía un marcador de posición; el secreto real se sustituye en el cable.

Evita que los ladrones de credenciales (Shai-Hulud y similares) y los agentes con inyección de prompts filtren tus secretos. Un agente comprometido no tiene nada que robar.

PyPI License: Apache-2.0 CI

Cómo funciona

  1. Tu agente envía una solicitud con un marcador de posición, no la clave.
  2. Keys on the Wire sustituye el secreto real de tu vault, en tránsito.
  3. El agente nunca ve la clave. Nada que filtrar, nada que robar.

Cómo Keys on the Wire sustituye secretos en el cable

Bajo el capó es un proxy HTTPS de loopback. Obtiene cada credencial de tu vault justo a tiempo y la inyecta en la solicitud saliente, de modo que el proceso que llama (tu agente, o cualquier otra cosa que enrutes a través de él) nunca tiene los bytes reales.

Backends de vault: macOS Keychain, Bitwarden Secrets Manager, Google Secret Manager, AWS Secrets Manager, static (sin vault, para probarlo) y env. En un Mac el backend de Keychain no necesita cuenta de vault en la nube ni dependencia adicional: tus secretos se quedan donde ya están. (kow setup sigue usando Bitwarden por defecto; pasa el backend que quieras). Consulta Arquitectura de adaptadores.

Míralo en acción

Demo de Keys on the Wire: inyección de prompts vs. aislamiento de credenciales

Inicio rápido

1. Instala (Linux pipx, macOS brew):

pipx install 'keys-on-the-wire[bitwarden]'
# macOS: brew install inflightsec/keys-on-the-wire/keys-on-the-wire
sudo kow setup --bws

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

/plugin marketplace add inflightsec/keys-on-the-wire
/plugin install kow@keys-on-the-wire

3. Intermedia un servicio. Di "enruta la API de Stripe a través de Keys on the Wire." La skill genera el marcador de posición e imprime la nota exacta que debes pegar en tu vault. Nunca ve tu clave.

4. Añade la clave real a tu vault con esa nota, 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 sustituye la clave real en el cable.

¿Eres nuevo en esto? La guía de inicio rápido recorre la primera ejecución completa, y Requisitos previos cubre la configuración del vault. ¿Prefieres variables de entorno del shell en lugar de kow run? Consulta Uso.

Antes de apuntarlo a claves de producción

  • Pruébalo detrás de un solo proceso. kow run -- <command> establece las variables del proxy y de la CA solo en ese proceso; tu shell de inicio de sesión nunca las hereda. Delimitar a un solo proceso.
  • Fail-closed es el único modo. Si kow está caído, las llamadas enrutadas fallan; un binding que deniega devuelve 503 en lugar de dejar pasar la solicitud sin protección.
  • Detiene el robo, no el mal uso. kow saca la clave del contexto del agente; no juzga por qué se llama a una API. Restringir un binding con methods: y paths: es la palanca, y se aplica. ¿Es para ti? traza el límite completo.
  • La autenticación más allá de cabeceras estáticas ya está disponible: refresco OAuth2 y client-credentials, JWT bearer, GitHub App, HMAC y AWS SigV4, con presets para Google, Microsoft, Auth0, Slack, Atlassian y Okta.

Intermedia un servidor MCP

Cada servidor MCP mantiene un token de larga duración en texto claro en la configuración de tu cliente, legible por cualquier otro servidor que cargue el cliente. kow mcp install sustituye ese secreto permanente por un marcador de posición y enruta la salida del servidor a través del proxy:

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

Imprime la nota del vault y el comando exacto claude mcp add --env. Diseño y modelo de amenazas: ADR-0040.

El binding es una línea

Incorporar una credencial no es YAML escrito a mano. La skill kow incluida pregunta la forma de autenticación y el host, luego te dice exactamente qué pegar en el campo Notes de tu secreto:

# kow-binding
api.acme.com

Esa línea marcadora es lo que lo convierte en un binding; sin ella la nota sigue siendo una descripción humana simple, nunca analizada (ADR-0025). El asistente propone, tú aplicas. Nunca ve ni almacena el secreto.

Documentación

Empieza aquí¿Es para ti? si estás evaluando · Requisitos previos para configurar tu vault · Inicio rápido para una primera ejecución de 10 minutos.

EntiendeConceptos para marcador de posición, binding, CA y fail-closed en términos sencillos · Arquitectura para el modelo de amenazas, las invariantes G1 a G9 y los riesgos residuales.

Instala y operaLinux · Docker · macOS · Uso · Proceso único · Aislamiento en Linux · Aislamiento en macOS · Google Secret Manager

Referenciabindings.example.yaml es el esquema de configuración completo · Arquitectura de adaptadores para backends de vault y cómo añadir uno · Comparación frente a Vault Agent, Doppler, op run y otros · CHANGELOG · SECURITY · CONTRIBUTING · CREDITS

Código abierto, sin lock-in

Todas las funciones están en este repositorio bajo Apache-2.0. Sin nivel de pago, sin servicio alojado, sin telemetría. El proxy nunca llama a casa: sus únicas conexiones salientes son tu vault y las APIs upstream que llama tu agente. Si una alternativa se adapta mejor a tu configuración, úsala.

Una dependencia opcional no es de código abierto, el bitwarden-sdk del backend de Bitwarden, que solo instalas si usas ese backend. Consulta LICENSE y NOTICE.

Categorías