deps(tbtc/signer): move frost-secp256k1-tr off the rc pin to =3.0.0 final - #4033
Merged
mswilkison merged 1 commit intoJun 11, 2026
Conversation
…pin to =3.0.0 final frost-secp256k1-tr 3.0.0 (with frost-core and frost-rerandomized 3.0.0) is published and unyanked; the engine was pinned to the =3.0.0-rc.0 release candidate. Pin the final release instead -- release candidates receive no post-release fixes and are the wrong long-term anchor for the curve/ciphersuite layer under custody code. Exact-pin discipline is retained. Full suite passes unchanged against the final (244 tests; clippy clean), confirming no API or behavior drift from rc.0. Audit-trail follow-up for the rollout gates: record which ZF/external audit reports cover frost-core 3.x and the secp256k1-tr ciphersuite specifically, alongside the existing audit-lineage notes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
mswilkison
merged commit Jun 11, 2026
c5b0176
into
extraction/frost-signer-mirror-2026-05-26
19 checks passed
mswilkison
added a commit
that referenced
this pull request
Jun 12, 2026
…ence (#4042) Post-merge follow-up **#5** from the June 2026 review stack — the remaining half of #4033's item: cite the exact external audit report and version range covering the pinned FROST stack in the readiness/rollout docs. Also records the attestation-rotation operational requirement that #4037's review surfaced. ## Audit status (researched against upstream sources, 2026-06-12) The new "Cryptographic Dependency Audit Status" section in `roast-phase-5-security-rollout-gates.md` records, with citations: - **NCC Group, "Zcash FROST Security Assessment"** (report 2023-10-20): audited **v0.6.0** (commit `5fa17ed`) of `frost-core` + five ciphersuites — trusted-dealer and DKG key generation plus signing; all findings addressed and re-reviewed. - The upstream README's explicit exclusion, quoted verbatim: *"This does not include frost-secp256k1-tr and rerandomized FROST."* - **Least Authority's Q1 2025 FROST Demo audit** covered `frost-client`/`frostd` tooling only — not the library crates this signer consumes. - No 2.x/3.x release notes mention further audit coverage. **The honest bottom line, now on the record:** the exact ciphersuite this signer uses for production signatures (`frost-secp256k1-tr =3.0.0`, released 2025-04-23) and the v0.6.0 → 3.0.0 evolution of `frost-core` have **no external audit coverage**. Gate 1 sign-off must therefore either commission/await an audit covering that range (the checklist item-8 "audit as ECDSA-retirement merge gate" decision) or record a written, canary-scoped risk acceptance. The section gives that team decision its factual basis instead of letting "FROST was audited" stand unqualified. ## Attestation rotation cadence (runbook prerequisite 6) From #4037's design: init-time config is immutable for the process lifetime and attestation TTL caps at 7 days, so production signers must restart with fresh attestation material within every window — rollout stage scheduling has to absorb that cadence. Live re-attestation without restart is deliberately unsupported (it would need a dedicated narrow FFI; general config mutation reopens the split-brain risk the immutable design closed). Doc-only change; no code. Sources verified via the upstream README, NCC's published report PDF, zfnd.org announcements, and the ZcashFoundation/frost releases page. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #4005 (base:
extraction/frost-signer-mirror-2026-05-26). Implements the dependency-pin item from the review feedback ("get off the=3.0.0-rc.0pin").frost-secp256k1-tr 3.0.0final (plusfrost-core/frost-rerandomized3.0.0) is published and unyanked on crates.io; the engine was anchored to the release candidate, which receives no post-release fixes. This moves the exact pin to the final release — same exact-pin discipline, correct anchor.Verified: full signer suite passes unchanged against the final (244 tests, clippy clean), confirming no rc.0→final API or behavior drift.
Remaining half of the review item for the rollout gates: record which ZF/external audit reports cover
frost-core3.x and thesecp256k1-trciphersuite specifically (the audited lineage claim in the readiness docs should cite the exact report and version range).🤖 Generated with Claude Code