Security software engineering

Software supply-chain security and dependency control

Decide what the build is allowed to consume and what evidence the release must carry

A dependency compromise, a customer questionnaire or a procurement requirement raises the question of build provenance. The decision is what the build is allowed to consume and what evidence the release must carry. The work starts from every input the build consumes, every identity that can change it and every claim a consumer can independently verify and ends with a supply-chain control design with an inventory, provenance and intake rules. It is most relevant to platform engineers and release owners. A useful result states what was examined, what remains uncertain and which decision the evidence can support.

Decide what the build is allowed to consume and what evidence the release must carry

  1. Starting pointBuild input

    The starting condition this work depends on.

  2. ExaminationProvenance record

    Where the consequence actually arises.

  3. DecisionIntake rule

    The finding and its open dependencies.

Proposed working model, not exhaustive coverage.

Decision

Frame the decision before scoping the work

Questions and the evidence each one needs

Question / evidenceBuild input
Inspect build configuration and dependency manifests.
Question / evidenceProvenance record
Inspect artefact registry and signing arrangements.
Question / evidenceIntake rule
Inspect the current inventory of components, where one exists.
Read each question against evidence already available.

The decision is what the build is allowed to consume and what evidence the release must carry. This matters to platform engineers and release owners when a dependency compromise, a customer questionnaire or a procurement requirement raises the question of build provenance. Name the affected product, the consequence of a wrong decision and the owner who can act. The opening conversation should establish which evidence already exists and which uncertainty is material enough to investigate.

The specific failure hypothesis is that the build pulls unpinned dependencies from a mutable source and nothing records what was actually used. It stays a hypothesis until it is examined in your own case. Existing design records, tests or operating evidence may already resolve it, so identify the uncovered question before commissioning further work.

Mechanism

Follow the relationship that carries the consequence

Where the boundary is actually crossed

SourceBuild input
The condition the design assumes.
CrossingProvenance record
Where authority or information changes hands.
ConsequenceIntake rule
The effect the owner must answer for.
Evidence comes from the configuration that will ship.

What this specialty examines

Software supply-chain security and dependency control rests on every input the build consumes, every identity that can change it and every claim a consumer can independently verify. Work from the configuration that will actually ship rather than from the reference design, and record where the two differ.

The examination draws on build configuration and dependency manifests; artefact registry and signing arrangements; and the current inventory of components, where one exists. Identify the owner, revision and operating context of each source. Keep an incomplete input visible, with an explanation of what its absence prevents the owner from concluding, rather than quietly treating a gap as a satisfactory result.

The tradeoff to make explicit

The tradeoff here is pinned, reviewed dependencies against the update velocity a team is used to. Compare the available options against the same intended outcome. If one option removes a control or moves a boundary, describe that difference before treating its lower effort as an improvement. The decision should expose the tradeoff rather than bury it in a single rating.

Preparation

Connect the inputs to the boundary examined

Preparation record for the engagement

Illustrative working format

BasisBuild configuration and dependency manifests
Bounds the context.
MaterialArtefact registry and signing arrangements
Supplies the material examined.
ConditionThe current inventory of components, where one exists
Exposes conditions that qualify a result.
Illustrative record; availability and handling need confirmation.

Start with build configuration and dependency manifests; artefact registry and signing arrangements; and the current inventory of components, where one exists. Each has a different job: the first establishes context, the second supplies the material to examine, and the third exposes operating conditions that may qualify a conclusion. Sanitised examples can support early work, provided the differences from the real configuration stay explicit.

The scope also needs platform engineers and release owners with the authority to inspect the relevant boundary, and agreement on what evidence would distinguish the failure in which the build pulls unpinned dependencies from a mutable source and nothing records what was actually used from acceptable behaviour. Where stakeholders disagree about intended behaviour, resolve that interpretation before classifying an observed difference as a defect.

Working sequence

Carry the question through to an accountable finding

From scoped material to a decision record

  1. EstablishInventory the build inputs

    Set the conditions assumed.

  2. ExamineEstablish provenance

    Apply the scoped check.

  3. RetainControl the intake

    Record evidence and the next decision.

Proposed sequence; resolve access gaps first.

Inventory the build inputs

Record direct and transitive dependencies, base images, build tooling, plugins and the identities that can publish to each source. Record what is deliberately excluded.

Establish provenance

Decide what the build records about its inputs, how artefacts are signed and what a downstream consumer can verify without trusting the build operator. Keep an unreproducible observation in the record with its reason.

Control the intake

Define pinning, review, mirroring and revocation rules, with the route for an urgent security update that must bypass the normal cadence. Hand the result over with its open dependencies attached.

Indicative artefact

Make the artefact usable by the person who owns the decision

A supply-chain control design with an inventory, provenance and intake rules

Illustrative working format

Annotated fieldBuild input inventory and publishing identities
What was examined, and under which assumptions.
Annotated fieldProvenance and signing decisions
Each observation, linked to evidence.
Annotated fieldIntake, pinning and revocation rules
The next decision, and its limits.
Illustrative structure, not a completed engagement.

The proposed decision artefact is a supply-chain control design with an inventory, provenance and intake rules. Depending on the agreed scope, the pack may include:

  • Build input inventory and publishing identities. Basis: the definitions, boundaries and assumptions another reviewer would need.

  • Provenance and signing decisions. Observation: the findings and their interpretation, preserving adverse results and disagreement.

  • Intake, pinning and revocation rules. Decision: what the owner could do next, and what change would justify revisiting it.

Retain the selection rationale beside the result. Without it, a bounded finding is easily mistaken for complete coverage.

Illustrative scenario

Examine the question through a constructed case

A constructed case and its decision paths

Illustrative scenario

  1. SituationBuild input

    A build script installs a tool from a URL that resolves to whatever the maintainer published most recently.

  2. Question to examineProvenance record

    What changed between yesterday's build and today's, and who could have changed it?

  3. Conditional next actionIntake rule

    Pin the tool by digest and record it in the artefact's provenance.

Fictional example; no engagement or outcome is implied.

Consider an illustrative situation: a build script installs a tool from a URL that resolves to whatever the maintainer published most recently. The example is constructed to show how the question is framed. No client engagement, executed test or measured improvement is implied.

The question to examine is what changed between yesterday’s build and today’s, and who could have changed it. A reasonable next action would be to pin the tool by digest and record it in the artefact’s provenance. The decision record should state which configuration was accepted and which limitations came with it.

Scope and next action

Keep the conclusion inside the agreed boundary

Confirm fit before the next commitment

Included boundaryBuild input
Limited to the agreed scope and configuration.
PrerequisiteBuild configuration and dependency manifests
The owner confirms access and conditions.
Claim limitIntake rule
Provenance records what a build consumed. It does not establish that a consumed component is free of malicious or vulnerable code.
Bring the triggering change and the evidence you hold.

Provenance records what a build consumed. It does not establish that a consumed component is free of malicious or vulnerable code. Any engagement depends on an agreed scope, a qualified team and authorised access.

Bring the affected product or workflow, its current configuration and the evidence you already hold. The scope question follows from the situation in which a dependency compromise, a customer questionnaire or a procurement requirement raises the question of build provenance. Confirm which missing observation would change the owner’s next action.

A little more clarity

Questions to consider.

Start with the questions that shape a better decision.

When is software supply-chain security and dependency control the right work?

It suits platform engineers and release owners when a dependency compromise, a customer questionnaire or a procurement requirement raises the question of build provenance. Stated plainly, the decision it supports is what the build is allowed to consume and what evidence the release must carry. If none of that applies yet, a shorter framing conversation is more useful than a scoped engagement.

What would our team need to provide?

Start with build configuration and dependency manifests; artefact registry and signing arrangements; the current inventory of components, where one exists; and customer or regulatory provenance obligations. Identify the owner, revision and operating context of each. A missing input should be recorded as an evidence gap rather than assumed to be satisfactory.

How is the scope bounded?

The work examines every input the build consumes, every identity that can change it and every claim a consumer can independently verify within an agreed boundary. Provenance records what a build consumed. It does not establish that a consumed component is free of malicious or vulnerable code. State the boundary in writing before the work starts, so a later reader can distinguish what was excluded from what was missed.

What does the engagement produce?

The proposed artefact is a supply-chain control design with an inventory, provenance and intake rules. It carries build input inventory and publishing identities; provenance and signing decisions; and intake, pinning and revocation rules, with the open dependencies still attached so the owner can see what the evidence does not cover.

What if our existing evidence already answers this?

Review its scope, provenance and configuration first. Work already done by platform engineers and release owners may be sufficient. Record the decision, the unresolved limitations and the change that would require another look. Further work should address a real gap.

What tradeoff should we expect to decide?

The recurring tradeoff is pinned, reviewed dependencies against the update velocity a team is used to. Neither side is universally correct. The engagement makes the difference explicit and leaves the choice with the owner who carries its consequence.

What would make the findings inconclusive?

Missing build configuration and dependency manifests; artefact registry and signing arrangements; and the current inventory of components, where one exists can prevent a reliable interpretation. Record the specific missing observation and its implication. The owner can supply the evidence, narrow the claim or defer the dependent decision; an incomplete case should not silently count as a pass.

Start with the decision you need to make.

Tell us about the agent workflow you want reviewed, and where you need greater clarity. Scope and availability are confirmed together.

Connected disciplines