Skip to content

fix(ci): use Node and pnpm certificate validation releases - #5

Open
joshavant wants to merge 2 commits into
mainfrom
security/emudhra-native-toolchain
Open

joshavant wants to merge 2 commits into
mainfrom
security/emudhra-native-toolchain

Conversation

@joshavant

Copy link
Copy Markdown

CI and local development selected Node and native pnpm releases that can accept the compromised eMudhra keys. Use Node24.22.1 and native pnpm12.15.0 through the existing owners, including matching README instructions and a normally regenerated toolchain lock. The application workspace lock document remains byte-identical.

In the isolated Linux arm64 worker, frozen install, pnpm test, pnpm build, and pnpm check pass in the documented order; both built plugin manifests validate. Earlier check-before-build failures lacked required dist output and are retained as setup failures. Workflow checks and git diff --check pass; final independent review is clean through P2. Actual released Node and pnpm binaries independently reject the incident chains, including explicit old CA inputs, with positive controls.

Hosted CI, installed OpenClaw runtimes, native platforms and provider-owned runner/action runtimes remain separate obligations. This source preparation does not publish plugin artifacts.

@clawsweeper

clawsweeper Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@clawsweeper clawsweeper Bot added clawsweeper:intake:bug Preliminary submission classification; full source review pending. clawsweeper:intake:needs-repro Preliminary submission classification; full source review pending. P2 Normal priority bug or improvement with limited blast radius. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed clawsweeper:intake:bug Preliminary submission classification; full source review pending. clawsweeper:intake:needs-repro Preliminary submission classification; full source review pending. labels Oct 21, 2026
@clawsweeper

clawsweeper Bot commented Oct 21, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge.

What this changes

This PR updates CI and development tooling to Node.js 24.22.1 and pnpm 12.15.0, with matching documentation and toolchain lock entries.

Example: A contributor installs dependencies using the repository-selected pnpm version.

  • Before: The package manager declaration and CI select pnpm 12.9.1.
  • After: Both select pnpm 12.15.0, and CI explicitly selects Node.js 24.22.1.

Review scores

Measure Result What it means
Overall readiness 🦐 gold shrimp (3/6) The patch is focused and has passing hosted validation, but direct evidence of the claimed security behavior is limited.
Proof confidence 🦐 gold shrimp (3/6) The supplied review instructions designate this as maintainer-authored, exempting ordinary contributor proof; exact-head CI passes, while the reported released-binary certificate checks remain narrative claims rather than inspectable output.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Product

Kind: Bug fix · Worth it: Yes · Fix scope: Complete
User problem: Repository development tooling can use certificate-validation implementations affected by compromised signing keys.
Reason: The review instructions establish maintainer-approved direction, and every hunk serves the repository toolchain repair without changing plugin APIs or application dependencies.

Merge readiness

✅ Ready for maintainer review

Keep open: main still selects pnpm 12.9.1, and this focused security update has no identified actionable code defect.

Priority: P2
Reviewed head: 28ce5315c09991209ecac2040adede8747a9a348

Before merge

None.

Findings

None.

Tests

  • Missing end-to-end proof: The reported compromised-chain rejection and positive-control scenarios have no linked terminal traces to inspect.
Agent review details

How this fits together

GitHub Actions and local package-manager declarations select the tooling that installs dependencies, runs plugin tests, builds both plugins, and validates their manifests.

flowchart TD
  A[CI workflow] --> C[Node and pnpm toolchain]
  B[Local development instructions] --> C
  C --> D[Frozen dependency install]
  D --> E[Plugin tests and builds]
  E --> F[Manifest validation]
Loading

Technical review

Best possible solution:

Land the aligned toolchain update through the existing declarations while keeping installed OpenClaw and provider-owned runtime remediation separately scoped.

Do we have a high-confidence way to reproduce the issue?

Main's older toolchain selections are directly verifiable, and Node's upstream history confirms the compromised-key failure; no certificate handshake reproduction was run during this read-only review.

Is this the best way to solve the issue?

Updating both independent runtime owners and preserving the application dependency lock is a narrow, appropriate solution for the stated repository tooling scope.

AGENTS.md: not found in the target repository.

Codex review notes: model internal, reasoning medium; reviewed against ca67170b2724.

Provenance checked

  • pnpm declarations, documentation, and toolchain lock changes intended behavior with a stated reason (build(deps): refresh plugin tooling and validate manifests #4: The prior update aligned development tooling and added built-manifest validation.)
  • Floating Node.js 24 selection changes intended behavior with a stated reason (unknown: Blame carries the selection at a history boundary; scoped history did not establish why it originally floated. The PR explains the replacement as an incident security-release pin.)

Testing

Proof path: unit tests only.

Security

None.

Evidence

What I checked:

Likely related people:

  • Sebastien Tardif: Raw commit 2f843aa adds .github/workflows/ci.yml:19 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: medium; commits: 2f843aab51eb; files: .github/workflows/ci.yml)

Labels

Label changes:

  • add P2: This is a focused developer and CI toolchain security update with limited repository scope and no demonstrated production outage.
  • add rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦐 gold shrimp and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.

Label justifications:

  • P2: This is a focused developer and CI toolchain security update with limited repository scope and no demonstrated production outage.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦐 gold shrimp and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.

Rating scale

6/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.

Workflow

ClawSweeper edits this one comment on every review. Comment @clawsweeper re-review for a fresh review only. Repair and merge execution lanes are retired.

Reviewed October 21, 2026, 6:31 PM ET / 22:31 UTC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Normal priority bug or improvement with limited blast radius. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant