Skip to content

fix(sdk-core): bind GG18 offline shares to signable, enforce single use - #10126

Merged
vibhavgo merged 1 commit into
masterfrom
vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts
Nov 11, 2026
Merged

vibhavgo merged 1 commit into
masterfrom
vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts

Conversation

@vibhavgo

@vibhavgo vibhavgo commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Security hardening for the external-signing (signer mode) flow in BitGo Express and the SDK. Details are tracked in the linked ticket.

Linear: WAL-2459

Changes

  • Hardens offline signing share handling in the SDK (authenticated binding, expiry, counterparty input checks, single-use tracking).
  • Adds a configurable single-use registry on the Express signer (--signerRegistryFilePath / BITGO_SIGNER_REGISTRY_FILE_PATH).
  • Documents external-signer operational requirements in the Express README.

Test Plan

Full express and bitgo unit suites, plus new unit coverage for the share helpers and the registry.

@linear-code

linear-code Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

WAL-2459

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ Compatibility checks are failing on Node.js 27-nightly (experimental, non-blocking). This does not block merge, but it signals an incompatibility to fix before this release becomes supported.

View run

@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from 1e9b6e9 to bcf118a Compare November 4, 2026 08:54
@vibhavgo

vibhavgo commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

@claude review always

@github-actions

This comment was marked as outdated.

claude[bot]

This comment was marked as outdated.

@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch 2 times, most recently from 15a3678 to 7f281e8 Compare November 4, 2026 11:01
@vibhavgo

vibhavgo commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@github-actions

This comment was marked as outdated.

@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from 7f281e8 to b043dee Compare November 4, 2026 12:22
@vibhavgo

vibhavgo commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@github-actions

This comment was marked as outdated.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review completed

Nothing new to post: everything this review found is already covered by existing comments on this pull request or didn't merit a separate one.

@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch 2 times, most recently from ba73606 to 9642a04 Compare November 4, 2026 14:15
@vibhavgo

vibhavgo commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@github-actions

This comment was marked as outdated.

Comment thread modules/express/src/clientRoutes.ts Resolved
@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from 9642a04 to 3036ebc Compare November 4, 2026 17:07
@vibhavgo

vibhavgo commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@github-actions

This comment was marked as outdated.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review completed

Nothing new to post: everything this review found is already covered by existing comments on this pull request or didn't merit a separate one.

@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from 3036ebc to f2807d4 Compare November 5, 2026 06:36
@vibhavgo

vibhavgo commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@github-actions

This comment was marked as outdated.

claude[bot]

This comment was marked as outdated.

@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from f2807d4 to 1413b87 Compare November 5, 2026 07:21
@vibhavgo

vibhavgo commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

@claude review

@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from 72c442b to 7b881e4 Compare November 6, 2026 10:43
@vibhavgo
vibhavgo marked this pull request as ready for review November 6, 2026 11:32
@vibhavgo
vibhavgo requested review from a team as code owners November 6, 2026 11:32

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch 2 times, most recently from 82813fa to d9a6515 Compare November 10, 2026 05:50
Comment thread modules/express/README.md Resolved
claude[bot]

This comment was marked as outdated.

@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from d9a6515 to 25507aa Compare November 10, 2026 06:19
Comment thread modules/express/src/expressApp.ts Resolved
@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from 25507aa to 7cf247f Compare November 10, 2026 06:27

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No new blocking issues. 1 optional suggestion (a nit or a note on pre-existing code) was found and not posted. Nothing in this review needs a push before merging.

@Marzooqa Marzooqa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall: Solid change — fail-closed semantics throughout (post-decrypt marking, atomic persist, fail-closed load) and thorough test coverage. Suggestions and a question inline; none blocking.

Rollout note for the description: envelopes minted by pre-PR code carry no adata and fail closed, so in-flight signing sessions restart at deploy.

Comment thread modules/express/src/clientRoutes.ts Resolved
@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from 7cf247f to 4199628 Compare November 11, 2026 07:09

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No new blocking issues. 1 optional suggestion (a nit or a note on pre-existing code) was found and not posted. Nothing in this review needs a push before merging.

Adds authenticated binding, expiry and counterparty checks to the offline signing share
helpers, and a configurable single-use consumption registry on the Express signer. Security
hardening for the external-signing (signer mode) flow.

References: WAL-2459
@vibhavgo
vibhavgo force-pushed the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch from 4199628 to a1a6510 Compare November 11, 2026 08:23

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No new blocking issues. 1 optional suggestion (a nit or a note on pre-existing code) was found and not posted. Nothing in this review needs a push before merging.

@vibhavgo
vibhavgo requested a review from Marzooqa November 11, 2026 08:49
@vibhavgo
vibhavgo merged commit f635f77 into master Nov 11, 2026
33 checks passed
@vibhavgo
vibhavgo deleted the vibhavgopalkrishna/wal-2459-critical-bitgojs-gg18-external-signer-s-share-helper-accepts branch November 11, 2026 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants