Skip to main content
Skip to content

Résoudre un hôte bloqué dans une tâche de mise à jour de Dependabot

Diagnostiquez une tâche de mise à jour qui échoue parce que Dependabot n’a pas pu joindre un hôte, et autorisez l’hôte dont il a besoin.

Chaque Dependabot travail de mise à jour s’exécute derrière un proxy HTTP/HTTPS. Le proxy vérifie que l’hôte de chaque requête sortante figure dans une liste d’autorisation de sortie. Il bloque les requêtes adressées à des hôtes qui ne figurent pas sur celle-ci.

Cela réduit le risque qu’une dépendance malveillante ou un script de build puisse envoyer le contenu du référentiel ou les informations d’identification du Registre à une destination non approuvée. Il n’empêche pas les données d’être envoyées à un hôte autorisé ou compromis.

La plupart des emplois ne sont pas affectés. La liste d’autorisation couvre déjà les registres publics, les miroirs, les CDN et les hôtes de téléchargement pour les écosystèmes pris en charge, ainsi que l’infrastructure de GitHub. Les registres configurés et référencés pour une tâche sont eux aussi automatiquement autorisés.

Un registre est configuré uniquement lorsque vous le déclarez sous la clé de niveau registries supérieur dans votre dependabot.yml fichier. Le fait de définir un registre uniquement dans un fichier de configuration natif à l’écosystème, comme .npmrc, nuget.config, pip.conf ou le settings.xml de Maven, ne permet pas de définir son hôte. Le gestionnaire de package lit le Registre à partir de ce fichier et tente de l’atteindre, mais le proxy bloque la requête.

Identification d’une demande bloquée dans les journaux des travaux

Lorsque le proxy bloque une requête, il retourne 403 Forbidden au travail de mise à jour. L’échec s’affiche généralement en tant qu’erreur réseau ou d’authentification à partir du gestionnaire de package. Vérifiez les lignes proxy dans le journal des travaux pour confirmer la cause. Pour savoir comment ouvrir les journaux des travaux, consultez Affichage des journaux de travaux Dependabot.

Une requête bloquée ressemble à ceci :

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

Les lignes du proxy commencent par proxy |, et [052] est le numéro de requête qui regroupe les lignes correspondant à une même requête. La egress not allowlisted ligne nomme l’hôte exact qui a échoué la vérification. Utilisez cet hôte pour décider de ce qu’il faut faire ensuite.

Comment les hôtes sont autorisés

Deux ensembles indépendants d’hôtes sont autorisés pour chaque travail.

Les hôtes par défaut incluent des registres publics, des miroirs, des CDN et des hôtes de téléchargement pour les écosystèmes pris en charge. Ils comprennent également l’infrastructure GitHub et Dependabot. GitHub gère cette liste dans le dependabot/proxy référentiel et s’applique à chaque travail.

Les hôtes par travail proviennent de registres configurés pour un travail spécifique. Déclarez un registre sous la clé de niveau registries supérieur dans votre dependabot.yml fichier et référencez-le à partir d’une updates entrée. L’hôte du registre est alors autorisé pour cette tâche sans modifier les valeurs par défaut.

Déclarez le Registre même s’il autorise l’accès anonyme. Il s’agit de la déclaration dans dependabot.yml, et non de la présence d’informations d’identification, qui rend l’hôte accessible.

Cette répartition détermine à quelle catégorie appartient un hôte bloqué.

  • Un registre public ou un site de téléchargement dont les tâches d’autres utilisateurs peuvent légitimement avoir besoin a sa place dans la configuration par défaut. Consultez Ajout d’un hôte aux valeurs par défaut.
  • Un registre privé ou propre à une organisation doit figurer dans votre fichier dependabot.yml, jamais dans les paramètres par défaut. Configurez-le sous registries afin qu’il soit autorisé uniquement pour les travaux qui en ont besoin. Consultez « Configuration de l’accès aux registres privés pour Dependabot ».

Ajout d’un hôte aux valeurs par défaut

Si un hôte bloqué est un registre public, un miroir, un CDN ou un hôte de téléchargement, vous pouvez proposer son ajout en ouvrant une pull request sur dependabot/proxy. Un ajout accepté s’applique à chaque tâche de mise à jour Dependabot, pas seulement aux tâches de votre organisation.

Le dépôt fournit une compétence de l’agent qui guide Copilot tout au long de ce processus, depuis la vérification que l’hôte doit figurer dans la configuration par défaut jusqu’à l’ouverture de la pull request. Dans le dépôt dependabot/proxy, dites à Copilot qu’un hôte est bloqué, demandez-lui d’ajouter un hôte à la liste d’autorisation, ou collez les lignes bloquées de votre journal d’exécution. Par exemple, « repo.example.org est bloqué » ou « veuillez ajouter foo.bar.com à la liste des autorisations ». Dans le cas contraire, suivez ces étapes.

  1. Vérifiez que l’hôte fait partie de la configuration par défaut. Il doit s’agir d’un hôte public dont les travaux d’autres utilisateurs peuvent légitimement avoir besoin, et non d’un hôte spécifique à votre organisation. Vérifiez qui contrôle l’hôte et pourquoi un écosystème pris en charge doit y accéder. Si l’hôte est spécifique à votre organisation, configurez-le dans votre dependabot.yml fichier à la place.
  2. Vérifiez l’hôte à partir de vos journaux de travail. Notez l’hôte exact nommé sur la egress not allowlisted ligne. Les registres redirigent souvent les téléchargements vers un hôte de stockage ou CDN distinct. Vérifiez donc si plusieurs hôtes ont été bloqués.
  3. Ouvrez une pull request pour ajouter le nom d’hôte exact à la section appropriée de internal/handlers/egress_allowlist_defaults.yaml. Incluez une courte note expliquant qui contrôle l’hôte et ce qu’il sert. Suivez les commentaires du fichier pour choisir la section appropriée et appliquer ses conventions. Un responsable examinera la modification.

Si vous ne savez pas si un hôte bloqué doit être ajouté aux valeurs par défaut ou être configuré dans votre fichier dependabot.yml, posez la question dans le dépôt dependabot/proxy.