Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SLSA Compliance Program #515

Open
4 of 6 tasks
Tracked by #508
SecKatie opened this issue Oct 20, 2022 · 9 comments
Open
4 of 6 tasks
Tracked by #508

SLSA Compliance Program #515

SecKatie opened this issue Oct 20, 2022 · 9 comments

Comments

@SecKatie
Copy link
Contributor

SecKatie commented Oct 20, 2022

Doc: https://docs.google.com/document/d/1iWjO4UGcGm0PeCm9mbqeT-PiD4z4S7qXMaZsGIFUn0s/edit
Presentation: https://docs.google.com/presentation/u/0/d/1oQoJYy9aCGvnEi43NtgSEfuw3IZbYRuapKFrwSceudA/edit

Background

The Supply Chain Levels for Software Artifacts (SLSA) framework provides a check-list of standards and controls to prevent tampering, improve integrity, and secure packages and infrastructure in your projects, businesses or enterprises. A compliance program that gives explicit permission for organizations to assert their compliance with the SLSA program will allow companies to utilize their security efforts in marketing and allow consumers to evaluate their suppliers effectively

The SLSA Compliance Program utilizes several common industry patterns to give consumers and businesses a transparent understanding of their rights and obligations when asserting compliance with the SLSA framework. This is provided through a self-assessment compliance program and an accredited third-party compliance program that are structured into tiers.

Next Steps

  • Define the scope of the program - Decision: Initial Scope - Build Systems
    • Let’s clarify what types of things would be certified: projects, repositories, practices, artifacts, suppliers, toolchains, closed source, etc.
  • Discuss in the specification SIG
  • Integrate compliance into requirements Add SLSA conformance to requirements page #572
  • Create certification and registry page compliance: certification program #590
  • Standardize builder signing
@MarkLodato
Copy link
Member

👍. We also need to figure out how to incorporate it into the specification.

@joshuagl
Copy link
Member

joshuagl commented Nov 7, 2022

Thank you for working on this!

I like the two-tiered proposal, getting folks (and process) up and running with a self assessment while we figure out third-party feels like a sound approach.

The self-assessment process reminds me of the OpenSSF Best Practices badge and their model of a web application to complete the form may make sense? https://bestpractices.coreinfrastructure.org/en

I also wanted to link to a discussion around an attestation predicate for human reviews of artefacts happening in the in-toto attestation repository

@tracymiranda
Copy link

For reference here is the SLSA Compliance Assessment that is in use by the Kubernetes community for their SLSA efforts kubernetes/enhancements#3027

@SecKatie
Copy link
Contributor Author

A major value area would be that organizations and projects can select a build system that allows them to comply with SLSA. For the first iteration, I think that is the best starting point for providing our badges and putting guardrails up.

In the Specification Meeting on November 14th 2022 we discussed this as a decision point for the first effort so that we can properly scale the scope of work and an MVP of a self-attestation survey.

Decision: The conformance program will initially target Build Systems

Next Steps:

  • Select requirements that require the cooperation or technical support of the build system
  • Create a questionnaire that attests to the selected requirements
  • Identify the level of SLSA that build platforms can attest to
  • Establish branding that can be provided to Build Platforms
  • Work with legal to define agreements and requirements

@laurentsimon
Copy link
Contributor

I'm one of the maintainers of https://github.com/slsa-framework/slsa-verifier`. We'd be interested in incorporating builder levels that come out of Identify the level of SLSA that build platforms can attest to (slsa-framework/slsa-verifier#158 and slsa-framework/slsa-verifier#84)

@lehors
Copy link
Member

lehors commented Nov 22, 2022

Hi,
I'm not totally sure where the discussion for this takes place. I added a few comments to the google doc.

kpk47 added a commit to kpk47/slsa that referenced this issue Jan 18, 2023
@SecKatie SecKatie changed the title SLSA Conformance Program SLSA Compliance Program Jan 30, 2023
kpk47 added a commit that referenced this issue Jan 30, 2023
* Add SLSA conformance to requirements page

#515

Signed-off-by: kpk47 <[email protected]>

* lint

Signed-off-by: kpk47 <[email protected]>

* Update docs/spec/v1.0/requirements.md

Co-authored-by: Arnaud J Le Hors <[email protected]>
Signed-off-by: kpk47 <[email protected]>

* Update docs/spec/v1.0/requirements.md

Co-authored-by: Joshua Mulliken <[email protected]>
Signed-off-by: kpk47 <[email protected]>

* review comments & added requirement that attestation include SLSA levels

Signed-off-by: kpk47 <[email protected]>

* review comments

Signed-off-by: kpk47 <[email protected]>

* Update docs/spec/v1.0/requirements.md

Co-authored-by: Mark Lodato <[email protected]>
Signed-off-by: kpk47 <[email protected]>

* line wrap

Signed-off-by: kpk47 <[email protected]>

---------

Signed-off-by: kpk47 <[email protected]>
Signed-off-by: kpk47 <[email protected]>
Co-authored-by: Arnaud J Le Hors <[email protected]>
Co-authored-by: Joshua Mulliken <[email protected]>
Co-authored-by: Mark Lodato <[email protected]>
@MarkLodato
Copy link
Member

Removing this from the v1.0 tracker since we're moving it outside the spec.

@kpk47
Copy link
Contributor

kpk47 commented Apr 5, 2023

This fell a bit by the wayside as we prepared for v1.0-RC2.

@JoshuaMulliken and I met with a member of the Linux Foundation to discuss setting up a conformance program. The basic steps are:

  1. Create some sort of test we can use to determine a build system's SLSA conformance. The kubernetes program uses a test suite, but in our case it's likely to be a questionnaire or checklist filled out by hand.
  2. Draft terms for the conformance program. IIUC, the way it would work is that we would have a badge that we license out to build systems that conform to the SLSA spec.
  3. Create a badge to license under the terms in step 2.

We've drafted a sample questionnaire and terms of service for the conformance program. Please feel free to comment, especially on the questionnaire: https://docs.google.com/document/d/1r6jM84mTa1dBJ6-KTPJKzCPUQ3GA8BuDIzFjbVfH7P8/edit?usp=sharing

@kpk47
Copy link
Contributor

kpk47 commented May 1, 2023

I've posted a proposal at slsa-framework/slsa-proposals#9

chtiangg pushed a commit to chtiangg/slsa that referenced this issue May 22, 2023
* Add SLSA conformance to requirements page

slsa-framework#515

Signed-off-by: kpk47 <[email protected]>

* lint

Signed-off-by: kpk47 <[email protected]>

* Update docs/spec/v1.0/requirements.md

Co-authored-by: Arnaud J Le Hors <[email protected]>
Signed-off-by: kpk47 <[email protected]>

* Update docs/spec/v1.0/requirements.md

Co-authored-by: Joshua Mulliken <[email protected]>
Signed-off-by: kpk47 <[email protected]>

* review comments & added requirement that attestation include SLSA levels

Signed-off-by: kpk47 <[email protected]>

* review comments

Signed-off-by: kpk47 <[email protected]>

* Update docs/spec/v1.0/requirements.md

Co-authored-by: Mark Lodato <[email protected]>
Signed-off-by: kpk47 <[email protected]>

* line wrap

Signed-off-by: kpk47 <[email protected]>

---------

Signed-off-by: kpk47 <[email protected]>
Signed-off-by: kpk47 <[email protected]>
Co-authored-by: Arnaud J Le Hors <[email protected]>
Co-authored-by: Joshua Mulliken <[email protected]>
Co-authored-by: Mark Lodato <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Untriaged
Development

No branches or pull requests

7 participants