Изображение


Исследователи из Университета Уэйк Форест выявили, что 282 из 444 проанализированных AI-приложений для iOS (64%) содержат критическую уязвимость: они раскрывают API-ключи или используют небезопасные методы аутентификации. Это означает, что злоумышленники могут получить доступ к платным сервисам искусственного интеллекта (OpenAI, Gemini, Claude и другие) за чужой счет, а разработчикам останутся непредвиденные счета. Проблема усугубляется тем, что даже после уведомлений лишь 28% разработчиков исправили уязвимость в течение 90 дней.



Ключи API нараспашку: цифры и риски


Анализ 444 приложений с функциями больших языковых моделей (LLM) показал три основных типа нарушений безопасности. В 92 случаях приложения принимали запросы к AI-сервисам без какой-либо аутентификации — любой, кто обнаружил такой сервис, мог использовать его за счёт разработчика. Еще 136 приложений раскрывали токены аутентификации, которые можно было повторно использовать для доступа к AI-моделям. В 54 случаях учётные данные передавались в открытом виде в запросах к провайдерам (например, OpenAI или Gemini), что позволяло перехватить их из трафика.



По мнению исследователей, раскрытие ключей в открытом виде, хотя и встречается реже (19% случаев), несёт самый высокий риск из-за предоставления неограниченного доступа. Последствия эксплуатации таких уязвимостей включают неожиданные финансовые расходы на использование ИИ, кражу проприетарных системных промптов (скрытых инструкций для AI-ассистентов), нарушение работы сервисов и злоупотребление учётными записями разработчиков. Почти в половине случаев с передачей ключей в запросах удалось извлечь и скрытые системные промпты.



Категории приложений и их уязвимость


Уязвимые приложения охватывали 13 категорий. Наибольшее количество затронутых программ пришлось на категорию «Продуктивность» — 143 приложения. Далее следовали «Развлечения» (35), «Образ жизни» (24), «Утилиты» (22), «Образование» (13) и «Здоровье и фитнес» (7). Категория «Здоровье и фитнес» оказалась самой рискованной по доле: почти половина приложений в ней содержала недостатки. Для сравнения, около 40% приложений из категории «Продуктивность» были затронуты, а в категориях «Образ жизни» и «Развлечения» — примерно четверть.



Проблема не ограничивается малоизвестным программным обеспечением: 15% уязвимых приложений набрали более 1000 оценок пользователей, а самое популярное из них имело более 2,3 миллиона оценок. Исследователи назвали утечку ключей API LLM «широко распространённой и системной проблемой в экосистеме iOS», затрагивающей как нишевые, так и массовые потребительские приложения.



Провайдеры под ударом


Среди приложений, которые напрямую взаимодействовали с AI-провайдерами, наибольшее количество раскрытых учётных данных (42 приложения) было связано с OpenAI. Google Gemini был идентифицирован в 7 приложениях. Также исследователи нашли раскрытые учётные данные для Anthropic Claude, OpenRouter, DeepSeek, Mistral, Baidu, ERNIE, Poe, Zhipu AI, DeepAI и Writesonic. Примечательно, что Google незадолго до публикации результатоов — с 19 июня — заблокировал запросы с неограниченных стандартных ключей Gemini, чтобы уменьшить злоупотребления и неожиданные расходы разработчиков. Однако, как показало исследование, проблема осталась массовой.



Перенос ключей на сервер не спасает


Многие разработчики следовали отраслевым рекомендациям, сохраняя AI-ключи не на устройствах пользователей, а на собственных серверах и маршрутизируя трафик через серверную часть. Однако более половины приложений с утечками (55%) использовали именно такой подход, что делает недостаточными только меры защиты на стороне провайдера. Исследователи обнаружили, что многие из этих серверных систем полагались на слабую аутентификацию или сами раскрывали токены доступа, сводя на нет преимущества безопасности от переноса AI-учётных данных с устройств.



Еще 67 приложений использовали облачные платформы (Firebase, Google Cloud Run, AWS), а 60 взаимодействовали напрямую с AI-провайдерами.



Реакция разработчиков: 28% за 90 дней


Все 282 затронутых разработчика были уведомлены об уязвимостях. Когда исследователи провели повторное тестирование через 90 дней, только 28% из них полностью устранили проблему — отозвали скомпрометированные учётные данные или улучшили контроль доступа. Авторы исследования отмечают, что «низкий уровень исправления отражает сложность смягчения этой уязвимости». Наиболее частыми причинами сохраняющихся проблем были неаутентифицированные AI-сервисы и ошибочная реализация механизмов аутентификации, что указывает на необходимость более детальных руководств для разработчиков по безопасному развёртыванию AI-ориентированных приложений.