Cada Dependabot tarefa de atualização é executada por trás de um proxy HTTP/HTTPS. O proxy verifica o host de cada solicitação de saída em relação a uma lista de permissões de saída. Ele bloqueia solicitações para hosts que não estão nele.
Isso reduz o risco de que uma dependência mal-intencionada ou um script de build possa enviar conteúdo do repositório ou credenciais do Registro para um destino não aprovado. Ele não impede que os dados sejam enviados para um host permitido ou comprometido.
A maioria dos trabalhos não são afetados. A lista de permissões já abrange registros públicos, espelhos, CDNs e servidores de download para ecossistemas compatíveis, bem como a infraestrutura de GitHub. Os registros configurados e referenciados para um trabalho também são permitidos automaticamente.
Um registro só é considerado configurado quando você o declara na chave registries de nível superior no arquivo dependabot.yml. Definir um registro somente em um arquivo de configuração nativo do ecossistema, como .npmrc, nuget.config, pip.conf ou o settings.xml do Maven, não permite identificar seu host. O gerenciador de pacotes lê o registro desse arquivo e tenta alcançá-lo, mas o proxy bloqueia a solicitação.
Identificando uma solicitação bloqueada em logs de trabalho
Quando o proxy bloqueia uma solicitação, ele retorna 403 Forbidden para o trabalho de atualização. A falha geralmente aparece como um erro de rede ou autenticação do gerenciador de pacotes. Verifique as linhas de proxy no log da tarefa para confirmar a causa. Para saber como abrir logs de trabalho, consulte Exibir logs de trabalho do Dependabot.
Uma solicitação bloqueada tem esta aparência:
proxy | 2026/09/24 20:58:15 [052] GET https://packages.example.com:443/v2/my-package/tags/list
proxy | 2026/09/24 20:58:15 [052] * egress not allowlisted packages.example.com
proxy | 2026/09/24 20:58:15 [052] 403 https://packages.example.com:443/v2/my-package/tags/list
proxy | 2026/09/24 20:58:15 [052] Remote response: Forbidden
As linhas do proxy são prefixadas com proxy |, e [052] é o número de solicitação que agrupa as linhas para uma única solicitação. A egress not allowlisted linha nomeia o host exato que falhou na verificação. Use esse host para decidir o que fazer a seguir.
Como os hosts são autorizados
Dois conjuntos independentes de hosts são permitidos para cada tarefa.
Os hosts padrão incluem registros públicos, espelhos, CDNs e hosts de download para ecossistemas com suporte. Eles também incluem infraestrutura de GitHub e Dependabot.
GitHub mantém essa lista no dependabot/proxy repositório e se aplica a cada trabalho.
Os hosts por trabalho vêm de registros configurados para um trabalho específico. Declare um registro sob a chave de nível superior registries no arquivo dependabot.yml e referencie-o em uma entrada updates. O host do registro fica autorizado para esse trabalho sem alterar as configurações padrão.
Declare o registro mesmo se ele permitir acesso anônimo. É a declaração em dependabot.yml, não a presença de credenciais, que torna o host acessível.
Essa divisão determina onde pertence um host bloqueado.
- Um registro público ou servidor de download de que as tarefas de outros usuários podem legitimamente precisar deve estar na configuração padrão. Consulte Como adicionar um host aos padrões.
- Um repositório privado ou específico da organização deve ficar no seu arquivo
dependabot.yml, nunca nos arquivos padrão. Configure-o emregistriespara que ele seja permitido apenas para os trabalhos que precisam dele. Consulte Configurando o acesso a registros privados para Dependabot.
Adicionando um host aos padrões
Se um host bloqueado for um registro público, mirror, CDN ou host de download, você pode propor sua adição abrindo um pull request em dependabot/proxy. Uma adição aprovada se aplica a cada tarefa de atualização Dependabot, não apenas às tarefas da sua organização.
O repositório fornece uma habilidade de agente que percorre Copilot esse processo, desde verificar se o host pertence aos padrões até abrir a solicitação de pull. Ao trabalhar no repositório dependabot/proxy, informe Copilot de que um host está bloqueado, peça para adicionar um host à lista de permissões ou cole as linhas bloqueadas do log da tarefa. Por exemplo, "repo.example.org está bloqueado" ou "por favor, adicione foo.bar.com à lista de permissões". Caso contrário, siga as etapas a seguir.
- Confirme se o host está incluído nas configurações padrão. Deve ser um host público que os trabalhos de outros usuários possam precisar legitimamente, não um que seja específico para sua organização. Confirme quem controla o host e por que um ecossistema com suporte requer acesso a ele. Se o host for específico para sua organização, configure-o nesse caso em seu arquivo
dependabot.yml. - Verifique o host nos logs do seu trabalho. Observe o host exato nomeado na
egress not allowlistedlinha. Os registros geralmente redirecionam downloads para um armazenamento separado ou host CDN, portanto, verifique se mais de um host foi bloqueado. - Abra uma solicitação de pull para adicionar o host exato à seção apropriada de
internal/handlers/egress_allowlist_defaults.yaml. Inclua uma breve nota explicando quem controla o host e o que ele serve. Siga os comentários no arquivo para escolher a seção certa e aplicar suas convenções. Um mantenedor examinará a alteração.
Se você não tiver certeza se um host bloqueado deve ser adicionado aos padrões ou configurado em seu dependabot.yml arquivo, pergunte no dependabot/proxy repositório.