diff --git a/how-our-pipeline-maps-to-nist-and-slsa/index.html b/how-our-pipeline-maps-to-nist-and-slsa/index.html index c8ee228..8e48cd7 100644 --- a/how-our-pipeline-maps-to-nist-and-slsa/index.html +++ b/how-our-pipeline-maps-to-nist-and-slsa/index.html @@ -4,9 +4,9 @@ -NIST SP 800-204C, 800-204D and SLSA: Our Release Pipeline +How our release pipeline maps to NIST and SLSA (draft) - + @@ -89,11 +89,11 @@

How the v0.3.0 release pipeline maps to NIST and SLSA

-

This page puts each stage of the new release pipeline next to the NIST practice it was designed against. It says where a stage only partly implements a practice.

+

If you have to explain our release pipeline to a security reviewer, start here. This page puts each stage of the new release pipeline next to the NIST practice it was designed against, and says where a stage only partly implements a practice.

DRAFT for v0.3.0, not published and never merged before v0.3.0 is live. [TO-VERIFY] marks anything not yet run against a real release.

This is guidance we followed when designing the pipeline. It is not a certification.

Stage by stage

-

"Signs" means the stage records what it did and signs it with a short-lived key, under its own workflow identity, logged in a public transparency log. [TO-VERIFY] against the workflow files at the v0.3.0 tag.

+

The six stages are described step by step on how we build. "Signs" means the stage records what it did and signs it with a short-lived key, under its own workflow identity, logged in a public transparency log. [TO-VERIFY] against the workflow files at the v0.3.0 tag.

@@ -105,23 +105,9 @@

Stage by stage

StageWhat it doesNIST practiceHow much
Release[TO-VERIFY] Verifies every stage's signature together, then publishes the same digests.[TO-VERIFY][TO-VERIFY]
-

Our wording: signed at every stage, verified together at release.

+

Our wording: signed at every stage, verified together at release. [TO-VERIFY: pipeline]

SLSA

[TO-VERIFY] The SLSA Build level we assess v0.3.0 at. We claim Level 3 for the Build stage only after a test shows that a malicious build step cannot produce provenance the release step accepts. Until that test has passed, this page says nothing about Level 3.

-

CISA Secure by Design

-

[TO-VERIFY] This section is a draft and is not published. It lines up the seven goals of CISA's Secure by Design materials with what the product does. CISA does not endorse any company or product, and this page is not a statement by CISA. We do not claim to meet any of these goals until each row below has been checked against the v0.3.0 release.

- - - - - - - - - - - -
GoalWhat the product doesStatus
Multi-factor authentication[TO-VERIFY] The server has one optional shared HTTP Basic login (plus an optional read-only one). It has no multi-factor sign-in and no single sign-on.[TO-VERIFY]
Default passwords[TO-VERIFY] No password ships in the product. Logins come only from settings you provide at start, and a half-set pair is refused.[TO-VERIFY]
Classes of vulnerability[TO-VERIFY] The server is written in Go, with no C imports and cgo off. Request paths are checked twice against directory traversal. There is no SQL.[TO-VERIFY]
Security patches[TO-VERIFY] A daily rescan for newly disclosed vulnerabilities, and a 48-hour fix target (best effort). The server does not update itself, by design. Whether automatic patch releases are live at v0.3.0: [TO-VERIFY].[TO-VERIFY]
Vulnerability disclosure policy[TO-VERIFY] A private reporting channel exists on GitHub. Whether the policy allows testing, promises no legal action, sets a scope and gives a disclosure time: [TO-VERIFY].[TO-VERIFY]
CVE records[TO-VERIFY] When we issue a CVE, and the fields it carries.[TO-VERIFY]
Evidence of intrusions[TO-VERIFY] Structured logs and metrics. The server writes no per-request access log and does not log or count failed logins. Whether that changes at v0.3.0: [TO-VERIFY].[TO-VERIFY]

What this page does not say