Skip to content

CLIENTS: ClientV2 - V2 Security Review Hardening Fixes - #724

Merged
cjdutoit merged 42 commits into
mainfrom
users/cjdutoit/mediumfix-v2-security-review-fixes
Jul 18, 2026
Merged

cjdutoit merged 42 commits into
mainfrom
users/cjdutoit/mediumfix-v2-security-review-fixes

Conversation

@cjdutoit

Copy link
Copy Markdown
Collaborator

Pre-release security review of ClientV2 and its V2 dependencies. Fixes 17 of the 24 review findings (V2 paths only; V1 out of scope). Each behavioural change was developed test-first (red/green). All suites green: Core unit 3023, Portal unit 130, EventHandlers unit 11, Core acceptance 63, EventHandlers acceptance 1. BasicApp, Portal, and SubstrateApi smoke-tested end-to-end.

High

  • MAJOR FOUNDATIONS: Validations & Exception Handling #1 Quarantine-archive non-termination — the quarantine sweep now carries the same faultedEventV2Ids guard as the dead-event path, so an unarchivable row can no longer loop forever.
  • MINOR ORCHESTRATIONS: Record Event Call Failures/Exceptions #2 Scheduled double-dispatch — atomic claim-before-fire. New TryClaimScheduledEventV2Async uses a conditional ExecuteUpdate (WHERE Type == Scheduled SET Type = Immediate); the losing racer gets 0 rows and skips. No schema change/migration. Proven under real concurrency by a new acceptance test (two parallel sweeps → exactly one dispatch).

Medium

Low

Also included

  • SubstrateApi: aligned the presented ParticipantSecret in appsettings with the seeded 36+ char value (a pre-existing mismatch, unrelated to the review, that broke submits on a fresh DB).

Not in this PR

#3 (secret hashing), #12 (V1 SSRF/retry — out of scope), #13/#14/#15 (secret-exposure cluster), #16/#17 (config/limits), #24 (info bundle).

closes #723

cjdutoit added 30 commits July 18, 2026 05:02
@github-actions github-actions Bot added the CLIENTS When creating an exposer on a library that others can use label Jul 18, 2026
@cjdutoit
cjdutoit merged commit a4904a9 into main Jul 18, 2026
7 checks passed
@cjdutoit
cjdutoit deleted the users/cjdutoit/mediumfix-v2-security-review-fixes branch July 18, 2026 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLIENTS When creating an exposer on a library that others can use

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CLIENTS: ClientV2 - V2 Security Review Hardening Fixes

1 participant