Краулер OpenAI ChatGPT можна використовувати для DDoS-атак🕷
На GitHub Microsoft була опублікована стаття ІБ-фахівця Бенджаміна Флеша (Benjamin Flesch), який розповів, що всього один HTTP-запит до API ChatGPT може використовуватися для DDoS-атаки на цільовий сайт. Атака буде виходити від краулера ChatGPT (а саме ChatGPT-User).
Флеш пише, що атака виходить не особливо потужною, але все одно становить загрозу і свідчить про явний прорахунок, допущений розробниками OpenAI. Так, всього один API-запит можна «розігнати» до 20–5000 і більше запитів до сайту жертви в секунду.
«API ChatGPT має серйозний недолік, пов’язаний з обробкою HTTP POST-запитів до https://chatgpt.com/backend-api/attributions», — пояснює Флеш.
Дослідник пояснює, що цей ендпоінт API використовується для отримання даних про веб-джерела, згадані у відповідях бота. Коли ChatGPT посилається на певні сайти, він використовує attributions зі списком URL-адрес, за якими проходить краулер і збирає інформацію. Якщо ж передати API довгий список URL, які трохи відрізняються один від одного, але вказують на один і той же ресурс, краулер почне звертатися відразу до всіх.
Тобто зловмисник може використовувати Curl і надіслати HTTP POST-запит на ендпоінт ChatGPT (без будь-якого токена аутентифікації), і сервери OpenAI в Microsoft Azure дадуть відповідь, ініціювавши HTTP-запити для кожного переданого в urls посилання. Якщо всі вони вказують на один сайт, це може викликати DDoS-ефект. Причому краулер, проксірований Cloudflare, кожен раз буде заходити на сайт з нової IP-адреси.
Також фахівець розповів виданню The Register і про іншу пов’язану проблему. За його словами, той же API виявився вразливим до ін’єкцій промптів. Ця проблема дозволяє краулеру відповідати на запити через той же API attributions. Тобто можна задавати чат-боту питання, і він буде відповідати на них, хоча його завдання — просто витягувати дані з сайтів.
У розмові з журналістами дослідник висловив здивування тим, що в боті OpenAI не реалізовані прості і надійні методи правильної дедуплікації URL-адрес, а для розміру списку відсутні обмеження. Також він задається питанням, чому тут не виправлені вразливості, пов’язані з ін’єкціями промптів, які давно усунені в основному інтерфейсі ChatGPT.