Aller au contenu principal

Correctif de sécurité : Dockerfile inconnu

typehttps://docs.frem.sh/reference/api/errors/autofix-image-source-unknown
Statut HTTP422 Unprocessable Entity

Ce que cela signifie

Renvoyée par POST /orgs/{org}/code-security/images/findings/{id}/autofix (Correctifs de sécurité). Aucune pull request n’a été demandée.

Depuis le 2026-10-14, le même refus est renvoyé avec le type security-fix-image-source-unknown par POST /orgs/{org}/dependency-updates/security-fixes/requests. Les chemins ci-dessus sont obsolètes et continuent de renvoyer autofix-image-source-unknown jusqu’au 2027-10-15. Basez votre logique sur l’un ou l’autre type.

Exemple de message detail renvoyé avec cette erreur :

  • fremforge cannot tell which repository and commit built this image. Build and push it from an Actions run of a repository in this organisation, or add the OCI labels org.opencontainers.image.source and org.opencontainers.image.revision (docker/metadata-action sets both). The next image scan then finds its Dockerfile.

La réponse contient aussi "reason": "image_source_unknown".

Que faire

fremforge n’a pas pu déterminer quel Dockerfile a construit l’image : soit l’image ne porte pas les labels org.opencontainers.image.source et org.opencontainers.image.revision et n’a pas été poussée par une exécution Actions d’un dépôt de votre organisation, soit aucun Dockerfile de ce commit n’a de base par laquelle l’image commence, soit deux en ont une, soit le registre de la base n’a pas pu être lu. Le detail précise lequel de ces cas s’applique. Construisez et poussez l’image depuis Actions, ou ajoutez les labels lors de la construction (docker/metadata-action définit les deux).

Forme de la réponse

Toutes les erreurs de l’API fremforge sont au format problem+json de la RFC 9457 :

{
  "type": "https://docs.frem.sh/reference/api/errors/autofix-image-source-unknown",
  "title": "Unprocessable Entity",
  "status": 422,
  "detail": "...",
  "reason": "image_source_unknown"
}

Basez votre logique sur type, et non sur title ou detail : ces champs sont destinés à être lus par un humain et peuvent être reformulés.