{"meta":{"title":"Melhores práticas de manutenção de dependências","intro":"Diretrizes e recomendações para manter as dependências que você usa, incluindo os produtos de segurança do GitHub, que podem ajudar.","product":"Qualidade de segurança e código","breadcrumbs":[{"href":"/pt/code-security","title":"Qualidade de segurança e código"},{"href":"/pt/code-security/concepts","title":"Concepts"},{"href":"/pt/code-security/concepts/supply-chain-security","title":"Segurança da cadeia de fornecedores"},{"href":"/pt/code-security/concepts/supply-chain-security/best-practices-for-maintaining-dependencies","title":"Práticas recomendadas de dependência"}],"documentType":"article"},"body":"# Melhores práticas de manutenção de dependências\n\nDiretrizes e recomendações para manter as dependências que você usa, incluindo os produtos de segurança do GitHub, que podem ajudar.\n\n## Melhores práticas de manutenção de dependências\n\nManter-se em dia com as dependências é crucial para manter um ambiente de software seguro. Veja algumas recomendações:\n\n**Adotar ferramentas de gerenciamento de dependências voltadas para a segurança**\n\n* Use e configure ferramentas que verificam suas dependências em busca de vulnerabilidades e sugerem atualizações automaticamente.\n* Verifique se essas ferramentas estão integradas ao pipeline de CI/CD para monitoramento e atualização contínuos.\n* Configure seus processos para seguir o versionamento semântico, evitando alterações que possam quebrar a compatibilidade.\n\n**Executar verificações e auditorias de vulnerabilidades regulares**\n\n* Agende auditorias e verificações de dependência regulares para identificar dependências desatualizadas ou vulneráveis.\n\n**Automatizar o gerenciamento de patches de segurança**\n\n* Configure suas ferramentas de gerenciamento de dependência para aplicar patches de segurança automaticamente.\n* Também configure solicitações de pull automatizadas para atualizações críticas de segurança, permitindo que sejam revisadas e mescladas rapidamente.\n\n**Impor políticas sobre o uso de dependências**\n\n* Implemente políticas que imponham o uso de versões seguras de dependências.\n* Use ferramentas que podem bloquear a mesclagem de pull requests caso introduzam vulnerabilidades ou falhem em atualizar dependências vulneráveis.\n\n**Integrar o teste de segurança em CI/CD**\n\n* Incorpore ferramentas de teste de segurança no pipeline de CI/CD.\n* Verifique se as atualizações de dependência são testadas automaticamente em relação à conformidade de segurança.\n\n**Use arquivos de bloqueio e fixação de dependências**\n\n* Use arquivos de bloqueio (por exemplo, `package-lock.json`, `yarn.lock` e `Pipfile.lock`) para fixar dependências em versões seguras conhecidas.\n* Atualize e revise regularmente esses arquivos de bloqueio para garantir que as dependências estejam atualizadas sem problemas de segurança não intencionais.\n\n**Monitorar avisos de segurança**\n\n* Assine avisos de segurança para as linguagens e as estruturas que você usa.\n* Automatize a integração de avisos ao fluxo de trabalho de desenvolvimento para se manter em dia sobre novas vulnerabilidades.\n* Fique de olho nos painéis fornecidos pelas ferramentas de gerenciamento de dependências.\n* Lembre-se de atualizações críticas, especialmente patches de segurança, e priorize-as.\n\n**Controle de versão e gerenciamento de alterações**\n\n* Acompanhe as alterações de dependência no controle de versão (por exemplo, por meio de pull requests automatizadas).\n\n* Realize revisões de código regulares para garantir que as atualizações não introduzam novas vulnerabilidades.\n\n**Treinamento e conscientização**\n\n* Eduque suas equipes de desenvolvimento e operações sobre a importância de manter as dependências seguras e atualizadas.\n* Ofereça treinamento sobre como usar o gerenciamento de dependências e as ferramentas de segurança com eficiência.\n\n**Plano de resposta para vulnerabilidades**\n\n* Tenha um plano de resposta a incidentes bem definido para quando as vulnerabilidades forem identificadas nas dependências.\n* Verifique se a equipe sabe como resolver e corrigir problemas de segurança rapidamente.\n\nSeguindo 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.\n\n## Como GitHub pode ajudar\n\nGitHub fornece recursos de segurança para ajudá-lo a manter dependências:\n\n**Grafo de dependência**: controla as dependências do projeto e identifica vulnerabilidades. Confira [Grafo de dependência](/pt/code-security/concepts/supply-chain-security/dependency-graph).\n\n**Revisão de dependência**: captura dependências inseguras em solicitações de pull antes de serem mescladas. Além disso, o ação de revisão de dependência pode falhar nas verificações e, quando exigido pelas regras de proteção da ramificação, impedir que as pull requests que introduzem vulnerabilidades sejam mescladas. Confira [Análise de dependência](/pt/code-security/concepts/supply-chain-security/dependency-review).\n\n\\*\\*\nDependabot\n\\*\\*: examina automaticamente as vulnerabilidades, cria alertas e abre solicitações de pull para atualizar dependências vulneráveis ou desatualizadas. Você pode agrupar várias atualizações em solicitações de pull único para simplificar as revisões. Confira [Alertas do Dependabot](/pt/code-security/concepts/supply-chain-security/dependabot-alerts).\n\n\\*\\*\nGitHub Advisory Database\n\\*\\*: fornece avisos de segurança que alimentam Dependabota detecção de vulnerabilidades. Consulte [Banco de dados do GitHub Advisory](/pt/code-security/concepts/vulnerability-reporting-and-management/github-advisory-database).\n\n**Relatório de vulnerabilidades privadas**: permite que os mantenedores recebam, discutam e corrijam relatórios de vulnerabilidade em particular antes da divulgação pública.\n\n**Visão geral de segurança**: mostra a postura de segurança da sua organização com painéis para repositórios em risco, tendências de alerta e status de habilitação de recursos. Confira [Visão geral da segurança](/pt/code-security/concepts/security-at-scale/security-overview).\n\nPara obter diretrizes de cadeia de suprimentos de ponta a ponta, consulte [Protegendo sua cadeia de suprimentos de ponta a ponta](/pt/code-security/tutorials/implement-supply-chain-best-practices/end-to-end-supply-chain-overview)."}