ci: pin Actions to SHAs, least-privilege permissions, security audit, license check - #511
Open
edwarddavid929-png wants to merge 1 commit into
Conversation
… license check Closes Invoice-Liquidity-Network#461 – Pin all GitHub Actions uses: references to commit SHAs: - actions/checkout@v4.4.0 → 11d5960a326750d5838078e36cf38b85af677262 - actions/setup-node@v4.4.0 → 49933ea5288caeca8642d1e84afbd3f7d6820020 - actions/upload-artifact@v4.6.2 → ea165f8d65b6e75b540449e92b4886f43607fa02 - chromaui/action@v18.1.0 → 14cfaef73576e69f95f47f60058063f46ca38719 Closes Invoice-Liquidity-Network#462 – Add explicit least-privilege permissions: blocks to all 7 workflows. Lighthouse gets statuses:write (required for LHCI commit status); all others are contents:read only. Closes Invoice-Liquidity-Network#459 – Add security-audit.yml: npm audit --audit-level=high fails on high/critical; moderate findings are reported informational-only. Weekly cron added (Monday 08:00 UTC) to catch newly published CVEs between dependency bumps. Closes Invoice-Liquidity-Network#460 – Add license-check.yml and .license-checker.json allowlist. Permissive licenses (MIT, Apache-2.0, BSD, ISC, CC0 …) pass; copyleft licenses (GPL, LGPL, AGPL, MPL) fail. Runs on production deps only. Also: - docs/ci-cd.md: policy doc covering SHA pinning, secrets/scopes, audit triage, license exception process. - CONTRIBUTING.md: security audit and license check quick-reference sections. - .gitignore: exclude test-results/, playwright-report/, __snapshots__/, .lighthouseci/, storybook-static/, .turbo, debug logs, scratch files.
edwarddavid929-png
force-pushed
the
ci/pin-actions-to-sha-license-audit-security
branch
from
July 26, 2026 05:32
829d511 to
e28129a
Compare
|
@edwarddavid929-png Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #461 — Pin GitHub Actions to commit SHAs for supply-chain hardening
Closes #462 — Add least-privilege permissions blocks and document secret scopes
Closes #459 — Add npm audit security gate to CI pipeline
Closes #460 — Add automated dependency license compatibility check
Changes
#461 — SHA Pinning (all 5 existing workflows)
All floating tags replaced with pinned commit SHAs.
chromaui/action@latestwas highest-risk and addressed first.actions/checkout11d5960a326750d5838078e36cf38b85af677262actions/setup-node49933ea5288caeca8642d1e84afbd3f7d6820020actions/upload-artifactea165f8d65b6e75b540449e92b4886f43607fa02chromaui/action14cfaef73576e69f95f47f60058063f46ca38719#462 — Least-Privilege Permissions (all 7 workflows)
Every workflow now has an explicit
permissions:block. All getcontents: readminimum.lighthouse.ymladditionally getsstatuses: write(required for LHCI commit status posting).#459 — Security Audit Gate
New
security-audit.yml: fails onhigh/criticalvulnerabilities, reportsmoderateinformational-only. Weekly cron (Monday 08:00 UTC) catches newly published CVEs between dependency bumps.#460 — License Compatibility Check
New
license-check.yml+.license-checker.jsonallowlist. Permissive licenses (MIT, Apache-2.0, BSD, ISC, CC0 etc.) pass. Copyleft (GPL, LGPL, AGPL, MPL) fail. Runs against production deps only.Documentation
docs/ci-cd.md— new policy doc covering SHA pinning update procedure, secrets/scopes table, audit triage process, license exception processCONTRIBUTING.md— added security audit and license check quick-reference sections.gitignore
Extended to exclude:
test-results/,playwright-report/,__snapshots__/,.lighthouseci/,storybook-static/,.turbo, debug logs, scratch files.