Pular para o conteúdo
SECVOLTaudit

7 padrões de falha em APIs de vibe coding

Leitura ~6 min · Atualizado em outubro de 2026

Sete padrões explicam a maior parte do que encontramos em APIs geradas por IA. Cada um traz a evidência que vale no laudo, como testar e a correção. Nenhum depende de ler o código-fonte.

O mapa

#PadrãoSeveridade
01BOLA/IDORCrítica
02Banco sem isolamento por registroCrítica
03Chave de administrador no bundleCrítica
04Rota sem sessãoCrítica
05CORS com credenciaisAlta
06Sourcemap e debug em produçãoAlta
07Endpoint de IA sem limiteAlta

Os sete padrões

01 · BOLA/IDOR: trocar o ID e ver o dado de outro usuário

O servidor confere que existe sessão, mas não que o recurso pertence a quem chamou. É a falha mais comum e a mais grave em API.

GET /api/items/42 HTTP/2
Authorization: Bearer <token da conta A>

200 · item da conta B

Como testar: Duas contas, um recurso em cada, troca do ID na requisição.

Correção: Checar o dono do recurso no servidor, em toda leitura e escrita.

Afeta: Lovable, Bolt, Cursor, v0

02 · Banco sem isolamento por registro

A chave usada pelo front é pública por design. Sem a política que decide quais linhas cada usuário vê, a API devolve a tabela inteira.

GET /rest/v1/profiles?select=* HTTP/2
apikey: <chave pública do app>

200 · 12.481 linhas · e-mails e telefones

Como testar: Consultar uma tabela com a chave pública e comparar com o que a sua conta deveria ver.

Correção: Ligar o isolamento em todas as tabelas e testar cada uma com a chave pública.

Afeta: Lovable, Ollama, Replit

03 · Chave de administrador no bundle

A credencial que ignora as regras vai para o JavaScript público. Qualquer visitante copia e usa.

const key = "eyJhbGciOiJIUzI1NiJ9...";

payload: { "role": "service_role" }

Como testar: Procurar prefixos e JWT no bundle; decodificar o payload.

Correção: Remover do front, mover para o servidor e rotacionar a chave.

Afeta: Lovable, Bolt, opencode

04 · Rota sem sessão

O front esconde o botão, mas o handler responde para qualquer chamada. Esconder no cliente não é autorização.

GET /api/admin/users HTTP/2
(sem cookie)

200 · 412 registros · sem autenticação

Como testar: Chamar a rota em aba anônima e ver se devolve dado.

Correção: Exigir sessão e checar papel no início do handler.

Afeta: v0, Claude Code, opencode

05 · CORS com credenciais

A resposta reflete qualquer origem e aceita credenciais. Um site hostil lê a resposta autenticada em nome do usuário.

GET /api/me HTTP/2
Origin: https://evil.example

Access-Control-Allow-Origin: https://evil.example
Access-Control-Allow-Credentials: true

Como testar: Enviar origem hostil e conferir os dois headers.

Correção: Restringir a origens conhecidas e nunca combinar wildcard com credenciais.

Afeta: Bolt, Base44, Replit

06 · Sourcemap e debug em produção

O deploy manteve artefatos de desenvolvimento: código-fonte, caminhos internos e configuração expostos.

GET /assets/index.js.map HTTP/2

200 · JSON de sourcemap · fontes originais

Como testar: Acrescentar .map à URL de um JS e checar /.env e /api/debug.

Correção: Desativar sourcemaps e remover rotas de debug do deploy.

Afeta: Replit, Bolt, v0

07 · Endpoint de IA sem limite

Sem rate limit, um script transforma a feature em consumo ilimitado de tokens na sua conta.

POST /api/chat × 20 em sequência

20× 200 · nenhum 429

Como testar: Disparar 20 requisições seguidas e observar o status.

Correção: Limite por IP e por usuário, com 429 e Retry-After.

Afeta: Lovable, Cursor, openai via Ollama

Como testar os sete em 48h

A Metodologia Express combina verificação automatizada com revisão manual: 11 checks rodam na suíte e os demais dependem de duas contas e julgamento. O laudo declara o que foi testado e o que ficou fora.

A metodologia completa está em as seis fases; os checks, em o que testamos. Para o contexto de decisão, leia por que fazer pentest em um SaaS de vibe coding.

Referências

Paulo Ramos, Fundador e auditor

Paulo Ramos

Fundador e auditor · sobre · LinkedIn

Perguntas frequentes

Esses sete padrões cobrem tudo?
Não. Eles cobrem o que mais aparece em app gerado por IA. Lógica de negócio, SSRF e webhook sem assinatura entram conforme o escopo.
O teste cobre os sete?
Onze verificações rodam automatizadas e as demais entram na revisão manual. O escopo da Metodologia Express declara o que foi testado e o que ficou fora.
Preciso de acesso ao código?
Não. O teste é black-box: usamos o que está público e duas contas de teste. O repositório não é necessário.