Как‑то раз мы делали кликер для запуска нашего межсетевого экрана нового поколения (PT NGFW) — простую игру, где игроки‑хакеры атакуют разные поколения файрволов. Задумка была классная: на последнем уровне пользователей ждал наш главный защитник — PT NGFW, и все их мощные инструменты против него внезапно становились бесполезными. Так мы хотели показать, что PT NGFW — это реальный инструмент для отражения кибератак, а проходимость трафика 300 Гбит/с — это не просто цифра, а реальный технологический прорыв.

Но в процессе разработки игры профессионалы из команды Phygital.Team так увлеклись геймдизайном, визуалом и механиками, что не учли, что кибербез‑компания привлечет особое внимание кибервзломщиков. Результат? В первые дни релиза бета‑версии мы увидели:

  • Читеров с накруткой очков

  • Хакеров, прыгающих по таблице лидеров

  • Слив данных из публичного репозитория на GitHub

Благодаря тому, что к игре был прикручен Telegram‑бот, мы вышли на связь с самыми активными «взломщиками» — оказалось, это были талантливые ребята! Кого‑то пригласили на стажировку, с другими просто классно пообщались. В итоге набили шишек на целый чек‑лист по безопасности.

Ниже — вся эта эпичная история со взломами, патчами на коленке и неожиданными поворотами.

Киберхомяк, или Наша история переката в геймдев

Геймплей игры, скриншот одной из рабочих версий с примерами визуалов
Геймплей игры, скриншот одной из рабочих версий с примерами визуалов

Началось все с того, что мы хотели сделать игру, которая могла бы показать возможности нашего PT NGFW широкому кругу пользователей. За основу была взята механика кликеров — игр, в которых основной процесс завязан на повторяющиеся клики по экрану, что идеально подходило для задач команды. Как итог, мы создали игру, в которую мог влететь кто угодно без сложного обучения, но с чувством «я что‑то сейчас взломаю». Читатель явно знаком с бывшим популярным в то время «Хомяком», в котором игрок тапами зарабатывал монеты. Так и у нас, только вместо зарабатывания монет он наносил урон. 

Один тап по экрану — и на сервер летит абстрактный «пакет» атаки. Чем быстрее жмешь, тем больше пакетов и выше нагрузка. Чтобы удержать интерес, мы добавили прокачку: игрок мог открывать апгрейды и подключать разные автоматизированные атаки, которые сами генерировали пакеты и помогали взвинтить нагрузку до максимума.

Игровую валюту для покупки и улучшения этих «инструментов хакинга» можно было зарабатывать не только кликами. Мы спрятали ее по всей игре: на вкладках с информацией о продуктах, в квестах и заданиях — например, в задании ответить на вопросы о технологиях. Так игроки одновременно нагружали серверы и невольно прокачивали свои знания в области кибербезопасности.

Была даже суперигра, в которой можно было выиграть АААААВТОМОБИЛЬ реальные призы и получить их в день релиза нашего PT NGFW.

Геймплей игры, скриншот одной из рабочих версий с примерами визуалов
Геймплей игры, скриншот одной из рабочих версий с примерами визуалов

Мы сделали пять уровней, каждый из которых символизировал эволюцию межсетевых экранов. На первых четырех серверы постепенно сдавались под натиском кликов и апгрейдов, но на пятом был наш новый PT NGFW — и вот тут привычные приемы переставали работать.

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

Геймплей игры, скриншот одной из рабочих версий игры с примерами визуалов
Геймплей игры, скриншот одной из рабочих версий игры с примерами визуалов

Легким движением руки кликер превращается… в элегантный полигон для пентестеров

Но что это мы все о себе. Конечно, мы не сами разрабатывали игру с нуля, вот еще! Мы доверились профессионалам, а именно компании Phygital.Team, которая давно специализируется на создании такого рода игрушек. Оказалось, что в процессе разработки ребята сами немного заигрались — хотели сделать по‑настоящему крутой геймдизайн, продуманный интерфейс, увлекательный геймплей и стильный визуал. Как всегда. И так увлеклись созданием идеальной игры, что совершенно упустили из виду один важный момент: игра предназначалась для компании, которая специализируется на кибербезопасности. А это значит, что среди пользователей обязательно найдутся те, кто захочет устроить такой штуке полноценный пентест. 

И понеслась…

В день запуска игроки развлекались как могли! Кто‑то просто накручивал себе очки, кто‑то использовал багоюз, чтобы продвигаться выше по списку лидеров, а один пользователь исхитрился сменить ники всем участникам топа. 

Дошло до того, что нас выследили среди игроков и по Telegram‑идентификатору нашли GitHub, где лежал публичный репозиторий проекта. Некоторые данные там были в открытом доступе — ничего личного, но все равно было неприятно. С тех пор поняли, что вообще все, что можно, лучше держать на сервере.

Конечно же, разрабы пытались пресекать эту активность. С помощью ChatGPT быстро прикрутили пару простых проверок на количество очков в минуту и за один клик, что позволило отслеживать и переносить подозрительных игроков в отдельную таблицу, где они автоматически получали теневой бан на получение призов. Один игрок это заметил и даже написал нам в поддержку.

И вот тут свою роль сыграл наш бот, в задачи которого также входил сбор обратной связи. Поскольку при регистрации пользователи оставляли свои учетные данные, мы начали связываться с участниками нашего незапланированного флешмоба. Со многими из них у нас получилось наладить диалог: с кем‑то просто конструктивно поговорили и обсудили баги, а кого‑то даже позвали на стажировку! Ну и поскольку мы запускали игру сильно заранее, у нас появилась отличная возможность изучить все уязвимости и исправить их. 

В процессе мы решили, что такой опыт не должен кануть в Лету, поэтому собрали из допущенных ошибок чек‑лист, который поможет другим разработчикам избежать подобных сюрпризов.

Чек-лист для разработчиков на собственных шишках

Этот чек‑лист — результат нашего аудита безопасности игры, разработанной на Unity с Telegram‑ботом. Он пригодится как инди‑разработчикам, так и командам, делающим веб‑приложения с серверной логикой.

? 1. Не сливай исходный код в прод!

  • Проверить, что сервер не отдает исходники по прямым URL (например, /server.js, /script.js)

  • Закрыть доступ к служебным или чувствительным скриптам через настройки сервера

  • Не оставлять токены (особенно TG‑ботов) в клиентской части: их просто украдут и подменят webhook

? Если ваш сервер позволяет скачать server.js и в нем лежит токен Telegram — игра закончилась.

? 2. Аутентификация должна быть настоящей

  • Убедиться, что все критичные маршруты требуют валидной аутентификации

  • Удалить заглушки вроде if (!user) return 401 — и вставить реальную проверку пользователя

  • Генерировать JWT только после верификации ID пользователя (а не просто по факту его наличия)

  • Не хранить чувствительные данные в JWT без нужды

? Если игрок может получить полноценный токен доступа, просто указав любой Telegram ID, — значит у вас не аутентификация, а фантазия на ее тему.

⚠️ 3. Используй актуальные версии зависимостей

  • Регулярно запускать npm audit и проверять наличие критических уязвимостей

  • Обновлять библиотеки вроде mongoose и path‑to‑regexp, особенно если они старше динозавров

  • Удалять неиспользуемые зависимости и файлы (чем меньше — тем лучше)

  • Сверять версии с базами уязвимостей:

? Если вы пишете игру про безопасность, а у вас в сборке уязвимости CVE 2014 года, — аудитория обязательно это заметит.

? 4. Следи за своим следом в интернете

  • Не публиковать публичный репозиторий проекта, пока он не очищен от конфиденциальной информации

  • Избегать привязки личных аккаунтов к игровым данным (по Telegram ID могут найти GitHub и ваш проект)

  • Вынести все ключи, конфиги и чувствительные данные в.env или на сервер

? Игроки любопытные, они найдут все: GitHub, ваш ник и даже старый readme.

? 5. Игроки умнее, чем кажется

  • Предусмотреть возможность читерства — например, подсчет очков за минуту и за один клик

  • Отправлять подозрительных игроков в теневой бан‑лист — не наказывать сразу, а исключать из наград

  • Объяснить странности как фичи (если все совсем плохо, это может сработать)

? Когда у вас нашли дыру в безопасности, но подумали, что это интерактив от компании, — это и успех, и провал одновременно.

Краткие выводы

Всё, что потенциально может быть прочитано, будет прочитано. А всё, что можно взломать, обязательно попробуют взломать. Особенно если на кону призы! И тем более если разрабатываешь игру для безопасников! Safety first, получается.

А поштурмовать нашего бота, если желаете, можно хоть сейчас: @pt_ngfw_game_bot.

Закидывайте пакетами сколько душе угодно!

Комментарии (2)


  1. Ratenti
    23.10.2025 12:59

    Подумал, что про NSFW


  1. rikert
    23.10.2025 12:59

    Я б попробовал сначала сделать ngfw, а игру уже потом, после.