一句話總結: 我兩次被 Upwork 上的假工作坑到,防毒軟體兩次都什麼也沒說。來源給出了四個原因,說明它根本沒什麼好反對的:程式碼是我自己執行的,所以 Mac 的檢查讓到了一旁;它用的是 node、curl 和 bash 這類受信任的工具;變種是新的,所以特徵碼來得晚;遭竊的登入工作階段可以繞過兩步驟驗證。來源指向的應對方法:把每一次安裝都當作程式碼,對任何要你執行終端機指令的人保持警覺,並在程式碼第一次執行之前查清它要做什麼。
兩次,都沒有聲音
這是我自己的經歷;兩次遭遇我都寫在 我在 Upwork 上兩次撞上北韓駭客的假面試 裡。最讓我在意的是:「neither macOS's built-in XProtect nor traditional antivirus made a sound, either time.」(macOS 內建的 XProtect 和傳統防毒軟體,兩次都毫無反應。)
這不等於防毒軟體沒用。下面的來源說的是它會落後、會被繞過,而不是它毫無價值。
1. 是我自己執行的
微軟威脅情報描述了北韓行為者 Sapphire Sleet 針對 macOS 的一場攻擊行動,它「that relies on social engineering rather than software vulnerabilities.」(依靠的是社交工程,而不是軟體漏洞。)
用微軟的話來說:「By persuading users to manually execute AppleScript or Terminal‑based commands, Sapphire Sleet shifts execution into a user‑initiated context, allowing the activity to proceed outside of macOS protections such as Transparency, Consent, and Control (TCC), Gatekeeper, quarantine enforcement, and notarization checks.」(藉由說服使用者手動執行 AppleScript 或以終端機為基礎的指令,Sapphire Sleet 把執行轉移到使用者主動發起的情境中,讓這些活動得以在 macOS 的各項保護之外進行,例如透明度、同意與控制(TCC)、Gatekeeper、隔離強制執行以及公證檢查。)
2. 受信任的工具
還是微軟:「This activity demonstrates how threat actors continue to rely on user interaction and trusted system utilities to bypass macOS platform security protections, rather than exploiting traditional software vulnerabilities.」(這項活動顯示,威脅行為者仍在依靠使用者互動和受信任的系統工具來繞過 macOS 平台的安全保護,而不是利用傳統的軟體漏洞。)
這和我看到的一致:「These attacks come in new packaging every time and use the most ordinary tools there are, like node, curl and bash, so traditional antivirus has no reason to find them suspicious.」(這些攻擊每次都換一個新包裝,用的又是 node、curl、bash 這些再普通不過的工具,所以傳統防毒軟體沒有理由覺得它們可疑。)
3. 新的,所以沒有特徵碼
一旦攻擊行動為人所知,特徵碼確實會來:微軟指出,「Apple has also deployed XProtect signatures to detect and block the malware families associated with this campaign—macOS devices receive these signature updates automatically.」(Apple 也已部署 XProtect 特徵碼,用來偵測和封鎖與這場攻擊行動相關的惡意程式家族;macOS 裝置會自動接收這些特徵碼更新。)
但新變種在剛被發現時可能會被漏掉。SentinelOne 在 2025 年初報告了「newly discovered samples that we have labelled 'FlexibleFerret' and which remain undetected by XProtect at the time of writing.」(新發現的樣本,我們將其命名為「FlexibleFerret」,截至撰文時 XProtect 仍未偵測到它們。)
下架惡意套件也結束不了這件事。Socket:「Since our July 14, 2025 update, we have identified and analyzed more than 338 malicious packages with over 50,000 cumulative downloads.」(自我們 2025 年 7 月 14 日的更新以來,我們已經辨識並分析了超過 338 個惡意套件,累計下載次數超過 50,000 次。)還有:「We continue to see weekly upload bursts, rapid re-uploads after takedowns, and iterative changes to loaders and postinstall scripts.」(我們仍不斷看到每週的集中上傳、下架後的迅速重新上傳,以及對載入器和 postinstall 腳本的反覆修改。)
4. 遭竊的工作階段可以繞過兩步驟驗證
微軟在 2022 年談網路釣魚時寫道:「Once the attacker obtains the session cookie, they can inject it into their browser to skip the authentication process, even if the target's MFA is enabled.」(攻擊者一旦拿到工作階段 cookie,就可以把它注入自己的瀏覽器,跳過驗證流程,即使目標啟用了多因素驗證(MFA)也一樣。)
在 Bybit,據 FBI 表示,「North Korea was responsible for the theft of approximately $1.5 billion USD in virtual assets from cryptocurrency exchange, Bybit」(北韓應為從加密貨幣交易所 Bybit 竊取約 15 億美元虛擬資產一事負責)。The Hacker News 引述的 Safe{Wallet} 說法:「The attack involved the compromise of a Safe{Wallet} developer's laptop ('Developer1') and the hijacking of AWS session tokens to bypass multi-factor authentication ('MFA') controls.」(這次攻擊包括入侵一名 Safe{Wallet} 開發者的筆電(「Developer1」),以及劫持 AWS 工作階段權杖來繞過多因素驗證(「MFA」)控制。)
連專家也會中招
FBI:「Given the scale and persistence of this malicious activity, even those well versed in cybersecurity practices can be vulnerable to North Korea's determination to compromise networks connected to cryptocurrency assets.」(鑑於這類惡意活動的規模和持續性,即使是精通資安實務的人,面對北韓入侵與加密貨幣資產相連網路的決心,也可能防不勝防。)
補救方法
- 在程式碼第一次執行之前,查清它要做什麼,而不是看它叫什麼。這是我從兩次遭遇中得到的結論。
- 每一次安裝都是程式碼。 Socket:「Treat every
npm installas code execution and block risky behavior before it reaches developer machines or pipelines.」(把每一次npm install都當作程式碼執行,在危險行為到達開發者的機器或管線之前就攔下它。) - 永遠不要貼上陌生人給的指令。 微軟建議:「Educate users about social engineering threats originating from social media and external platforms, particularly unsolicited outreach requesting software downloads, virtual meeting tool installations, or execution of terminal commands.」(教育使用者提防來自社群媒體和外部平台的社交工程威脅,尤其是主動找上門、要求下載軟體、安裝線上會議工具或執行終端機指令的聯繫。)
兩次遭遇之後,我做了 Tsuba,一款免費的 Mac 應用程式,核心只有一個想法:「before unfamiliar code runs for the first time, it takes a look for you.」(陌生的程式碼第一次執行之前,先替你看一眼。)
來源
- Oliver Zhang,我在 Upwork 上兩次撞上北韓駭客的假面試,2026 年 10 月 28 日
- Microsoft Threat Intelligence,Dissecting Sapphire Sleet's macOS intrusion from lure to compromise,2026 年 4 月 16 日
- SentinelOne,macOS FlexibleFerret: Further Variants of DPRK Malware Family Unearthed,2025 年 9 月 2 日更新
- Socket,North Korea's Contagious Interview Campaign Escalates: 338 Malicious npm Packages, 50,000 Downloads,2025 年 10 月 10 日
- Microsoft,From cookie theft to BEC: Attackers use AiTM phishing sites as entry point to further financial fraud,2022 年 7 月 12 日
- The Hacker News,Safe{Wallet} Confirms North Korean TraderTraitor Hackers Stole $1.5 Billion in Bybit Heist,2025 年 3 月 7 日
- FBI,PSA 250226(Bybit),2025 年 2 月 26 日
- FBI,PSA 240903: North Korea Aggressively Targeting Crypto Industry with Well-Disguised Social Engineering Attacks,2024 年 9 月 3 日
影片以程式碼製作動畫,腳本在 AI 協助下撰寫;上面每一句引文都對照來源查證過。示意的部分:「未發現威脅」的盾牌、向兩旁打開的閘門、掃描器和它的 X 光、特徵碼時間軸,以及工作階段 cookie。本文說明的是風險和補救方法,不是這個惡意程式如何運作。影片為英文。影片用 Shotloop 製作:我做的免費 Mac 應用程式,用程式碼做科普短片,一個鏡頭一個鏡頭地修改。
