fix(scorecard): share validated action-lock audit semantics - #762
fix(scorecard): share validated action-lock audit semantics#762hyperpolymath wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughThe Scorecard ingestor now validates GitHub Actions pinning through ChangesActions lock validation
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to Scorecard dependency-pinning findings now use strict workflow-lock validation, improving detection while avoiding contradictory findings for valid locks. The covered behavior is ready to merge. Sequence Diagram(s)sequenceDiagram
participant ScorecardIngestor
participant WorkflowFiles
participant ActionsLock
participant WorkflowAudit
ScorecardIngestor->>WorkflowFiles: Read workflow contents
ScorecardIngestor->>ActionsLock: Read optional actions.lock
ScorecardIngestor->>WorkflowAudit: Call check_unpinned_actions
WorkflowAudit-->>ScorecardIngestor: Return pinning findings
ScorecardIngestor->>ScorecardIngestor: Filter :pin_exempt_accepted
ScorecardIngestor-->>ScorecardIngestor: Emit SC-013 for remaining findings
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The local Scorecard ingestor still used a tag-only regex after the workflow auditor gained strict action-lock validation. This produced a contradictory DependencyPinning finding for Gossamer despite authoritative lock verification passing. Route the ingestor through the existing WorkflowAudit implementation; malformed locks, wrong workflow associations and wrong refs remain findings. No baseline suppression or gate threshold is changed. Six focused ExUnit tests pass, including missing/malformed lock, wrong workflow/ref and unpinned sub-action branch controls. Formatting and git diff checks pass. Full upstream CI and protected merge remain required; no production-beta qualification is claimed.