Ir al contenido

Modelo de amenazas

kovra está construida alrededor de un solo trabajo: dejar que las herramientas y agentes de IA usen secretos sin ver los sensibles. Esta página lo dice claramente — los activos que protege, los adversarios contra los que está diseñada y los límites que no cruza. Una herramienta de seguridad que exagera sus garantías es peor que una que es honesta sobre ellas.

  • Valores de secretos — literales, las mitades privadas de los keypairs, y las semillas TOTP.
  • La master key — la raíz de confianza que cifra todo el vault.
  • La integridad del registro de auditoría — un registro fiel de lo que pasó.
  • Un agente de IA con prompt-injection o secuestrado exfiltrando secretos. Un agente corre bajo un scope y nunca recibe el texto plano de un secreto high, prod o inject-only. Las coordenadas fuera de scope son no direccionables — no existen para esa sesión, así que un agente manipulado no puede alcanzar lo que nunca se le otorgó.
  • Un programa leyendo de vuelta un valor que se le dio. Enviar un valor high/prod a un programa que el propio agente escribió frustraría el propósito, así que esas inyecciones solo se permiten hacia un ejecutable revisado y allowlisted.
  • Texto plano filtrándose a los lugares donde suele filtrarse. Los valores nunca aterrizan en un log, en disco, en argv, en el historial del shell ni en la ventana de contexto de un modelo.
  • Un secreto commiteado por accidente. Un pre-commit hook escanea los cambios staged y bloquea el commit.
  • Una laptop perdida o robada, o una inspección casual del disco. Cada registro está cifrado en reposo bajo la master key (custodiada en el keyring del SO, o derivada con Argon2id), y las coordenadas no se exponen como nombres de archivo en texto plano.
  • Los reveals e inyecciones sensibles requieren un bioProve deliberado — nunca ocurren por su cuenta, y nunca a pedido de un agente para high/prod.
  • El prompt de confirmación lo construye kovra a partir de la solicitud real, de modo que no puede ser falsificado por un llamador.
  • El registro de auditoría registra cada resultado sin almacenar un valor o un fingerprint completo.
  • La última milla. Una vez que un valor se entrega al proceso que lo necesita, vive en la memoria de ese proceso bajo las reglas de ese programa. kovra asegura la custodia y la entrega, no lo que un programa hace con un valor después de tenerlo.
  • Un host comprometido. kovra confía en el keyring del sistema operativo, en su subsistema biométrico y en la integridad de la propia máquina. Un compromiso a nivel de root, un keylogger de kernel o malware leyendo la memoria de otro proceso queda fuera de lo que una herramienta de userspace puede defender.
  • Un humano (o programa) que el usuario autoriza. kovra hace que una acción sensible sea deliberada y atribuible — no la hace imposible. Si se hace un bioProve de una acción mala, o se allowlista un programa malicioso, kovra la llevará a cabo y la registrará.
  • Confianza en el proveedor cloud. Una referencia cloud se resuelve bajo la identidad de proveedor del usuario; el proveedor sigue viendo lo que siempre vería.

kovra asume: que la máquina y el SO no están ya comprometidos; que el keyring del SO y el prompt biométrico se comportan como la plataforma pretende; y que las bibliotecas criptográficas verificadas sobre las que se construye son sólidas. No implementa criptografía propia — ver Criptografía.