Repository navigation
ci: pin Node.js incident security releases - #30
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. What this changesThis PR pins all five deployment-workflow Node selections to 24.22.1. Example: The Deploy workflow prepares its check job.
Review scores
ProductKind: Maintenance · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep open: main still uses floating Node 24 selectors, and this focused security update has no identified patch defects. Priority: P2 Before mergeNone. FindingsNone. Agent review detailsHow this fits togetherGitHub Actions selects Node before running vocabulary maintenance, validation, publication, and Cloudflare deployment commands. flowchart LR
A[GitHub events] --> B[Select Node 24.22.1]
B --> C[Discover and generate vocabulary]
C --> D[Validate source and artifacts]
D --> E[Publish checked vocabulary]
E --> F[Deploy Cloudflare Worker]
Technical reviewBest possible solution: Retain this minimal runtime pin while preserving the existing workflow owners and deployment boundaries. Do we have a high-confidence way to reproduce the issue? Source confirms floating selectors on main, and the official Node release contains incident-key rejection; no vulnerable handshake was reproduced during this read-only review. Is this the best way to solve the issue? Updating the five existing selectors is the smallest complete repository change and keeps the documented Node 24 baseline. AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning medium; reviewed against 2a4aa0358923. Provenance checked
TestingProof path: none. SecurityNone. EvidenceWhat I checked:
Likely related people:
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 21, 2026, 6:33 PM ET / 22:33 UTC. |
The selected Node runtime predates incident-key rejection or uses a floating major that can reuse an older cached runner patch.
Update the existing Node selections to their fixed patch releases. Preserve generic application engine compatibility declarations and existing release/deployment behavior.
Validation: The released Node.js candidates (22.23.4, 24.22.1, 26.12.1) were qualified independently: all eight disclosed SPKIs are present in their rejection policy, and Linux arm64 rejects all twelve incident hosts in eight modes, including affected explicit CA and pre-created SecureContext modes. Ordinary GitHub HTTPS controls pass. This is runtime qualification; it does not attest every architecture or deployed installation. All touched workflow YAML parses. actionlint passes unless the inherited tooling limitation listed below applies. git diff --check passes.
Remaining scope: Application/native build matrices, packaged artifacts and deployments were not run for this selector-only change. Third-party actions execute their own bundled runtimes and remain separately tracked. Existing main/deploy automation can affect a live Worker when a future merge is authorized; this local preparation authorizes no deployment.
No release or deployment was performed. Future merges require separate permission.