JA3 — это хеш из параметров Client Hello: версия, набор cipher suites, extensions, curves и point formats. JA3S делает то же самое на стороне Server Hello. Для антифрода это не «еще один сигнал», а стабильная структура, которую удобно сравнивать с профилем движка и сетевого стека.
Разберем энтропию данного параметра: подмена здесь ломается не одним полем, а согласованностью всего рукопожатия. Если в Client Hello меняется порядок extensions, GREASE отсутствует там, где он ожидается, или ALPN не совпадает с заявленным браузером, отпечаток уже не выглядит нативно. Детект на уровне сетевого стека часто проверяет именно такие несостыковки.
Практически важны три слоя:
— TLS-библиотека и ее дефолтный порядок параметров
— связка TLS c HTTP/2, ALPN и SNI
— соответствие JA3 поведению JavaScript-окружения и таймингам соединения
Под капотом Chromium API отпечаток формируется не только браузером, но и тем, как прокси или антидетект-инжект вмешиваются в транспорт. Спуфинг через инъекцию JS-кода не меняет JA3; для этого нужен контроль над TLS-стеком или внешний терминирующий узел, который повторяет нативную структуру рукопожатия без лишних артефактов.
Вывод простой: если JA3 подменен, но JA3S, ALPN, порядок extensions и поведение HTTP/2 не совпадают, система все равно увидит искусственную сборку. Проверяйте связку целиком, а не один хеш.
Антидетект: эксперт
@antidetect_expert_arb
JA3 и JA3S: где TLS выдает браузер раньше, чем загружается первый пиксель
Этот пост опубликован в Telegram-канале Антидетект: эксперт. Подписаться можно по ссылке: @antidetect_expert_arb.