Repository navigation
fix(ci): select the qualified TruffleHog scanner image - #129
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 selects TruffleHog scanner image 3.99.4 through the action’s existing version input. Example: GitHub Actions runs the secret-scanning workflow.
Review scores
ProductKind: Bug fix · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep open: current main lacks explicit scanner-runtime selection, and this PR supplies a focused, correct repair with passing current-head checks. Priority: P2 Before mergeNone. FindingsNone. Agent review detailsHow this fits togetherPush and pull-request events supply a commit range to the security workflow, which runs the TruffleHog container and fails on verified secrets. flowchart TD
A[Push or pull request] --> B[Resolve commit range]
B --> C[TruffleHog composite action]
C --> D[Scanner image 3.99.4]
D --> E[Scan and verify secrets]
E --> F[Workflow result]
Technical reviewBest possible solution: Use the existing version input to select the qualified scanner runtime while preserving the established security gate. Do we have a high-confidence way to reproduce the issue? The upstream action source shows that omitting version selects latest regardless of the action source tag, and docker run can reuse a cached image. Is this the best way to solve the issue? The one-line use of the existing upstream input is the smallest complete repair for explicit scanner-version selection. AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning medium; reviewed against 9078b970cd10. Provenance checked
TestingProof path: shipped entry point. SecurityNone. EvidenceWhat I checked:
Likely related people:
LabelsLabel changes: No label 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 HistoryReview history (1 earlier review cycle)
Reviewed October 24, 2026, 1:36 AM ET / 05:36 UTC (Revision 2). |
|
@clawsweeper re-review The strict branch-update gate is addressed by conflict-free integration of main |
|
🦞👀 Re-review progress:
|
What Problem This Solves
The action's source reference does not select its scanner image runtime. Use its existing
versioninput to select released TruffleHog 3.99.4, whose actual canonical image payloads have focused incident-hardening evidence.User Impact
CI secret scanning uses the selected runtime while preserving scan scope and failure behavior. Product implementation and data are unchanged. Upstream image version tags remain mutable; this is not complete repository or fleet remediation.
Why This Change Was Made
Only the scanner version input changes. Action source, image namespace, scan ranges, verification/debug/failure flags, triggers and permissions stay intact. Source inspection binds every retained caller action reference to identical IMAGE:VERSION implementation bytes.
Evidence
All workflows pass actionlint 1.7.12. Required
make checkpasses with isolated Go 1.27.3: module verification/tidiness, vulnerability/deadcode/vet/format checks, full tests, actual local CLI smoke and nonpublishing four-platform snapshot/package generation. Cross-built Darwin files are not native Darwin execution or signing proof. Diff-check passes; fresh independent P0–P2 review is scoped-clean.Exact canonical component qualification is reused: ARM64 actual image entrypoint and extracted AMD64 image ELF match official release payloads and retained Go 1.27.3 metadata. Across 68 cases, 14 original incident hosts reject in applicable default/image-CA/explicit-old-CA modes; legitimate public/private HTTPS, hostname/untrusted controls and synthetic verified git-scan gate behavior are covered. AMD64 execution used full-system x86 QEMU TCG, not hardware/timing or actual AMD64 container-entrypoint qualification.
Actual final-head GitHub AMD64 composite execution remains CI evidence. Additional C1/C3 anchors were not live-probed. Every built-in detector, external Git/SSH/OpenSSL transport, historical caches and installed fleet remain separate gaps. No image/release publication, deployment or merge occurred.
Exact identities
Prior component-qualified candidate
895302075d9eac85a38019cda6e8546af9585698, tree64c93d61537888cbf26d636ce211aeb6888dc516, based27e8ef86b0444724d9920b6e511e27a360a52b6; workflow SHA256369341df0358341e7dd52645037c8cc85282063df298ec7ba374e71edb845e69. Qualification runs used this exact candidate source tree; commit metadata and captured historical setup failures are distinguished in the local receipts.Captured image index SHA256
bf9238f5bdf26ac28230d4b0bae5162a752b151bf10bea612dad7a62da938731; ARM image ELFb57ff51268b83496fd58889b252e61549cd1071467aed4f4706b1df53ec13150; AMD image ELF70b9108715250b19518b03acea56b2f4907a36dcfaaf77693444bdc007a761b1. Action body SHA256c3847cdbebcf469ef336c9b3f32dc6075ed65523e80e661cf404daebd57e5ba9. Observed +dirty/build metadata is retained; no reproducible-source attestation is claimed.Strict-base integration validation
Integrated main
9078b970cd102d224cbf84437fc7c6c959ef6cfdwithout conflicts to address the strict branch-update gate. Current head04650222df10c73f4f3fe6c54cd0b9c5c9e9517b, tree350eb4a05ca8a99410ba64ffab9b0f86d8fee2ab. The complete remediation delta against this main is byte-identical to the previously reviewed one-line workflow change (patch SHA2569a0a931bf12c85a3f08890e5f62ee32b0690d2182b4cf4666be87b4b3def772e); intervening crawlkit/dependency/changelog changes are inherited main.On this exact current head, required
make checkpassed in an isolated native Linux ARM64 guest using Go 1.27.3: module verification/tidiness, govulncheck, formatting, vet/deadcode, full tests, actual isolated CLI smoke, and nonpublishing Linux/Darwin AMD64/ARM64 snapshot archives plus Linux deb/rpm generation. Tracked files remained clean. No codesigning or publication was enabled. Cross-built macOS artifacts are not native macOS execution proof.Retained current-head evidence archive SHA256
8d0ecdac25bfd6312b96f265fc8438c219021a388fb318a6d877a32ee8575c5a; snapshot artifact archive SHA2566c947c6f724f753ec393ad21106cfa966d231c9b683303608b114c69424591e8, with individual payload hashes retained. The previously qualified TruffleHog action/runtime inputs are unchanged and their bounded component proof is reused, not presented as a newly executed detector/fleet qualification. New hosted CI was pending at this update; final-head results and owner approval remain to be checked before landing.