Skip to main content

CI/CD provider

ISSUE-102MediumCI/CD Container Images

Forbidden container image tag

Control:CTRL-102Container images must not use forbidden reference

📋 What is this?

A container image used to run a CI/CD job is using a tag that is forbidden by your configuration.

⚠️ Impact

Using forbidden tags can result in insecure containers running in your CI/CD pipelines or unexpected breaking changes. For instance, if your pipeline uses the latest tag, it might pull a compromised, untested, or breaking image.

🔧 How to fix

Update the image tag to a tag allowed by your Policy controls.

✗ BeforeThese jobs use the `latest` tag, which is mutable and may change unexpectedly.
# .gitlab-ci.yml: ❌ Uses "latest" tag (forbidden)
build:
image: python:latest
script:
- pip install -r requirements.txt
- python setup.py build
lint:
image: golangci/golangci-lint:latest
script:
- golangci-lint run
✓ AfterSpecific version tags ensure reproducible builds.
# .gitlab-ci.yml: ✅ Uses specific version tags
build:
image: python:3.12.1
script:
- pip install -r requirements.txt
- python setup.py build
lint:
image: golangci/golangci-lint:v1.62.2
script:
- golangci-lint run

💡 Tips

  • Common forbidden tags include: latest, dev, staging, main, master.

⚙️ Configure this control

On the Plumber Platform: open the Policies page and set control CTRL-102 on the policy that governs the project.

With the CLI alone: set it in your configuration file. Every field and default is in the controls configuration reference, CTRL-102.