Skip to content

Chore/supply chain security - #6

Merged
allgorithm merged 4 commits into
mainfrom
chore/supply-chain-security
Sep 16, 2026
Merged

allgorithm merged 4 commits into
mainfrom
chore/supply-chain-security

Conversation

@allgorithm

@allgorithm allgorithm commented Sep 16, 2026 •

Copy link
Copy Markdown
Owner

Supply Chain Security Hardening

Addresses all failing Plumb
security checks and brings repository hygiene in line with current
open-source best practices for a publicly distributed Composer library.


What changed and why

1. GitHub Actions pinned to full commit SHA

Files: .github/workflows/run-tests.yml, phpstan.yml, fix-style.yml

Tags like actions/checkout@v7 are mutable — anyone with write access to
that repository can silently redirect the tag to different code. The
tj-actions/changed-files incident (March 2025) showed this is an active
attack vector that leaks CI secrets from thousands of repositories.

Every third-party uses: reference is now pinned to its 40-character
immutable commit SHA, with the human-readable tag preserved as a comment
for Dependabot to track:

uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7

alexkrivonos added 4 commits September 16, 2026 10:57
- Pin actions/checkout@v7 and shivammathur/setup-php@v2 to immutable
  40-character commit SHAs across all three workflow files to prevent
  supply-chain attacks via tag hijacking (ref: tj-actions/changed-files,
  March 2025).
- Add Dependabot cooldown blocks (patch ≥3d, minor ≥5d, major ≥7d) for
  both composer and github-actions ecosystems to reduce exposure to
  newly compromised releases (ref: xz-utils backdoor, 2024).

Closes plumb checks: actions-sha-pinned, dependency-update-cooldown
Cooldown was accidentally dropped during branch creation.
Adds minimum wait times before Dependabot proposes updates:
patch ≥3d, minor ≥5d, major ≥7d (both composer and github-actions).
@allgorithm
allgorithm merged commit d984299 into main Sep 16, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant