An internal team edits components out of the SBOM it uploads to a customer's procurement portal. How do you stop that?
answer
- Misrepresentation, not a quality gap
- Non-repudiation is the property at stake
- No human hands between generation and delivery
- Deliver by reference, not by attachment
- Independent re-derivation on a sample
basics
~20 sTreat trimming as a non-repudiation problem, not an inventory one. Remove the human hands between generation and delivery: the delivered document is the generated artefact, bound to the artefact digest, retained, and independently re-derived for a sample of releases.
solid answer
~50 sAny document a person can edit between generation and delivery is a document the organisation cannot stand behind, so the control is structural rather than exhortative. Generate the inventory in the pipeline, bind it to the digest of the artefact it describes, retain it, and have the portal upload pull that stored artefact rather than accept a file someone attaches by hand. Sign it, so the customer can tell they hold what you produced. Then add a detective control the shipping team does not own: independently re-derive an inventory for a sample of released artefacts and diff it against what was delivered. Just as important is the incentive — people trim because procurement scores them on counts of findings, and the honest channel for "present but not exploitable" is an exploitability statement, not deletion. If the only way to pass the customer's gate is to lie, someone eventually will, and no amount of process fixes that.
go deeper
Understand that an inventory sent to a customer is a claim about the product, and that editing components out of it is misrepresentation rather than tidying. Know that the delivered document should be the one the build produced.
Explain the structural controls: generate in the pipeline, bind the document to the artefact's digest, retain it immutably, and deliver by reference so no one attaches a hand-edited file. Be able to say why each closes a specific hole.
Add the detective layer — independent re-derivation for a sample of releases, diffing successive deliveries for components that vanish without a build change — and place the review outside the team that ships.
Own the incentive and the accountability. Decide who signs and what that signature commits the company to, escalate a procurement gate that can only be passed by understating an inventory, and be ready to scope and correct documents that already went out.
## Name the problem correctly This is not a completeness problem. A trimmed inventory is a **misrepresentation** — the organisation has made a claim about a product to a customer that it knows to be false. The relevant property is non-repudiation: can anyone, later, establish what was actually shipped and what was actually claimed? Framing it as "our SBOM quality needs work" is how this gets handled as a hygiene ticket rather than as the integrity failure it is. ## Why people trim Before designing controls, understand the pressure, because a control that fights an incentive loses slowly. Teams trim because: - The customer's portal counts findings and gates the deal on the total, so every accurately reported component with an open advisory costs money. - A component is genuinely not exploitable in the product, and deleting the row is the fastest way to stop arguing about it. - The inventory contains something commercially awkward — an old runtime, a component from an unwelcome origin. - The document was assembled by hand in the first place, so editing it feels like normal work rather than falsification. Only the second has an honest alternative in the same channel: a documented exploitability statement says "present, and here is why it does not affect the product" without touching the inventory. If your organisation does not use that channel, deletion is the only tool people have, and they will use it. ## Preventive controls: take away the hands 1. **Generate in the pipeline, not on a laptop.** The inventory is produced by the same run that produces the artefact, from that run's inputs. 2. **Bind it to the artefact.** The document names its subject by content digest. A document that cannot be tied to a specific released build cannot be checked against anything, and a trimmed one is indistinguishable from a legitimate one for a different build. 3. **Retain it as an immutable, addressable artefact**, stored where the shipping team cannot rewrite it. 4. **Deliver by reference, not by attachment.** The portal upload — or the customer-facing service that feeds it — fetches the stored document. The moment a human downloads, opens and re-uploads a file, every other control is decorative. 5. **Sign it.** A signature establishes who vouches for the document, so the customer can verify that what they hold is what you published, and so the publisher cannot later disown it. Signing without anyone verifying changes nothing, so the customer-facing instruction to verify is part of the control. ## Detective controls: assume the preventive ones leak Preventive controls fail quietly — an exception path for the one customer whose portal needs a different format, an urgent release with the pipeline broken. So: - **Independent re-derivation.** Someone outside the team that ships pulls a sample of released artefacts and derives an inventory independently, then diffs it against what was delivered. A systematic omission shows up as the same components missing across releases. - **Diff successive deliveries.** A component that disappears between two versions with no corresponding change in the build is a question worth asking automatically. - **Make the reviewer's finding land somewhere with teeth.** An audit finding that routes back to the team that caused it, with no escalation path, produces a nicer-looking document next quarter rather than a truer one. ## The organisational layer, which is the real question The reason this sits with a lead rather than an engineer is that all of the above costs money and none of it works against a sustained incentive to lie. - **Someone must own the claim.** Decide who signs — a named role, not a service account — and make it clear that the signature is an assertion the company will be held to. Regimes such as the EU Cyber Resilience Act place obligations on the *manufacturer* to document what a product contains, which means an inventory you shipped may be a statement you have to stand behind long after the deal closed. - **Fix the customer-facing conversation.** If you can only pass a procurement gate by understating the inventory, escalate that to the commercial relationship instead of solving it in a text editor. A supplier that explains why a component is present and unexploitable is in a far better position than one caught having removed it. - **Decide the blast radius.** If trimming has already happened, the question is which customers received which documents and whether corrected ones must be issued — an unpleasant call that belongs to someone who can make it, not to the team that made the edit. The short version of the strategy: make the truthful path the *easy* path, make the untruthful path structurally hard, and check anyway.
- Why is signing the document not sufficient on its own here?Because a signature attests who vouches for a document, not that the document is true — a trimmed inventory signs just as cleanly as a complete one. It helps only in combination: bound to the artefact digest, generated by the pipeline, and verified by the recipient. Signing something a human edited beforehand simply gives the falsification a stronger guarantee of authorship.
- What incentive usually drives the trimming, and how do you remove it?Procurement portals that count findings and gate deals on the total, so honest reporting costs the team money. You remove it by giving them a legitimate channel to say 'present but not exploitable' — a documented exploitability statement — and by escalating a gate that can only be passed by understating the inventory into the commercial relationship rather than letting engineers solve it with a text editor.
- You discover trimmed documents have already gone to customers. What is the first decision?Scope: which customers received which documents, over what period, and whether the omitted components carry live risk for them. That determines whether this is a corrected re-issue or a notification obligation. It is a decision for someone who can commit the company, not for the team that made the edits — and the retained, pipeline-generated documents are what make the scoping possible at all.
saying these in an interview costs you the question
- Frames deliberate trimming as an SBOM quality issue
- Relies on policy and training with no structural control
- Believes a signature makes a document truthful
- Leaves the delivery path as a manual file upload
- Ignores the procurement incentive that caused the trimming