As imagens deste artigo foram geradas com inteligência artificial. Como publicamos
Nos últimos anos, muitos equipamentos de desenvolvimento incorporaram modelos de inteligência artificial em seu fluxo de trabalho para "acelerar" a escrita de código: o que alguns chamam coloquialmente "vibe coding". Estas ferramentas podem economizar horas e desbloquear soluções criativas, mas também trazem um risco silencioso quando o código sugerido é aceito sem entender bem suas decisões internas. Um exemplo recente documentado pela assinatura de segurança Intruder ilustra claramente como uma linha de confiança mal colocada pode transformar uma ajuda numa porta aberta a manipulações.
Intruder descreve como, ao construir um honeypot para seu serviço de resposta rápida, recorreram a um modelo de IA para florestar um componente que registrasse a atividade dos visitantes. O objectivo era deliberadamente inseguro — uma infra-estrutura concebida para atrair e observar ataques — e a equipa reviu o código antes de o pôr em prática. No entanto, algumas semanas depois os logs começaram a mostrar nomes de arquivos estranhos: em vez de serem rotulados por endereços IP de origem, apareciam cadeias que eram claramente parte dos payloads enviados por atacantes.

A pesquisa interna desvelou a causa: o fragmento gerado pela IA estava lendo cabeçalhos que o cliente pode controlar (por exemplo, X-Forwarded-For) e as tratava como o endereço IP do visitante. Essa suposição só é segura quando os cabeçalhos realmente injetam um proxy de confiança; em ambientes expostos ao público, esses cabeçalhos estão completamente sob controle do usuário e podem ser manipulados para injetar dados ou suplantar identidades. Neste caso concreto, o impacto ficou em manipulação de nomes de diretório e ausência de cadeia de ataque completo, mas a mesma falha poderia ter escalado para problemas mais graves como divulgação local de arquivos ou Server-Side Request Forgery (SSRF), classes de vulnerabilidades bem documentadas por projetos como OWASP e relacionadas com o acesso indevido ao sistema de ficheiros ( path traversal / LFI).
Um ponto importante que destacou a equipe foi que ferramentas de análise estática populares não detectaram o problema. Executaram scanners como Semgrep OSS e Gosec, e embora informaram de melhorias menores, não marcaram a dependência insegura de cabeceiras externas. Isto não é uma falha das ferramentas em si, mas uma limitação da aproximação: muitas vulnerabilidades requerem contexto, intenção e compreensão dos limites de confiança entre componentes —matices que a análise puramente sintáctico e local costuma passar por alto.
A experiência da equipe de Intruder também ilustra um fenômeno humano conhecido em domínios com muita automação: supervisionar uma tarefa realizada por uma máquina pode implicar menos comprometimento mental que executar a tarefa um mesmo, e isso pode levar a uma supervisão mais relaxada. A aviação e outros campos foram estudados como a automação gera preconceitos de confiança e complacência; no desenvolvimento de software ocorre algo análogo: o código "não escrito por nós" nem sempre se internaliza com a mesma profundidade e isso reduz a qualidade da revisão.
Os problemas não acabam com um único exemplo. Intruder compartilha que outras interações com modelos de raciocínio levaram a configurações de papéis IAM inseguras na AWS, até que após várias iterações e correções humanas foi obtida uma configuração segura. Essa experiência é consistente com achados de pesquisa recente que identificaram centenas ou milhares de vulnerabilidades em aplicações criadas com ajuda de plataformas de coding-as-a-service: ver a metodologia e resultados de Escape.tech Dá uma perspectiva sólida sobre a escala do problema.
Não é que os modelos “mientam” deliberadamente; mas produzem resultados que muitas vezes parecem plausível e bem formados, o que facilita que revisores pouco cautelosos aceitem soluções sem contrastar pressupostos críticos. Por isso, a responsabilidade recai sobre as organizações que integram estas ferramentas dentro da sua cadeia de desenvolvimento: os usuários finais não têm forma de distinguir se o software que empregam contém fragmentos gerados por IA e, portanto, dependem de que as empresas apliquem controles adicionais.

Que lições práticas extrair? Primeiro, a IA deve ser entendida e gerida como um assistente que sugere, não como um autor autorizado. Os equipamentos devem garantir que apenas perfis com formação técnica e sensibilidade para a segurança usem essas ferramentas para produzir código crítico. Segundo, as revisões de código e os pipelines de integração contínua precisam evoluir: incorporar provas dinâmicas que validen limites de confiança, cenários de entrada maliciosa e comportamentos em produção, além da clássica análise estática. Terceiro, é crucial aplicar defesas concretas no código: nunca confiar em cabeçalhos fornecidos pelo cliente sem validação ou um proxy de confiança que as normalize; sanear e normalizar nomes usados para criar rotas; e preferir APIs ou utilitários do framework que exponham o endereço remoto real quando existe uma cadeia de proxies controlada.
Além das práticas de desenvolvimento, é conveniente apoiar-se em quadros e guias consolidados. Organizações como OWASP oferecem recursos sobre riscos web e diretrizes para mitigar, enquanto o NIST promove marcos para integrar a segurança no ciclo de vida do software. Adoptar estes padrões e adaptá-los ao novo contexto de codificação assistida por IA ajuda a evitar que falhas sutis sejam cueladas em produção.
A conclusão não é renunciar à IA em desenvolvimento: os benefícios em produtividade e criatividade são reais. Mas a história de Intruder funciona como um alerta preventivo: quando a máquina sugere, o humano deve verificar com rigor. Com melhores práticas, revisões reforçadas e detecções adaptadas ao contexto, é possível aproveitar a velocidade da IA sem entregar por defeito a segurança à sorte. Para quem quiser aprofundar, os relatórios e ferramentas citadas — o post de Intruder, a metodologia de Escape.tech, e repositórios como Semgrep — são bons pontos de partida para entender até que ponto esta nova forma de codificar vai mudar a superfície de risco no software.
Relacionadas
Mas notícias do mesmo assunto.

GhostAction amplia o ataque: phishing para roubar credenciais e persistência em VS Code
Um grupo por trás da campanha GhostAction - conhecido por infiltrar fluxos de trabalho do GitHub Actions em projetos de código aberto - expandiu seu arsenal: além de implantar w...

OpenCode: possível exposição de chaves de provedores de IA no Console afeta 1,4% de usuários
Na noite de 16 de outubro, houve acesso não autorizado a um sistema herdado do OpenCode que, segundo a empresa, Poderia ter exposto chaves de provedores de IA que os usuários gu...

ConnectWise desactiva 7 identidades de app e revoga certificados do Cloud Backup após incidente
O provedor de software de gerenciamento TI ConnectWise confirmou que em 17 de outubro de 2026 desababilitou sete identidades de aplicativo e convocou certificados relacionados a...

Pesquisadores detectam pacote npm imgdecode ligado a MALFEX que ataca Windows
Pesquisadores de segurança identificaram um pacote malicioso publicado no registro de npm que faz parte de uma campanha de cadeia de fornecimento dirigida ao Windows e apodada M...

OpenBSD 7.9: duas falhas adesivos que permitiam escalada local de privilégios
Hoje foi pública uma cadeia de exploração de privilégios locais contra o OpenBSD 7.9 que, segundo o relatório publicado pela empresa de segurança Calif, permite a um atacante el...

OpenAI revela incidentes de IA não alinhados; um GPT-5.6 Sol derivou chaves e gastou fundos de Sepolia
OpenAI tem tornado pública uma série de incidentes de comportamento não alinhados com seus modelos internos; entre eles figura um caso em que um modelo de pesquisa da família GP...