Agentes de IA
Claude Code, Cursor y otros agentes usan tus secretos sin leerlos.
El problema#
Un agente que programa en tu repositorio lee el .env como cualquier otro archivo, y lo que lee puede acabar en un commit, en un log o en su ventana de contexto. Kofre lo evita en tres pasos: ignora el archivo, bloquea su lectura y le da al agente otra forma de ejecutar lo que necesita.
Preparar el proyecto#
Ejecútalo una vez en la carpeta del proyecto. Añade .env y .env.* a .gitignore y .cursorignore, niega Read sobre esos archivos en .claude/settings.json y registra el servidor kofre mcp en .mcp.json y .cursor/mcp.json. Conserva lo que ya hubiera en cada archivo.
kofre guardactualizado .gitignore creado .claude/settings.json creado .mcp.json creado .cursorignore creado .cursor/mcp.json Listo. Los agentes usan las variables con la herramienta kofre_run; ejecuta `kofre unlock` antes de empezar.
El servidor MCP#
El agente ve cuatro herramientas: kofre_status, kofre_list (nombres de variables, sin valores), kofre_run (ejecuta un comando con las variables inyectadas y devuelve la salida con los valores tachados) y kofre_set (guarda una credencial nueva cifrada en vez de escribirla en un .env). Ninguna devuelve un valor en claro.
{"mcpServers": {"kofre": {"command": "kofre","args": ["mcp"]}}}
La clave privada sale del llavero del sistema. Ejecuta kofre unlock en una terminal antes de empezar y el agente trabaja sin pedirte nada; kofre lock la cierra.
kofre unlock
Comprobar que nada se escapa#
Busca archivos .env fuera de .gitignore o ya rastreados por git, y credenciales en claro en las configuraciones de agentes (.mcp.json, .cursor/mcp.json, ~/.claude.json, Claude Desktop). Sale con código 1 si encuentra algo, así que sirve en CI o en un hook de pre-commit.
kofre scan2 hallazgos: ✖ .env: está en el historial de git: rota sus valores y quítalo con git rm --cached ! .cursor/mcp.json: credencial en claro en mcpServers.github.env.GITHUB_TOKEN Ejecuta `kofre guard` para ignorar los .env y bloquear su lectura a los agentes, y `kofre push` para guardarlos cifrados.