PS.2.1 Provide a Mechanism for Verifying Software Release Integrity
Sign software releases and provide a mechanism for consumers to verify integrity. Publish hashes and signatures over a separate channel from the release artifact where possible.
4
artefacts
1
held by a system
0
at each review
moderate
to go live
Source control / CI pipeline
where the evidence lives
teal = a system already holds it · olive = produced at each review
system holds itEvidence a system already holds
- Release signing pipeline step · Source control / CI pipeline
periodic reviewEvidence produced at each review
none for this control
governing documentDocuments that govern the control
- Signing key custody documentation · Policy repository / GRC workspace
- Publication of verification instructions to consumers · Policy repository / GRC workspace
- Test that verification fails when artifact is altered · Policy repository / GRC workspace
First move
Start with the 1 of 4 artefacts that already live in a system (Source control / CI pipeline); keep the periodic reviews but log each one as a dated record with a named reviewer.
Common gaps auditors find
- signing keys held in CI environment variables
- consumers given no clear verification path
- signatures generated but never verified internally
Do this for your whole sheet
Paste the rows you run your controls from and get this mapping for every control at once, with the periodic-review ones flagged and a first move per row. No account for the first run.
Build my evidence sheetPS.1.1 Protect All Forms of Code from Unauthorized Modification · PS.3.1 Archive and Protect Released Software