You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
revert(cicd_rules): drop duplicate scorecard rule (#390 dup of #403 WF018) (#407)
PR #404 added scorecard_wrapper_missing_job_permissions to cicd_rules.ex, but #403 had concurrently implemented the same #390 detection as WF018 in workflow_audit.ex. Removes the redundant cicd_rules copy (rule, facade delegate, test, changelog); WF018 remains the single implementation. The #362 cron rule and #405 nodejs carve-outs are untouched.
Verified locally (Elixir 1.14): zero-warning compile; format-isolation shows a pure deletion.
https://claude.ai/code/session_01J8oLNn6MjKDRRUF65e2jLf
Copy file name to clipboardExpand all lines: CHANGELOG.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,6 @@ this project aims to follow [Semantic Versioning](https://semver.org/spec/v2.0.0
21
21
### Added
22
22
23
23
- feat(rules): CicdRules `duplicate_cron_schedule` — flag workflows with redundant cron entries on the same day-of-week / daily-subset (#362)
24
-
- feat(rules): CicdRules `scorecard_wrapper_missing_job_permissions` — flag scorecard.yml wrappers that call the standards reusable but omit `security-events: write` on the calling job (#390)
@scorecard_missing_perm_reason"scorecard.yml calls the standards scorecard-reusable.yml but does not grant `security-events: write` on the calling job; called-workflow permissions are capped by the caller, so ossf/scorecard-action cannot upload its SARIF and the scheduled Scorecard run fails with `startup_failure` (silent CI failure, no logs)."
894
-
@scorecard_missing_perm_fix"Grant the calling job `security-events: write` (and `id-token: write`); the reusable re-asserts them, but the caller caps them:\n permissions:\n security-events: write\n id-token: write"
895
-
896
-
@doc"""
897
-
Scan `repo_path` for scorecard wrappers that call the standards reusable
898
-
but omit the required `security-events: write` job permission (#390).
899
-
900
-
A finding is emitted for each `.github/workflows/scorecard.yml` (repo-root
901
-
*or* nested monorepo copy) that, in the same file:
902
-
903
-
* references `scorecard-reusable.yml` (i.e. uses the reusable), AND
904
-
* does NOT grant `security-events: write`.
905
-
906
-
Inline scorecard workflows that do not call the reusable are ignored by
907
-
construction (the first condition fails). `opts[:path_allow_prefixes]` is a
908
-
list of substrings; any wrapper whose relative path contains one is skipped
909
-
— an explicit carve-out for bespoke scorecard workflows that manage their
0 commit comments