
Un outil léger conçu pour stopper les attaques clickfix en utilisant le formatage du presse-papiers avec des vérifications de surface d'exécution.
Détection en temps réel des attaques par injection de presse-papiers ClickFix sous Windows.
ClipGuard surveille l'activité du presse-papiers et intercepte les opérations de collage suspectes avant qu'elles ne puissent s'exécuter — ciblant spécifiquement la technique ClickFix où de fausses pages de vérification incitent les utilisateurs à coller des commandes malveillantes.
Les attaques ClickFix fonctionnent comme ceci :
L'idée clé : lorsque JavaScript écrit dans le presse-papiers via navigator.clipboard.writeText(), le presse-papiers contient uniquement CF_UNICODETEXT —Lorsqu'un utilisateur sélectionne et copie manuellement du texte à partir d'une page Web, le navigateur place à la fois CF_UNICODETEXT et CF_HTML dans le presse-papiers. ClipGuard utilise cette différence de format comme l'un de ses principaux signaux de détection.
ClipGuard s'exécute dans la barre d'état système et superpose plusieurs mécanismes de détection :
Suivi de provenance du presse-papiers — Écoute les messages WM_CLIPBOARDUPDATE et enregistre le processus source, les formats de presse-papiers présents (CF_HTML vs CF_UNICODETEXT), la longueur du contenu et un aperçu du contenu pour chaque modification du presse-papiers.
Détection de surface d'exécution — Identifie lorsque la fenêtre active est une surface d'exécution de commandes : la boîte de dialogue Exécuter (Win+R), cmd.exe, powershell.exe, pwsh.exe, ou Windows Terminal.
Crochet clavier (Interception Ctrl+V) — Un crochet clavier bas niveau (WH_KEYBOARD_LL) intercepte les frappes Ctrl+V. Lorsqu'un collage est tenté dans une surface d'exécution avec un contenu de presse-papiers provenant du navigateur, ClipGuard évalue la menace.
Verdict basé sur le format — Si le contenu du presse-papiers provient d'un navigateur et ne contient que du texte (pas de CF_HTML), il est signalé comme suspect — indiquant une probable écriture JavaScript dans le presse-papiers plutôt qu'une copie initiée par l'utilisateur( aucun indicateur HTML). Le collage est bloqué et l'utilisateur voit une alerte avec le contenu du presse-papiers avant de décider d'autoriser ou de bloquer.
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
Prérequis :
Build from source :
git clone https://github.com/CertainlyP/ClipGuard.git
cd ClipGuard
dotnet build -c Release
Ou téléchargez le binaire compilé depuis la page Releases.
Lorsqu'un collage suspect est détecté, ClipGuard affiche une alerte avec l'aperçu du contenu du presse-papiers, le processus source et le PID, l'analyse du format du presse-papiers, et l'option de bloquer ou d'autoriser le collage.
Les journaux sont écrits dans %APPDATA%\ClipGuard\shield.log
Cet outil est basé sur des recherches originales sur les mécanismes d'attaque ClickFix :
MIT