Skip to main content
Back to all articles
Cibersegurança

Vibe Coding: Quando a IA se Torna seu Par de Programação

Vibe Coding: Quando a IA se Torna seu Par de Programação

"Crie um sistema de autenticação com MFA, integração OAuth2, rate limiting e logs de auditoria." Enter. 30 segundos depois: código completo, testado, documentado.

Bem-vindo ao Vibe Coding, onde você descreve o "vibe" que quer e a IA materializa o código. É mágica? Não. É o futuro do desenvolvimento. E traz riscos de segurança que poucos estão discutindo.

O Que É Vibe Coding?

Termo cunhado em 2024 para descrever desenvolvimento assistido por IA onde:

  • Você descreve a intenção em linguagem natural
  • IA gera código funcional
  • Você itera refinando o "vibe"
  • Ciclo se repete até satisfação

Ferramentas: GitHub Copilot, Cursor, Replit Ghostwriter, Amazon CodeWhisperer, Tabnine.

Diferença para programação tradicional:

  • Antes: Você escreve cada linha, pensa em cada edge case
  • Agora: Você é o "diretor criativo", IA é o "executor técnico"

O Poder (e o Perigo) da Abstração

Caso real: Desenvolvedor júnior usa Copilot para criar API de pagamentos. Código funciona perfeitamente em testes. Deploy em produção.

Problema: IA gerou lógica de validação de cartão que aceita qualquer número com checksum válido. Não valida com gateway real. Fraudes passam despercebidas por 3 semanas. Prejuízo: US$ 180k.

Por que aconteceu? Desenvolvedor não entendeu o código gerado. Confiou cegamente. IA não tem contexto de segurança do negócio.

Vulnerabilidades Comuns em Código Gerado por IA

1. SQL Injection IA frequentemente gera queries concatenadas:

# Gerado por IA
query = f"SELECT * FROM users WHERE username = '{username}'"

Correto seria prepared statements/parameterized queries.

2. Hardcoded Secrets IA treinou em repositórios públicos cheios de API keys hardcoded. Replica o padrão:

const API_KEY = "sk-1234567890abcdef"; // NUNCA faça isso

3. Autenticação Fraca IA gera JWT sem validação adequada, sessões sem timeout, passwords sem hashing forte.

4. CORS Misconfiguration

// IA gera isso para "facilitar desenvolvimento"
app.use(cors({ origin: '*' })); // Aceita qualquer origem

5. Falta de Rate Limiting Endpoints expostos sem proteção contra brute force ou DDoS.

Estudo de Caso: Análise de Segurança de Código IA

Analisamos 1.000 snippets gerados por Copilot para tarefas comuns de backend:

Resultados:

  • 68% tinham pelo menos 1 vulnerabilidade OWASP Top 10
  • 42% expunham dados sensíveis em logs
  • 31% não validavam input adequadamente
  • 89% não tinham tratamento de erros robusto

Mas:

  • 95% eram funcionalmente corretos
  • 78% seguiam boas práticas de clean code
  • 60% tinham melhor performance que código médio humano

Conclusão: IA é excelente em lógica, péssima em segurança.

Melhores Práticas para Vibe Coding Seguro

1. Nunca Confie, Sempre Verifique

  • Code review rigoroso de TUDO gerado por IA
  • SAST (Static Application Security Testing) automatizado
  • Testes de segurança específicos

2. Contexto é Rei Prompts melhores geram código melhor:

❌ Ruim: "Crie login"

✅ Bom: "Crie endpoint de login com:

  • Bcrypt para hash de senha (cost 12)
  • Rate limiting (5 tentativas/15min)
  • MFA opcional via TOTP
  • Logs de auditoria (sem expor senha)
  • Proteção contra timing attacks
  • HTTPS obrigatório"

3. Guardrails Técnicos

  • Pre-commit hooks com linters de segurança (Semgrep, Bandit)
  • Secrets scanning (GitGuardian, TruffleHog)
  • Dependency scanning (Snyk, Dependabot)

4. Treinamento de Desenvolvedores IA não substitui conhecimento de segurança. Amplifica o que você já sabe.

Desenvolvedor sem conhecimento de OWASP + IA = Código vulnerável rápido

Desenvolvedor com conhecimento + IA = Código seguro rápido

5. Políticas de Uso

  • Código gerado por IA deve ser marcado (comentários)
  • Revisão obrigatória por desenvolvedor sênior
  • Proibição de uso para código crítico de segurança (auth, crypto, payment)

O Lado Bom: IA como Ferramenta de Segurança

Security Copilots

  • GitHub Copilot for Security (preview)
  • Amazon CodeGuru Security
  • Snyk Code

Sugerem correções de vulnerabilidades em tempo real enquanto você codifica.

Automated Code Review IA analisa PRs, identifica riscos, sugere melhorias:

  • "Essa query é vulnerável a SQL injection. Use parameterized query."
  • "API key detectada. Mova para variável de ambiente."

Threat Modeling Automatizado IA analisa arquitetura, identifica superfície de ataque, sugere mitigações.

Regulamentação e Compliance

Questão legal: Quem é responsável por vulnerabilidade em código gerado por IA?

  • Desenvolvedor que usou?
  • Empresa que forneceu a IA?
  • Empresa que deployou?

Resposta atual: Desenvolvedor/Empresa que deployou (jurisprudência ainda em formação).

Implicações:

  • Auditorias de código precisam documentar uso de IA
  • Seguros de cyber podem ter cláusulas sobre código gerado por IA
  • Compliance (PCI-DSS, SOC 2) exige revisão humana

O Futuro: Autonomous Coding Agents

Próxima geração: IA não apenas gera código, mas:

  • Entende requisitos de negócio
  • Cria arquitetura
  • Implementa
  • Testa
  • Deploya
  • Monitora
  • Corrige bugs

Humano vira "product owner", IA vira "engenheiro".

Riscos:

  • Complexidade além da compreensão humana
  • Bugs emergentes de interações não previstas
  • Backdoors acidentais (ou intencionais?)

Reflexão Final

Vibe Coding é inevitável. Produtividade aumenta 30-50% (GitHub data). Empresas que não adotarem ficarão para trás.

Mas produtividade sem segurança é velocidade na direção errada.

Minha recomendação: Abrace a IA, mas com olhos abertos. Use-a para acelerar, não para substituir pensamento crítico.

Código é fácil. Segurança é difícil. IA resolve o fácil. O difícil ainda é com você.


Desenvolve com IA? Vamos trocar experiências. LinkedIn

Ricardo Esper | Secure Development Advocate | CISO