What
We catch unpinned image: references but not unpinned
services: images. Same security risk: floating tags get silently
upgraded, and a compromised upstream poisons your build.
Sketch
Add src/rules/services-no-pin.js that scans every services: entry
in every job, treats each as a Docker image reference, and flags any
not pinned to name@sha256:<digest> or at minimum a
MAJOR.MINOR.PATCH tag.
Acceptance
- New rule module + test
- README rule table updated
- Bumps version to 0.3.x
Estimate
~1 hour.
What
We catch unpinned
image:references but not unpinnedservices:images. Same security risk: floating tags get silentlyupgraded, and a compromised upstream poisons your build.
Sketch
Add
src/rules/services-no-pin.jsthat scans everyservices:entryin every job, treats each as a Docker image reference, and flags any
not pinned to
name@sha256:<digest>or at minimum aMAJOR.MINOR.PATCHtag.Acceptance
Estimate
~1 hour.