6 Verification Layers for Container Image Supply Chains

A container signature identifies a signed artifact; it does not prove that a model loaded later, its dependencies or its training data are trustworthy. For AI services, review the container and each model-related artifact together. Define what evidence the deployment accepts and how it handles missing or conflicting evidence.
1. Record the exact artifact
Pin an artifact by its content digest and record where it was obtained. A mutable tag is a convenient name, not a fixed release identity. Include separate model weights, adapters, tokenizers and runtime packages when they are retrieved outside the container build.
2. Verify signer identity
Sigstore’s container guidance recommends signing digest references. Establish which signer or workflow your organization accepts and verify the expected identity rather than accepting any valid signature. Retain verification evidence with the release decision.
3. Inspect provenance
SLSA version 1.2 is the current approved specification observed in this review. It describes tracks, levels and provenance formats. Use its requirements for the relevant track instead of treating a badge or an old summary as evidence of a level. Provenance must be checked against your expected source and build process.
4. Inventory AI dependencies
OWASP’s AI supply-chain guidance includes risks involving third-party models, datasets and software. Extend the component inventory beyond the application package list. Record licences, download sources, update mechanisms and the party responsible for each component.
| Component | Version evidence | Decision to record |
|---|---|---|
| Application container | Resolved digest and approved build reference. | Accept expected build and signer. |
| Model weights | Release identifier, file hash and verified distribution source. | Confirm allowed source and licence. |
| Tokenizer and adapter | Exact matching revisions. | Confirm compatibility with this model. |
| Runtime packages | Locked versions and component inventory. | Review relevant known issues and updates. |
The table deliberately contains no real model name or invented checksum. Fill it with the actual inspected release. A hash proves byte identity only when compared with a trusted expected value; it does not establish that the contents are benign.
5. Enforce the release decision
Choose the point where required evidence is checked before deployment. Document what happens if the registry is unavailable, a signature fails or a model download changes. Observe a controlled rollout before making a rejection policy mandatory for unrelated workloads.
An exception needs an owner, reason, scope and expiry. A permanent silent bypass defeats the purpose of a gate. Verify the failure path in an authorized environment and ensure the operator can identify which requirement failed without exposing secrets.
6. Review behaviour and updates
Supply-chain checks and application evaluation answer different questions. Add representative permitted inputs and an acceptance rubric for the model behaviour needed by your service. Record model, prompt and runtime versions together so that an update can be compared with the approved baseline.
Illustrative case: a signed container still downloads an unpinned adapter on startup. The container digest remains unchanged while the service behaviour can change. The corrective decision is to version and verify the adapter as part of the release, then evaluate that combination before rollout.
Use the identity review for build and download credentials and the prompt-injection controls for application boundaries. Neither a signature nor a component inventory is a guarantee against every compromise.
Further reading
- cryptojacking signals often surface before any security alert does
- SLSA specification
- cosign sign reference
- keyless signing overview
- upstream Kubernetes verification guide
- bucket exposure prevention checklist
- policy-controller documentation