LLMs Geram Código Inseguro: Estudo Revela

A nova pesquisa da Backslash Security revelou uma tendência preocupante: os Large Language Models (LLMs) como o GPT-4.1, juntamente com outros modelos amplamente utilizados, tendem a gerar código inseguro por padrão. Isto significa que sem instruções ou diretrizes específicas focadas na segurança, o código produzido por estes sistemas de IA é frequentemente vulnerável a fraquezas e explorações comuns. No entanto, a pesquisa também indica que a segurança do código gerado pode ser significativamente melhorada, fornecendo orientação de segurança adicional ou implementando uma governação baseada em regras.

Para explorar mais este problema, a Backslash Security anunciou o lançamento do Model Context Protocol (MCP) Server, juntamente com Regras e Extensões concebidas para Ambientes de Desenvolvimento Integrados (IDEs) Agentic. Estas ferramentas visam resolver as vulnerabilidades de segurança identificadas no código gerado por LLM e fornecer aos desenvolvedores os meios para criar aplicações mais seguras.

LLMs e Geração de Código Inseguro: O Cenário Padrão

A Backslash Security conduziu uma série de testes em sete versões diferentes de LLMs populares, incluindo os modelos GPT da OpenAI, o Claude da Anthropic e o Gemini da Google. O objetivo era avaliar como várias técnicas de prompting influenciaram a capacidade dos modelos de gerar código seguro. A segurança da saída de código foi avaliada com base na sua resiliência contra dez casos de uso de Common Weakness Enumeration (CWE), que representam uma gama de vulnerabilidades de software comuns.

Os resultados destes testes mostraram consistentemente que a segurança do código gerado melhorou com técnicas de prompting mais sofisticadas. No entanto, o tema abrangente foi que todos os LLMs testados geralmente produziram código inseguro quando deixados por conta própria. Isto sugere que estes modelos, nas suas configurações padrão, não priorizam a segurança e frequentemente não abordam fraquezas de codificação comuns.

Prompts Ingénuos: Uma Receita para a Vulnerabilidade

Quando apresentados com prompts simples e ‘ingénuos’ que não mencionavam explicitamente considerações de segurança, todos os LLMs testados geraram código inseguro que era vulnerável a pelo menos quatro dos dez CWEs comuns. Isto destaca a inerente falta de consciência de segurança nestes modelos quando operam sem orientação específica.

O Impacto dos Prompts Focados na Segurança

Os prompts que especificavam geralmente uma necessidade de segurança levaram a resultados mais seguros, indicando que os LLMs são capazes de produzir código mais seguro quando explicitamente instruídos a fazê-lo. Além disso, os prompts que solicitavam código compatível com as melhores práticas do Open Web Application Security Project (OWASP) produziram resultados ainda melhores. A OWASP é uma fundação sem fins lucrativos que trabalha para melhorar a segurança do software. No entanto, mesmo com estes prompts mais sofisticados, algumas vulnerabilidades de código persistiram em cinco dos sete LLMs testados, sublinhando os desafios em gerar consistentemente código seguro com LLMs.

Prompts Baseados em Regras: Um Caminho para o Código Seguro

A abordagem mais eficaz para gerar código seguro envolveu prompts vinculados a regras especificadas pela Backslash para abordar CWEs específicos. Estes prompts baseados em regras resultaram em código que era seguro e não vulnerável aos CWEs testados. Isto sugere que fornecer aos LLMs orientação específica e direcionada é crucial para garantir a segurança do código gerado.

Variações de Desempenho Entre LLMs

No geral, o GPT-4o da OpenAI demonstrou o desempenho mais baixo em todos os prompts, alcançando um resultado de código seguro de apenas 1 em 10 ao usar prompts ‘ingénuos’. Mesmo quando solicitado a gerar código seguro, ainda produziu saídas inseguras vulneráveis a oito em cada dez problemas. O GPT-4.1 não teve um desempenho significativamente melhor com prompts ingénuos, marcando 1,5 em 10.

Em contraste, o Claude 3.7 Sonnet surgiu como o melhor desempenho entre as ferramentas GenAI testadas. Obteve 6 em 10 usando prompts ingénuos e um perfeito 10 em 10 ao usar prompts focados na segurança. Isto sugere que alguns LLMs estão mais bem equipados para lidar com considerações de segurança, mesmo na ausência de instruções explícitas.

Soluções da Backslash Security para uma Codificação Vibe Segura

Para resolver os problemas revelados pelo seu teste de prompt LLM, a Backslash Security está a introduzir várias novas funcionalidades concebidas para permitir uma codificação vibe segura. A codificação vibe refere-se à prática de gerar código usando ferramentas de IA como os LLMs.

Regras e Políticas de IA da Backslash

As Regras e Políticas de IA da Backslash fornecem regras legíveis por máquina que podem ser injetadas em prompts para garantir a cobertura de CWE. Estas regras podem ser usadas com ferramentas como o Cursor, um editor de código popular. Além disso, as políticas de IA controlam quais regras de IA estão ativas nos IDEs através da plataforma Backslash, permitindo que as organizações personalizem as suas definições de segurança.

Extensão IDE da Backslash

A Extensão IDE da Backslash integra-se diretamente nos fluxos de trabalho existentes dos desenvolvedores, permitindo-lhes receber revisões de segurança da Backslash no código escrito por humanos e IA. Esta integração é crucial para garantir que as considerações de segurança são abordadas ao longo do processo de desenvolvimento.

Servidor Model Context Protocol (MCP) da Backslash

O Servidor Model Context Protocol (MCP) da Backslash é uma API sensível ao contexto que está em conformidade com o padrão MCP. Ele conecta a Backslash às ferramentas de IA, permitindo codificação, digitalização e correções seguras. O padrão MCP fornece uma estrutura comum para que as ferramentas de IA comuniquem e partilhem informações, facilitando o desenvolvimento de aplicações seguras alimentadas por IA.

Abordando os Desafios do Código Gerado por IA

Yossi Pik, cofundador e CTO da Backslash Security, enfatiza os desafios que o código gerado por IA representa para as equipas de segurança. Ele observa que ‘o código gerado por IA – ou codificação vibe – pode parecer um pesadelo para as equipas de segurança. Ele cria uma enxurrada de novo código e traz riscos de LLM como alucinações e sensibilidade a prompts.’ As alucinações referem-se a instâncias em que os LLMs geram informações incorretas ou sem sentido, enquanto a sensibilidade a prompts refere-se à tendência dos LLMs de produzir saídas diferentes com base em variações subtis no prompt de entrada.

No entanto, Pik também acredita que a IA pode ser uma ferramenta valiosa para as equipas de AppSec quando usada com os controlos certos. Ele argumenta que ‘com os controlos certos – como regras definidas pela organização e um servidor MCP sensível ao contexto conectado a uma plataforma de segurança construída propositadamente – a IA pode realmente dar às equipas de AppSec mais controlo desde o início.’ A Backslash Security visa fornecer estes controlos através das suas regras dinâmicas baseadas em políticas, servidor MCP sensível ao contexto e extensão IDE, todos concebidos para a nova era de codificação.

As Implicações do Código Inseguro Gerado por IA

As descobertas da pesquisa da Backslash Security têm implicações significativas para a indústria de desenvolvimento de software. À medida que as ferramentas de geração de código alimentadas por IA se tornam cada vez mais prevalentes, é crucial entender os riscos associados a confiar nestas ferramentas sem as medidas de segurança adequadas em vigor.

Maior Vulnerabilidade a Ataques Cibernéticos

O código inseguro gerado por IA pode criar novas vulnerabilidades que os cibercriminosos podem explorar. Estas vulnerabilidades podem levar a violações de dados, comprometimento do sistema e outros incidentes de segurança.

Dificuldade em Identificar e Corrigir Vulnerabilidades

O grande volume de código gerado por IA pode tornar desafiador identificar e corrigir vulnerabilidades. As equipas de segurança podem ter dificuldades em acompanhar o rápido ritmo de geração de código, levando a um atraso de problemas de segurança.

Falta de Conscientização de Segurança Entre os Desenvolvedores

Muitos desenvolvedores podem não estar totalmente cientes dos riscos de segurança associados ao código gerado por IA. Esta falta de conscientização pode levar os desenvolvedores a introduzir inadvertidamente vulnerabilidades nas suas aplicações.

Desafios de Conformidade Regulatória

As organizações que confiam no código gerado por IA podem enfrentar desafios de conformidade regulatória. Muitos regulamentos exigem que as organizações implementem medidas de segurança adequadas para proteger dados sensíveis. O código inseguro gerado por IA pode tornar difícil atender a estes requisitos.

Melhores Práticas para a Geração de Código Seguro Alimentado por IA

Para mitigar os riscos associados ao código inseguro gerado por IA, as organizações devem adotar as seguintes melhores práticas:

Forneça Treinamento de Segurança aos Desenvolvedores

Os desenvolvedores devem receber treinamento sobre os riscos de segurança associados ao código gerado por IA. Este treinamento deve abranger tópicos como CWEs comuns, práticas de codificação segura e como usar ferramentas de segurança.

Implemente Políticas e Procedimentos de Segurança

As organizações devem implementar políticas e procedimentos de segurança que abordem o uso de código gerado por IA. Estas políticas devem definir casos de uso aceitáveis, requisitos de segurança e processos para rever e aprovar código gerado por IA.

Use Ferramentas de Segurança para Digitalizar Código Gerado por IA

As organizações devem usar ferramentas de segurança para digitalizar código gerado por IA em busca de vulnerabilidades. Estas ferramentas podem ajudar a identificar CWEs comuns e outros problemas de segurança.

Implemente um Ciclo de Vida de Desenvolvimento Seguro (SDLC)

As organizações devem implementar um ciclo de vida de desenvolvimento seguro (SDLC) que incorpore considerações de segurança ao longo do processo de desenvolvimento. Isto inclui conduzir revisões de segurança de código gerado por IA, realizar testes de penetração e implementar monitoramento de segurança.

Estabeleça um Programa de Recompensa por Bugs

As organizações devem estabelecer um programa de recompensa por bugs para incentivar os pesquisadores de segurança a encontrar e relatar vulnerabilidades em código gerado por IA. Isto pode ajudar a identificar vulnerabilidades que podem ter sido perdidas pelas equipas de segurança internas.

Mantenha-se Informado Sobre as Ameaças de Segurança Mais Recentes

As organizações devem manter-se informadas sobre as ameaças de segurança e vulnerabilidades mais recentes que afetam o código gerado por IA. Isto pode ajudá-las a abordar proativamente potenciais problemas de segurança.

Colabore com Especialistas em Segurança

As organizações devem colaborar com especialistas em segurança para avaliar a segurança do seu código gerado por IA e desenvolver estratégias para mitigar riscos.

O Futuro da Geração de Código Seguro Alimentado por IA

À medida que as ferramentas de geração de código alimentadas por IA continuam a evoluir, é crucial priorizar a segurança. Ao implementar as melhores práticas descritas acima, as organizações podem aproveitar os benefícios da geração de código alimentado por IA, mitigando os riscos associados ao código inseguro.

Avanços na Segurança da IA

Esforços contínuos de pesquisa e desenvolvimento estão focados em melhorar a segurança dos sistemas de IA. Estes esforços incluem o desenvolvimento de novas técnicas para detetar e prevenir ataques adversários, melhorar a robustez dos modelos de IA e criar arquiteturas de IA mais seguras.

Integração da Segurança no Desenvolvimento de IA

A segurança está a tornar-se cada vez mais integrada no processo de desenvolvimento de IA. Isto inclui incorporar considerações de segurança no design de modelos de IA, usar práticas de codificação segura e conduzir testes de segurança ao longo do ciclo de vida de desenvolvimento.

Colaboração Entre Especialistas em IA e Segurança

A colaboração entre especialistas em IA e segurança é essencial para garantir a segurança dos sistemas de IA. Esta colaboração pode ajudar a identificar potenciais riscos de segurança e desenvolver estratégias de mitigação eficazes.

Maior Conscientização dos Riscos de Segurança da IA

A maior conscientização dos riscos de segurança da IA está a impulsionar o desenvolvimento de novas ferramentas e técnicas de segurança. Isto inclui ferramentas para detetar ataques adversários, analisar a segurança de modelos de IA e monitorizar sistemas de IA em busca de atividades suspeitas.

Ao abordar os desafios de segurança associados ao código gerado por IA, as organizações podem desbloquear todo o potencial do desenvolvimento alimentado por IA, protegendo os seus sistemas e dados de ataques cibernéticos.