Coldkey: Herramienta de generación de claves y respaldo en papel para la era post-cuántica

Coldkey es una herramienta de línea de comandos para generar claves de cifrado age post-cuánticas y crear copias de seguridad en papel. Soluciona el problema de perder las claves privadas de age (esenciales para descifrar archivos cifrados con age o sops) generando documentos HTML imprimibles con códigos QR.
Instalación
# Homebrew (macOS/Linux)
brew install --cask pike00/tap/coldkey
O con Go
go install github.com/pike00/coldkey/cmd/coldkey@latest
Inicio rápido con Docker (recomendado)
# Descargar la imagen
docker pull ghcr.io/pike00/coldkey:latest
Interactivo — generar una clave y copia de seguridad en papel
just docker-run
Hacer copia de seguridad de una clave existente
just docker-backup /.config/sops/age/keys.txt
Todos los comandos just docker-* incluyen banderas de refuerzo de seguridad: --network none, --read-only, --cap-drop ALL, --security-opt no-new-privileges:true. La salida se escribe en ./output/.
Comandos
- Modo interactivo (
coldkey): Menú para generar una nueva clave o crear una copia de seguridad a partir de una existente. - Generar (
coldkey generate [-o RUTA] [-f] [--no-backup]): Genera un nuevo par de claves age post-cuánticas (ML-KEM-768 + X25519). La salida predeterminada es stdout a menos que se proporcione-o. - Copia de seguridad (
coldkey backup [flags] ARCHIVOCLAVE): Crea una copia de seguridad HTML imprimible a partir de un archivo de clave existente. - Versión (
coldkey version): Imprime la cadena de versión.
Modelo de seguridad
- Memoria: Usa
mlockall(MCL_CURRENT|MCL_FUTURE)para evitar que el material de la clave se intercambie al disco. - Archivos: Se escriben con modo 0600, fsynced; los temporales se destruyen (sobrescritura de 3 pasadas).
- Proceso: Los secretos se pasan solo a través de stdin/archivos, nunca en argumentos de proceso.
- Contenedor: Imagen distroless/static:nonroot sin shell, UID no root 65534.
- Puesta a cero de memoria:
secure.Zero()de mejor esfuerzo en los buffers de clave antes del GC.
Codificación de código QR
Las claves age post-cuánticas almacenan solo una semilla de 32 bytes, por lo que keys.txt suele tener ~2,089 bytes, cabiendo en un solo código QR (versión 40, EC-L admite 2,953 bytes). Para archivos más grandes, coldkey divide en múltiples códigos QR usando un protocolo de encuadre: COLDKEY:<parte>/<total>:<datos>. Recuperación: escanear todos los códigos QR en orden, eliminar prefijos, concatenar y verificar la suma de comprobación SHA-256.
Contenido de la copia de seguridad en papel
El HTML generado incluye: título/metadatos (fecha, nombre de host, usuario, ruta de origen), texto de clave sin formato en monoespacio, código(s) QR con anotación de capacidad, suma de comprobación SHA-256 e instrucciones de recuperación paso a paso.
Procedimiento de recuperación
- Escanee el código QR o escriba el texto de la clave sin formato.
- Guarde en
/.config/sops/age/keys.txt. - Verifique:
sha256sum keys.txtcoincide con la suma de comprobación impresa. - Pruebe:
sops -d <cualquier archivo .sops>
Limitaciones
El recolector de basura de Go puede copiar objetos en memoria, y las cadenas de Go son inmutables: el material de clave mantenido como cadena (por ejemplo, de identity.String()) no se puede poner a cero de forma segura. Coldkey realiza un esfuerzo de puesta a cero en los buffers de bytes.
📖 Lea la fuente completa: HN LLM Tools
👀 Ver también

La fuga del mapa de código fuente de Claude revela que el JavaScript minificado ya era público en npm
Un archivo de mapa de fuentes incluido accidentalmente en la versión 2.1.88 del paquete npm @anthropic-ai/claude-code reveló comentarios internos de los desarrolladores, pero el archivo cli.js real de 13 MB que contiene más de 148,000 cadenas de texto plano ha sido públicamente accesible en npm desde su lanzamiento.

OpenObscure: Cortafuegos de Privacidad de Código Abierto para Agentes de IA en Dispositivos
OpenObscure es un cortafuegos de privacidad de código abierto y en el dispositivo que se sitúa entre los agentes de IA y los proveedores de LLM. Utiliza el cifrado FF1 de preservación de formato con AES-256 para cifrar los valores de PII antes de que las solicitudes salgan de tu dispositivo, manteniendo la estructura de los datos mientras protege la privacidad.

Análisis de Seguridad de Aislamiento de Agentes: Desde Sin Sandbox hasta Máquinas Virtuales Firecracker
Análisis de cómo Cursor, Claude Code, Devin, OpenAI y E2B aíslan las cargas de trabajo de los agentes, desde sin sandbox hasta microVMs Firecracker aisladas por hardware. Los entornos de ejecución de contenedores han tenido CVEs de escape anualmente desde 2019, mientras que Firecracker tiene cero escapes de huésped a anfitrión en siete años.

Sunder: Un firewall de privacidad local basado en Rust para LLMs
Sunder es una extensión de Chrome que actúa como un firewall de privacidad local para chats de IA, construida utilizando Rust y WebAssembly, asegurando que los datos sensibles nunca salgan de tu navegador.