wtf( )unctionsystem design, drawn
← all problemsSupply ChainEasy

Signed, and signed by whom

The pipeline verifies that every artefact it pulls carries a valid signature and refuses anything unsigned. That check has been green for a year.

Someone published a malicious build under an internal-looking name and signed it — genuinely, verifiably — using a free identity they obtained in about ten seconds. Verification passed, because "is it signed" was the whole question being asked.

Add the two conditions that turn a signature into a claim about who made the thing.
Components — tap one, then tap a slot on the diagram
?Anyone can produce a valid signature in ten seconds. The question a verifier has to ask is whose.

Boundaries, outermost first: Verification: Signature valid? (the only check; FAILED: passes for both), an empty slot for the which subject signed, an empty slot for the issued by which provider Outside every boundary: Your build (signs each artefact), Anyone at all (cert in ten seconds), Production Connections: Your build calls Signature valid? (step 1) Anyone at all calls Signature valid? — also valid (step 2) which subject signed controls Signature valid? (step 3) issued by which provider controls Signature valid? (step 4) Signature valid? calls Production (step 5) Anyone at all must NOT reach Production — now refused

Your buildsigns each artefact
Signature valid?the only checkpasses for both
Anyone at allcert in ten seconds
Production