**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.
- Crie a versão como um rascunho.
- Anexe todos os recursos associados à versão preliminar.
- 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.