steph-owl/action-locker — explained in plain English
Analysis updated 2026-05-18
Lock all GitHub Actions in a repository to their exact current commits to block tag-retargeting attacks.
Vendor a local copy of critical actions so CI still works if the original repository disappears.
Add a CI verification step that fails the build if any action is unpinned or has been tampered with.
| steph-owl/action-locker | 0-bingwu-0/live-interpreter | 010zx00x1/faresnipe | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | developer | general | general |
Figures from each repo's GitHub metadata at analysis time.
Optionally needs a GitHub token set for reliable commit age lookups on busy repos.
action-locker is a security tool for GitHub Actions, the automation scripts that run when you push code to GitHub. Normally a workflow references an action by a version tag like v4, but that tag can be moved to point at different code later, sometimes maliciously. action-locker locks each action to the exact commit it points to right now, so your automation cannot be silently swapped out from under you. The tool works in a few steps. Lock scans your workflow files, resolves every action reference to its exact commit, and writes a lockfile recording that commit along with when it was locked and where it is used. Rewrite then updates your workflow files to use those exact commit values while keeping the readable version tag as a comment. Vendor goes a step further and downloads a full copy of each locked action into your own repository, so even if the original action's repository disappears, you still have a working copy. Verify is the check that runs in your CI: it confirms every action is pinned to a real commit, that commit matches the lockfile, and any vendored copies still match what was originally downloaded. There is also an update command that checks whether newer versions of your locked actions are available, and flags cases where an action's source repository has vanished entirely. To reduce risk from very recent, possibly compromised commits, action-locker by default will not lock to a third party commit less than five days old, instead choosing the newest release that is old enough to have been reviewed by the wider community. The entire tool is a single Python file with no external dependencies, so it is easy to read and audit before you trust it with your CI pipeline.
action-locker pins your GitHub Actions workflows to exact, verified commits and can keep local backup copies, protecting your CI from tampered or disappearing actions.
Mainly Python. The stack also includes Python.
License terms are not stated in the available README.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.