OpenAI: история запросов и платежные данные части пользователей ChatGPT попали в открытый доступ из-за redis-py

3ub5k2klpvdx4xnv2mcmakkkmgm.jpeg

OpenAI признала, что сбой с публикацией историй запросов пользователей чат-бота ChatGPT произошёл из-за некорректного использования и ошибки в клиенте Redis открытой библиотеки redis-py. Разработчики выяснили, что из-за бага также произошло непреднамеренное отображение третьим лицам платёжной информации 1,2% подписчиков сервиса ChatGPT Plus.
Согласно сообщению компании, из-за ошибки в коде библиотеки redis-py произошёл инцидент с некорректным кэшированием данных пользователей, из-за которой некоторым активным пользователям могли отображаться последние четыре цифры и дата истечения срока действия кредитной карты другого пользователя, а также их имя и фамилия, адрес электронной почты и адрес проживания. Эти пользователи также, возможно, видели фрагменты истории чатов других пользователей.

При определённых обстоятельствах отменённый запрос через Redis приводил к возврату данных для другого запроса, чего не должно было произойти. В обычной ситуации приложение чат-бота не получало эти данные и выдавало ошибку. Оказалось, если другой пользователь запрашивал данные того же типа, например, если он хотел загрузить страницу своей учётной записи, а то ему могли выдаваться данные с информацией об учётной записи другого пользователя. В некоторых случаях приложение чат-бота решало, что все в порядке, и показывало пользователям чужую информацию.

Такое было в системе и ранее, но происходило очень редко. Что действительно ухудшило ситуацию, так это то, что утром 20 марта OpenAI внесла изменения в свой продакшн-сервер, которые случайно вызвали всплеск отменённых запросов Redis, увеличив количество шансов, что эта ошибка в библиотеке вернёт кому-то несвязанный кэш.

OpenAI заявила, что ошибка, которая появилась в одной очень специфической версии Redis, теперь исправлена, а инженеры, которые работают над проектом, являются «фантастическими сотрудниками».

OpenAI внесла изменения в своё собственное программное обеспечение и методы кеширования, чтобы предотвратить повторение подобных ситуаций. Разработчики добавили в систему избыточные проверки, чтобы убедиться, что передаваемые данные действительно принадлежат запрашивающему их пользователю. Это также снижает вероятность того, что кластер Redis будет выдавать подобные ошибки с кешированием при высоких нагрузках.

Вечером 20 марта OpenAI приостановила работу ChatGPT почти на 4 часа из-за утечки диалогов пользователей и потери истории переписки пользователей с чат-ботом.

OpenAI пояснила, что в IT-сервисах компании произошёл инцидент из-за бага в стороннем ПО с открытым исходным кодом (без уточнения названия ПО). В итоге некоторое время одни пользователи в веб-интерфейсе ChatGPT могли видеть часть бесед ChatGPT других пользователей. Также из-за сбоя произошла потеря истории разговоров части пользователей.

Разработчики OpenAI уточнили, что пользователи видели только заголовки бесед других пользователей, но не могли читать чужую переписку с чат-ботом. В компании устранили проблему за несколько часов, но ещё продолжают работать над восстановлением истории разговоров пользователей.

vrbedwl4j-w4uhtqwpfdsggq-sa.png

© Habrahabr.ru