A aba de Alertas do Dependabot do seu repositório lista todos os Alertas do Dependabot abertos e fechados correspondentes a Atualizações de segurança do Dependabot. Você pode filtrar alertas por pacote, ecossistema ou manifesto. Você pode classificar a lista de alertas, e você pode clicar em alertas específicos para mais detalhes. Você também pode ignorar ou reabrir os alertas, um por um ou selecionando vários alertas de uma vez. Para obter mais informações, consulte "Sobre o Alertas do Dependabot.
É possível habilitar atualizações de segurança automáticas para qualquer repositório que usa o Alertas do Dependabot e o gráfico de dependências. Para obter mais informações, consulte "Sobre Atualizações de segurança do Dependabot."
Sobre atualizações para dependências vulneráveis no seu repositório
GitHub gera Alertas do Dependabot quando detectamos que sua base de código está usando dependências com riscos de segurança conhecidos. Para repositórios em que Atualizações de segurança do Dependabot estão habilitados, quando GitHub detecta uma dependência vulnerável no branch padrão, Dependabot cria um pull request para corrigi-la. O pull request irá atualizar a dependência para a versão minimamente segura possível, o que é necessário para evitar a vulnerabilidade.
Você pode classificar e filtrar Alertas do Dependabot com os menus suspensos na aba Alertas do Dependabot ou digitando filtros como pares de key:value
na barra de pesquisa. The available filters are repository (for example, repo:my-repository
), package (for example, package:django
), ecosystem (for example, ecosystem:npm
), manifest (for example, manifest:webwolf/pom.xml
), state (for example, is:open
), and whether an advisory has a patch (for example, has: patch
). You can also filter alerts with dependency scope data using scope
, for example: scope:development
or scope:runtime
. With scope:development
, the list of alerts will only show dependencies used during development, not production.
Cada alerta de Dependabot tem um identificador único de número e a aba de Alertas do Dependabot lista um alerta para cada vulnerabilidade detectada. O legado de Alertas do Dependabot agrupou as vulnerabilidades por dependência e gerou um único alerta por dependência. Se você acessar um alerta de legado Dependabot, você será redirecionado para uma aba de Alertas do Dependabot filtrada para esse pacote.
Supported ecosystems and manifests for dependency scope
The table below summarizes whether dependency scope is supported for various ecosystems and manifests, that is, whether Dependabot can identify if a dependency is used for development or production.
Linguagem | Ecossistema | Manifest file | Dependency scope supported |
---|---|---|---|
Go | Módulos Go | go.mod | No, defaults to runtime |
Go | Módulos Go | go.sum | No, defaults to runtime |
Java | Maven | pom.xml | ✔ test maps to development, else scope defaults to runtime |
JavaScript | npm | package.json | ✔ |
JavaScript | npm | package-lock.json | ✔ |
JavaScript | yarn v1 | yarn.lock | No, defaults to runtime |
PHP | Composer | composer.json | ✔ |
PHP | Composer | composer.lock | ✔ |
Python | Poetry | poetry.lock | ✔ |
Python | Poetry | pyproject.toml | ✔ |
Python | pip | requirements.txt | ✔ Scope is development if the filename contains test or dev , else it is runtime |
Python | pip | pipfile.lock | ✔ |
Python | pip | pipfile | ✔ |
Ruby | RubyGems | Gemfile | ✔ |
Ruby | RubyGems | Gemfile.lock | No, defaults to runtime |
Rust | Cargo | Cargo.toml | ✔ |
Rust | Cargo | Cargo.lock | No, defaults to runtime |
YAML | GitHub Actions | - | No, defaults to runtime |
.NET (C#, F#, VB, etc.) | NuGet | .csproj / .vbproj .vcxproj / .fsproj | No, defaults to runtime |
.NET | NuGet | packages.config | No, defaults to runtime |
.NET | NuGet | .nuspec | ✔ When the tag != runtime |
Alerts for packages listed as development dependencies are marked with the Development
label on the Alertas do Dependabot page and are also available for filtering via the scope
filter.
The alert details page of alerts on development-scoped packages shows a "Tags" section containing a Development
label.
Sobre a detecção de chamadas para funções vulneráveis
Notas:
-
The detection of calls to vulnerable functions by Dependabot is in beta and subject to change.
-
Detection of vulnerable calls is enabled on public repositories. This analysis is also available in private repositories owned by organizations that use GitHub Enterprise Cloud and have licensed Segurança Avançada GitHub. Para obter mais informações, consulte "Sobre Segurança Avançada GitHub".
Quando Dependabot disser que seu repositório usa uma dependência vulnerável, você deverá determinar quais são as funções vulneráveis e verificar se você as está usando. Com essa informação, você poderá determinar o quão urgente você precisa para atualizar para uma versão segura da dependência.
Para as linguagens compatíveis, Dependabot detecta automaticamente se você usa uma função vulnerável e adiciona a etiqeuta de "Chamada vulnerável" aos alertas afetados. Você pode usar estas informações na exibição de Alertas do Dependabot para triar e priorizar o trabalho de correção de forma mais eficaz.
Observação: Durante a versão beta, esse recurso está disponível apenas para novas consultorias do Python criadas depois de 14 de abril de 2022 e para um subconjunto de consultorias históricas do Python. GitHub está trabalhando para preencher dados através de consultorias históricas do Python, que são adicionadas constantemente. As chamadas vulneráveis são destacadas apenas nas páginas de Alertas do Dependabot.
Você pode filtrar a visualização para mostrar apenas alertas em que Dependabot detectou pelo menos uma chamada para uma função vulnerável usando o filtro has:vulnerable-calls
no campo de busca.
Para alertas quando chamadas vulneráveis forem detectadas, a página de detalhes de alerta mostra informações adicionais:
- Um ou mais blocos de código que mostram onde a função é usada.
- Uma anotação que lista a função em si, com um link para a linha onde a função é chamada.
Para obter mais informações, consulte "Revisando e corrigindo alertas" abaixo.
Visualizando Alertas do Dependabot
-
No GitHub.com, navegue até a página principal do repositório.
-
No seu nome de repositório, clique em Segurança.
-
Na barra lateral de segurança, clique em Alertas do Dependabot. If this option is missing, it means you don't have access to security alerts and need to be given access. For more information, see "Managing security and analysis settings for your repository."
-
Opcionalmente, para filtrar alertas, selecione o menu suspenso Repositório, Pacote, Ecossistema ou Manifesto e clique no filtro que você gostaria de aplicar. Você também pode digitar filtros na barra de pesquisa. For example,
ecosystem:npm
,has:patch
orscope:development
. Para ordenar alertas, selecione o menu suspenso Ordenar e clique na opção que deseja ordenar.You can also click a label on an alert to only show alerts of that type. For example, clicking the
Development
label in the list of alerts will only show alerts relating to dependencies used in development, not production. For information about the list of ecosystems supported, see "Supported ecosystems and manifests for dependency scope ." -
Clique no alerta que você gostaria de ver.
Revisando e corrigindo alertas
É importante garantir que todas as suas dependências estejam limpas de qualquer fraqueza de segurança. Quando Dependabot descobrir vulnerabilidades ou malware em suas dependências, você deve avaliar o nível de exposição do seu projeto e determinar quais medidas de correção devem ser tomadas para proteger seu aplicativo.
Se uma versão alterada da dependência estiver disponível, é possível gerar um pull request de Dependabot para atualizar essa dependência diretamente de um alerta do Dependabot. Se você tiver Atualizações de segurança do Dependabot habilitado, o pull request poderá estar vinculado ao alerta do Dependabot.
Nos casos em que uma versão alterada não está disponível ou em que você não puder atualizar para a versão segura, Dependabot irá compartilhar informações adicionais para ajudar você a determinar as próximas etapas. Ao clicar para ver um alerta de Dependabot, você pode ver todos os detalhes da consultoria de segurança para a dependência, incluindo as funções afetadas. Você pode então verificar se seu código chama as funções afetadas. Essa informação pode ajudar você a avaliar seu nível de risco e determinar soluções alternativas ou se você pode aceitar o risco representado pela consultoria de segurança.
Para as linguagens compatíveis, Dependabot detecta chamadas para funções vulneráveis para você. Ao ver um alerta marcado como "Chamada vulnerável", os detalhes incluem o nome da função e um link para o código que a chama. Muitas vezes, é possível tomar decisões com base nestas informações, sem ter de continuar explorando.
Corrigir dependências vulneráveis
-
Ver detalhes de um alerta. Para obter mais informações, consulte "Visualizando Alertas do Dependabot" (acima).
-
Se você tiver Atualizações de segurança do Dependabot habilitado, é possível que haja um link para um pull request que irá corrigir a dependência. Como alternativa, você pode clicar em Criar Dependabot atualização de segurança na parte superior da página de detalhes do alerta para criar um pull request.
-
Opcionalmente, se você não usar Atualizações de segurança do Dependabot, você pode usar as informações na página para decidir para qual versão de dependência atualizar e criar um pull request para atualizar a dependência de uma versão segura.
-
Quando estiver pronto para atualizar a dependência e resolver a vulnerabilidade, faça merge da pull request.
Cada pull request criado por Dependabot inclui informações sobre os comandos que você pode usar para controlar Dependabot. Para obter mais informações, consulte "Gerenciar pull requests para atualizações de dependências".
Ignorando Alertas do Dependabot
Dica: Você só pode ignorar alertas abertos.
Se você agendar um extenso trabalho para atualizar uma dependência ou decidir que um alerta não precisa ser corrigido, você poderá ignorar o alerta. Ignorando alertas que você já avaliou facilita a triagem de novos alertas conforme eles aparecem.
- Ver detalhes de um alerta. Para obter mais informações, consulte "Visualizando dependências vulneráveis" (acima).
- Selecione o menu suspenso "Ignorar" e clique em um motivo para ignorar o alerta. Alertas não descartados podem ser reabertos posteriormente.
Ignorar múltiplos alertas de uma vez
- Veja o Alertas do Dependabot aberto. Para obter mais informações, consulte "Visualizando Alertas do Dependabot".
- Opcionalmente, filtre a lista de alertas selecionando um menu suspenso e, em seguida, clicando no filtro que você gostaria de aplicar. Você também pode digitar filtros na barra de pesquisa.
- À esquerda de cada título de alerta, selecione os alertas que deseja descartar.
- Opcionalmente, na parte superior da lista de alertas, selecione todos os alertas na página.
- Selecione o menu suspenso "Ignorar alertas" e clique em um motivo para ignorar os alertas.
Visualizando e atualizando alertas fechados
Dica: Você só pode reabrir alertas que já foram ignorados anteriormente. Os alertas fechados que já foram corrigidos não podem ser reabertos.
- No GitHub.com, navegue até a página principal do repositório.
- No seu nome de repositório, clique em Segurança.
- Na barra lateral de segurança, clique em Alertas do Dependabot. If this option is missing, it means you don't have access to security alerts and need to be given access. For more information, see "Managing security and analysis settings for your repository."
- Para ver apenas os alertas fechados, clique em Fechados.
- Clique no alerta que você gostaria de ver ou atualizar.
- Opcionalmente, se o alerta foi descartado e você deseja reabri-lo, clique em Reabrir. Os alertas já corrigidos não podem ser reabertos.
Reabrindo vários alertas ao mesmo tempo
- Veja o Alertas do Dependabot fechado. Para obter mais informações, consulte "Visualizando e atualizando alertas fechados" (acima).
- À esquerda de cada título de alerta, selecione os alertas que deseja reabrir.
- Opcionalmente, na parte superior da lista de alertas, selecione todos os alertas fechados na página.
- Clique em Reabrir para reabrir os alertas. Os alertas já corrigidos não podem ser reabertos.