DevOpsDays Taipei 2026 DevOpsDays Taipei 2026
  • 25 月 2026, 日 (四)
  • 13:30 - 15:00
  • 605+606 會議室

90 秒就裝進你的 CI——動手攔下一次真實的 npm 供應鏈攻擊(JFrog Curation 實作)

(限額60人,人數超過開放旁聽)

2026 年,一隻名為 Axios的 npm 蠕蟲在數小時內感染了上百個熱門套件——惡意程式碼在 npm install 的當下就執行,等傳統掃描發現時,憑證早已外洩、CI 早已中招。問題的本質是:等你「掃描」時,恶意包已經跑過了。 如果現在有一個惡意版本正要進入你的專案,你能在它被下載前就攔住嗎?

本工作坊讓你親手完成這件事。你會先建置一個 npm 專案、把 build-info 發佈到 Artifactory;接著我們會在安全的沙盒環境中重現一次惡意套件攻擊,讓你親眼看到惡意 postinstall 執行的瞬間;然後你將用 JFrog Curation 建立 Custom Condition 與 Policy,在下載源頭把這個惡意版本擋下,並在 CLI 與 UI 中驗證攔截行為與排查方式。

走出教室時,你會帶走一份可以週一就貼進自己組織的 Curation Policy、一套 automation 腳本,以及一張供應鏈事件的一頁式 runbook

課程目標

•    親手攔下一次攻擊:先看到惡意 postinstall 在安裝當下執行,再用 Curation 在下載源頭把它擋住,徹底理解「預防」為何勝過「事後偵測」。

•    一份可直接套用的政策:帶走一組 Curation Custom Condition 與 Policy,回去就能套用到自己組織的 remote repository。

•    一套可重複使用的資產:automation 腳本 + 一頁式供應鏈事件 runbook,下次遇到惡意套件知道怎麼處理。

•    看懂證據鏈:理解 build-info 如何串聯產物、相依套件與環境資訊,成為稽核與追溯的依據。

•    熟悉工具鏈:用 JFrog CLI 透過 Artifactory 完成 npm 解析與部署,並掌握被阻擋時的基本排查方式。

課程綱要

1.開場:一場真實的供應鏈攻擊(5 分鐘)

從Axios蠕蟲講起——惡意版本發布後,多快就跑在開發者筆電與 CI 上。先讓你「怕」,再讓你親手把它擋住。


2.環境確認與倉庫建立(15 分鐘)

用提供的 JFrog instance 和automation 腳本建立所需 npm repositories。


3.實作一:建置與發佈 build-info(20 分鐘)

jf npm-config、jf npm install、jf npm publish、build-publish;在 UI 中檢視 build-info 串起的相依與環境資訊。


4.實作二:重現攻擊 → 用 Curation 攔截(30 分鐘)

先(在沙盒中)讓「惡意版本」通過一次,親眼看到 postinstall 的危害;接著建立 Custom Condition 與 Policy、套用到 remote,重新執行 install,看著畫面跳出 BLOCKED,並在 CLI 與 UI 中驗證與排查。


5.進階挑戰:擋下更刁鑽的版本(10 分鐘)

自己動手把政策從「單一版本」擴展到 version range 或其他條件——快手可挑戰,現場交流不同寫法。


6.總結、帶得走的成果與 Q&A(10 分鐘)

回顧「中招 → 攔截」的全程;給出 take-home repo、runbook 與「週一就能做的事」清單;對經營/決策角度的價值(稽核證據、事後清理成本)做 3 分鐘收束,讓旁聽者也有收穫。

學員自備裝置
  • 筆電(Windows 10/11、macOS 或 Linux)
  • 可連線至 GitHub
  • 已安裝:JFrog CLI、Git、Node.js 20.x LTS(含 npm)
  • 建議規格:8GB 以上記憶體、2 核心以上 CPU
學員基礎能力需求
  • 基本命令列操作能力(cd、ls、複製貼上指令)
  • 基本 npm 概念(install、package.json)
  • 不需具備 JFrog 相關經驗
課前準備
  1. 安裝 jfrog cli/git/node(Node 20 LTS)
  2. 執行課前自檢:jf --version、git --version、node -v、npm -v
王青 (Alex Wang)

講者

王青 (Alex Wang)

JFrog
解决方案总监
LEVEL

中階

LANGUAGE

中文

TAGS
DevSecOps(測試要趁早)
適合聽眾
DevOps新手 (Newbie)DevOps老司機 (DevOps Veteran)IT人員 / 偏維運 (IT / OPS)IT人員 / 偏開發 (IT / DEV)IT人員 / 全都做 (IT / I have to do everything)經營決策者 (Decision maker)
RESOURCE