Clean for 15 Versions. Version 1.0.16 Stole Your Inbox.
postmark-mcp published 15 clean versions. Version 1.0.16 added one BCC line that forwarded 3,000-15,000 emails per day to [email protected]. Plus: the SANDWORM_MODE cluster -- 19 typosquatted npm packages stealing SSH keys.
攻擊手法
postmark-mcp 是一個整合 Postmark email API 的 MCP 伺服器,讓 AI Agent 可以發送和管理 email。從 1.0.1 到 1.0.15 -- 15 個版本 -- 都很乾淨。標準的 email API 封裝。沒有可疑行為。
2026 年 3 月發布的 1.0.16 版加了一行程式碼:在每封外寄 email 加一個 BCC 欄位,把副本轉寄到 `[email protected]`。如果你用 postmark-mcp 透過 AI Agent 發 email,每一封 -- 商業通訊、客戶資料、內部溝通 -- 都被靜默轉寄到攻擊者控制的信箱。
影響規模
Postmark 處理交易型 email。postmark-mcp 的使用者通常發送自動通知、密碼重設、發票和商業通訊。根據 Postmark 的使用模式,單一整合每天處理 3,000 到 15,000 封 email。每一封都被複製給攻擊者。BCC 欄位對收件人不可見 -- 寄件人看不到任何 email 被轉寄的跡象。
為什麼現有工具沒抓到
npm audit 檢查依賴弱點,不檢查應用邏輯在版本間的行為變化。GitHub Dependabot 監控已知 CVE。一個新型 BCC 注入沒有 CVE。Code review 能抓到 -- 前提是有人在每次 MCP 伺服器更新時看 diff。實際上 MCP 伺服器自動更新,沒人讀 changelog。
ATR 規則 ATR-SC-003(供應鏈行為變更偵測)會標記這個:它偵測版本間新增的網路相關操作(email 發送、HTTP 請求、WebSocket 連線)。BCC 插入是對現有網路操作的修改,改變了收件人集合 -- 正是規則設計要抓的模式。
SANDWORM_MODE:仿冒套件群
在調查 postmark-mcp 時,我們發現了一個針對 MCP 生態系的協同仿冒行動。我們稱之為 SANDWORM_MODE(跟 APT 組織無關 -- 名稱來自內部追蹤編號)。19 個 npm 套件在 48 小時內發布: - `claud-code`(針對 `claude-code`) - `cloude-code`(針對 `claude-code`) - `opencraw`(針對 `openclaw`) - `mcp-servr`(針對 `mcp-server`) - 加上 15 個其他熱門 MCP 套件名稱的變體
每個套件都遵循相同模式:最少功能(通常只是重新匯出合法套件),加一個 postinstall script 竊取 `~/.ssh/id_rsa`、`~/.aws/credentials` 和所有環境變數,然後 POST 到一個 Cloudflare Workers 端點。外洩資料經 Base64 編碼,偽裝成「遙測」payload 送到一個看起來像合法分析服務的網域。
時間線
SANDWORM_MODE 套件在 npm 上存活了 6 到 43 小時才被移除。下載量從每個套件 12 到 847 不等。19 個套件的總預估安裝數:約 4,200 次。每次安裝都可能洩露 SSH keys 和雲端憑證。如果你安裝了任何符合這些名稱的套件,請立即輪換你的 SSH keys 和 AWS credentials。
教訓
對 MCP 的供應鏈攻擊不是理論。正在發生。攻擊模式跟我們在 2018-2021 年的 npm 上看到的一模一樣(event-stream、ua-parser-js、colors/faker),但影響更大,因為 MCP Skills 有更廣的系統存取權。 防禦需要三件事:(1) 檢查工具行為而非只看依賴版本的預安裝掃描,(2) 標記版本間行為變更的 diff 分析,(3) 對照已知安全套件登錄的仿冒偵測。ATR 和 PanGuard 三項都有。