Утечка данных Applebee’s стала возможной из-за пароля к внутренней базе, который разработчики оставили прямо в Android-приложении сети ресторанов. Любой, кто извлёк бы учётные данные из APK, мог получить доступ к профилям клиентов — от имени и почты до даты рождения, телефона и IP-адреса последних входов.
Проблему обнаружил британский исследователь безопасности Роберт Уиггинс из What Security, сообщает TechCrunch. Он нашёл секрет среди тысяч строк кода с помощью ИИ, а издание независимо проверило находку: скачало и декомпилировало приложение Applebee’s, после чего убедилось, что учётные данные действительно присутствуют в коде. Для дополнительной проверки журналисты создали тестовый аккаунт, и исследователь смог получить его данные из базы.
Applebee’s и её материнская компания Dine Brands заявили, что устранили уязвимость после уведомления. Публикацию отложили до подтверждения исправления. Однако ключевые вопросы пока без ответа: компания не сообщила, как долго пароль находился в приложении, сколько записей было доступно и есть ли у неё серверные журналы, позволяющие установить факт чужого доступа к базе.
В открытом доступе оказались не просто маркетинговые идентификаторы. База содержала имена, адреса электронной почты и отметку об их подтверждении, даты рождения, номера телефонов и почтовые индексы. Также в ней были сведения о статусе ветерана, времени создания аккаунта, числе входов и IP-адресе последней авторизации. Последний пункт особенно неприятен: сам по себе IP-адрес не равен домашнему адресу, но позволяет достаточно точно определить примерное местоположение пользователя и дополнить его цифровой профиль.
По словам Уиггинса, найденные учётные данные могли позволить не только читать записи, но и менять их. Это превращает историю из обычного «лишнего поля в API» в полноценный сценарий компрометации: злоумышленник потенциально способен собирать персональные данные для фишинга, подменять сведения в профилях или использовать доступ как отправную точку для дальнейшей атаки. Утечка данных Applebee’s в таком виде опасна именно сочетанием идентификационных и поведенческих данных, а не размером одного отдельно взятого поля.
Точное число затронутых клиентов неизвестно. Исследователь не стал пытаться подсчитать записи: такой запрос потребовал бы фактически пройти по всей базе и затронуть данные людей, не связанных с проверкой. Известно лишь, что в прошлом году в программе лояльности Applebee’s состояло не менее 8,5 млн человек. Это не означает, что все они были в доступной базе или пострадали, но показывает потенциальный масштаб риска.
Технически ошибка относится к классу hardcoded credentials — жёстко зашитых секретов. Мобильное приложение нельзя считать безопасным хранилищем: APK можно скачать, декомпилировать и изучить. Обфускация повышает стоимость анализа, но не превращает пароль или ключ в секрет. Если такой секрет даёт прямой доступ к удалённой системе, приложение фактически становится каналом распространения привилегированной учётной записи среди всех установивших его пользователей.
Для российских команд здесь нет экзотики американского ресторанного рынка — есть очень знакомый анти-паттерн поставки. В репозитории и сборках не должны жить пароли к production-базам, приватные ключи, токены с широкими правами и строки подключения, способные обойти серверный слой. Мобильный клиент должен обращаться к API с минимально необходимыми правами, а доступ сервисов к данным — ограничиваться ролями, сегментацией и короткоживущими секретами. Отдельный урок — процесс раскрытия уязвимостей: Уиггинс не смог найти у Applebee’s или Dine Brands канал для security-репортов и обратился к журналистам. Адрес security@, security.txt и понятный маршрут для исследователей стоят несоизмеримо дешевле кризисной коммуникации.
Dine Brands заявила, что начала расследование и пока не обнаружила признаков несанкционированного доступа, но не уточнила, на каких логах основан этот вывод. Именно качество аудита теперь определит, останется ли случай исправленной уязвимостью или станет подтверждённым инцидентом с уведомлениями клиентов и регуляторов. Для разработчиков вывод проще и жёстче: секрет, попавший в клиентскую сборку, нужно считать уже раскрытым — отозвать, заменить и проверить все следы его использования.