OpenAI revelou que uma falha do Redis foi a causa raiz do vazamento de dados do ChatGPT

A exposição de informações pessoais dos usuários do ChatGPT oi causada por um bug na biblioteca de código aberto Redis

Jardeson Márcio
4 minutos de leitura

Recentemente, noticiamos que uma falha expôs dados dos usuários do ChatGPT. Na última sexta-feira, a OpenAI revelou que essa falha em seu serviço de chatbot foi causada por um bug na biblioteca de código aberto Redis.

Falha expões dados dos usuários do ChatGPT

Há cerca de uma semana, vários usuários do ChatGPT começaram a relatar ter visto históricos de conversas de outros usuários aparecendo em suas contas. No mesmo dia, a função de histórico apresentou a mensagem de erro “Não foi possível carregar o histórico” e o serviço do chatbot foi temporariamente interrompido.

Abaixo está a mensagem publicada pelo CEO da OpenAI, Sam Altman.

openai-revelou-que-uma-falha-do-redis-foi-a-causa-raiz-do-vazamento-de-dados-do-chatgpt
Imagem: tradução | Twitter

Colocamos o ChatGPT offline no início desta semana devido a um bug em uma biblioteca de código aberto que permitia que alguns usuários vissem títulos do histórico de bate-papo de outro usuário ativo. Também é possível que a primeira mensagem de uma conversa recém-criada esteja visível no histórico de bate-papo de outra pessoa se ambos os usuários estiverem ativos ao mesmo tempo.

OpenAI

A empresa investigou o impacto do problema e descobriu que ele pode ter causado a visibilidade não intencional de informações relacionadas a pagamentos de 1,2% dos assinantes do ChatGPT Plus que estavam ativos durante uma janela específica de nove horas. A empresa destacou que a edição não divulgou informações financeiras.

Um problema no Redis

Um especialista descobriu que a falha estava presente na biblioteca de código aberto do cliente Redis, redis-py. O serviço usa o Redis para armazenar em cache as informações do usuário em seu servidor. O OpenAI usa a biblioteca redis-py para interagir com o Redis de seu servidor Python, que é executado com o Asyncio.

A biblioteca usa um pool compartilhado de conexões entre o servidor e o cluster, a empresa afirma que recicla uma conexão para ser usada para outra solicitação depois de concluída.

Ao usar o Asyncio, as solicitações e respostas com redis-py se comportam como duas filas: o chamador envia uma solicitação para a fila de entrada e exibe uma resposta da fila de saída e, em seguida, retorna a conexão ao pool.

Se uma solicitação for cancelada depois que a solicitação for enviada para a fila de entrada, mas antes que a resposta saia da fila de saída, vemos nosso bug: a conexão fica corrompida e a próxima resposta retirada da fila para uma solicitação não relacionada pode receber dados restantes para trás na conexão.

A empresa explicou que apenas em alguns casos, os dados corrompidos correspondem ao tipo de dados que o solicitante esperava. Nesse cenário, as respostas fornecidas pelo serviço de chatbot usando o cache parecem válidas, mesmo que pertençam a outro usuário.

A OpenAI notificou os usuários afetados e também implementou verificações redundantes para garantir que os dados retornados por nosso cache Redis correspondam ao usuário solicitante.

Share This Article
Follow:
Jardeson é Mestre em Tecnologia Agroalimentar e Licenciado em Ciências Agrária pela Universidade Federal da Paraíba. Entusiasta no mundo tecnológico, gosta de arquitetura e design gráfico. Economia, tecnologia e atualidade são focos de suas leituras diárias. Acredita que seu dia pode ser salvo por um vídeo engraçado.