O que é Segurança Avançada do GitHub?

Concluído

O GitHub tem muitos recursos que ajudam você a melhorar e manter a qualidade do código. Alguns desses recursos estão incluídos em todos os planos, como o gráfico de dependência e alertas Dependabot. Outras são executadas apenas em um modo de funcionalidade limitada em repositórios públicos. Há também outros que exigem uma licença de Segurança Avançada do GitHub para execução em repositórios privados.

Nesta unidade, você aprenderá mais sobre a Segurança Avançada do GitHub e descobrirá como é um projeto com a Segurança Avançada do GitHub.

Os recursos de Segurança Avançada do GitHub

A tabela a seguir resume a disponibilidade dos recursos de Segurança Avançada do GitHub em repositórios públicos e privados.

Característica Repositório público Repositório privado sem Segurança Avançada Repositório privado com Segurança Avançada
Verificação de código Sim Não Sim
Verificação de segredo Sim (funcionalidade limitada somente) Não Sim
Análise de dependência Sim Não Sim
Visão Geral de Segurança Não Não Sim

Conforme descrito na tabela anterior, todos os recursos de Segurança Avançada do GitHub, exceto a Visão Geral de Segurança, são habilitados por padrão para todos os repositórios públicos em GitHub.com. Para acessar esses recursos em repositórios privados e internos, você precisa de uma conta corporativa do GitHub com uma licença de Segurança Avançada do GitHub.

Uma licença de Segurança Avançada do GitHub fornece esses recursos para repositórios privados e internos:

  • Verificação de código: detecta automaticamente vulnerabilidades comuns e erros de codificação.
  • Verificação secreta: recebe alertas quando segredos ou chaves são verificados, exclui arquivos da verificação e define até 100 padrões personalizados.
  • Revisão de dependência: mostra o efeito completo das alterações nas dependências e vê detalhes de quaisquer versões vulneráveis antes de mesclar uma solicitação de pull.
  • Visão geral de segurança: revisa a configuração de segurança e alertas de uma organização e identifica os repositórios em maior risco.

Segurança Avançada do GitHub no ciclo de vida de desenvolvimento de software

Então, que diferença os recursos de Segurança Avançada do GitHub fazem em seu ciclo de vida de desenvolvimento de software? Vamos dar uma olhada em um cenário de segurança básico primeiro.

Diagrama que representa os diferentes estágios do ciclo de vida de desenvolvimento de software em uma abordagem de segurança tradicional.

Este exemplo ilustra uma abordagem tradicional de segurança como barreira, na qual um único teste de segurança ou uma série de testes de segurança ocorrem durante a fase de garantia de qualidade. Nesse cenário, a segurança geralmente acaba sendo um gargalo para enviar o software. Essa situação é o que sua empresa deseja corrigir incorporando antecipadamente a segurança.

Agora, vamos examinar o mesmo ciclo de vida de desenvolvimento de software com a Segurança Avançada do GitHub.

Diagrama que representa os diferentes estágios do ciclo de vida de desenvolvimento de software com a Segurança Avançada do GitHub.

Nesse cenário, a segurança é configurada desde o início por meio de políticas de segurança no estágio de configuração do projeto. Os desenvolvedores são alertados sobre possíveis problemas de segurança em cada etapa do processo de desenvolvimento:

  • Verificação de código: verifica a cada confirmação e mesclagem possíveis vulnerabilidades e erros de codificação.
  • Verificação de segredo: Realiza varreduras a cada commit e mesclagem em busca de tokens e chaves privadas que tenham sido acidentalmente incluídos no repositório.
  • Revisão de dependência: controla as alterações de dependência do projeto e seu efeito na segurança do projeto. Ele compara os arquivos de manifesto do repositório com os bancos de dados de vulnerabilidades conhecidas em cada solicitação de pull.

Além disso, a Visão Geral de Segurança oferece aos administradores uma exibição de alto nível do status de segurança do projeto. Essa exibição permite que os administradores identifiquem repositórios problemáticos que exigem intervenção.

A segurança do seu código é revisada várias vezes antes de você chegar ao estágio de garantia de qualidade, portanto, há menos chance de um gargalo antes do envio e menos dívida técnica.