Where do you mandate SBOM generation across 400 services and artifacts you do not build yourself?
answer
- one default, two escape hatches
- put it in shared pipeline templates
- artifacts you do not build need contracts
- record the vantage in the document
- measure releases covered, not documents produced
basics
~20 sDefault to build-time generation inside shared pipeline templates, since it has the highest fidelity. Fall back to artifact analysis at the registry for everything else, and require a document contractually for artifacts a supplier builds.
solid answer
~50 sPick one default and two escape hatches. The default is build-time generation embedded in the shared pipeline templates: highest fidelity, tied to the exact build, one place to improve for everyone. The first escape hatch is artifact-level analysis at the registry, covering anything that did not go through the golden path — worse fidelity, complete coverage, immediately. The second is contractual: for an artifact an outside agency builds you have no build to stand in, so the only vantage you own is analysis of the shipped package, and the contract must require a document with each release that you reconcile against your own scan. Fidelity is now uneven, so every document should record how it was produced. Measure the share of production releases shipping with an attached document, and sequence by blast radius rather than by team willingness.
go deeper
Know that not every artifact can be handled the same way: some you build, some arrive from a supplier, and the list has to come from somewhere different in each case.
Be able to compare the vantages on fidelity and reach, and explain why putting the generation step in a shared pipeline template scales where asking each team to add one does not.
Show how you cover the long tail and the supplier-built artifacts without pretending they match the golden path, and how you make a document's reliability visible to whoever reads it during an incident.
Own the fidelity gradient as a deliberate design, not a failure. Argue the sequencing by blast radius, name who funds each tier including procurement, and defend a coverage metric that cannot be gamed by re-running generators.
### What the question is really about This is not a tooling question. Across a large estate you will never get one vantage everywhere, so the decision is: what is the default, what are the acceptable fallbacks, who owns each, and how do you keep the resulting unevenness honest. ### The default: build-time, in shared templates Build-time generation wins on fidelity — the resolved dependency graph still exists, direct and transitive are distinguishable, and the document can be bound to the exact build that produced the exact artifact. It loses on reach, because it means touching every pipeline. That is why the delivery mechanism matters more than the choice: put it in the shared pipeline templates rather than asking four hundred teams to add a step. Adoption then follows template adoption, one improvement lands everywhere at once, and a team's opt-out is visible as a template divergence rather than as a silent omission. The platform group owns the generation step; service teams own only what generation cannot infer. ### The first fallback: artifact analysis at the registry Some services will not be on the golden path for years. Scanning artifacts as they arrive in the registry gives you coverage of that long tail immediately, at lower fidelity: you get the OS and packaged layers well, and you miss compiled-in and bundled components entirely. The judgment call is to accept this as *permanently* part of the design rather than as a temporary bridge. Even a fully migrated estate benefits, because the artifact vantage sees the base-image half that a build-time document of the application graph does not describe. ### The second fallback: artifacts you do not build Take a consumer-facing mobile banking application whose release build is performed by an outside agency. You hold no build system, no source tree at release time, and no pipeline to insert a step into. Two moves are available and you need both: - **Contract.** Require an SBOM as a release deliverable, with the release, in a named format, covering bundled libraries and native components. This is where a supplier requirement belongs — it is a commercial control, not a technical one. - **Verify.** Analyse the shipped package yourself: bundled library archives and native objects carry recoverable evidence. Reconcile the two documents. Divergence is a finding about the supplier relationship, not just about the app. Money is the asset here and the attacker position includes anyone holding the device, so a component you cannot enumerate is a component you cannot patch on a deadline. ### Keeping the unevenness honest The most important principal-level move: **record the vantage in the document.** Both major SBOM formats carry creation metadata describing what produced the document, and a mature process makes the vantage explicit and machine-readable. Then a responder handling a critical advisory at 02:00 can tell the difference between "this service has no affected component" and "this service's document could never have shown that component". Without that, you have built an estate-wide inventory whose reliability varies by a factor you cannot query. A practical tiering: tier 1, build-time plus artifact analysis, merged; tier 2, artifact analysis only; tier 3, supplier-provided, verified by sampling. Publish which tier each service is in and treat promotion between tiers as the roadmap. ### Sequencing and measurement Sequence by blast radius, not by enthusiasm: internet-facing services, then anything handling money or regulated data, then the rest. Willing teams are the easiest to convert and the least useful to convert first. Measure the share of production releases that ship with an attached document. Counting documents produced rewards re-running generators; counting releases covered rewards the thing you want. Add a second metric later — the share of documents produced by the highest-fidelity vantage — so the tiering visibly improves rather than stalling at "everyone has something". ### What to concede in the interview Do not claim uniformity is achievable. The strong answer names the fidelity gradient explicitly, argues for making it legible instead of pretending it away, and is clear about who funds each part: the platform team funds the default path, service teams fund declaring what generation cannot see, and procurement funds the supplier requirement. A candidate who says "we mandate build-time generation everywhere" has not run an estate this size.
- A team says their build genuinely cannot produce a document. What do you do?Accept it and place them in the artifact-analysis tier explicitly, with the limitation recorded rather than argued about. Then find out why: it is usually an unsupported build system or a vendored-heavy codebase, and both are platform problems worth fixing once. What you do not do is grant a silent exemption, because an exemption nobody can query becomes an unknown during an incident.
- How do you justify the cost of build-time generation when artifact scanning is already running?Frame it against a real response. When a critical advisory lands, artifact scanning tells you about packaged components and stays silent about compiled-in and bundled ones, so the answer to 'are we affected' is partly unknowable. Build-time generation converts that unknown into a queryable answer, and the value shows up as hours of response time rather than as a document count.
- Should you mandate a single SBOM format across the estate as part of this?Eventually, but not first. Requiring that every release produces an attached document is the behaviour change that is hard; converting between the two major formats is comparatively mechanical. Leading with a format mandate turns a coverage programme into a tooling argument, and teams stall on the choice rather than starting to produce anything at all.
saying these in an interview costs you the question
- Claims one vantage can be mandated across the whole estate
- Treats supplier-built artifacts as out of scope entirely
- Counts documents produced instead of releases covered
- Grants silent exemptions rather than recorded lower tiers
- Leads with a format mandate before any coverage exists