重點整理
- 這種手法叫 ClickFix:網頁要你把一行指令貼進終端機。它下載的東西不會經過 macOS 首次打開下載檔案時顯示的提示,所以不會有任何警告。
- 檢查五個地方:登入項目、啟動代理程式、shell 啟動檔案、macOS 不接受的 App,以及正在連網的程式。
- 本頁的每個指令都只會讀取,不會要你輸入密碼。要你貼上
sudo指令的網頁本身就是攻擊,而不是修復。 - 發現了問題?中斷網路,用另一台裝置更改密碼,並把加密貨幣轉到在乾淨裝置上新建立的錢包。
1貼上的那行指令做了什麼
自 2025 年底起,冒充 AI 工具的假網頁和「清理你的 Mac」搜尋廣告一直在要 Mac 使用者打開終端機並貼上一行指令。Sophos 追蹤到 2025 年 11 月至 2026 年 2 月間的三波攻擊用這種方式安裝了 MacSync 竊密程式:這行指令會下載一個腳本,要求你的 Mac 密碼,然後竊取鑰匙圈資料、已儲存的登入資訊和加密錢包助記詞(The Hacker News,2026年3月16日)。Microsoft 指出,Atomic(AMOS)、MacSync 和 DigitStealer 竊密程式也在用同樣的誘餌,受害者常常是從搜尋廣告點進來的(Security Affairs 報導 Microsoft 的報告,2026年2月4日)。
為什麼沒有任何警告:macOS 會在你首次打開從網際網路下載的軟體之前詢問你(Apple 平台安全性),它靠瀏覽器設定的隔離標記來判斷檔案來自網際網路。在終端機裡用 curl 取得的檔案可能沒有這個標記(MITRE ATT&CK T1553.001),而直接透過管線交給 bash 的腳本根本不會被當作 App 打開,所以那個提示永遠不會出現。
這類指令通常長這樣,中間夾著一個網址:
curl -fsSL https://… | bashbash -c "$(curl -fsSL https://…)"echo … | base64 -d | sh
2檢查 1:登入項目和背景 App
打開系統設定 → 一般 → 登入項目與延伸功能(macOS 14 及更早版本:登入項目)。查看登入時打開和允許在背景執行。
任何你不認得的項目都值得仔細看看,尤其是名稱古怪、沒有顯示開發者,或在你貼上指令那天出現的項目。關閉某個背景項目可以阻止它再次啟動,但不會刪除它。
3檢查 2:啟動代理程式和常駐程式
自動啟動的程式會在三個資料夾之一留下一個小檔案。以下指令會由新到舊列出它們:
ls -lt ~/Library/LaunchAgents /Library/LaunchAgents /Library/LaunchDaemons大多數名稱看起來像 com.company.app.plist。留意日期在你貼上指令那天前後的檔案、在你自己的資料庫(Library)資料夾裡冒充 Apple 的名稱(com.apple…),以及由隨機字母組成的名稱。想知道某個檔案會啟動哪個程式,把 NAME 換成它的名稱:
plutil -p ~/Library/LaunchAgents/NAME.plist4檢查 3:shell 啟動檔案
每次打開終端機,shell 都會執行這些檔案,所以竊密程式可以在裡面藏一行指令。以下顯示每個檔案最後一次修改的時間:
ls -lT ~/.zshrc ~/.zprofile ~/.bash_profile ~/.bashrc ~/.profile 2>/dev/null如果某個檔案在你不記得編輯過的日子被改過,看看它的最後幾行:
tail -n 20 ~/.zshrc出現你沒寫過、又提到 curl、base64、osascript 或網址的行,就是可疑發現。
5檢查 4:你貼過的指令
終端機會記錄你執行過的指令。以下顯示最近 30 個下載或解碼過內容的指令:
grep -E 'curl|wget|base64|osascript' ~/.zsh_history | tail -n 306檢查 5:macOS 不接受的 App
macOS 的 Gatekeeper 可以告訴你「應用程式」資料夾裡有哪些 App 它不會接受(不是由可識別身分的開發者簽署,或未經 Apple 檢查):
for a in /Applications/*.app; do spctl -a "$a" 2>/dev/null || echo "Not accepted: $a"; done有些老舊或開源的 App 會出現在這裡,它們沒有問題。你不記得安裝過的 App 才是可疑發現。再用肉眼由新到舊檢查一次「下載項目」資料夾:
ls -lt ~/Downloads | head -n 207檢查 6:遠端存取和描述檔
打開系統設定 → 一般 → 共享。螢幕共享、遠端登入、遠端管理和檔案共享應該都是關閉的,除非你自己在用。
接著打開系統設定 → 一般 → 裝置管理(較舊的 macOS:隱私權與安全性 → 描述檔)。你沒安裝過的描述檔可能讓你的瀏覽流量經過別人的伺服器,或讓系統信任他們的憑證。只有確定它不是你的學校或雇主安裝的,才移除它。
8檢查 7:哪些程式在連網
以下指令會依程式統計目前開啟的網路連線:
lsof -nP -iTCP -sTCP:ESTABLISHED | awk 'NR>1 {print $1}' | sort | uniq -c | sort -rn瀏覽器、郵件、訊息和 iCloud 是正常的。不認得的名稱,或 osascript、python3、curl 這類腳本執行程式佔著連線,都值得仔細看看。查看正在等待其他電腦連線的程式:
lsof -nP -iTCP -sTCP:LISTENsudo 時,這些指令只會顯示你自己的程式。對以你的身分執行的竊密程式來說這已經足夠,而 ClickFix 正是這樣運作的。9如果發現了問題
- 中斷網路:關閉 Wi-Fi,拔掉網路線。
- 用另一台裝置先更改 Apple 帳號、電子郵件和銀行的密碼,登出所有其他工作階段,並開啟雙重認證。
- 凡是助記詞或私鑰曾存放在這台 Mac 上的加密錢包,都當作已經遺失。在乾淨的裝置上建立新錢包並轉移資金。竊密程式可能已經拿到助記詞,而轉帳無法撤銷。請參閱加密錢包安全。
- 移除你發現的東西:在活動監視器中結束它,刪除啟動代理程式檔案和 App,然後重新開機。如果不確定是否全部找到,備份你的文件(不要備份 App),然後清除 Mac:系統設定 → 一般 → 移轉或重置 → 清除所有內容和設定。
- 看到提示說惡意軟體已被阻擋並移到垃圾桶?那是 Mac 內建的保護 XProtect 在移除它認得的檔案。這是好事,但要查清楚檔案從哪裡來:同一個網站可能還傳來了別的東西。請參閱 Mac 內建保護能做什麼。
10下次往終端機貼上之前
- 自己輸入網站網址,不要點廣告或聊天裡的連結。
- 貼上前先讀一遍。
| sh、| bash、base64和osascript表示它會執行某些東西。 - 網站、驗證碼或「壞掉的」下載,真正的修復都不需要用到終端機。
- 如果一行指令要你輸入密碼,停下來想想它要密碼做什麼。
11常見問題
- 我的 Mac 被駭了,第一步該做什麼?
- 先中斷它的網路,再用另一台裝置更改 Apple 帳號、電子郵件和銀行密碼,並登出所有其他工作階段。把助記詞曾存放在這台 Mac 上的加密貨幣轉到在乾淨裝置上新建立的錢包。然後依本頁進行檢查,或清除 Mac。
- 怎麼判斷我的 Mac 現在有沒有被入侵?
- 留意你不認得的登入項目或啟動代理程式、你沒改過的 shell 檔案、macOS 不接受的 App,以及有網路連線的陌生程式。不是你觸發的密碼提示、自己改變的瀏覽器設定,也都是跡象。
- macOS 顯示惡意軟體已被阻擋並移到垃圾桶。我安全了嗎?
- 這表示 XProtect 認出了一個已知的惡意檔案,並在它執行前移除了它。查清楚檔案來自哪裡,並做上面的檢查:同一個網站或郵件可能還帶來了 XProtect 沒認出的東西。
- 把指令貼進終端機安全嗎?
- 只有在你親手輸入網站網址、而且知道這行指令在做什麼時才安全。永遠不要貼上來自廣告、彈出視窗、「驗證你是真人」網頁或聊天的指令。如果它把下載內容透過管線交給
sh或bash、解碼base64,或要你輸入密碼,就停下來。 - 我需要清除 Mac 嗎?
- 如果你無法確認並移除發現的東西,或這台 Mac 上存有價值很高的助記詞或私鑰,清除是穩妥的選擇。備份你的文件而不是 App,然後從頭重新登入。
資料來源
- The Hacker News,2026年3月16日thehackernews.com
- Security Affairs 報導 Microsoft 的報告,2026年2月4日securityaffairs.com
- Apple 平台安全性support.apple.com
- MITRE ATT&CK T1553.001attack.mitre.org