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.
Activos
Sección titulada «Activos»- 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ó.
Lo que kovra está diseñada para detener
Sección titulada «Lo que kovra está diseñada para detener»- 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,prodoinject-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/proda 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.
Garantías dentro de alcance
Sección titulada «Garantías dentro de alcance»- 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.
Fuera de alcance — los límites honestos
Sección titulada «Fuera de alcance — los límites honestos»- 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.
Supuestos de confianza
Sección titulada «Supuestos de confianza»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.