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

Ao ativar versões imutáveis, as seguintes proteções são aplicadas:

  •         **As marcas git não podem ser movidas**: depois que uma versão imutável é publicada, sua marca Git associada é bloqueada para uma confirmação específica, não pode ser alterada e não pode ser excluída enquanto a versão existe. Se você excluir a versão imutável, poderá excluir a tag, mas não poderá reutilizar o mesmo nome de tag.
    
  •         **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 artefatos que estão usando correspondam exatamente às versões publicadas 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 lançamento.

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.