
GitHub 遭 VS Code 擴充功能入侵(2026年5月):每位開發者今晚都該執行的60分鐘緊急應變手冊
2026 年 5 月 20 日,GitHub 證實其約 3,800 個內部原始碼儲存庫遭外洩,途徑是一名員工工作站上安裝的惡意 VS Code 擴充功能。如果你在過去 14 天內曾在 VS Code 中使用過 GitHub PAT(個人存取權杖)或 npm 權杖,接下來的 60 分鐘至關重要。這是你的應變手冊:實際發生什麼事、你是否受影響,以及應該優先輪換哪些憑證。
重點摘要
- 發生了什麼事: GitHub.com 生產環境並未遭入侵,而是一名員工的 VS Code 安裝了被植入後門的擴充功能(極有可能是 Nx Console v18.95.0),導致 PAT 被外洩並dump出約 3,800 個內部儲存庫。
- 客戶資料: 未受影響。遭竊取的資料是 GitHub 的內部原始碼,而非客戶程式碼或帳戶。
- 誰處於風險中: 任何在大約 UTC 時間 5 月 18 日 12:36 至 12:47 之間(那 11 分鐘的窗口期)安裝過 VS Code 擴充功能的開發者,或是任何在 VS Code 中使用長期有效 GitHub PAT 的人。
- 現在該怎麼做: 優先輪換 GitHub PAT,其次是 npm 權杖,第三是 AWS/雲端金鑰。完整手冊請見下方的「開發者必做事項」章節。
TL;DR:接下來一小時要做的 6 件事
從 github hacked vscode extension(GitHub 遭 VS Code 擴充功能入侵)事件中將損害範圍降至最低的最快方法,是輪換中毒擴充功能可能接觸到的憑證、審計你筆記型電腦上安裝的內容,並檢查你的 GitHub 組織記錄中 UTC 時間 5 月 18 日至 20 日之間的活動。以下是按影響力排序的六項行動。
- 撤銷 過去 30 天內在 VS Code 中建立或使用過的每一個 GitHub 個人存取權杖(PAT)。
- 輪換 npm 權杖,透過
npm token revoke並重新發行,同時啟用雙重驗證(2FA)與可信發布(trusted publishing)。 - 掃描 你的筆記型電腦,尋找來自 GHSA-c9j4-9m59-847w 的入侵指標(IoC)(檔案路徑、程序;命令如下)。
- 審計
code --list-extensions --show-versions並解除安裝任何你無法證明其必要性的擴充功能。 - 鎖定
devcontainer.json中的擴充功能版本,並強制執行組織層級的允許清單。 - 檢查 你的 GitHub 組織審計日誌,查看 UTC 時間 5 月 18 日至 20 日之間是否有不明的儲存庫推送行為。
如果你只有時間做兩件事,請執行第 1 和第 3 項。其餘的可以等一小時後再處理。
GitHub 真的被駭了嗎?釐清標題迷思
不,GitHub.com 的生產基礎設施在 2026 年 5 月 20 日並未遭入侵。是一名 GitHub 員工的工作站在安裝了惡意 VS Code 擴充功能(極有可能是 Nx Console v18.95.0)後遭妥協。攻擊者自稱為 TeamPCP(追蹤代號為 UNC6780),外洩了約 3,800 個 GitHub 內部原始碼儲存庫。客戶程式碼、客戶帳戶以及 GitHub 的生產服務均未受影響。
以下是更清晰的事件釐清表:
| 發生了什麼 | 沒發生什麼 |
|---|---|
| 一名員工的筆記型電腦透過被植入後門的 VS Code 擴充功能遭妥協 | GitHub.com 生產環境遭入侵 |
| 約 3,800 個內部原始碼儲存庫遭外洩 | 客戶儲存庫或帳戶被觸及 |
| 該端點上的 GitHub 員工憑證遭竊取 | 客戶的 PAT、npm 權杖或 OAuth 授權從 GitHub 系統中被竊取 |
| TeamPCP 要求贖金(根據 Tom's Hardware 報導) | GitHub 支付贖金(無證據顯示有支付) |
為什麼這個框架很重要?因為重點不在於「github 被駭」。重點在於開發者端點已成為每個工程組織的軟肋。你的團隊所擁有的每一項機密(GitHub PAT、npm 權杖、AWS 金鑰、Vault 工作階段、AI 供應商金鑰)都存放在幾乎沒有端點偵測與回應(EDR)覆蓋率的筆記型電腦上。一個在你的 IDE 中運行的中毒擴充功能將繼承所有這些權限。
GitHub 發言人在 Bleeping Computer 的採訪中確認了員工端點受損的說法以及「無客戶資料」的立場。Help Net Security 則補充了 TeamPCP 的歸因資訊。該擴充功能的技術鑑識鏈可見於公告 GHSA-c9j4-9m59-847w。
GitHub.com 未被入侵。是一名 GitHub 員工遭入侵。在閱讀其餘內容時,請將此框架牢記在心。
實際發生過程:2026 年 5 月入侵事件時間軸
github breach 2026(2026 GitHub 入侵事件)的故事在大約 48 小時內分為四個階段展開。一個被植入後門的擴充功能於 5 月 18 日 UTC 時間 12:36 發布,11 分鐘後被移除,GitHub 於次日偵測到,並於 5 月 20 日公開披露。以下是簡潔的時間軸及來源:
| 時間 (UTC) | 事件 | 來源 |
|---|---|---|
| 5 月 18 日, 12:36 | Nx Console v18.95.0 發布至 OpenVSX / Visual Studio Marketplace(極有可能) | StepSecurity / GHSA-c9j4-9m59-847w |
| 5 月 18 日, 12:47 | 惡意版本被移除,窗口期僅 11 分鐘 | StepSecurity |
| 5 月 19 日 | GitHub 偵測到員工端點遭妥協;控制事故範圍 | GitHub 發言人 via Bleeping Computer |
| 5 月 20 日 | 公開披露;TeamPCP / UNC6780 公開承認責任 | Help Net Security, Hackread |
那 11 分鐘的窗口期是最奇怪的細節。這表明攻擊者輪換擴充功能以規避市場檢測,這與 Koi Security 在 2025 年 10 月記錄的 GlassWorm OpenVSX 蠕蟲模式相同。TeamPCP / UNC6780 此前曾聲稱對 Trivy、KICS、LiteLLM、TanStack 和 MistralAI 進行 2026 年的入侵。同一個群體,同樣的手法,不同的目標。
上個月是 Vercel 的環境變數。今天是 GitHub 的儲存庫。我們在過去 9 個月觀察到的模式不斷將損害範圍向外擴大。請參閱我們對 Vercel 入侵回應的分析以了解相關事件。
可能肇事的擴充功能:Nx Console v18.95.0(以及為何 GitHub 尚未確認)
GitHub 尚未正式指名涉及員工端點妥協的擴充功能。鑑識證據強烈指向 Nx Console v18.95.0,但這仍屬於高度可能,而非確認。如果 GitHub 公開指名其他擴充功能,我們將更新此文。請將本節其餘內容視為目前最佳的歸因判斷,而非既定事實。
有四項間接證據將 Nx Console 與 GitHub 的披露聯繫起來:
- 時間吻合: GHSA-c9j4-9m59-847w 公告窗口(UTC 時間 5 月 18 日 12:36-12:47)落在 GitHub 自身披露的員工端點妥協窗口內。
- 鑑識 IoC 重疊: StepSecurity 發布的 Nx Console 負載分析(檔案路徑、如
__DAEMONIZED的程序、網路端點)與 Wiz 報告中在受損端點上看到的工件相符。 - TeamPCP 歸因模式: TeamPCP / UNC6780 一直活躍於 VS Code 供應鏈領域(2026 年的 Trivy、KICS、LiteLLM、TanStack、MistralAI),且具有 consistent 的負載結構。
- 11 分鐘移除窗口: 這是供應鏈攻擊的典型特徵,攻擊者控制發布時刻,但市場迅速將其捕捉。
即使你沒有安裝 Nx Console,你也並非完全安全。更廣泛的攻擊模式(__DAEMONIZED 程序、IMDS 濫用、~/.claude/settings.json 外洩)適用於任何中毒擴充功能。下一節的分類無論你懷疑哪個擴充功能都適用。

你是否受影響?5 分鐘快速分類
有三個快速測試。(1) 你在 UTC 時間 5 月 18 日 12:36 至 12:47 之間是否安裝或自動更新了 VS Code 擴充功能?(2) 你的筆記型電腦上目前是否存在來自 GHSA-c9j4-9m59-847w 的任何 IoC 檔案?(3) 你在過去 14 天內是否在 VS Code 中使用過 GitHub PAT?在五分鐘內執行所有三項測試。
測試 1:擴充功能審計
# List all installed extensions with versions
code --list-extensions --show-versions
# Specifically check for Nx Console v18.95.0
code --list-extensions --show-versions | grep -i "nrwl.angular-console\|nx-console"任何在 5 月 17 日至 5 月 18 日之間自動更新的項目都值得再次檢查。如果你看到 Nx Console 的版本正好是 18.95.0,你很可能中招。修補後的版本是 18.100.0。請立即解除安裝或直接進入下方的應變手冊。
測試 2:IoC 掃描
# Check for the daemonized credential-harvest process artifacts (GHSA-c9j4-9m59-847w)
ps aux | grep -i "__DAEMONIZED" | grep -v grep
ls -la ~/.local/share/kitty/ 2>/dev/null
find ~ -name "*.daemonized*" 2>/dev/null
# IMDS abuse indicator (AWS credential harvest)
# Check shell history for unexpected curl to 169.254.169.254
grep -E "169\.254\.169\.254|metadata\.google\.internal" ~/.zsh_history ~/.bash_history 2>/dev/null乾淨的機器在執行 __DAEMONIZED grep 時應返回空值,沒有 .daemonized 檔案,且 shell 歷史記錄中沒有 IMDS 命中記錄。如果出現任何上述情況,請假設筆記型電腦已遭妥協,並將過去 30 天內它接觸過的 every credential 視為已洩露。
測試 3:PAT 暴露風險
如果你在過去 14 天內曾在任何 VS Code 終端機、整合 Git 或任何呼叫 GitHub API 的擴充功能中使用過 GitHub PAT(經典或細粒度),請假設它已遭妥協 並繼續執行下方的輪換手冊。這是保守的預設做法,你無法審計「擴充功能活躍時權杖是否在記憶體中」。直接輪換它。
如果你使用 Claude Code,IoC 清單特別包含 ~/.claude/settings.json。請查看我們的 Claude Code hooks 指南,了解該檔案中儲存的內容以及應優先輪換哪些金鑰。
結論。 如果這三項測試中有任何一項呈現陽性,請停止閱讀敘述部分。直接跳至下一節的應變手冊。接下來的 55 分鐘比事後檢討更重要。
開發者必做事項:60 分鐘緊急應變手冊
按優先順序輪換憑證。第 0 層(接下來 30 分鐘):GitHub PAT 和 npm 權杖。第 1 層(今天):AWS / 雲端金鑰、1Password / Vault、GitHub Actions 機密。第 2 層(本週):第三方 SaaS、OAuth 授權、SSH 金鑰。第 3 層(方便時):唯讀和金鑰。每一層都對應特定的損害範圍縮減。

立即行動:如果你認為自己中招
如果你的分類結果為陽性,在做其他任何事情之前,請依序執行這三件事。
- 終止守護程序並解除安裝可疑擴充功能:
# Kill the malicious payload (GHSA-c9j4-9m59-847w)
pkill -f __DAEMONIZED
pkill -f "nx-console.*18.95.0"
# Uninstall the suspect extension immediately
code --uninstall-extension nrwl.angular-console- 拔掉筆記型電腦的網路線,如果你有任何證據顯示正在進行外洩。聽起來很極端。確實如此。但還是這麼做吧。你可以離線重新調查。
- 聯絡你的安全團隊或在 Slack 的
#security頻道發文,然後再執行其他操作。如果你是單打獨鬥,請跳至下方的第 0 層。
第 0 層(接下來 30 分鐘):GitHub + npm
透過 gh CLI 和網頁設定介面撤銷 GitHub PAT:
# Confirm what you're authenticated as
gh auth status
# List app installations the token has access to (helps inventory blast radius)
gh api -H "Accept: application/vnd.github+json" /user/installations
# The gh CLI cannot revoke classic PATs directly — use the web UI:
# https://github.com/settings/tokens
# Click "Revoke" on EVERY token. Do not selectively keep "the one that's probably fine."
# Re-issue with fine-grained PATs + ≤90-day expiration:
# https://github.com/settings/personal-access-tokens/new
# Scope one repo at a time, never the whole account.
# For org-owned PATs and installations:
gh api /orgs/{ORG}/installationsnpm 權杖輪換:
# List and revoke every npm token
npm token list
npm token revoke <token-id-1>
npm token revoke <token-id-2>
# Force 2FA on auth and writes
npm profile enable-2fa auth-and-writes
# For CI: migrate to OIDC trusted publishing — no more long-lived tokens
# Docs: https://docs.npmjs.com/trusted-publishers如果你維護已發布的套件,你的 npm 權杖是你擁有的最危險憑證。在 AWS 之前先輪換它。
第 1 層(今天):雲端 + Vaults + CI 機密
接下來是 AWS 存取金鑰。IoC 顯示 IMDS 遭濫用,因此任何接觸過受損端點的 IAM 用戶都屬可疑:
# List access keys for the current IAM user
aws iam list-access-keys --user-name $(aws sts get-caller-identity --query 'Arn' --output text | cut -d/ -f2)
# Deactivate the old key (don't delete yet — let workloads fail loudly first)
aws iam update-access-key --access-key-id AKIA... --status Inactive --user-name <user>
# Create a new key
aws iam create-access-key --user-name <user>
# Once deployed and verified, delete the old key
aws iam delete-access-key --access-key-id AKIA... --user-name <user>
# If any EC2 instance was using IMDSv1, force IMDSv2 immediately
aws ec2 modify-instance-metadata-options --instance-id i-... --http-tokens required1Password CLI: 登出所有裝置(op signout --all),重新產生工作階段權杖,並透過 1Password 的網頁審計日誌審計最近的 Vault 存取記錄,查找任何從受損端點運行的活動。
HashiCorp Vault: 撤銷你的用戶權杖(vault token revoke -self)並讓管理員 issuing 一個具有較短 TTL 的新權杖。
GitHub Actions 機密: 如果任何已輪換的憑證也位於 Actions 中,請更新它。每個儲存庫使用 gh secret set GITHUB_PAT --body <new-pat>,或針對組織機密使用組織層級 UI。
Anthropic 和 OpenAI API 金鑰: GHSA-c9j4-9m59-847w IoC 清單特別指出 ~/.claude/settings.json 為 harvesting 目標。撤銷並重新發行你的 Anthropic 控制台 API 金鑰以及你曾儲存在該檔案中的任何 OpenAI 金鑰。
第 2 層(本週):SSH + OAuth + 密碼管理器
SSH 金鑰變動較慢,但仍屬範圍內。該擴充功能對 ~/.ssh/ 具有檔案系統讀取權限:
# Audit existing SSH keys (when were they generated?)
for key in ~/.ssh/id_*; do
if [ -f "$key" ]; then
echo "Key: $key"
stat -c '%y' "$key" 2>/dev/null || stat -f '%Sm' "$key"
fi
done
# Generate a new Ed25519 key
ssh-keygen -t ed25519 -C "rotated-$(date +%Y%m%d)" -f ~/.ssh/id_ed25519_new
# Upload public key to GitHub
gh ssh-key add ~/.ssh/id_ed25519_new.pub --title "rotated-$(date +%Y%m%d)"
# Delete the old key from GitHub via web UI, then verify SSH still works
ssh -T [email protected]瀏覽器密碼管理器和作業系統金鑰圈: 輪換擴充功能可能透過剪貼簿看到的任何密碼。實際暴露風險是你曾在擴充功能活躍期間複製到剪貼簿的密碼。
第 3 層(方便時):審計 + 驗證
審計你的 GitHub 組織日誌以涵蓋妥協窗口。這需要組織管理員權限:
# Pull push events for the May 18-20 window
gh api -X GET /orgs/{ORG}/audit-log \
--paginate \
-f phrase='action:repo.push created:2026-05-18..2026-05-20' | jq '.[] | {actor, created_at, repo}'
# Spot-check suspicious commits (unexpected authors, large diffs)
gh api -X GET /repos/{ORG}/{REPO}/commits \
-f since=2026-05-18T00:00:00Z \
-f until=2026-05-20T23:59:59Z | jq '.[] | {sha, author: .commit.author, message: .commit.message}'
# Refresh OAuth grants
gh auth refresh -s admin:org -s admin:public_key如果審計日誌顯示你在妥協窗口期間未執行的推送行為,請升級至你的安全團隊並保留審計日誌 JSON。不要嘗試在儲存庫中「撤銷」任何內容。先保留證據。
我們在 4 月 Vercel 環境變數入侵事件中涵蓋了相同的分層輪換邏輯:形狀相同,層級不同。
5 問題擴充功能審計框架(永久使用)
在安裝或信任任何 VS Code 擴充功能之前,請通過五項測試進行評估:發布者網域年齡、版本速度、package.json 啟動事件、權限範圍與預期行為的對比,以及開源儲存庫審計。Nx Console v18.95.0 會在測試 #2 中失敗:穩定發布節奏後的突然版本跳躍是典型的供應鏈警示訊號。
- 發布者網域年齡。 發布者的網域是否超過一年?新註冊網域上的新發布者風險較高。透過 Visual Studio Marketplace 發布者頁面或對發布者電子郵件網域執行
whois進行檢查。 - 版本速度。 版本歷史記錄顯示正常節奏(每 1-4 週一次發布)還是突然激增(24 小時內三次發布)?突然的速度是訊號。Nx Console v18.95.0 就是一個速度異常值。
package.json啟動事件。 打開.vsix檔案(它是 zip 格式)並閱讀activationEvents。在*(始終開啟)上啟動的擴充功能具有最大的攻擊面。優先選擇在特定語言或檔案名稱上啟動的擴充功能。- 所需權限與預期行為。 「主題」擴充功能是否請求網路存取?「程式碼片段」擴充功能是否需要檔案系統寫入權限?不匹配是危險訊號。交叉檢查 Microsoft 的 擴充功能執行時期安全文件。
- 開源儲存庫審計。 原始碼是否在 GitHub 上?閱讀最後五次提交以查找可疑變更:安裝後鉤子、base64 編碼的 blob、對不熟悉網域的網路呼叫。
一個在 * 上啟動並請求網路存取的擴充功能,功能上等同於一個附帶 VS Code 的遠端 shell。
相同的審計框架適用於 MCP 伺服器,這是下一個擴充功能類別的供應鏈表面。請參閱我們的 2026 最佳 MCP 伺服器分解,了解我們信任哪些伺服器及其原因。
為何這持續發生:2025-2026 供應鏈浪潮
5 月 20 日的 GitHub 入侵事件是 9 個月弧線中的一個節點:Shai-Hulud npm 蠕蟲(2025 年 9 月)、GlassWorm OpenVSX 蠕蟲(2025 年 10-11 月)、Shai-Hulud 2.0(2025 年 11 月,影響超過 25,000 個儲存庫)、Mini Shai-Hulud(2026 年初)、Nx Console(2026 年 5 月 18 日)、GitHub 端點妥協(2026 年 5 月 20 日)。開發者端點已成為新的軟肋。
- 2025 年 9 月,Shai-Hulud npm 蠕蟲。 流行 npm 套件中的自我傳播惡意軟體。CISA 發布警報指出廣泛的妥協。
- 2025 年 10-11 月,GlassWorm。 第一個針對 OpenVSX 上 VS Code 擴充功能的自我傳播蠕蟲。Koi Security 披露。
- 2025 年 11 月,Shai-Hulud 2.0。 超過 25,000 個儲存庫遭外洩。Microsoft Security Blog發布了遏制指南。
- 2026 年初,Mini Shai-Hulud。 TeamPCP 變體。針對 Trivy、KICS、LiteLLM、TanStack 和 MistralAI 的小規模重複攻擊。
- 2026 年 5 月 18 日,Nx Console v18.95.0。 GitHub 端點妥協的高度可能向量。
- 2026 年 5 月 20 日,GitHub 披露。 約 3,800 個內部儲存庫遭外洩。根據 Wiz 的 Shai-Hulud 鑑識系列,IMDS 濫用模式是直接演化而來。
模式很明顯:開發者筆記型電腦持有組織中的每一項機密(GitHub PAT、AWS 金鑰、vault 權杖、AI 供應商金鑰),且 幾乎沒有 EDR 覆蓋率。在這種不平衡翻轉之前,這波浪潮將持續。
防禦性 AI 是答案的一部分。我們在今年早些時候對 AI 如何防止資料外洩 的分析中涵蓋了這個角度。
GitHub 的更大回應:可信發布、FIDO 2FA、90 天權杖
在 5 月 20 日之前,GitHub 已經推出了四項供應鏈控制措施:npm 發布者強制 2FA、細粒度寫入權杖的 90 天上限、以 FIDO 和通行金鑰取代 TOTP,以及用於 GitHub Actions 和 GitLab CI 的 OIDC 可信發布。5 月的入侵加速了已經進行的遷移;它並未引入新政策。
| 控制措施 | 狀態 | 你的行動 |
|---|---|---|
| 強制 npm 2FA | 已上線 | 立即啟用:npm profile enable-2fa auth-and-writes |
| 90 天細粒度寫入權杖上限 | 逐步推出(現有權杖強制過期) | 遷移至 TTL ≤90 天的細粒度 PAT |
| TOTP 棄用,FIDO / 通行金鑰 | 2026 年分階段推出 | 今天在每個 GitHub 帳戶上註冊通行金鑰 |
| OIDC 可信發布 | GitHub Actions + GitLab CI 已上線 | 將 CI 從長期 npm 權杖遷移至 OIDC |
GitHub 更廣泛的 更安全 npm 供應鏈計劃 在此事件發生前數月就已存在。你越快與其保持一致,下次你的損害範圍就越小。
強化:如何在下一次事件中生存
六項前瞻性舉措:在 devcontainer.json 中鎖定 擴充功能 版本、強制執行組織層級的 擴充功能允許清單、運行具有擴充功能程序可見性的 EDR、掃描每次推送的機密、將 PAT 範圍限定為單一儲存庫,並採用 OIDC 可信發布而非長期權杖。這些措施單獨無法防止每一起事件,但結合起來可將損害範圍從「筆記型電腦上的一切」縮小到「單一儲存庫」。
{
"name": "secure-dev",
"extensions": [
"[email protected]",
"[email protected]",
"[email protected]"
],
"settings": {
"extensions.autoUpdate": false,
"extensions.autoCheckUpdates": false
},
"containerEnv": {
"VSCODE_GALLERY_SERVICE_URL": "https://your-internal-allow-list.example.com"
}
}簡而言之:
- 鎖定
devcontainer.json中的每個擴充功能版本以阻止自動更新。 - 允許清單 在組織層級,方法是將
VSCODE_GALLERY_SERVICE_URL指向內部鏡像。 - 具有 IDE 程序可見性的 EDR: Crowdstrike、SentinelOne 或 Microsoft Defender for Endpoint,並將 VS Code 納入範圍。
- 掃描每次推送的機密: pre-commit 和推送時,伺服器端。
- 將每個 PAT 範圍限定為單一儲存庫: 永遠不要使用
*範圍。 - OIDC 可信發布: CI 中不使用長期 npm 或註冊表權杖。
上週的 Linux copy_file_range CVE 是一個姊妹故事:層級不同,教訓相同。你忘記的信任邊界就是咬你一口的地方。
如果你接下來考慮使用 AI 編碼代理,請應用相同的審計框架。它們具有與擴充功能相同的信任配置文件。我們的 2026 最佳 AI 編碼代理 分解介紹了哪些代理值得信任。
常見問題
GitHub 被駭了嗎?
不,並非大多數標題暗示的那種意義。GitHub.com 生產環境並未遭入侵。一名 GitHub 員工在其工作站上安裝了惡意 VS Code 擴充功能,導致約 3,800 個 GitHub 內部原始碼儲存庫遭外洩。客戶程式碼、客戶帳戶和 GitHub 生產服務未受影響。
實際涉及哪個 VS Code 擴充功能?
GitHub 尚未正式確認擴充功能名稱。來自 StepSecurity、Wiz 和 GHSA-c9j4-9m59-847w 的鑑識證據高度指向 Nx Console v18.95.0,該版本於 UTC 時間 5 月 18 日 12:36 發布,11 分鐘後被移除。在 GitHub 指名之前,我們將此視為「高度可能,未經確認」。
現在使用 Nx Console 安全嗎?
修補後的版本是 18.100.0。如果你安裝了較舊的 v18.95.0,請立即解除安裝,執行我們分類章節中的 IoC 掃描,並僅從官方 Nrwl 發布者處重新安裝 18.100.0 或更高版本。在重新安裝前驗證發布者網域,並在 devcontainer.json 中鎖定版本。
客戶資料是否受到 GitHub 入侵事件的影響?
否。根據 GitHub 透過 Bleeping Computer 發布的官方聲明,客戶原始碼、客戶帳戶、OAuth 權杖和 GitHub 託管的生產資料未被存取。遭妥協的資料是來自員工端點的 GitHub 內部 原始碼。請將此視為員工筆記型電腦事件,而非平台入侵。
我如何知道我的 GitHub PAT 是否被盜?
你無法確定。保守的假設是:如果你在過去 14 天內曾在 VS Code 中使用過任何 GitHub PAT,請將其視為已妥協並輪換它。透過 gh api /orgs/{ORG}/audit-log 檢查你的 GitHub 審計日誌,查找 UTC 時間 5 月 18 日至 20 日之間的不明推送事件,然後撤銷並重新發行權杖。
什麼是 TeamPCP 和 UNC6780?
TeamPCP 是一個威脅行為者群體;UNC6780 是事故應變供應商分配的追蹤 ID。他們已公開承認對 GitHub 入侵事件負責。同一個群體曾聲稱對 Trivy、KICS、LiteLLM、TanStack 和 MistralAI 進行 2026 年的入侵,這是一個一致的 VS Code 和 npm 供應鏈 targeting 模式。
VS Code 擴充功能有沙箱保護嗎?
不,沒有實質意義上的沙箱。VS Code 擴充功能在 IDE 的 Node.js 程序中運行,擁有用戶完整的檔案系統和網路權限。它們可以讀取你家目錄中的每個檔案,包括 SSH 金鑰、~/.aws/credentials、~/.claude/settings.json,以及在 Linux 上透過 /proc/*/mem 讀取程序記憶體。Microsoft 在 官方擴充功能文件 中記錄了執行時期安全模型及其限制。
這是否影響 GitHub Codespaces 或 CI 運行器?
目前沒有證據。妥協發生在員工工作站,而非 GitHub 託管的基礎設施。Codespaces、GitHub Actions 運行器和面向客戶的 CI 基礎設施據報未受影響。如果新的 IoC 改變這一狀況,我們將更新此文。
底線
帶走的三件事:
- GitHub.com 未被駭。 是一名員工的 VS Code 工作站遭入侵。這個教訓適用於每位開發者。
- 現在輪換,永遠使用審計框架。 60 分鐘手冊是補丁;5 問題審計框架是免疫系統。
- 這不是孤立事件。 這是 9 個月供應鏈浪潮中的第 6 個節點,且沒有減緩跡象。
最後更新:2026 年 5 月 20 日。我們將於 2026 年 5 月 27 日更新此文,加入新的 IoC、供應商公告以及任何 GitHub 確認的擴充功能歸因。
如果你的團隊需要幫助審計 VS Code 擴充功能表面、PAT 和權杖衛生,或建立組織層級的允許清單政策,獲得免費諮詢。自 4 月 Vercel 入侵事件以來,我們一直專注於開發者端點安全,上述手冊是我們第一天與客戶一起運行的方案。