Commit fb090b4
feat(ci): add OpenSSF Scorecard workflow + README badge (#17)
OpenSSF Scorecard scores public OSS repos on supply-chain security
posture (pinned dependencies, branch protection, dependency update
tooling, SAST, token permissions, etc). Runs weekly, publishes to the
scorecard.dev viewer, uploads SARIF to the GitHub Security tab.
Closes the 6-PR standards-alignment series. This repo now matches the
hardening baseline established in heyvaldemar/aws-kubectl-docker:
- PR #12: .env hygiene + credential rotation
- PR #13: LICENSE, SECURITY.md, CHANGELOG, Dependabot docker ecosystem,
FUNDING.yml removal
- PR #14: CI workflow hardening (pinned SHAs, per-job permissions,
timeouts, concurrency, weekly rebuild)
- PR #15: upstream image digest pinning with Dependabot auto-bumps
- PR #16: full README rewrite in evaluator-first structure
- PR #17: [this commit] OpenSSF Scorecard workflow + badge
Workflow:
- .github/workflows/scorecard.yml — matches the shape used on
aws-kubectl-docker. All four action pins are commit-SHA based:
actions/checkout@de0fac2e... # v6
ossf/scorecard-action@4eaacf05... # v2.4.3
actions/upload-artifact@043fb46d... # v7.0.1
github/codeql-action@95e58e9a... # v4.35.2
The scorecard-action and codeql-action pins are specifically the
dereferenced commit SHAs of annotated tags, not the tag-object SHAs
that GitHub's /git/refs/tags/v* API returns. Scorecard's own
imposter-commit check rejects tag-object SHAs. See aws-kubectl-docker
PR #24 for the background.
- Triggers: weekly cron (Tuesday 06:00 UTC, one day after the Monday
deployment verification run), every push to main, branch protection
rule changes, workflow_dispatch.
- Permissions: read-all at workflow level (Scorecard needs broad read
access); job-level narrows to security-events:write (SARIF upload),
id-token:write (OpenSSF API OIDC), contents:read + actions:read.
README:
- Scorecard badge added between Deployment Verification and License
badges. Badge URL points at api.scorecard.dev/projects/<repo>/badge;
target URL is the scorecard.dev viewer.
CHANGELOG:
- [Unreleased] entry documents the workflow + badge addition.
Expected initial score: mid-to-high single digits, with penalties for
Code-Review 0 (solo maintainer), Fuzzing 0 (not applicable to a
deployment template), CII-Best-Practices 0 (not registered). These
are honest trade-offs, not oversights.
Co-authored-by: Vladimir Mikhalev <ask@sre.gg>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 0c522b4 commit fb090b4
3 files changed
Lines changed: 73 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
11 | 21 | | |
12 | 22 | | |
13 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
0 commit comments