Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Sobre o gráfico de dependências

Você pode usar o gráfico de dependências para identificar todas as dependências do seu projeto. O gráfico de dependências é compatível com uma série de ecossistemas de pacotes populares.

Sobre o gráfico de dependências

The dependency graph is a summary of the manifest and lock files stored in a repository and any dependencies that are submitted for the repository using the Dependency submission API (beta). Para cada repositório, ele mostra:

  • As dependências, os ecossistemas e os pacotes do qual depende
  • Dependentes, os repositórios e pacotes que dependem dele

Ao fazer push de um commit para o GitHub, que muda ou adiciona um manifesto compatível ou um arquivo de bloqueio para o branch-padrão, o gráfico de dependências será atualizado automaticamente. Além disso, o gráfico é atualizado quando alguém faz push de uma alteração no repositório de uma de suas dependências. Para obter informações sobre os ecossistemas compatíveis e arquivos de manifesto, consulte "ecossistemas de pacotes compatíveis" abaixo.

Additionally, you can use the Dependency submission API (beta) to submit dependencies from the package manager or ecosystem of your choice, even if the ecosystem is not supported by dependency graph for manifest or lock file analysis. O gráfico de dependência exibirá as dependências submetidas agrupadas pelo ecossistema, mas separadamente das dependências analisadas dos arquivos manifestos ou de bloqueio. For more information on the Dependency submission API, see "Using the Dependency submission API."

Ao criar um pull request que contém alterações para dependências direcionadas ao branch padrão, GitHub usará o gráfico de dependências para adicionar revisões de dependências ao pull request. Eles indicam se as dependências contêm vulnerabilidades e, em caso afirmativo, a versão da dependência na qual a vulnerabilidade foi corrigida. Para obter mais informações, consulte "Sobre a revisão de dependências".

Disponibilidade do gráfico de dependências

O gráfico de dependências está disponível para cada repositório público que define as dependências em um ecossistema de pacote compatível usando um formato de arquivo compatível. Os administradores de repositórios também podem configurar o gráfico de dependências para repositórios privados. Para obter mais informações, consulte "Configurando o gráfico de dependências.

Dependências incluídas

The dependency graph includes all the dependencies of a repository that are detailed in the manifest and lock files, or their equivalent, for supported ecosystems, as well as any dependencies that are submitted using the Dependency submission API (beta). Isto inclui:

  • Direct dependencies, that are explicitly defined in a manifest or lock file or have been submitted using the Dependency submission API (beta)
  • Dependências indiretas dessas dependências diretas, também conhecidas como dependências transitórias ou subdependências

O gráfico de dependências identifica as dependências indiretas explicitamente a partir de um arquivo de bloqueio ou verificando as dependências das suas dependências diretas. Para o gráfico mais confiável, você deve usar os arquivos de bloqueio (ou o equivalente deles), pois definem exatamente quais versões das dependências diretas e indiretas você usa atualmente. Se você usar arquivos de bloqueio, você também terá certeza de que todos os contribuidores do repositório usarão as mesmas versões, o que facilitará para você testar e depurar o código.

Para obter mais informações sobre como GitHub ajuda você a entender as dependências do seu ambiente, consulte "Sobre a segurança da cadeia de suprimentos."

Dependentes incluídos

Para repositórios públicos, apenas repositórios públicos que dependem dele ou de pacotes que publica são relatados. Essas informações não foram relatadas para repositórios privados.

Usar o gráfico de dependências

Você pode usar o gráfico de dependências para:

Ecossistemas de pacote compatíveis

Os formatos recomendados definem explicitamente quais versões são usadas para todas as dependências diretas e indiretas. Se você usar esses formatos, seu gráfico de dependências será mais preciso. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies. Indirect dependencies that are inferred from a manifest file (or equivalent) are excluded from the checks for insecure dependencies.

Gerenciador de pacotesLinguagemFormatos recomendadosTodos os formatos compatíveis

| Cargo

[*] | Rust | Cargo.lock | Cargo.toml, Cargo.lock | | Composer | PHP | composer.lock | composer.json, composer.lock | | NuGet | .NET languages (C#, F#, VB), C++ | .csproj, .vbproj, .nuspec, .vcxproj, .fsproj | .csproj, .vbproj, .nuspec, .vcxproj, .fsproj, packages.config | | GitHub Actions workflows[†] | YAML | .yml, .yaml | .yml, .yaml | | Go modules | Go | go.sum | go.mod, go.sum | | Maven | Java, Scala | pom.xml | pom.xml | | npm | JavaScript | package-lock.json | package-lock.json, package.json| | pip | Python | requirements.txt, pipfile.lock | requirements.txt, pipfile, pipfile.lock, setup.py[‡] | | Python Poetry | Python | poetry.lock | poetry.lock, pyproject.toml | | RubyGems | Ruby | Gemfile.lock | Gemfile.lock, Gemfile, *.gemspec | | Yarn | JavaScript | yarn.lock | package.json, yarn.lock |

[*] Para a liberação inicial do suporte ao Rust, o gráfico de dependência não tem os metadados e mapeamentos necessários para detectar dependências transitivas. O gráfico de dependência exibe dependências transitivas, um nível de profundidade, quando são definidas em um arquivo cargo.lock . Alertas do Dependabot e Atualizações de segurança do Dependabot estão disponíveis para dependências vulneráveis definidas no arquivoCargo.lock`.

[†] Os fluxos de trabalho de GitHub Actions devem estar localizados no diretório .github/workflows/` de um repositório a ser reconhecido como manifestos. Todas as ações ou fluxos de trabalho referenciados que usam a sintaxe `jobs[*].steps[*].uses` or `jobs..uses` serão analisados como dependências. For more information, see "[Workflow syntax for GitHub Actions](/actions/using-workflows/workflow-syntax-for-github-actions)."

[‡] Se você listar suas dependências do Python nas no arquivo setup.py, é possível que não possamos analisar e listar todas as dependências do seu projeto.

Observação: As dependências do fluxo de trabalho de GitHub Actions são exibidas no gráfico de dependências para fins informativos. Os alertas de dependência não são atualmente compatíveis com os fluxos de trabalho de GitHub Actions.

You can use the Dependency submission API (beta) to add dependencies from the package manager or ecosystem of your choice to the dependency graph, even if the ecosystem is not in the supported ecosystem list above. O gráfico de dependência exibirá as dependências submetidas agrupadas pelo ecossistema, mas separadamente das dependências analisadas dos arquivos manifestos ou de bloqueio. You will only get Alertas do Dependabot for dependencies that are from one of the supported ecosystems of the Banco de Dados Consultivo GitHub. Para obter mais informações sobre a API de envio de dependência, consulte "Usando a API de envio de dependência"

Leia mais