Illustrative only - not an engagement finding
Unverified Build Inputs Can Produce an Untrusted Release
Critical
See where this finding applies on the diagrams: delivery zone [planned] · CP6 supply-chain gate
Illustrative only - not an engagement finding
Unverified Build Inputs Can Produce an Untrusted Release
- Business Summary
- A release is trustworthy only when the reviewed source and every build input resolve to the same verifiable artifact. Mutable upstream inputs can change production without changing the application repository.
- Possible Weakness
- A production build resolves mutable dependencies, actions or base images that are not pinned to an approved digest.
- Potential Impact
- A compromised upstream input could alter the released application while appearing to follow the normal delivery process.
- What an Assessment Verifies
- Inspect input pinning, dependency locks, Container Registry image digests, records of where each input came from and whether a clean rebuild produces the expected artifact.
- Expected Fix
- Use immutable build inputs, isolated builds, signed records of each build's origin and release policy that promotes only digest-identified artifacts from Container Registry.
- How to Check the Fix
- A clean rebuild from the same approved inputs must produce the expected digest, signatures and origin records must verify, and release policy must reject any mutable or unidentified input.
Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how source, build and runtime records form one release chain. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.
-
Example immutable source reference
This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.
if not policy.can_access(actor, record): raise Forbidden() -
Example build digest and scanner output
This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.
security-check --target "<illustrative-target>" --format json Illustrative output: {"result":"control verified"} -
Example configuration record of the running image
This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.
az resource show --ids "<illustrative-resource-id>" \ --query "properties.exampleControl" Illustrative output: {"exampleControl":"enabled"}