Media Query prefers-reduced-transparency as a macOS Sonoma Signal: Как новая медиа-функция выдаёт версию macOS, даже при поддельном User-Agent

BadB

Professional
Messages
2,545
Reaction score
2,683
Points
113
Как новая медиа-функция выдаёт конкретную версию macOS, даже если User-Agent подделан.

Введение: Когда CSS становится детектором ОС​

Ты думаешь, что подделал User-Agent, замаскировал WebGL, скрыл WebRTC — и теперь твой профиль выглядит как Windows 11?
Подумай ещё раз.

В macOS Sonoma (14.0+) Apple добавила новую медиа-функцию — prefers-reduced-transparency — которая не просто реагирует на настройки пользователя, а является прямым сигналом наличия Sonoma или новее. И самое опасное: она доступна через JavaScript, даже если ты полностью подменил User-Agent.

Это не «ещё один параметр». Это аппаратно-привязанный флаг ОС, который делает бесполезной любую попытку имитировать Windows или старую версию macOS.

В этой статье мы разберём, как работает эта функция, почему она уникальна для Sonoma+, и какие ошибки кардеров мгновенно выдают их как «поддельных».

Часть 1: Что такое prefers-reduced-transparency и зачем она нужна​

Начиная с macOS Sonoma (14.0), Apple ввела системную настройку «Уменьшить прозрачность» (Reduce Transparency) в разделе Системные настройки → Универсальный доступ → Дисплей.

Эта настройка влияет на:
  • Прозрачность панели меню,
  • Эффекты окон Mission Control,
  • Фон виджетов.

Для веб-разработчиков Apple предоставила медиа-запрос:
CSS:
@media (prefers-reduced-transparency: reduce) {
  /* Стили без прозрачности */
}

И, что критично, этот запрос доступен через JavaScript:
JavaScript:
const isReduced = window.matchMedia('(prefers-reduced-transparency: reduce)').matches;

Часть 2: Почему это — сигнал именно macOS Sonoma+​

🔹 Ключевой факт: функция не существует в более ранних версиях​

  • macOS Ventura (13.x) и ниже: медиа-запрос prefers-reduced-transparency игнорируется браузером.
    → matchMedia().matches всегда возвращает false, даже если настройка включена.
  • macOS Sonoma (14.0+) и выше: запрос активен и возвращает актуальное состояние.

💡 Практическое следствие:
Если твой профиль (даже с User-Agent Windows) возвращает true или false (а не игнорирует запрос), система знает:
«Это macOS Sonoma или новее».

🔹 Поведение в разных браузерах​

БраузерmacOS <14.0macOS ≥14.0
SafariЗапрос недоступен → .matches = falseВозвращает реальное значение
Chrome/EdgeТо же (WebKit-based)То же
FirefoxТо же (через CoreGraphics)То же

📌 Важно: На Windows/Linux этот медиа-запрос полностью отсутствует. Браузер ведёт себя так, будто его нет.

Часть 3: Как фрод-движки используют этот сигнал​

Современные системы (Arkose Labs, PerimeterX, Forter) внедряют пассивный JS-сканер на целевых сайтах:
JavaScript:
// Скрытый детектор
try {
  const mql = window.matchMedia('(prefers-reduced-transparency: reduce)');
  if (mql.media === '(prefers-reduced-transparency: reduce)') {
    // Запрос распознан → это macOS Sonoma+
    sendFingerprint('os', 'macos_sonoma_plus');
  } else {
    // Запрос не поддерживается → старая ОС или не macOS
  }
} catch(e) {}

Результат:
  • Если профиль заявлен как Windows, но mql.media возвращает корректную строку — мгновенный бан.
  • Если профиль заявлен как macOS Monterey, но запрос активен — несоответствие версии → высокий фрод-скор.

💀 Реальный кейс (2026):
Кардер использовал Dolphin Anty с macOS Sonoma UA на Windows-ПК.
Razer Gold заблокировал сессию за 8 секунд — детектор увидел активный prefers-reduced-transparency.

Часть 4: Три фатальные ошибки кардеров (и как их исправить)​

❌ Ошибка №1: «Я поставил macOS UA — значит, я на macOS»​

Проблема:
Кардер подделывает User-Agent под macOS Sonoma, но работает на Windows/Linux.
Браузер на этих ОС не знает о существовании prefers-reduced-transparency → запрос игнорируется.

Но фрод-движок проверяет не только результат, а саму возможность выполнения запроса.

✅ Исправление:
  • Никогда не имитируй macOS Sonoma+ на не-macOS железе.
  • Если ты на Windows — твой профиль должен быть Windows.
  • Если тебе критично нужен macOS — работай только на настоящем Mac.

❌ Ошибка №2: Игнорирование состояния медиа-запроса в профиле​

Проблема:
Даже на настоящем Mac кардер не настраивает поведение prefers-reduced-transparency в антидетект-браузере. Dolphin Anty по умолчанию может возвращать случайное значение.

✅ Исправление:
  • В Dolphin Anty / Multilogin: найди настройку «Media Features»prefers-reduced-transparency.
  • Установи значение в соответствии с реальной ОС:
    • Если на Mac включена настройка «Уменьшить прозрачность» → reduce,
    • Если выключена → no-preference.
  • Не оставляй «Auto» — это создаёт нестабильность между сессиями.

❌ Ошибка №3: Попытка блокировать медиа-запрос​

Проблема:
Некоторые кардеры пытаются «заблокировать» этот запрос через расширения или модификацию window.matchMedia.

Последствие:
  • Блокировка вызывает JS-ошибки или нестандартное поведение,
  • Фрод-движки ловят такие аномалии через поведенческий анализ.

✅ Исправление:
  • Не блокируйэмулируй правильно.
  • Единственный безопасный способ — использовать реальное железо с правильной ОС и настройками.

Часть 5: Практический чек-лист для кардера​

ШагДействие
1. Определи своё железоРаботаешь на Mac? → Можно использовать macOS профиль. На Windows? → Только Windows.
2. Проверь настройки macOSSystem Settings → Accessibility → Display → Reduce Transparency (вкл/выкл?)
3. Настрой Media FeaturesВ антидетект-браузере выставь prefers-reduced-transparency вручную
4. ВалидацияОткрой консоль и выполни: window.matchMedia('(prefers-reduced-transparency: reduce)').media
→ Должно вернуть строку запроса только на macOS Sonoma+
5. Не подделывай ОСПоддельный macOS UA на Windows = гарантированный бан

Заключение: CSS — это больше чем стили​

prefers-reduced-transparency — это не «удобство для пользователей». Это аппаратно-привязанный детектор версии ОС, который работает на уровне системных API.

Те, кто думает, что достаточно подменить User-Agent, обречены на провал.
Те же, кто понимает, что каждая медиа-функция — это окно в ядро ОС, создают профили, которые выживают.

Помни: в 2026 году безопасность — это не маскировка. Это соответствие реальности до уровня системных настроек.

Удачи в кардинге.
 
Top