
Демонстрирует уязвимость небезопасной прямой ссылки на объект (IDOR) в чат-API Deepfiction AI, позволяющую злоумышленникам расходовать кредиты других пользователей и раскрывать конфигурации ролей.
Deepfiction AI — это компания в сфере ИИ-развлечений, миссия которой — произвести революцию в персонализированном повествовании. Deepfiction AI предоставляет веб-приложение для создания историй с помощью общения с LLM, которое уязвимо для Небезопасной прямой ссылки на объект (Insecure Direct Object Reference, IDOR) в своём компоненте чата. Злоумышленник может использовать этот IDOR для общения с LLM, расходуя кредиты других пользователей.
Конечная точка API https://www.deepfiction.ai/api/story/create-story-part используется для начала или продолжения разговоров. Тестирование показывает, что этот API полагается исключительно на поля treatment_id и user_id в теле запроса для контроля доступа.
Было обнаружено, что поля id и author_id раскрываются в общедоступных разговорах, перечисленных на веб-странице https://www.deepfiction.ai/browse/stories. Эти раскрытые поля напрямую соответствуют параметрам treatment_id (сопоставляется с id) и user_id (сопоставляется с author_id), ожидаемым API create-story-part.
В результате злоумышленник может подставить утёкшие id (как treatment_id) и author_id (как user_id) в запросы к этому API. Это позволяет им взаимодействовать с большой языковой моделью (LLM), расходуя кредиты других пользователей. На рисунках показано POC этой уязвимости.


Кроме того, анализ сетевого трафика (например, с помощью захвата пакетов) может выявить конкретные конфигурации ролей (настройки персонажей) для каждого персонажа. Эти конфигурации аналогичны системным подсказкам (system prompts) и представляют важные системные ресурсы LLM-чатбота. Такое раскрытие также представляет собой форму утечки конфиденциальных данных, поскольку может выявить проприетарные детали разработки подсказок (prompt engineering) или определения персонажей.

Эта уязвимость может затронуть любого пользователя https://www.deepfiction.ai. Кредиты чата пользователя будут злоупотреблены с помощью утёкших treatment_id и user_id.