«Взлом» Telegram-игры или минусы вайбкодинга. ai.. ai. deepseek.. ai. deepseek. telegram mini app.. ai. deepseek. telegram mini app. безопасность.. ai. deepseek. telegram mini app. безопасность. вайбкодинг.. ai. deepseek. telegram mini app. безопасность. вайбкодинг. Веб-разработка.. ai. deepseek. telegram mini app. безопасность. вайбкодинг. Веб-разработка. взлом.. ai. deepseek. telegram mini app. безопасность. вайбкодинг. Веб-разработка. взлом. Информационная безопасность.. ai. deepseek. telegram mini app. безопасность. вайбкодинг. Веб-разработка. взлом. Информационная безопасность. искусственный интеллект.. ai. deepseek. telegram mini app. безопасность. вайбкодинг. Веб-разработка. взлом. Информационная безопасность. искусственный интеллект. нейросеть.. ai. deepseek. telegram mini app. безопасность. вайбкодинг. Веб-разработка. взлом. Информационная безопасность. искусственный интеллект. нейросеть. Тестирование веб-сервисов.

Сегодня вечером в одном популярном телеграм-канале увидел вот такой пост:

Не указываю ссылок, чтобы не тыкать пальцем
Не указываю ссылок, чтобы не тыкать пальцем

Игра была знакомой, классический Flappy Bird.

Вот так она выглядит

Вот так она выглядит

Ранее я уже сталкивался с плохой безопасностью приложения на iOS, разработанного с помощью ИИ. Если кому интересно, почитать можно здесь.

Ставим цель

Цель простая: используя недочеты нейросети, забраться на верхушку лидерборда. Опыт показал, что выходить на первое место нужно без лишнего внимания. Поэтому никаких красивых и огромных чисел в результатах, просто обойдем текущего чемпиона на несколько очков.

Начало исследования

В первую очередь запустим игру с браузера на ПК, чтобы удобно работать с инструментами разработчика devtools.

запустилось, теперь очень удобно

запустилось, теперь очень удобно

Сыграв первую тестовую игру сразу видим запрос к api, отправляющий результаты.

В запросе не оказалось авторизации, поэтому просто копируем его (copy -> copy as curl) и работаем напрямую с api.

Примечание: у меня уже был открыт Postman, поэтому дальше я работал с ним. Но вообще, измененный запрос можно было отправить и из консоли браузера.

Вставляю в Postman: он из под коробки распознает curl и сам заполняет все атрибуты.

«Взлом» Telegram-игры или минусы вайбкодинга - 4

В теле запроса ничего хитрого не оказалось, initData – строка, которую передает сам телеграм, поэтому ее не меняем. Следующий объект gameplayData– это то что нам надо.

Для правдоподобности в новых значениях решил пропорционально увеличить количество прыжков и длительность игры. Ну и, конечно, сам счет.

Как видим из скрина выше – запрос прошел, а значит самое время обновить лидерборд.

«Взлом» Telegram-игры или минусы вайбкодинга - 5

Что можно было бы улучшить?

  1. Реализовать проверку целостности данных.
    Каждый запрос должен быть подписан с использованием секретного ключа. Это позволило бы серверу отклонять попытки подмены данных.

  2. Перенести расчёты на сервер.
    Не доверять данным, присылаемым с клиента. Вместо этого отправлять на сервер события (например, прыжок, столкновение) и вычислять прогресс и очки на стороне сервера.

  3. Ввести базовые проверки на аномалии.
    Например, валидировать, что длительность сессии соответствует ожидаемому времени игры и не выходит за реалистичные пределы.

Ну а мы в очередной раз забираем первое место и убеждаемся, что контроль качества должен оставаться за человеком (да простят меня нейросети).

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

Автор: aleks-up

Источник

Рейтинг@Mail.ru
Rambler's Top100