復原得來嘅 AWS 角色名稱叫做 allow_nothing_role,但個名有啲誤導。呢個角色擁有四個 Elastic Container Registry (ECR) 權限:ecr:DescribeRepositories、ecr:ListImages、ecr:BatchGetImage 同 ecr:GetDownloadUrlForLayer 。
事實證明,呢四個權限已經足夠透過 AWS API 直接拉取容器映像(container image),完全唔需要 Docker 註冊表嘅驗證權杖。研究人員利用呢啲權限,列舉咗 1,111 個生產環境倉庫(production repositories),並透過映像層(layer)擷取 API 拉取容器映像 。
喺其中一個拉取落嚟嘅容器映像入面,研究人員發現一個洩露咗嘅 NPM 發佈權杖。呢個權杖喺構建過程中透過 Dockerfile 嘅 ARG 指令傳遞,而 ARG 指令會永久序列化到映像不可變更嘅 history[] 欄位入面。即係話,任何有能力拉取呢個映像嘅人,都可以復原呢個權杖 。
復原得來嘅 NPM 權杖包含三個關鍵屬性:action: writename: nullbypass_2fa: truezapier-platform-core、zapier-platform-cli 同 zapier-design-system 。
呢條鏈入面最關鍵嘅套件係 zapier-design-system,呢個套件會喺 zapier.com 嘅每個已驗證工作階段(authenticated session)中載入。研究人員透過瀏覽器開發者工具確認咗呢個載入路徑,並喺呢一點停止——佢哋冇實際發佈惡意套件 。
假如攻擊者發佈咗一個被污染嘅版本,喺下一次發佈時,佢就會喺已驗證嘅 zapier.com 域名來源(origin)入面,執行由攻擊者控制嘅 JavaScript。從呢個位置出發,攻擊者可以創建 Zaps、Tables 同 MCP 伺服器,並代表已驗證嘅用戶操作平台上現有嘅整合功能。已連接服務嘅 OAuth 權杖同 API 密鑰保留喺伺服器端,唔會直接暴露畀瀏覽器,但操作層面嘅影響仍然會非常嚴重 。
Token Security 喺 2026 年 2 月 12 日 提交報告。四日之內,Zapier 已經完成咗報告嘅初步分類(triaged),撤銷咗洩露嘅 NPM 權杖,並收緊咗相關嘅 AWS 角色。到 2026 年 3 月 5 日,修復工作確認完成。Zapier 報告話冇證據顯示呢個漏洞喺現實世界中被利用過 。
值得一提嘅係,今次研究披露,同 2025 年 11 月 24 日發生嘅一次真實供應鏈攻擊(Shai Hulud 2.0 蠕蟲入侵 Zapier NPM 帳戶,感染咗 425 個套件)係兩件獨立事件 。
Token Security 安全研究團隊主管 Yair Balilti 闡述咗核心發現:
「鏈入面每一個環節都係已知模式。漏洞在於『組合』,而組合正係各團隊之間嘅盲點。Lambda 沙箱、ECR 同 IAM、GitLab CI 權杖、NPM 發佈、瀏覽器——每一個部份都由唔同團隊負責,每個團隊睇自己嗰部份,都可以合理咁得出『冇問題』嘅結論。風險只會喺你追蹤一條橫跨所有系統嘅路徑時先會顯現出嚟。」
成件事嘅關鍵要點係:冇單一團隊需要為一個獨立嘅「漏洞」負責。Lambda 沙箱團隊認為記憶體擷取唔係問題,因為權杖本身就應該超出咗範圍;IAM 團隊睇到嘅係一個範圍限制喺唯讀 ECR 動作嘅角色;CI/構建團隊將 NPM 權杖當作構建參數(build ARG)傳遞;NPM 團隊管理一個有寫入權限嘅權杖;瀏覽器團隊載入一個設計系統套件。每一個決策單獨睇都係合理嘅,但橫跨五個系統嘅攻擊鏈組合起身,就變成災難性嘅後果 。
呢一點說明咗,身份同存取權限審查(identity and access reviews)必需跨越系統邊界去追蹤攻擊路徑,而唔係孤立咁審查每個組件嘅權限。企業需要進行跨團隊嘅安全審查,去檢視啲看似無害嘅配置,喺系統互動時係點樣組合成危險嘅攻擊鏈 。
Comments
0 comments