Skip to main content

Versões imutáveis

Saiba mais sobre versões imutáveis e como elas podem ajudar a manter a integridade da cadeia de fornecedores de software.

          **Versões imutáveis** são versões em que os ativos e a marca Git associada não podem ser alterados após a publicação. O uso desse tipo de versão aumenta a segurança bloqueando ataques da cadeia de suprimentos. Os invasores não podem:
  • Injete vulnerabilidades ou malware nas versões atuais do projeto.
  • Faça alterações em recursos e tags que possam interromper os fluxos de trabalho dos desenvolvedores.

O que os lançamentos imutáveis protegem

Quando você ativa versões imutáveis, as seguintes proteções se aplicam:

  •         **As tags Git não podem ser movidas ou excluídas**: após a publicação de uma versão imutável, sua tag Git associada está bloqueada para um commit específico e não pode ser alterada ou removida.
    
  •         **Os ativos de versão não podem ser modificados ou excluídos**: todos os arquivos anexados à versão (como binários e arquivos) são protegidos contra modificação ou exclusão.
    

Além disso, a criação de uma versão imutável gera automaticamente um atestado de versão, que é um registro criptograficamente verificável de uma versão que contém a marca de versão, o SHA de commit e os ativos de versão. Os consumidores podem usar esse atestado para garantir que as versões e os artefatos que elas estão usando correspondam exatamente às versões publicadas do GitHub.

Observação

As versões imutáveis incluem proteção contra ataques de ressurreição de repositório. Mesmo que você exclua um repositório e crie um novo com o mesmo nome, não será possível reutilizar tags que estavam associadas a versões imutáveis no repositório original.

Se uma versão for imutável, você verá " Imutável" abaixo do título na página de versão.

Práticas recomendadas para publicação de versões imutáveis

Recomendamos que você use o fluxo de trabalho a seguir para publicar uma versão imutável.

  1. Crie a versão como um rascunho.
  2. Anexe todos os recursos associados à versão preliminar.
  3. Publique a versão do rascunho.

Isso garante que todos os ativos estejam disponíveis antes que a liberação se torne imutável, evitando a necessidade de contornar restrições de imutabilidade.

Próximas etapas

Para saber como habilitar versões imutáveis para seu repositório ou organização, confira Como impedir alterações em suas versões.

Para saber como garantir que uma versão e os ativos locais não tenham sido alterados, confira Como verificar a integridade de uma versão.