Pull to refresh

Как я «взломал» популярное приложение и добыл корпоративный токен OpenAI

Level of difficultyEasy
Reading time2 min
Views9.1K

Благодаря искусственному интеллекту, все больше энтузиастов запускают свои продукты без команды профессиональных разработчиков.

Так, например, совсем недавно вышла новость о 18-летних подростках, которые запустили приложение для подсчета калорий и заработали на нем миллионы долларов. Круто, правда?

Но давайте взглянем на ситуацию с другой стороны: какое качество у таких "быстрых" проектов и какие уязвимости они могут нести? Здесь я хочу разобрать реальный кейс - уязвимость в одном очень популярном ИИ-приложении, которая открыла мне доступ к корпоративному токену OpenAI.

OpenAI-токен — это не просто утечка, а доступ к платным API, приватным данным и управлению ИИ-моделями от имени компании (цитата ChatGPT)

Выбираем объект исследования

Я решил посмотреть самые популярные приложения для подсчета калорий в AppStore.

скриншот аналогичного приложения
скриншот аналогичного приложения

Считать калории сейчас очень удобно - достаточно сфотографировать еду, и приложение определит состав, способ приготовления, вес и КБЖУ.

Вес перепроверял кухонными весами, погрешность всего 10-15%, поразительно!

Стало интересно, а какую именно нейросеть использует приложение для распознавания фотографии. Не отрываясь от завтрака, я решил посмотреть запросы, которые улетают с моего iPhone (название приложения намеренно не указываю).

Вот так просто?
Вот так просто?

Я не поверил своим глазам! Приложение отправило фотографию еды напрямую на сервера OpenAI!
Доев свой завтрак, я поспешил домой, чтобы уже с компьютера проанализировать запрос детальнее.

Вот он родимый, корпоративный OpenAI-токен
Вот он родимый, корпоративный OpenAI-токен

Удалось посмотреть все: версию chatgpt, промпт, и конечно, самое ценное - корпоративный OpenAI токен, который я замазал на скрине выше.

Если OpenAI-токен попадет в руки злоумышленника, это может привести к серьезным последствиям: несанкционированный доступ к платным API, утечка конфиденциальных данных, подделка запросов от имени компании и внезапные финансовые потери из-за неконтролируемого расхода средств. (цитата chatGPT)

У меня не было в планах получать от уязвимости хоть какую-то выгоду, поэтому я сразу же связался с командой разработки и сообщил о проблеме.

Как защитить свой продукт?

Самый простой способ предотвратить утечку - инкапсулировать работу с нейросетью через свой прокси-сервис.
Он должен принимать запросы от клиента, авторизовывать их, добавлять OpenAI-токен (или другой) и отправлять данные дальше. Так клиент ничего не будет знать об используемой ИИ-модели и не получит доступ к корпоративным токенам.

P.S. Для просмотра трафика на iPhone использовал Quantumult X, для анализа запросов с ПК — Charles.

Вывод №1

Если вы запускаете свой продукт, убедитесь, что приватные ключи не передаются с устройств ваших пользователей.

Вывод №2

Нельзя полностью доверять ИИ при разработке продукта — контроль качества всегда должен оставаться за человеком.

В своем телеграм-канале «Деплой в пятницу» я публикую всё, что не тянет на полноценную статью, иногда туда попадает даже что-то полезное.

Tags:
Hubs:
Total votes 13: ↑13 and ↓0+20
Comments13

Articles