In this article
ChatGPT e programação segura: benefícios e vulnerabilidades de segurança no código gerado pelo ChatGPT
À medida que desenvolvedores adotam ferramentas de IA para transformar seus fluxos de trabalho, o código gerado por IA se torna cada vez mais comum. Na verdade, 96% dos desenvolvedores afirmaram usar assistentes de programação com IA para agilizar o trabalho.
Embora ferramentas de IA generativa (GenAI), como o ChatGPT, possam agilizar fluxos de trabalho e aumentar a produtividade, não há garantia de segurança nem de qualidade nos resultados. Desenvolvedores e organizações que adotam o ChatGPT ou outras ferramentas de GenAI devem entender os benefícios, mas também conhecer as possíveis vulnerabilidades e os problemas de segurança associados ao código gerado por IA e priorizar a implementação de práticas robustas de segurança.

O ChatGPT consegue escrever código seguro?
Em uma pesquisa, 75,8% dos desenvolvedores acreditam que o código gerado por IA é mais seguro do que o código escrito por pessoas, embora já tenha sido comprovado que o código gerado por IA introduz vulnerabilidades. Também foi constatado que desenvolvedores com acesso a assistentes de IA baseados no modelo codex-davinci-002 da OpenAI escreveram código significativamente menos seguro do que aqueles sem acesso. Curiosamente, desenvolvedores que se concentraram na interação com o modelo, por exemplo, criando prompts mais eficazes, produziram código mais seguro.
Assim, embora o ChatGPT e outras ferramentas de programação com IA possam escrever código seguro, os resultados dependem totalmente dos dados de treinamento e da engenharia de prompts. Se houver vulnerabilidades ou erros nos dados de treinamento, o código gerado por IA será inseguro desde o início. Por isso, desenvolvedores devem presumir que todo código gerado por IA é inseguro e tomar medidas para corrigir as vulnerabilidades antes da implantação.
Se isso não for feito, o código inseguro pode se espalhar pela base de código e, por fim, afetar a segurança de aplicativos e softwares.
Até que ponto o código gerado pelo ChatGPT é confiável?
A confiabilidade do código gerado pelo ChatGPT depende da tarefa executada e dos dados de treinamento usados. Embora agora o ChatGPT tenha acesso a informações mais recentes e possa navegar na internet, ele ainda pode alucinar ou gerar código não confiável, especialmente à medida que as boas práticas de programação e as linguagens evoluem. Isso pode se tornar um problema de segurança se desenvolvedores presumirem que o código gerado pelo ChatGPT é seguro, confiável e atualizado por natureza. Quase 80% dos desenvolvedores admitem ignorar medidas de segurança por acreditarem que o código gerado por IA é “seguro o suficiente”, o que pode resultar em vulnerabilidades generalizadas e problemas de segurança em toda a base de código.
Qual é o desempenho do ChatGPT em programação?
Estudos mostram que o ChatGPT consegue ter bons resultados em problemas e tarefas de programação fáceis e de nível intermediário. Também foi demonstrado que o ChatGPT promete ajudar em tarefas de programação, mas tem limitações claras. Como mencionado, a qualidade do ChatGPT e de seus resultados depende dos dados usados em seu treinamento. Vieses, erros, informações desatualizadas ou prompts pouco claros afetam a qualidade do código gerado. Além disso, o ChatGPT costuma ter dificuldade com problemas de programação mais complexos, o que significa que não substitui habilidades especializadas nem experiência.
O ChatGPT consegue encontrar vulnerabilidades no código?
O ChatGPT pode analisar código em busca de lacunas e inconsistências e fornecer feedback, possivelmente identificando vulnerabilidades comuns. No entanto, talvez não compreenda códigos complexos nem encontre vulnerabilidades mais sofisticadas, que podem passar despercebidas até que ocorra algo mais grave.
Ao revisar código, o ChatGPT não consegue analisá-lo em tempo real, então desenvolvedores precisam inserir o código manualmente para a revisão. Isso pode ser um problema se alterações ou correções não forem incluídas ou atualizadas no ChatGPT, fazendo com que vulnerabilidades sejam ignoradas ou continuem sem solução. O ChatGPT também pode alucinar e avaliar incorretamente a segurança do código.
O ChatGPT consegue garantir práticas seguras de programação?
Embora seja possível usar o ChatGPT como ferramenta inicial de avaliação de código, o fluxo de trabalho de desenvolvimento também deve incluir outras medidas de segurança. Confiar apenas no ChatGPT para garantir práticas seguras de programação fará com que algumas vulnerabilidades passem despercebidas. As equipes de AppSec ainda precisam de ferramentas e medidas de segurança abrangentes para garantir que as práticas seguras de programação sejam seguidas.
Os dados estão seguros com o ChatGPT?
O uso de modelos de linguagem grandes (LLMs), como o ChatGPT, traz preocupações importantes relacionadas à segurança de dados. Embora o ChatGPT tenha medidas de segurança de dados integradas, as empresas devem presumir que nenhum dado inserido em ferramentas de GenAI está seguro. Muitas vezes, usuários compartilham informações confidenciais em seus prompts sem pensar nisso, supondo que elas estejam protegidas. No entanto, informações confidenciais ou sensíveis podem acabar nos dados de treinamento do modelo e aparecer em respostas, colocando a empresa em risco.
Além disso, se o ChatGPT ou outra ferramenta de IA for comprometida, ou se a conta de usuário de uma empresa for invadida, agentes mal-intencionados poderão acessar informações sensíveis ou dados de treinamento, causando ainda mais impactos às organizações. Para reduzir esse risco, as empresas devem estabelecer políticas internas sobre o que os funcionários podem compartilhar com ferramentas de IA e como esses dados são gerenciados.
Como verificar se o código gerado pelo ChatGPT é seguro
Ao considerar a segurança cibernética em uma organização, é necessário atualizar os protocolos de segurança para incluir ferramentas de GenAI. Sem uma postura de segurança robusta, com políticas e protocolos internos para ferramentas como o ChatGPT, as organizações ficam em risco. Na maioria dos casos, o maior risco para uma organização é a liberação de código inseguro gerado por IA em uma base de código, sua propagação para vários projetos e a ocorrência de uma violação de segurança.
A maneira mais eficaz de garantir que o código gerado pelo ChatGPT seja seguro é usar uma ferramenta dedicada de análise de segurança, como o Snyk Code. Diferentemente do ChatGPT, o Snyk Code se integra perfeitamente ao fluxo de trabalho de desenvolvimento e a todas as etapas do processo de desenvolvimento. O Snyk Code também analisa o código em tempo real, verificando continuamente a existência de vulnerabilidades. Com a tecnologia de DeepCode AI, o Snyk Code prioriza vulnerabilidades e recomenda correções, ajudando as equipes a se concentrarem nos problemas mais críticos.
Embora o ChatGPT e outras ferramentas de programação com GenAI possam beneficiar o fluxo de trabalho de desenvolvimento, uma plataforma como a Snyk é essencial para garantir que a base de código e os aplicativos da organização estejam seguros e protegidos contra vulnerabilidades e ataques futuros.
SEGURANÇA DE CÓDIGO COM IA
Guia de compra de segurança para código gerado por IA
Saiba como proteger seu código gerado por IA com o Guia de compra de segurança para código gerado por IA da Snyk.