Repository navigation
fix(security): install and attest the source-pinned Bash parser - #4108
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
🦞👀 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 installs the Bash parser required by selected SkillSpector sources and records its version and hash in diagnostic attestations. Example: Install SkillSpector from ClawScan revision 3df93451eb5b7f4e28e9f2f6d496fe6416507bf0.
Review scores
ProductKind: Bug fix · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep open: this collaborator-authored PR supplies useful installer support absent from main. No definite introduced correctness or security defect was found; runtime activation remains separate. Priority: P2 Before mergeNone. FindingsNone. Tests
Agent review detailsHow this fits togetherSecurity workers and original-input diagnostics use the shared installer to turn reviewed ClawScan source pins into host scanner executables; diagnostics additionally emit runtime attestations. flowchart TD
A[Reviewed ClawScan source] --> B[Shared scanner installer]
B --> C[Patched SkillSpector source]
B --> D[Pinned shfmt executable]
C --> E[Adapter and Bash controls]
D --> E
E --> F[Worker scanner runtime]
F --> G[Diagnostic attestation]
Technical reviewBest possible solution: Keep parser installation in the shared installer, derive its version from reviewed ClawScan source, and qualify source-pin activation separately. Do we have a high-confidence way to reproduce the issue? Source inspection establishes that selecting the modern ClawScan source introduces shell_source.py and a shfmt requirement that main's host installer does not satisfy; the currently selected production source predates that requirement. Is this the best way to solve the issue? This is the best repair location: the shared installer already owns matched host dependencies, while a workflow-specific install would duplicate policy and changing the production source pin would expand the scope. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 19aaf59306b6. Provenance checked
TestingProof path: unit tests only. 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 Reviewed October 28, 2026, 1:31 AM ET / 05:31 UTC. |
|
Final-head proof at A fresh real macOS arm64 host ran the shipped Actual helper SHA256: The final commit also fixes the CI-discovered test ZIP clock dependency: advancing mocked time by2s reproduces receipt-digest failures in both original submission and terminal controls before the change (2failed); pinning only test ZIP metadata makes all39 authorization controls pass. Production authorization and exact-digest assertions are unchanged. Final full own-dependency coverage:8,233pass/3skipped; focused installer/runtime/receipt controls48pass. Static/types/build/packages and schema/CLI TypeScript pass. Independent installer and fixture P0–P3 reviews are terminal clean. This PR still does not change the production scanner source pin or retry any original. |
Summary
Host scanner installs now build and attest the source-pinned Bash parser when the selected SkillSpector source requires it. Original diagnostic sources without the Bash module retain their existing installation path.
Evidence
Merge Danger
Door: two-way
Blast Radius: installation
This support change leaves the scanner source pin unchanged. Runtime activation and original-publication recovery require separate qualification.