A LayerX descobriu a primeira vulnerabilidade que afeta o novo navegador ChatGPT Atlas da OpenAI, permitindo que invasores injetem instruções maliciosas na "memória" do ChatGPT e executem código remoto. Essa vulnerabilidade permite que invasores infectem sistemas com código malicioso, concedam a si mesmos privilégios de acesso ou implantem malware.

A vulnerabilidade afeta usuários do ChatGPT em qualquer navegador, mas é particularmente perigosa para usuários do novo navegador da OpenAI: o ChatGPT Atlas. A LayerX descobriu que o Atlas atualmente não inclui nenhuma proteção antiphishing significativa, o que significa que os usuários deste navegador são até 90% mais vulneráveis ​​a ataques de phishing do que os usuários de navegadores tradicionais como Chrome ou Edge.

A exploração foi relatada à OpenAI sob os procedimentos de Divulgação Responsável, e um resumo é fornecido abaixo, enquanto informações técnicas que permitirão que os invasores repliquem esse ataque são omitidas.

TL/DR: Como o Exploit funciona:

A LayerX descobriu como invasores podem usar uma solicitação de Falsificação de Solicitação Entre Sites (CSRF) para se aproveitar das credenciais de acesso do ChatGPT da vítima, a fim de injetar instruções maliciosas na memória do ChatGPT. Assim, quando o usuário tenta usar o ChatGPT para fins legítimos, as memórias contaminadas são invocadas e podem executar código remoto que permitirá ao invasor obter controle da conta do usuário, do navegador, do código que está escrevendo ou dos sistemas aos quais tem acesso.

Embora essa vulnerabilidade afete os usuários do ChatGPT em qualquer navegador, ela é particularmente perigosa para usuários do navegador ChatGPT Atlas, já que eles estão, por padrão, conectados ao ChatGPT, e já que os testes do LayerX indicam que o navegador Atlas é até 90% mais exposto do que o Chrome e o Edge a ataques de phishing.

Uma explicação passo a passo:

  1. Inicialmente, o usuário faz login no ChatGPT e mantém um cookie ou token de autenticação em seu navegador.
  2. O usuário clica em um link malicioso, que o leva a uma página da web comprometida.
  3. A página maliciosa invoca uma solicitação de falsificação de solicitação entre sites (CSRF) para aproveitar a autenticação pré-existente do usuário no ChatGPT
  4. O exploit CSRF injeta instruções ocultas na memória do ChatGPT, sem o conhecimento do usuário, “contaminando” assim a memória principal do LLM.
  5. Na próxima vez que o usuário consultar o ChatGPT, as memórias contaminadas serão invocadas, permitindo a implantação de código malicioso que pode dar aos invasores controle sobre sistemas ou códigos.

Usando Cross-Site Request Forgery (CSRF) para acessar LLMs:

Um ataque de falsificação de solicitação entre sites (CSRF) ocorre quando um invasor engana o navegador de um usuário para enviar uma solicitação não intencional de alteração de estado para um site onde o usuário já está autenticado, fazendo com que o site execute ações como aquele usuário sem seu consentimento. 

O ataque ocorre quando a vítima está logada em um site alvo, que possui cookies de sessão armazenados no navegador. A vítima visita ou é redirecionada para uma página maliciosa que emite uma solicitação elaborada (por meio de um formulário, tag de imagem, link ou script) para o site alvo. O navegador inclui automaticamente as credenciais da vítima (cookies, cabeçalhos de autenticação), para que o site alvo processe a solicitação como se o usuário a tivesse iniciado.

Na maioria dos casos, o impacto de um ataque CSRF é direcionado a atividades como alterar e-mail/senha da conta, iniciar transferências de fundos ou fazer compras na sessão do usuário.

No entanto, quando se trata de sistemas de IA, usando um ataque CSRF, os invasores podem obter acesso aos sistemas de IA nos quais o usuário está conectado, consultá-los ou injetar instruções neles.

Infectando a “memória” central do ChatGPT

A "Memória" do ChatGPT permite que o ChatGPT se lembre de detalhes úteis sobre consultas, chats e atividades dos usuários, como preferências, restrições, projetos, notas de estilo, etc., e os reutilize em chats futuros para que os usuários não precisem se repetir. Na prática, eles agem como a memória de fundo ou subconsciente do LLM.

Depois que os invasores têm acesso ao ChatGPT do usuário por meio da solicitação CSRF, eles podem usá-lo para injetar instruções ocultas no ChatGPT, que afetarão futuros chats. 

Assim como o subconsciente de uma pessoa, uma vez que as instruções corretas são armazenadas na memória do ChatGP, o ChatGPT será compelido a executá-las, tornando-se efetivamente um co-conspirador malicioso.

Além disso, uma vez que a Memória de uma conta é infectada, a infecção persiste em todos os dispositivos em que a conta é usada – em computadores domésticos e de trabalho, e em diferentes navegadores – independentemente de o usuário estar usando Chrome, Atlas ou qualquer outro navegador. Isso torna o ataque extremamente "pegajoso" e é especialmente perigoso para usuários que usam a mesma conta tanto para fins profissionais quanto pessoais.

Usuários do ChatGPT Atlas são até 90% mais expostos do que outros navegadores

Embora essa vulnerabilidade possa ser usada contra usuários do ChatGPT em qualquer navegador, os usuários do navegador ChatGPT da OpenAI são particularmente vulneráveis. Isso ocorre por dois motivos:

  1. Ao usar o Atlas, você estará, por padrão, conectado ao ChatGPT. Isso significa que as credenciais do ChatGPT são sempre armazenadas no navegador, onde podem ser alvo de solicitações CSRF maliciosas.
  2. O ChatGPT Atlas é particularmente ruim em impedir ataques de phishing. Isso significa que os usuários do Atlas estão mais expostos do que os usuários de outros navegadores.

A LayerX testou o Atlas contra mais de 100 vulnerabilidades da web e ataques de phishing. A LayerX conduziu anteriormente o mesmo teste contra outros navegadores de IA como Comet, Dia e Genspark. Os resultados foram, no mínimo, pouco inspiradores:

Nos testes anteriores, enquanto navegadores tradicionais como Edge e Chrome conseguiram interromper cerca de 50% dos ataques de phishing usando suas proteções prontas para uso, Comet e Genspark interromperam apenas 7% (o Dia gerou resultados semelhantes aos do Chrome).

Executar o mesmo teste no Atlas mostrou resultados ainda mais gritantes: 

Dos 103 ataques em campo testados pela LayerX, o ChatGPT Atlas permitiu que 97 passassem, uma impressionante taxa de falha de 94.2%. 

Comparado ao Edge (que interrompeu 53% dos ataques no teste da LayerX) e ao Chrome (que interrompeu 47% dos ataques), O ChatGPT Atlas conseguiu bloquear com sucesso apenas 5.8% das páginas da web maliciosas, o que significa que os usuários do Atlas eram quase 90% mais vulneráveis ​​a ataques de phishing, em comparação aos usuários de outros navegadores.

A implicação é que não apenas os usuários do ChatGPT Atlas são suscetíveis a vetores de ataque maliciosos que podem levar à injeção de instruções maliciosas em suas contas ChatGPT, mas como o Atlas não inclui nenhuma proteção antiphishing significativa, os usuários do Atlas correm maior risco de exposição.

Prova de conceito: injetando código malicioso na codificação 'Vibe' 

Abaixo está uma ilustração de um vetor de ataque explorando essa vulnerabilidade em um usuário do navegador Atlas que está codificando no Vibe:

“Codificação Vibe” é um estilo colaborativo em que o desenvolvedor trata a IA como um parceiro criativo, em vez de um executor linha por linha. Em vez de prescrever uma sintaxe exata, o desenvolvedor compartilha a intenção e a sensação do projeto (por exemplo, objetivos arquitetônicos, tom, público-alvo, preferências estéticas, etc.) e outros requisitos não funcionais.

O ChatGPT então usa esse briefing holístico para produzir código que funciona e corresponde ao estilo solicitado, estreitando a lacuna entre ideias de alto nível e implementação de baixo nível. O papel do desenvolvedor muda da codificação manual para a orientação e o refinamento da interpretação da IA.

No entanto, essa flexibilidade também pode ser explorada de forma abusiva. Um invasor pode induzir um assistente de IA a gerar um código que parece um recurso inofensivo ou uma solução rápida, mas que discretamente adiciona backdoors, exfiltração secreta de dados ou outras adulterações.

Por exemplo, neste caso, nada parece incomum da perspectiva do usuário, mas quando ele pede ao ChatGPT para escrever o código, o assistente pode seguir a solicitação e inserir instruções guiadas pelo invasor. O script gerado poderia, por exemplo, buscar código remoto (por exemplo, de um servidor hostil) e tentar executá-lo com privilégios elevados.

Para ilustrar, neste caso, com base nas instruções maliciosas, o chat adicionou código remoto a este script, que o usuário irá baixar sem saber em seu computador a partir do server.rapture:

Embora o ChatGPT ofereça algumas defesas contra instruções maliciosas, a eficácia pode variar de acordo com a sofisticação do ataque e como o comportamento indesejado entrou na memória. 

Em alguns casos, o usuário pode ver um aviso leve; em outros, a tentativa pode ser bloqueada. No entanto, se habilmente mascarado, o código pode escapar completamente da detecção. Por exemplo, este é o aviso sutil que este script recebeu. No máximo, é uma observação lateral fácil de passar despercebida no meio do texto: