Comment corriger les agents de codage IA qui inventent des packages npm factices
Pourquoi les agents IA hallucinent des packages npm qui n'existent pas, comment les repérer et comment y mettre fin.
CursorClaude CodeCodex TypeScript
Une défaillance courante et dangereuse : l’agent importe un package qui n’existe pas — ou pire, un package qu’un squatteur a enregistré pour correspondre au nom halluciné.
Le symptôme
L’agent écrit une importation pour un package au nom plausible et l’ajoute à
package.json, mais l’installation échoue ou récupère un package inconnu.
import { magicValidate } from "zod-magic-helpers"; // does not existPourquoi cela se produit
Les modèles effectuent une correspondance de modèles sur les conventions de nommage (“il y a probablement un package -helpers”) et génèrent des noms qui semblent réels. C’est la base des attaques de la chaîne d’approvisionnement par “slopsquatting”.
Comment le repérer
- Une dépendance que vous ne reconnaissez pas apparaît dans le diff.
- Le package a presque zéro téléchargement ou a été publié très récemment.
- L’installation résout un nom qui diffère d’un caractère d’un package populaire.
Comment le corriger
[ ] Verify every new dependency exists and is the one you intend[ ] Check weekly downloads + repo link before installing[ ] Prefer packages already in the lockfile[ ] Pin versions; review the lockfile diffInvite de correction
You added a dependency I can't verify. List every new package, its npm URL,and weekly download count. Replace any unverified package with a standard,widely-used alternative or inline the logic instead.Test
bun pm view <package> 2>/dev/null || echo "DOES NOT EXIST"