Sobre a segurança da cadeia de suprimentos no GitHub
Com o uso acelerado de código aberto, a maioria dos projetos depende de centenas de dependências de código aberto. Isso coloca um problema de segurança: e se as dependências que você estiver usando forem vulneráveis? Você poderia colocar os seus usuários em risco de ataque da cadeia de suprimentos. Uma das coisas mais importantes que você pode fazer para proteger a cadeia de fornecedores é corrigir as dependências vulneráveis.
Você adiciona dependências diretamente à sua cadeia de suprimentos ao especificá-las em um arquivo de manifesto ou um arquivo de bloqueio. As dependências também podem ser incluídas transitoriamente, ou seja, até mesmo se você não especificar uma dependência em particular, mas a sua dependência a usa, portanto, você também depende dessa dependência.
O GitHub AE oferece uma variedade de recursos para ajudar você a entender as dependências do ambiente e conhecer as vulnerabilidades dessas dependências.
As funcionalidades da cadeia de suprimentos em GitHub AE são:
- Grafo de dependência
- Revisão de dependência
- Dependabot alerts
O gráfico de dependências é fundamental para fornecer segurança da cadeia de suprimentos. O gráfico de dependências identifica todas as dependências a montante e as dependências públicas a jusante de um repositório ou pacote. É possível ver as dependências e algumas de suas propriedades, como informações de vulnerabilidade, no gráfico de dependências do repositório.
As outras funcionalidades da cadeia de suprimentos em GitHub dependem das informações fornecidas pelo gráfico de dependências.
- A revisão de dependências usa o gráfico de dependências para identificar mudanças de dependências e ajuda você a entender o impacto de segurança dessas alterações ao revisar pull requests.
- O Dependabot faz a referência cruzada dos dados de dependência fornecidos pelo grafo de dependência com a lista de avisos publicadas no GitHub Advisory Database, verifica as dependências e gera Dependabot alerts quando é detectada uma possível vulnerabilidade .
Visão geral do recurso
Qual é o gráfico de dependências
Para gerar o gráfico de dependência, GitHub analisa as dependências explícitas de um repositório declaradas no manifesto e no arquivo de bloqueio. Quando habilitado, o gráfico de dependências analisa automaticamente todos os arquivos de manifesto de pacote conhecidos no repositório, e usa isto para construir um gráfico com nomes e versões conhecidas das dependências.
- O grafo de dependência inclui informações sobre as dependências diretas e as dependências transitivas.
- O gráfico de dependência é atualizado automaticamente quando você faz push de um commit para GitHub que altera ou adiciona um manifesto compatível ou um arquivo de bloqueio para o branch padrão, e quando alguém fizer uma alteração no repositório de uma de suas dependências.
- Você pode ver o gráfico de dependência abrindo a página principal do repositório em GitHub AE e navegando até a guia Insights.
Para obter mais informações sobre o grafo de dependência, confira "Sobre o gráfico de dependências".
O que é revisão de dependências
A revisão de dependências ajuda os revisores e colaboradores a entenderem as mudanças de dependência e seu impacto de segurança em cada pull request.
- A revisão de dependências informa quais dependências foram adicionadas, removidas ou atualizadas em um pull request. Você pode usar as datas de versão, a popularidade das dependências e informações de vulnerabilidade para ajudar você a decidir se deseja aceitar a alteração.
- Veja a revisão de dependência para uma solicitação de pull mostrando a comparação avançada na guia Arquivos Alterados.
Para obter mais informações sobre a revisão de dependência, confira "Sobre a análise de dependência".
O que é o Dependabot
O Dependabot mantém as dependências atualizadas informando sobre as vulnerabilidades de segurança nas dependências, para que você possa atualizar essa dependência.
O GitHub Actions não é necessário para que os Dependabot alerts sejam executados no GitHub AE.
Quais são os alertas do Dependabot
O Dependabot alerts destaca os repositórios afetados por uma vulnerabilidade recém-descoberta com base no grafo de dependência e no GitHub Advisory Database, que contém os avisos de vulnerabilidades conhecidas .
- O Dependabot faz a verificação para detectar dependências não seguras e envia Dependabot alerts quando:
- Os novos dados de aviso são sincronizados do GitHub.com com o sua empresa por hora. Para obter mais informações, confira "Como procurar avisos de segurança no GitHub Advisory Database".
- O gráfico de dependências para as alterações no repositório.
- Os Dependabot alerts são exibidos no grafo de dependência do repositório. O alerta inclui informações sobre uma versão corrigida.
Para obter mais informações, confira "Sobre alertas do Dependabot".
Disponibilidade de recursos
- Grafo de dependência e Dependabot alerts – não habilitados por padrão. Ambas as funcionalidades são configuradas a nível empresarial pelo proprietário da empresa. Para obter mais informações, confira "Habilitando o Dependabot para sua empresa".
- Revisão de dependência – Disponível quando o grafo de dependência está habilitado para a sua empresa e o Advanced Security está habilitada para a organização ou o repositório. Para obter mais informações, confira "Sobre a Segurança Avançada do GitHub".