developmentseed / developmentseed/mosaicjson-spec
Pin GitHub Actions to SHA digests (zizmor unpinned-uses)
- Dominant language
- No language data
- Stars
- 94
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
## Pin GitHub Actions to SHA digests
Zizmor detected **2** `unpinned-uses` findings in `.github/workflows/`.
GitHub Actions referenced by tag (e.g. `actions/checkout@v4`) are vulnerable to tag mutation — a compromised or hijacked tag can introduce malicious code into CI runs. Pinning to a full commit SHA (e.g. `actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4`) eliminates this supply-chain risk.
### Fix
Run [`pin-github-action`](https://github.com/mheap/pin-github-action) to update all workflow files automatically:
```bash
npx pin-github-action .github/workflows/*.yml
```
### Recommendations
- **Dependabot**: Add a `.github/dependabot.yml` with a `github-actions` entry so pinned SHAs are updated automatically when new Action versions are released.
- **zizmor-action**: Add [zizmor-action](https://github.com/zizmorcore/zizmor-action?tab=readme-ov-file#usage-with-github-advanced-security-recommended) for continuous workflow security scanning in CI.
### References
- [zizmor unpinned-uses audit](https://docs.zizmor.sh/audits/#unpinned-uses)
- [pin-github-action](https://github.com/mheap/pin-github-action)
---
_Opened by [ds-security-scanning](https://github.com/developmentseed/ds-security-scanning) zizmor-cli-unpinned-uses_
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by inspecting the workflow files under .github/workflows/ and run the provided npx pin-github-action .github/workflows/*.yml command. Confirm that the two zizmor unpinned-uses findings are resolved by checking that referenced actions use full commit SHAs; the Dependabot and zizmor-action recommendations are additional follow-up work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, security
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 75/100