Исследователь безопасности Бенджамин Флеш обнаружил уязвимость в API ЧатGPTчто позволяет злоумышленникам инициировать DDoS-атаки на случайные сайты через чат-бота. Уязвимость связана с некорректной обработкой списка URL-адресов, передаваемых в запросах к API, а также с отсутствием механизмов ограничения количества запросов к одному ресурсу.
В отчете GitHub Flash объясняется, что один HTTP-запрос к ChatGPT API может привести к множеству запросов к определенному сайту, генерируя от 20 до 5000 запросов в секунду. Это создает нагрузку, которая может привести к перегрузке и сбою сервера жертвы.
Уязвимость заключается в параметре «urls()», который принимает список гиперссылок. OpenAI не проверяет, повторяются ли подключения к одному и тому же ресурсу, и не ограничивает количество подключений в запросе. Это позволяет отправлять тысячи различных запросов, ведущих на один и тот же сайт, в результате чего веб-сканер ChatGPT обращается к ним один за другим, создавая эффект DDoS.
Атака возможна без аутентификации, а запросы отправляются через серверы OpenAI, работающие в Microsoft Azure. При этом запросы проходят через прокси Cloudflare, что делает их источники разными. Это затрудняет блокировку IP-адресов жертве атаки. Флеш сказал, что сообщил об уязвимости OpenAI через платформу BugCrowd, а также в Microsoft и HackerOne, но так и не получил ответа.
Помимо описанной выше DDoS-угрозы, API также был уязвим для атаки Prompt Injection. Эта уязвимость позволяет веб-сканеру не только собирать данные, но и отвечать на запросы пользователей, хотя API предназначен исключительно для сбора информации с веб-сайтов.
Оперативное внедрение предполагает манипулирование входными данными таким образом, что заставляет систему (например, модель искусственного интеллекта или чат-бот) выполнять нежелательные или вредоносные действия. Злоумышленник вводит специальные команды или текст, который интерпретируется системой как инструкция, а не как обычный запрос пользователя. Это может привести к утечке конфиденциальной информации, совершению несанкционированных операций или другим неблагоприятным последствиям.
Флеш выразил удивление тем, что OpenAI не реализовал базовые меры безопасности, такие как проверка дублирующихся подключений, ограничение их количества или предотвращение запросов от недоступных ресурсов. По его словам, проблема может быть связана с использованием так называемого агенты искусственного интеллекта, возможно, используемые для обработки параметров запроса.
Он добавил, что отсутствие таких гарантий для инструмента, способного вызвать серьёзную перегрузку, противоречит стандартам разработки поисковых роботов, которые уже давно реализованы в таких сервисах, как Google.