O Elefante na Sala: Quem está revisando o código que a sua IA acabou de escrever?

Se você trabalha com desenvolvimento de software hoje, é provável que já tenha comemorado o fato de o GitHub Copilot, ChatGPT ou Cursor estarem escrevendo blocos inteiros do seu sistema em segundos. A promessa de ser um "desenvolvedor 10x" finalmente bateu à porta.

Mas tem um detalhe que pouca gente está discutindo a sério: a velocidade com que a IA gera código é a mesma com que ela gera dívida técnica e vulnerabilidades.

A IA não é maliciosa, mas ela sofre do complexo de agradar o usuário a todo custo. Se você pedir para ela integrar uma base de dados, ela vai fazer funcionar. O problema é que, muitas vezes, ela vai usar um snippet de 2014 do Stack Overflow, com uma query suscetível a SQL Injection e uma biblioteca de hash MD5 que já foi quebrada há anos.

E aqui entra a dura realidade: o Code Review manual não escala mais. Nenhum ser humano consegue revisar milhares de linhas de código geradas por máquina todos os dias com o mesmo rigor.

Se a sua equipe está acelerando a produção com IA, a sua esteira de testes e segurança precisa ser automatizada na mesma proporção. Como fazer isso na prática?

1. Cuidado com a "Alucinação de Dependências" (O novo vetor de ataque)

Você pede um script em Python para fazer o parser de um log específico. A IA te dá o código perfeito e sugere: import json_log_parser_fast. Você roda pip install, funciona e você segue a vida.

O problema? Essa biblioteca não existia. A IA apenas deduziu que, pela lógica de nomenclatura, deveria existir. Hackers já perceberam isso. Eles estão monitorando os prompts mais comuns, descobrindo quais nomes de pacotes as IAs estão inventando e registrando esses pacotes no NPM, PyPI e RubyGems com código malicioso embutido.

Como testar: Seu SCA (Software Composition Analysis) precisa ser implacável. Não basta checar se a biblioteca tem vulnerabilidade conhecida (CVE); o pipeline do seu CI/CD deve bloquear qualquer dependência recém-criada, com poucas estrelas ou mantenedores desconhecidos, exigindo aprovação manual de um Tech Lead.

2. O Fim da Confiança no Editor: SAST em Tempo Real

Antigamente, você rodava o SonarQube no final da sprint. Hoje, se você deixar para testar a segurança apenas na hora do PR (Pull Request), você vai travar a esteira. A quantidade de lixo estrutural, secrets (senhas/tokens) expostos ou variáveis não sanitizadas que a IA pode cuspir é absurda.

A solução: O SAST (Static Application Security Testing) precisa rodar na IDE, de forma invisível. O código gerado pela IA no seu VS Code tem que ser interceptado antes do commit. Ferramentas modernas de linting e segurança com análise semântica já conseguem entender que a IA sugeriu colocar uma AWS Key direto no arquivo de configuração e bloqueiam a ação na hora.

3. IA combatendo IA: O Agente Revisor Automático

Se uma IA escreve rápido, use outra para inspecionar rápido. Empresas maduras estão abandonando o "LGTM" (Looks Good To Me) humano negligente e colocando LLMs de revisão na esteira.

Quando o dev abre o Pull Request, um robô configurado com o contexto de segurança da empresa (por exemplo: "Nós só usamos bcrypt para senhas e toda chamada externa precisa ter timeout") faz a primeira varredura. Ele pontua o código da outra IA, aponta os erros arquiteturais e até sugere a correção. O humano só entra no circuito quando a máquina aprova a lógica básica.

4. DAST: Se roda, como se quebra?

Código de IA muitas vezes parece correto sintaticamente, mas falha miseravelmente em cenários de estresse ou edge cases (casos extremos). O teste dinâmico (DAST) nunca foi tão necessário.

Subir o ambiente em staging e rodar scripts que tentam ativamente quebrar a aplicação (fuzzing, injeção de payloads bizarros, testes de mutação) é a única forma de provar que a lógica que o ChatGPT achou "elegante" não abre uma porta dos fundos para o banco de dados.


A Regra de Ouro

Use a IA para escrever código repetitivo (boilerplate), gerar testes unitários cansativos e ganhar produtividade. Mas trate o código que sai do prompt da mesma forma que você trataria o código de um estagiário júnior que acabou de entrar na empresa e tem acesso de root: com profunda desconfiança.

A era da IA exige testes automatizados agressivos. O seu pipeline precisa quebrar mais vezes. Se você está entregando código 5 vezes mais rápido, mas seu CI/CD continua verde e silencioso o tempo todo... desculpe, mas vocês não estão seguros. Vocês só estão ignorando o problema mais rápido.

Subscribe to Kodjao Labs

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Inscreva-se