# Como Corrigir Agentes de IA que Inventam Pacotes npm Falsos

> Por que agentes de IA alucinam pacotes npm que não existem, como identificar e como impedir.

**Type:** Failure  
**Tools:** Cursor, Claude Code, Codex  
**Stack:** TypeScript  
**Updated:** 2026-06-08

---

Uma falha comum e perigosa: o agente importa um pacote que não existe —
ou pior, um que um squatter registrou para combinar com o nome alucinado.

## O sintoma

O agente escreve um import para um pacote de nome plausível e o adiciona ao
`package.json`, mas a instalação falha ou puxa um pacote desconhecido.

```txt
import { magicValidate } from "zod-magic-helpers"; // does not exist
```

## Por que acontece

Os modelos fazem correspondência de padrões em convenções de nomenclatura ("provavelmente existe um pacote `-helpers`")
e geram nomes que *soam* reais. Esta é a base dos ataques de "slopsquatting" na cadeia de suprimentos.

## Como identificar

- Uma dependência que você não reconhece aparece no diff.
- O pacote tem downloads quase zero ou foi publicado muito recentemente.
- Instalação resolve um nome que difere por um caractere de um pacote popular.

## Como corrigir

```txt
[ ] 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 diff
```

## Prompt de correção

```txt title="Fix Prompt"
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.
```

## Teste

```bash
bun pm view <package> 2>/dev/null || echo "DOES NOT EXIST"
```