Skip to main content

Melhores práticas de manutenção de dependências

Diretrizes e recomendações para manter as dependências usadas, incluindo os produtos de segurança do GitHub que podem ser úteis.

Melhores práticas de manutenção de dependências

Manter-se em dia com as dependências é crucial para manter um ambiente de software seguro. Veja algumas recomendações:

Adotar ferramentas de gerenciamento de dependências voltadas para a segurança

  • Use e configure ferramentas que verificam suas dependências em busca de vulnerabilidades e sugerem atualizações automaticamente.
  • Verifique se essas ferramentas estão integradas ao pipeline de CI/CD para monitoramento e atualização contínuos.
  • Configure seus processos para seguir o controle de versão semântico a fim de evitar alterações interruptivas.

Executar verificações e auditorias de vulnerabilidades regulares

  • Agende auditorias e verificações de dependência regulares para identificar dependências desatualizadas ou vulneráveis.

Automatizar o gerenciamento de patches de segurança

  • Configure suas ferramentas de gerenciamento de dependência para aplicar patches de segurança automaticamente.
  • Configure pull requests automatizadas para atualizações de segurança críticas de modo que possam ser revisadas e mescladas rapidamente.

Impor políticas sobre o uso de dependências

  • Implemente políticas que imponham o uso de versões seguras de dependências.
  • Use ferramentas que podem bloquear o merge de pull requests caso elas introduzam vulnerabilidades ou não atualizem dependências vulneráveis.

Integrar o teste de segurança em CI/CD

  • Incorpore ferramentas de teste de segurança ao pipeline de CI/CD.
  • Verifique se as atualizações de dependência são testadas automaticamente em relação à conformidade de segurança.

Usar arquivos de bloqueio e fixação de dependência

  • Use arquivos de bloqueio (por exemplo, package-lock.json, yarn.lock e Pipfile.lock) para fixar dependências em versões seguras conhecidas.
  • Atualize e revise regularmente esses arquivos de bloqueio para garantir que as dependências estejam atualizadas sem problemas de segurança não intencionais.

Monitorar avisos de segurança

  • Assine avisos de segurança para as linguagens e as estruturas que você usa.
  • Automatize a integração de avisos ao fluxo de trabalho de desenvolvimento para se manter em dia sobre novas vulnerabilidades.
  • Fique de olho nos painéis fornecidos pelas ferramentas de gerenciamento de dependências.
  • Lembre-se de atualizações críticas, especialmente patches de segurança, e priorize-as.

Controle de versão e gerenciamento de alterações

  • Acompanhe as alterações de dependência no controle de versão (por exemplo, por meio de pull requests automatizadas).
  • Realize revisões de código regulares para garantir que as atualizações não introduzam novas vulnerabilidades.

Treinamento e conscientização

  • Eduque suas equipes de desenvolvimento e operações sobre a importância de manter as dependências seguras e atualizadas.
  • Ofereça treinamento sobre como usar o gerenciamento de dependências e as ferramentas de segurança com eficiência.

Plano de resposta para vulnerabilidades

  • Tenha um plano de resposta a incidentes bem definido para quando as vulnerabilidades forem identificadas nas dependências.
  • Verifique se a equipe sabe como resolver e corrigir problemas de segurança rapidamente.

Seguindo essas práticas, você pode reduzir de maneira significativa o risco representado por dependências desatualizadas e vulneráveis e manter um ambiente mais seguro.

Como o GitHub pode ser útil

O GitHub oferece vários recursos de segurança que podem ajudar a manter a segurança das suas bases de código:

Grafo de dependência

  • Fornece uma representação de tabela das dependências do projeto.
  • O grafo ajuda você a entender as dependências do seu projeto e o GitHub usa isso para identificar as dependências vulneráveis.
  • Para saber mais, confira Sobre o gráfico de dependências.

Revisão de dependência

  • É integrado ao pipeline de CI/CD e permite que você capture as dependências não seguras no código a cada pull request. Para saber mais, confira Sobre a análise de dependência.

  • A ação de revisão de dependência é uma ferramenta que pode bloquear o merge de pull requests caso elas introduzam vulnerabilidades ou não atualizem as dependências vulneráveis. Para saber mais, confira “Sobre a ação de revisão de dependência” em Sobre a análise de dependência.

Dependabot

Avisos de segurança

Visão geral de segurança

  • Fique de olho nos painéis da página de visão geral de segurança, que fornecem insights sobre o cenário e o progresso de segurança da sua organização ou empresa. Ela ajuda os usuários a identificar repositórios que precisam de atenção e monitorar a integridade do programa de segurança do aplicativo. Para saber mais, confira Sobre a visão geral de segurança.

Política de segurança

Para ver mais diretrizes em toda a cadeia de fornecedores usando os recursos de segurança do GitHub, confira Protegendo sua cadeia de suprimentos de ponta a ponta.