{
  "id": "ai-invents-fake-npm-packages",
  "type": "failures",
  "category": "failures",
  "locale": "es",
  "url": "/es/failures/ai-invents-fake-npm-packages",
  "title": "Cómo Solucionar que los Agentes de Codificación de IA Inventen Paquetes npm Falsos",
  "description": "Por qué los agentes de IA alucinan paquetes npm que no existen, cómo detectarlo y cómo detenerlo.",
  "tools": [
    "Cursor",
    "Claude Code",
    "Codex"
  ],
  "stack": [
    "TypeScript"
  ],
  "tags": [
    "dependencies",
    "hallucination",
    "security"
  ],
  "difficulty": null,
  "updated": "2026-06-08",
  "markdown": "Un fallo común y peligroso: el agente importa un paquete que no existe — o peor, uno que un ocupante ha registrado para coincidir con el nombre alucinado.\n\n## El síntoma\n\nEl agente escribe una importación para un paquete de nombre plausible y lo añade a `package.json`, pero la instalación falla o extrae un paquete desconocido.\n\n```txt\nimport { magicValidate } from \"zod-magic-helpers\"; // does not exist\n```\n\n## Por qué sucede\n\nLos modelos buscan patrones en las convenciones de nomenclatura (\"probablemente haya un paquete `-helpers`\") y generan nombres que *suenan* reales. Esta es la base de los ataques a la cadena de suministro de \"slopsquatting\".\n\n## Cómo detectarlo\n\n- Aparece una dependencia que no reconoces en el diff.\n- El paquete tiene descargas casi nulas o se publicó muy recientemente.\n- La instalación resuelve un nombre que difiere en un carácter de un paquete popular.\n\n## Cómo solucionarlo\n\n```txt\n[ ] Verify every new dependency exists and is the one you intend\n[ ] Check weekly downloads + repo link before installing\n[ ] Prefer packages already in the lockfile\n[ ] Pin versions; review the lockfile diff\n```\n\n## Prompt de corrección\n\n```txt title=\"Fix Prompt\"\nYou added a dependency I can't verify. List every new package, its npm URL,\nand weekly download count. Replace any unverified package with a standard,\nwidely-used alternative or inline the logic instead.\n```\n\n## Prueba\n\n```bash\nbun pm view <package> 2>/dev/null || echo \"DOES NOT EXIST\"\n```"
}