← На главную

JavaScript-обфускация отпугивает ботов и экономит ресурсы ИИ

03.05.2026 14:49 · hackernews

Пользователь по никнейму Mini спросил на форуме, стоит ли использовать JavaScript-обфускацию для защиты API от ботов. Комментатор Echo с высшим рейтингом (+4,156/-1,640) резко заявил, что защита от халявы плоха, и его мнение быстро набрало лайки. Автор статьи ответил, что сама по себе секретность зла не есть, хотя единственная защита на ней опасна, это нарушает принцип Керкгоффса. Но как дополнительный слой секретность работает отлично. Угрозы исчезают, когда хакерам не показывают, куда стучать. Это цифровая версия прятания запасного ключа под ковриком. Злоумышленник может не ковыряться под ним, а идти дальше, потратив время, которое ему негде взять. Ключ всё равно можно найти под цветком в горшке или почтовом ящике, но каждый такой шаг стоит денег и нервов. Если бот застрял на ложных pistes, он скорее сдаст и переключится на другую жертву. Растягивание времени атаки снижает шансы на взлом. Правильный подход — это защита по глубине, где криптография и исправления кода делают работу, а секретность лишь усложняет задачу злоумышленникам, заставляя их тратить ресурсы на тупиковые ветви.

Часто советуют менять префикс таблиц базы данных в WordPress, например превратить wp_users в wp_8df7b8_users. Критики называют это бессмысленным, но это не так. В 2015 году один из плагинов на сайте автора уязвимость SQL-инъекции позволяла выгружать базы данных. Другие сайты с одинаковой уязвимостью попали под атаку и были «нуллированы», а сайт автора с новым префиксом остался в безопасности. Стандартный запрос не сработал, выдав ошибку, что таблица не найдена. Это доказало, что даже без полной защиты, секретность заставила ботов тратить время, пока они пытались подобрать другие варианты. Сегодняшние ИИ-инструменты тоже платят за токены, поэтому чем дольше и дороже атака, тем выше шанс, что злоумышленник остановится.

Игра CS:GO тоже использует этот принцип. При обновлении для macOS Valve случайно оставила отладочные символы в файлах .dylib, что раскрыло внутренние детали игры. Серверы использовали эти данные для создания скриптов, а создатели читов — для улучшения своих программ. Valve быстро исправила ошибку и снова удалила символы, так как их отсутствие сильно затрудняет жизнь программистам читов. Отсутствие отладочной информации в бинарниках, таких как engine.dll или server.dll, делает reverse engineering сложным процессом, требующим работы в IDA Pro или Ghidra. Функции, такие как CBaseEntity::SetHealth, скрыты от глаз без мета-данных, которые бы показывали исходный код.

Маловероятно, что ИИ сделает обфускацию устаревшей. Анализ вредоносного ПО показывает, что злоумышленники активно используют обфускацию, чтобы скрыть код от антивирусов и исследователей. Крупные компании вроде Google используют JavaScript-обфускацию в reCAPTCHA, чтобы ботам было сложно понять логику проверки и решить её автоматически. Netflix защищает свои компоненты DRM, а Riot Games маскирует взаимодействие между античитом Riot Vanguard и серверами, не давая читерам фальсифицировать сигнал. Автор тестировал модель Claude Opus 4.5 на сложной задаче типа PWN. Без ключа к решению модель не справилась, даже получив все файлы и инструменты. Только после 4.5 часов работы, сжигания 61 миллиона входных токенов и 11 миллионов выходных, что обошлось примерно в 300 долларов, модель нашла решение. Для злоумышленников каждый такой раунд слишком дорог. Сомнения в успехе атаки — это то, где секретность всё ещё играет важную роль. Нельзя больше говорить, что защита от халявы плоха. С этого момента стоит утверждать, что только на ней нельзя полагаться, но как дополнительный слой она полезна.

Читать оригинал →