Coldkey: Генерация ключей постквантовой эры и инструмент для бумажного резервного копирования

Coldkey — это утилита командной строки для создания постквантовых ключей шифрования age и бумажных резервных копий. Она решает проблему потери приватных ключей age — необходимых для расшифровки файлов, зашифрованных с помощью age или sops, — создавая печатные HTML-документы с QR-кодами.
Установка
# Homebrew (macOS/Linux)
brew install --cask pike00/tap/coldkey
Или с помощью Go
go install github.com/pike00/coldkey/cmd/coldkey@latest
Быстрый старт с Docker (рекомендуется)
# Загрузка образа
docker pull ghcr.io/pike00/coldkey:latest
Интерактивный режим — создание ключа и бумажной копии
just docker-run
Резервное копирование существующего ключа
just docker-backup /.config/sops/age/keys.txt
Все команды just docker-* включают флаги усиления безопасности: --network none, --read-only, --cap-drop ALL, --security-opt no-new-privileges:true. Вывод записывается в ./output/.
Команды
- Интерактивный режим (
coldkey): Меню для создания нового ключа или создания резервной копии из существующего. - Создать (
coldkey generate [-o PATH] [-f] [--no-backup]): Создать новую постквантовую пару ключей age (ML-KEM-768 + X25519). По умолчанию вывод в stdout, если не указан-o. - Резервное копирование (
coldkey backup [flags] KEYFILE): Создать печатную HTML-бумажную копию из существующего файла ключа. - Версия (
coldkey version): Вывести строку версии.
Модель безопасности
- Память: Использует
mlockall(MCL_CURRENT|MCL_FUTURE)для предотвращения выгрузки ключевого материала на диск. - Файлы: Записываются с правами 0600, с fsync; временные файлы уничтожаются (трехкратная перезапись).
- Процесс: Секреты передаются только через stdin/файлы, никогда через аргументы процесса.
- Контейнер: Образ Distroless/static:nonroot без оболочки, не-root UID 65534.
- Обнуление памяти: Максимально возможное
secure.Zero()для буферов ключей перед GC.
Кодировка QR-кода
Постквантовые ключи age хранят только 32-байтовое семя, поэтому keys.txt обычно составляет ~2 089 байт — помещается в один QR-код (версия 40, EC-L поддерживает 2 953 байта). Для больших файлов coldkey разбивает на несколько QR-кодов с использованием протокола фреймирования: COLDKEY:<часть>/<всего>:<данные>. Восстановление: отсканируйте все QR-коды по порядку, удалите префиксы, объедините и проверьте контрольную сумму SHA-256.
Содержимое бумажной копии
Сгенерированный HTML включает: заголовок/метаданные (дата, имя хоста, пользователь, путь к исходному файлу), текст ключа моноширинным шрифтом, QR-код(ы) с указанием емкости, контрольную сумму SHA-256 и пошаговые инструкции по восстановлению.
Процедура восстановления
- Отсканируйте QR-код или введите текст ключа вручную.
- Сохраните в
/.config/sops/age/keys.txt. - Проверьте:
sha256sum keys.txtдолжно совпадать с напечатанной контрольной суммой. - Протестируйте:
sops -d <любой .sops файл>
Ограничения
Сборщик мусора Go может копировать объекты в памяти, а строки Go неизменяемы — ключевой материал, хранящийся в виде строки (например, из identity.String()), не может быть безопасно обнулен. Coldkey выполняет максимально возможное обнуление байтовых буферов.
📖 Читать полный исходник: HN LLM Tools
👀 Смотрите также

Уязвимости функции «Разрешать всегда» в OpenClaw и более безопасные альтернативы
Функция 'разрешить всегда' в OpenClaw стала предметом двух уязвимостей (CVE) в этом месяце, позволяя выполнять несанкционированные команды через привязку команд-обёрток и обходы с помощью символов продолжения строки в оболочке. Более глубокая проблема заключается в том, как эта функция приучает пользователей переставать обращать внимание на запросы безопасности.

Pi: AI-киберагент за $100 млн от бывшего хакера Tesla защищает xAI и исправляет ошибки за минуты
Pi — AI-агент безопасности от бывшего ведущего хакера Tesla Йони Рамона — использует контекстно-зависимую триаж уязвимостей и автоматическое исправление. Ранний заказчик Navan сообщает, что 90% багов исправляются за минуты, экономя 1-2 штатные единицы.

jqwik v1.10.0 позволяет скрытое внедрение запросов, которое удаляет код при использовании AI-агентами
Йоханнес Линк добавил скрытую инструкцию в jqwik v1.10.0, которая сообщает ИИ-агентам по кодингу удалить все тесты и код jqwik, скрытую с помощью ANSI-символов. Claude правильно её обнаруживает, но пользователи-люди могут быть не так удачливы.
