Глюк в терминалах McDonald's: еда за полцены

Что произошло
Клиенты в Австралии обнаружили программный глюк в терминале самообслуживания McDonald’s, который позволял получить еду со скидкой примерно 50%. Видео, опубликованное Максом Джалалом (Max Jalal) 3 июня 2015 года, показывает простой набор действий на экране, после которых счёт за семейный ужин уменьшился с $19.95 / €17.50 до $9.95 / €8.80.
В ролике Джалал выбирает опцию “$20 dinner box” (семейный набор за $19.95), затем с помощью пункта из меню напитков — помеченного как L and P в видео — несколько раз добавляет этот элемент в заказ. При каждом добавлении итоговая сумма снижается (после первого шага размер счёта показан как $17.20), а после повторения шага четыре раза счёт оказался примерно вдвое меньше от исходной цены.
Видео было снято в филиале McDonald’s в Мельбурне и быстро стало вирусным: публикация набрала более 1,5 миллиона просмотров.
Как именно эксплуатировали ошибку
- Шаг 1: выбор семейного набора на терминале самообслуживания.
- Шаг 2: переход в меню напитков и выбор неопределённого пункта (в видео — L and P), у которого не отображалось ни изображения, ни цены.
- Шаг 3: добавление этого пункта к заказу — система снижала итоговую сумму.
- Шаг 4: повторение добавления пункта несколько раз до достижения желаемой скидки.
Видео также советовало оплачивать заказ через кассу (counter), а не на терминале, чтобы сотрудники не заметили трюк.
Почему это важно
- Автоматизация повышает скорость обслуживания, но вводит новые векторы ошибок: логика ценообразования, взаимодействие опций и проверки ввода могут приводить к неожиданным переходам цены.
- Публичное распространение инструкции по эксплуатации такого бага повышает финансовые потери и риск злоупотреблений.
- Вирусные случаи быстро выявляют слабые места в UX и бэкенде, но ответственное раскрытие ошибок — лучший путь для минимизации вреда.
Что сделал McDonald’s
Представитель McDonald’s Australia сообщил Daily Mail Australia, что это новый компьютерный интерфейс и иногда могут возникать глюки. Представитель был «довольно уверен», что других аналогичных ошибок в системе нет. Сообщается, что терминал в данном филиале был исправлен после инцидента.
Когда подобный приём может не сработать
- Если интерфейс показывает изображения и цены для всех опций — тогда не осталось «пустых» пунктов, которые меняют итог.
- В системах с серверной проверкой корзины на стороне бекенда (а не только на клиенте) любые некорректные сочетания опций отклоняются или перепроверяются перед расчётом итоговой суммы.
- Если сеть магазинов использует централизованные обновления и мониторинг аномалий, подобные ошибки чаще обнаруживаются и блокируются автоматически.
Рекомендации для клиентов и сотрудников
- Клиентам: использовать найденные уязвимости нельзя — это может считаться мошенничеством. Лучше сообщать об ошибках администрации или через официальные каналы.
- Сотрудникам/менеджерам: при обнаружении подозрительного поведения кассы — блокировать такую точку, уведомлять IT, сохранять логи и видео для расследования.
Важно: намеренное использование бага для экономической выгоды может иметь юридические последствия.
Рекомендации для компаний (короткий план реагирования)
- Сбор данных: немедленно сохранить логи POS, идентификаторы терминалов и временные метки.
- Блокировка: при возможности временно отключить уязвимый интерфейс или выставить терминал в режим обслуживания.
- Анализ: команда IT воспроизводит ошибку в тестовой среде и выявляет корень проблемы.
- Исправление: выпуск патча и проверка регрессий на всех связанных конфигурациях.
- Коммуникация: уведомить руководство, обучить персонал и, при необходимости, оповестить клиентов.
- Постинцидентная проверка: ввести автоматический мониторинг аномалий цен и оповещений.
Мини‑методология: как компании тестируют терминалы самообслуживания
- Функциональные тесты — проверки отображения товаров, цен и изображений.
- Интеграционные тесты — валидация взаимодействия фронтенда и бекенда при сложных комбинациях опций.
- Тесты на устойчивость — последовательное добавление/удаление опций, нагрузочное тестирование.
- Ручное тестирование UX — поиск «пустых» пунктов меню или некорректных состояний.
Фактбокс
- Дата публикации видео: 3 июня 2015 года.
- Первоначальная цена семейного набора: $19.95 / €17.50.
- Итоговая цена в видео после эксплойта: $9.95 / €8.80.
- Просмотры видео на Facebook: более 1,5 млн.
Краткие определения
- Терминал самообслуживания: сенсорный киоск, позволяющий клиенту собрать и оплатить заказ без кассира.
- Глюк: непредвиденное поведение программного обеспечения, приводящее к ошибкам в логике.
Контрольный чек‑лист для IT‑команд
- Собрать и сохранить все логи с момента обнаружения.
- Повторить шаги репродукции в изолированной среде.
- Оценить объём потенциальных потерь и список затронутых терминалов.
- Выпустить срочный хотфикс и протестировать на всех типичных сценариях заказа.
- Внедрить мониторинг аномалий цен и частоты изменений корзины.
Заключение
Случай с терминалом McDonald’s в Мельбурне — классический пример, как сочетание нового интерфейса, неполных метаданных для пунктов меню и публичного распространения инструкции может привести к массовому использованию бага. Для компаний это сигнал: тестируйте автоматизированные точки контакта с клиентом как критическую часть инфраструктуры, а пользователям стоит помнить о рисках и ответственности при эксплуатации подобных уязвимостей.
Замечание: инцидент произошёл в 2015 году и описан на основании общедоступного видео и заявлений компании.
Важно: сообщайте о найденных уязвимостях через официальные каналы — это минимизирует ущерб и поможет быстро исправить проблему.
Похожие материалы

Мягкое свечение портретов за минуту

Что делать, если взломали Gmail и как защититься

Защитите Chrome от Rust‑малвари — EDDIESTEALER

Глюк в терминалах McDonald's: еда за полцены

Черный экран в League of Legends — исправление
