SLSA Framework
O que é SLSA Framework?
SLSA FrameworkSupply-chain Levels for Software Artifacts: conjunto escalonado de requisitos publicado pelo OpenSSF que endurece progressivamente a forma como o software é construído, assinado e verificado contra manipulação da cadeia de fornecimento.
O SLSA ("salsa") é um referencial comunitário alojado pelo OpenSSF que ajuda produtores e consumidores a raciocinar sobre a integridade dos pipelines de build. Define níveis de build (L1-L3+ nas versões atuais), requisitos para fonte e dependências e proveniência assinada que descreve o que foi construído, como e a partir de quê. Níveis mais altos exigem builds reprodutíveis, ambientes herméticos, plataformas de build isoladas e efémeras e proveniência verificável. Complementa o SBOM (que lista componentes) e referenciais como NIST SSDF e CISA Secure by Design. A adoção combina normalmente reusable workflows do GitHub Actions, Tekton Chains, Sigstore Cosign e atestações in-toto. O SLSA está a tornar-se uma expectativa de base em contratação regulada e federal.
● Exemplos
- 01
Atingir SLSA build level 3 usando reusable workflows do GitHub e proveniência assinada.
- 02
Verificar a proveniência SLSA no momento de deploy como parte do admission control no Kubernetes.
● Perguntas frequentes
O que é SLSA Framework?
Supply-chain Levels for Software Artifacts: conjunto escalonado de requisitos publicado pelo OpenSSF que endurece progressivamente a forma como o software é construído, assinado e verificado contra manipulação da cadeia de fornecimento. Pertence à categoria Segurança de aplicações da cibersegurança.
O que significa SLSA Framework?
Supply-chain Levels for Software Artifacts: conjunto escalonado de requisitos publicado pelo OpenSSF que endurece progressivamente a forma como o software é construído, assinado e verificado contra manipulação da cadeia de fornecimento.
Como funciona SLSA Framework?
O SLSA ("salsa") é um referencial comunitário alojado pelo OpenSSF que ajuda produtores e consumidores a raciocinar sobre a integridade dos pipelines de build. Define níveis de build (L1-L3+ nas versões atuais), requisitos para fonte e dependências e proveniência assinada que descreve o que foi construído, como e a partir de quê. Níveis mais altos exigem builds reprodutíveis, ambientes herméticos, plataformas de build isoladas e efémeras e proveniência verificável. Complementa o SBOM (que lista componentes) e referenciais como NIST SSDF e CISA Secure by Design. A adoção combina normalmente reusable workflows do GitHub Actions, Tekton Chains, Sigstore Cosign e atestações in-toto. O SLSA está a tornar-se uma expectativa de base em contratação regulada e federal.
Como se defender contra SLSA Framework?
As defesas contra SLSA Framework costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para SLSA Framework?
Nomes alternativos comuns: SLSA.
● Termos relacionados
- appsec№ 1069
Segurança da cadeia de fornecimento de software
Disciplina que protege cada elo da produção de software - código-fonte, dependências, build, assinatura, distribuição e deploy - contra manipulação, código malicioso e perda de integridade.
- appsec№ 870
Atestação de proveniência
Declaração assinada e verificável por máquina que descreve como um artefacto de software foi produzido - fonte, sistema de build, parâmetros e dependências - para os consumidores confiarem na sua origem.
- appsec№ 522
in-toto
Framework aberto que atesta criptograficamente cada passo de uma cadeia de fornecimento de software, permitindo aos consumidores verificar que o artefacto foi construído e manuseado exatamente como o dono do projeto pretendia.
- appsec№ 1044
Sigstore
Projeto open source da Linux Foundation que facilita assinar, verificar e proteger artefactos de software combinando chaves efémeras, identidades OIDC e um registo de transparência.
- appsec№ 226
Cosign
CLI open source do projeto Sigstore para assinar, verificar e atestar artefactos OCI e outros softwares, em modo com ou sem chaves de longa duração.
- appsec№ 921
Builds reprodutíveis
Práticas de build que garantem que compilar o mesmo código-fonte com as mesmas instruções produz um artefacto idêntico bit a bit, independentemente de quando ou onde é construído.