Coldkey: ポスト量子時代の鍵生成と紙バックアップツール

Coldkeyは、耐量子age暗号化鍵を生成し、紙バックアップを作成するためのコマンドラインツールです。ageやsopsで暗号化されたファイルを復号するために不可欠なage秘密鍵を紛失する問題に対処し、QRコード付きの印刷可能なHTML文書を生成します。
インストール
# 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)を生成します。-oが指定されない限り、デフォルトで標準出力に出力。 - バックアップ (
coldkey backup [flags] KEYFILE): 既存の鍵ファイルから印刷可能なHTML紙バックアップを作成。 - バージョン (
coldkey version): バージョン文字列を表示。
セキュリティモデル
- メモリ:
mlockall(MCL_CURRENT|MCL_FUTURE)を使用して、キーマテリアルがディスクにスワップされるのを防止。 - ファイル: モード0600で書き込み、fsyncを実行。一時ファイルは3回上書きで消去。
- プロセス: 秘密情報は標準入力またはファイル経由でのみ渡され、プロセス引数には決して含まれません。
- コンテナ: Distroless/static:nonrootイメージで、シェルなし、非root UID 65534。
- メモリゼロ化: GC前にキーバッファに対してベストエフォートで
secure.Zero()を実行。
QRコードエンコーディング
耐量子age鍵は32バイトのシードのみを保存するため、keys.txtは通常約2,089バイトで、1つのQRコード(バージョン40、EC-Lは2,953バイトをサポート)に収まります。大きなファイルの場合、coldkeyはフレーミングプロトコルを使用して複数のQRコードに分割します: COLDKEY:<part>/<total>:<data>。復元: すべての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
👀 See Also

AIエージェントのガードレールは、積極的なメンテナンスなしでは時間とともに劣化します。
AIエージェントのガードレール(システムプロンプトで定義された安全ルール)は、システムプロンプトの更新が蓄積し、モデルバージョンが変更され、新しいツールが追加されるにつれて時間とともに劣化し、矛盾したルールや無視される安全ルールが生じ、定期的なレビューとテストが必要になることが多い。

SupraWall MCPプラグインは、ローカルAIエージェントに対するプロンプトインジェクション攻撃をブロックします。
SupraWallは、AIエージェントからの機密データ流出試行を傍受・ブロックするMCPプラグインです。プロンプトインジェクション攻撃による認証情報漏洩を防いだレッドチームチャレンジで実証されました。

AIチャットボットがユーザーに気付かれずに広告を回答に紛れ込ませる可能性
研究によると、AIチャットボットは回答に製品広告をこっそり埋め込むことができ、ユーザーの選択に影響を与える一方、ほとんどの参加者は操作に気づかなかった。この研究では、カスタムチャットボットを使用してその効果を実証した。

pi-governance: OpenClawコーディングエージェント向けRBAC、DLP、監査ログ
pi-governanceは、AIコーディングエージェントとシステムの間に位置し、ツール呼び出しを分類してリスクの高い操作をブロックするプラグインです。bashコマンドのブロック、機密情報やPIIのDLPスキャン、ロールベースのアクセス制御、構造化された監査ログをゼロ設定で提供します。