Repository navigation
fix: use patched Python and frozen scanner certificate trust - #4061
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. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Codex review: blocked before merge. What this changesThis PR pins Python 3.12.16, binds SkillSpector installation to the selected interpreter, and adopts ClawScan’s merged frozen certificate-bundle repair. Example: SkillSpector installs on a runner with multiple Python interpreters.
Review scores
ProductKind: Bug fix · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Blocked before merge - 1 item remains No blocking findings. The previous producer-first blocker is resolved, final-head checks pass, and this PR remains useful; current-head SecOps approval is still required. Priority: P2 Before merge
FindingsNone. Agent review detailsHow this fits togetherGitHub security workers install a source-pinned ClawScan CLI and matching Python scanners, then consume scanner evidence for security review and publication checks. flowchart LR
A[Worker workflow] --> B[Python 3.12.16]
A --> C[Pinned ClawScan source]
C --> D[Shared scanner installer]
B --> D
D --> E[Matched scanner environments]
E --> F[Verified HTTPS provider requests]
F --> G[Security scan evidence]
Technical reviewBest possible solution: Land the focused consumer repair after current-head SecOps approval, keeping scanner adapters and certificate-lock ownership in ClawScan. Do we have a high-confidence way to reproduce the issue? Current main leaves uv free to choose a different installed interpreter and consumes the older frozen certificate lock; contributor evidence additionally records native interpreter-selection and installed-provider TLS behavior. Is this the best way to solve the issue? Best-fix verdict: best within the stated installation scope; updating certifi alone cannot reject explicitly trusted incident keys, and a second ClawHub adapter would duplicate the existing producer owner. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against e726f3c5fe4d. Provenance checked
TestingProof path: shipped entry point. SecurityNone. EvidenceWhat I checked:
Likely related people:
Review metrics
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 HistoryReviewed October 26, 2026, 2:59 PM ET / 18:59 UTC (Revision 3). |
|
@clawsweeper re-review The reviewed interpreter-selection repair and evidence are current at |
|
🦞👀 Re-review progress:
|
|
Merged-producer qualification for final head The PR now selects ClawScan #94's merged revision Actual installation, isolated native Ubuntu 24.04 ARM64 UTM: SHA256 identities:
Actual installed SkillSpector provider TLS proof used a synthetic credential and a task-owned HTTPS model fixture, without mocking HTTP transport or verification. The configured model exercised
The extra AIG Linux ARM64 installation attempt fails closed on pydantic-core's unlisted ARM64 wheel hash, identically on old and new heads. Configured workflows target AMD64; the lock also deliberately admits macOS ARM64 acceptance wheels. Existing native macOS AIG installation/259 adapter tests and actual real-model wiring proof remain applicable because all relevant code, patches, lock and pins are identical. No new ARM64-Linux AIG support or fresh AMD64 native qualification is claimed. Native proof directories and raw logs/hashes are retained in the campaign follow-up Producer merge is complete. Secops approval remains outstanding. Final-head CI and the subsequent ClawSweeper review must be assessed separately; this comment does not claim an approval or deployed-fleet delivery. Closeout, 2026-10-26: ClawSweeper's actual subsequent review covers exact head An additional actual-provider default-store HTTPS control reached |
|
@clawsweeper re-review Final head: |
|
🦞👀 Re-review progress:
|
What Problem This Solves
Use released CPython 3.12.16 in the existing security workers, prevent uv from selecting another installed interpreter, and consume the merged ClawScan #94 source with its frozen SkillSpector certifi 2026.10.23 fix.
User Impact
Existing worker entry points retain their scanner/model policy and fail-closed checks. Legitimate private-CA HTTPS remains usable; historical explicit roots cannot restore the incident keys under the qualified patched runtime. This PR establishes source/installation readiness, not deployed-worker delivery.
Why This Change Was Made
The immutable source pin is now merged ClawScan revision
022143b39b3285d1ac24cce7fbb61c36f5207935. The prior provisional pinf35fb2679e1362ba99fa2768176513c7bd696ab6already contained the identical certificate-lock repair; an exact endpoint diff shows only the producer changelog changed during landing. The spec now accurately describes ClawScan's frozen lock ownership. No second adapter implementation, runtime-support widening, workflow trigger or deployment permission changes.The existing interpreter repair binds
uv sync --locked --no-dev --python <sys.executable>to setup-python's selected patched runtime. Its native macOS failure-before/pass-after and both-scanner-order regression proof remain applicable.Evidence
Final candidate:
b71ec9fddac3d73d2d5e9b170d07ed22a76ef97f.vcs.revision=022143b39b3285d1ac24cce7fbb61c36f5207935,vcs.modified=false; CLI help/static scan pass.certificate rejected. Default-root failures are recorded separately and are not counted as key-rejection proof. Legitimate private-CA Responses succeeds before and after those failures, including a bundle containing historical roots.bun run ci:staticand all 8 focused installer/workflow tests pass with Bun 1.4.4. Independent P0–P3 review of this adoption is scoped-clean.ClawScan #94 is merged; the producer-first blocker is closed. Current-head
@openclaw/openclaw-secopsapproval remains required by repository governance. ClawSweeper re-review is requested after this body and the detailed proof are current. Check the actual subsequent review and final-head checks before landing. No merge/auto-merge, production publication or manual deployment was performed.Closeout, 2026-10-26: ClawSweeper's actual subsequent review covers exact head
b71ec9fddac3d73d2d5e9b170d07ed22a76ef97f, reports zero findings, and resolves the producer-first blocker. All 37 reported final-head checks settled (31 successful, 6 skipped); GitHub reports MERGEABLE/CLEAN. The only remaining merge blocker is current-head openclaw/openclaw-secops approval. Its request remains outstanding; no approval gate was waived.An additional actual-provider default-store HTTPS control reached
https://api.openai.com/v1and returned the expected HTTP401 for an inert synthetic credential, with no certificate failure. This establishes legitimate public TLS admission, not a successful authenticated model call. Task-owned fixture listeners are stopped; the UTM guest is gracefully powered off with evidence/installations retained. No merge or auto-merge.