[NUT-13] V2 keysets use legacy BIP32 derivation instead of HMAC-SHA256 — cross-wallet restore broken
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 30/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- go
- 領域
- cryptography
調査の方向性
The payload names no source files, so start by locating the NUT-13 derivation code for V2 (01) keysets and the restore loop in the repository. First confirm whether the BIP32-vs-HMAC-SHA256 mismatch still reproduces on upstream main, since the issue says this was not re-verified. Done means V2 keysets derive secrets with Cashu_KDF_HMACSHA256 per NUT-13, the restore loop uses continue on unit mismatch, and the counter no longer over-increments.
索引モデルが issue の本文から書いたものです。
説明
Migrated from Amperstrand/tollgate-module-basic-go#82 as part of the fork retirement — OpenTollGate/tollgate-module-basic-go is the single source of truth; the fork issue carries the original discussion and any lab evidence. Retirement plan: #758.]
NUT-13 deterministic secrets: V2 (01) keysets use BIP32 path instead of mandated HMAC-SHA256 Cashu_KDF_HMACSHA256. This breaks cross-wallet restore from nutshell/cdk/cashu-ts for V2 keysets.
Additional restore loop bugs:
breakon unit mismatch (shouldcontinue)- Counter over-increment
Legacy BIP32 is implemented correctly for V1 keysets, but V2 must use HMAC-SHA256 per spec.
Fix: Implement HMAC-SHA256 derivation for V2 keysets; fix restore loop logic.
Evidence: /home/ubuntu/src/tollgate_audit_report_2026-08-26.md §6, line 103; §7
Section reference: /home/ubuntu/src/tollgate_audit_report_2026-08-26.md §6
Migrated 2026-10-09. Applicability to current upstream main (4614ac2, post-rc1) was not re-verified during migration — confirming whether the finding still reproduces upstream is this issue's first task.
- 主要言語
- Go
- スター
- 12
- フォーク
- 14
- 平均マージ
- 3日 21時間
- マージ済み PR(30日)
- 269
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
OpenTollGate/tollgate-module-basic-go のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
OpenTollGate/tollgate-module-basic-go#1135 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
OpenTollGate/tollgate-module-basic-go#1122 ·
メンテナーはふだん 1 日以内に返信
-
changelog: dependency-security sweep missing from [Unreleased] [Amperstrand fork #105 review debt]オープン
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
OpenTollGate/tollgate-module-basic-go#1055 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
OpenTollGate/tollgate-module-basic-go#1027 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
OpenTollGate/tollgate-module-basic-go#1026 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
OpenTollGate/tollgate-module-basic-go の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
google/go-containerregistry#2491 ·
メンテナーはふだん 1 日以内に返信
-
aiac enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
phase:v1 type:harness
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
scttfrdmn/burroughs#1181 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
compiler-explorer/ce-ci#28 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信