
Легковесный инструмент, предназначенный для предотвращения clickfix-атак с использованием форматирования буфера обмена и проверок поверхности выполнения.
Обнаружение атак ClickFix с инъекцией в буфер обмена в реальном времени на Windows.
ClipGuard отслеживает активность буфера обмена и перехватывает подозрительные операции вставки до их выполнения — специально нацелен на технику ClickFix, когда поддельные страницы проверки обманом заставляют пользователей вставлять вредоносные команды.
Атаки ClickFix работают следующим образом:
Ключевое понимание: когда JavaScript записывает в буфер обмена через navigator.clipboard.writeText(), в буфере содержится только CF_UNICODETEXT — когда пользователь вручную выделяет и копирует текст со страницы, браузер помещает в буфер как CF_UNICODETEXT, так и CF_HTML. ClipGuard использует это различие форматов как один из основных сигналов обнаружения.
ClipGuard работает в системном трее и сочетает несколько механизмов обнаружения:
Отслеживание происхождения буфера обмена — прослушивает сообщения WM_CLIPBOARDUPDATE и записывает исходный процесс, присутствующие форматы буфера обмена (CF_HTML против CF_UNICODETEXT), длину содержимого и его предварительный просмотр для каждого изменения буфера.
Обнаружение поверхности выполнения — определяет, является ли окно на переднем плане поверхностью выполнения команд: диалог «Выполнить» (Win+R), cmd.exe, powershell.exe, pwsh.exe или Windows Terminal.
Перехват клавиш (Ctrl+V) — низкоуровневый хук клавиатуры (WH_KEYBOARD_LL) перехватывает нажатия Ctrl+V. Когда попытка вставки производится в поверхность выполнения с содержимым буфера из браузера, ClipGuard оценивает угрозу.
Вердикт на основе формата — если содержимое буфера пришло из браузера и содержит только текст (без CF_HTML), оно помечается как подозрительное — что указывает на вероятную запись JavaScript в буфер, а не на копирование пользователем (отсутствие HTML-индикатора). Вставка блокируется, и пользователь видит предупреждение с содержимым буфера перед принятием решения разрешить или заблокировать.
Clipboard updated by browser?
-- YES: User pastes (Ctrl+V) into execution surface?
-- YES: Clipboard has CF_UNICODETEXT only (no CF_HTML)?
-- YES: BLOCK — Suspected ClickFix (JS clipboard write)
-- NO: Strict Mode on?
-- YES: WARN — User copy, but going to exec surface
-- NO: ALLOW
Edge, Chrome, Firefox, Brave, Opera, Vivaldi, Chromium, Arc
Требования:
Сборка из исходного кода:
git clone https://github.com/CertainlyP/ClipGuard.git
cd ClipGuard
dotnet build -c Release
Или загрузите скомпилированный бинарный файл со страницы Releases.
При обнаружении подозрительной вставки ClipGuard показывает предупреждение с предварительным просмотром содержимого буфера, исходным процессом и PID, анализом формата буфера и возможностью заблокировать или разрешить вставку.
Логи записываются в %APPDATA%\ClipGuard\shield.log
Этот инструмент основан на оригинальном исследовании механик атак ClickFix:
MIT