Segurança em Código Gerado por IA — Riscos e Defesas
Baixar PDFRiscos de segurança específicos de código gerado por IA: prompt injection, supply chain, secrets, vulnerabilities e como se proteger.
Código gerado por IA tem riscos de segurança que código escrito manualmente não tem. Não porque a IA é "pior" — mas porque ela otimiza para "parecer certo", não para "ser seguro".
Os 5 riscos específicos de IA
1. Dependências vulneráveis
A IA pode sugerir pacotes com vulnerabilidades conhecidas, especialmente se o modelo foi treinado com dados antigos.
Defesa:
# Sempre auditar dependências sugeridas pela IA
npm audit
pnpm audit
# Verificar se pacote existe e é mantido
npm info [package] maintainers
npm info [package] lastModified2. Secrets hardcoded
A IA pode gerar código com API keys, passwords ou tokens "de exemplo" que parecem reais.
Defesa:
# Hook onCommit para detectar secrets
# .claude/settings.json
{
"hooks": {
"onCommit": "git diff --cached | grep -iE '(api_key|password|secret|token)\\s*[:=]\\s*[\"\\x27][A-Za-z0-9]{10,}' && exit 1 || true"
}
}3. Injeção de código malicioso (raro mas possível)
Se a IA treinou em repositórios com código malicioso, pode reproduzir padrões de ataque.
Defesa: sempre revisar código de funções sensíveis (auth, payment, file I/O, network).
4. Prompt injection via documentação
Se a IA lê documentação externa (specs, docs), um adversário pode injetar instruções maliciosas nos arquivos.
Defesa: não incluir conteúdo de fontes não confiáveis no context window da IA.
5. Over-reliance em autocomplete
A IA pode completar código com padrões inseguros que "parecem familiares" mas são errados.
Exemplo perigoso:
// IA completou isso — parece certo mas é SQL injection
const query = `SELECT * FROM users WHERE id = ${userId}`;Defesa: nunca aceitar autocomplete em código de segurança sem revisão manual.
Checklist de segurança por módulo
Auth & Autenticação
- Passwords hasheadas (bcrypt cost ≥ 10)
- JWT com expiry curto (≤ 15min)
- Refresh tokens com rotação
- Rate limiting em login
- CORS configurado corretamente
API
- Input validation em todos os endpoints
- Output sanitization (nunca expor internals)
- Error messages não revelam stack trace em produção
- Request size limits
- Authentication middleware em rotas protegidas
Database
- Parameterized queries (nunca string interpolation)
- Connection pooling configurado
- Credentials em variáveis de ambiente
- Backup automático configurado
File I/O
- Path traversal prevenido
- File size limits
- MIME type validation
- Upload directory fora do web root
Referências
- Mozilla: Hardening Firefox com Claude — 423 bugs de segurança corrigidos
- OWASP Top 10 for LLM Applications
Migração de Código Legado com IA — Guia Prático
Como usar IA para migrar, modernizar e refatorar código legado. Estratégias incrementais, testes de segurança e como evitar regressões.
Anti-Patterns — Erros Comuns ao Usar IA no Desenvolvimento
Os 12 erros mais comuns que desenvolvedores cometem ao usar IA para código. Como identificar e corrigir cada um deles.