Líderes de pensamento

O Código Gerado por IA Está Aqui para Ficar. Estamos Menos Seguros como Resultado?

mm
Adicione Unite.AI às suas fontes preferidas no Google

Programar em 2025 não é mais sobre trabalhar com fragmentos ou passar longas horas depurando. É uma vibe completamente diferente. O código gerado por IA deve ser a maioria do código nos produtos futuros e se tornou uma ferramenta essencial para o desenvolvedor moderno. Conhecido como “programação de vibe”, o uso de código gerado por ferramentas como Github Copilot, Amazon CodeWhisperer e Chat GPT será a norma e não a exceção para reduzir o tempo de construção e aumentar a eficiência. Mas a conveniência do código gerado por IA corre o risco de uma ameaça mais sombria? O AI gerativo aumenta as vulnerabilidades na arquitetura de segurança ou há maneiras para os desenvolvedores “programarem de vibe” com segurança?

“Incidentes de segurança como resultado de vulnerabilidades no código gerado por IA é um dos tópicos menos discutidos hoje”, disse Sanket Saurav, fundador da DeepSource. “Ainda há muito código gerado por plataformas como Copilot ou Chat GPT que não recebem revisão humana, e violações de segurança podem ser catastróficas para as empresas afetadas.”

O desenvolvedor de uma plataforma de código aberto que emprega análise estática para qualidade e segurança de código, Saurav citou o ataque à SolarWinds em 2020 como o tipo de “evento de extinção” que as empresas podem enfrentar se não instalarem as guardas de segurança certas ao usar código gerado por IA. “A análise estática permite a identificação de padrões de código inseguros e más práticas de codificação”, disse Saurav.

Atacado Através da Biblioteca

As ameaças de segurança ao código gerado por IA podem tomar formas inventivas e podem ser direcionadas às bibliotecas. As bibliotecas na programação são códigos reutilizáveis úteis que os desenvolvedores usam para economizar tempo ao escrever.

Elas geralmente resolvem tarefas de programação regulares, como gerenciar interações de banco de dados, e ajudam os programadores a não ter que reescrever o código do zero.

Uma dessas ameaças às bibliotecas é conhecida como “alucinações”, onde o código gerado por IA exibe uma vulnerabilidade ao usar bibliotecas fictícias. Outra linha de ataques mais recente ao código gerado por IA é chamada de “slopsquatting”, onde os atacantes podem direcionar as bibliotecas para infiltrar um banco de dados.

Abordar essas ameaças de frente pode exigir mais consciência do que pode ser sugerido pelo termo “programação de vibe”. Falando de seu escritório na Université du Québec en Outaouais, o Professor Rafael Khoury tem seguido de perto os desenvolvimentos na segurança do código gerado por IA e está confiante de que novas técnicas melhorarão sua segurança.

Em um artigo de 2023, o Professor Khoury investigou os resultados de pedir ao ChatGPT para produzir código sem mais contexto ou informações, uma prática que levou a código inseguro. Aquelas eram os primeiros dias do Chat GPT e Khoury agora é otimista sobre o futuro. “Desde então, há muita pesquisa em revisão agora e o futuro está olhando para uma estratégia para usar o LLM que poderia levar a melhores resultados”, disse Khoury, acrescentando que “a segurança está melhorando, mas não estamos em um lugar onde possamos dar um prompt direto e obter código seguro.”

Khoury continuou descrevendo um estudo promissor onde eles geraram código e então enviaram esse código para uma ferramenta que o analisa para vulnerabilidades. O método usado pela ferramenta é referido como Finding Line Anomalies with Generative AI (ou FLAG para abreviar).

“Essas ferramentas enviam FLAGS que podem identificar uma vulnerabilidade na linha 24, por exemplo, que um desenvolvedor pode então enviar de volta ao LLM com as informações e pedir que ele verifique e corrija o problema”, disse ele.

Khoury sugeriu que esse vaivém pode ser crucial para corrigir código que é vulnerável a ataques. “Esse estudo sugere que com cinco iterações, você pode reduzir as vulnerabilidades a zero.”

Isso sendo dito, o método FLAG não está sem problemas, particularmente porque pode dar origem a falsos positivos e falsos negativos. Além disso, também há limites no comprimento do código que os LLMs podem criar e o ato de juntar fragmentos pode adicionar outra camada de risco.

Mantendo o Humano no Loop

Alguns jogadores dentro da “programação de vibe” recomendam fragmentar o código e garantir que os humanos fiquem na frente e no centro das edições mais importantes de uma base de código. “Ao escrever código, pense em termos de commits”, disse Kevin Hou, chefe de engenharia de produto da Windsurf, elogiando a sabedoria de pedaços pequenos.

“Divida um grande projeto em pedaços menores que normalmente seriam commits ou solicitações de pull. Faça com que o agente construa a escala menor, uma característica isolada de cada vez. Isso pode garantir que a saída do código seja bem testada e bem compreendida”, acrescentou ele.

Na época da escrita, a Windsurf havia abordado mais de 5 bilhões de linhas de código gerado por IA (por meio de seu nome anterior, Codeium). Hou disse que a pergunta mais premente que estavam respondendo era se o desenvolvedor estava ciente do processo.

“A IA é capaz de fazer muitas edições em muitos arquivos simultaneamente, então como podemos garantir que o desenvolvedor esteja realmente entendendo e revisando o que está acontecendo, em vez de apenas aceitar cegamente tudo?” Hou perguntou, acrescentando que haviam investido pesadamente na UX da Windsurf “com um monte de maneiras intuitivas para permanecer completamente sincronizado com o que a IA está fazendo e para manter o humano completamente no loop.”

É por isso que, à medida que a “programação de vibe” se torna mais mainstream, os humanos no loop devem ser mais cautelosos com suas vulnerabilidades. Desde “alucinações” até ameaças de “slopsquatting”, os desafios são reais, mas assim também são as soluções.

Ferramentas emergentes como análise estática, métodos de refinamento iterativo como FLAG e design de UX cuidadoso mostram que segurança e velocidade não precisam ser mutuamente exclusivas.

A chave está em manter os desenvolvedores engajados, informados e no controle. Com as guardas certas e uma mentalidade de “confie, mas verifique”, a codificação assistida por IA pode ser tanto revolucionária quanto responsável.

Arjun Harindranath é um jornalista freelancer baseado em Medellin, Colômbia, que cobre histórias sobre conflito, migração e tecnologia para um público global. Bylines anteriores incluem Al Jazeera, TechCrunch, The Next Web e o New York Times.