
GitHub Diretas oleh Ekstensi VS Code (Mei 2026): Panduan Darurat 60 Menit yang Harus Dijalankan Setiap Developer Malam Ini
Pada 20 Mei 2026, GitHub mengonfirmasi bahwa sekitar 3.800 repositori kode sumber internalnya diekstraksi melalui ekstensi VS Code berbahaya yang diinstal di workstation seorang karyawan. Jika Anda menggunakan PAT GitHub atau token npm di dalam VS Code dalam 14 hari terakhir, 60 menit ke depan sangat krusial. Ini adalah panduannya: apa yang sebenarnya terjadi, apakah Anda terdampak, dan kredensial apa yang harus diputar (rotate) terlebih dahulu.
Poin-Poin Utama
- Apa yang terjadi: Produksi GitHub.com tidak diretas; workstation VS Code seorang karyawan menginstal ekstensi beracun (sangat mungkin Nx Console v18.95.0) yang mengekstraksi PAT dan membocorkan ~3.800 repositori internal.
- Data pelanggan: Tidak terdampak. Data yang dikompromikan adalah kode sumber internal GitHub, bukan kode atau akun pelanggan.
- Siapa yang berisiko: Developer mana pun yang menginstal ekstensi VS Code antara sekitar 18 Mei, 12:36 UTC hingga 12:47 UTC (jendela 11 menit), atau siapa pun yang menggunakan PAT GitHub berumur panjang dari dalam VS Code.
- Apa yang harus dilakukan sekarang: Putar PAT GitHub pertama, token npm kedua, kunci AWS/cloud ketiga; panduan lengkap ada di bagian "Apa yang Harus Dilakukan Developer" di bawah.
TL;DR: 6 Hal yang Harus Dilakukan dalam Satu Jam Ke Depan
Cara tercepat untuk membatasi dampak dari kisah ekstensi vscode github diretas adalah dengan memutar kredensial yang dapat diakses oleh ekstensi beracun, mengaudit apa yang terinstal di laptop Anda, dan memeriksa log organisasi GitHub Anda untuk jendela waktu 18-20 Mei UTC. Enam tindakan, diurutkan berdasarkan dampaknya.
- Cabut (Revoke) setiap Personal Access Token GitHub yang dibuat atau digunakan di VS Code dalam 30 hari terakhir.
- Putar (Rotate) token npm melalui
npm token revokedan terbitkan ulang dengan 2FA + penerbitan tepercaya (trusted publishing). - Pindai laptop Anda untuk Indikator Kompromi (IoC) dari GHSA-c9j4-9m59-847w (jalur file, proses; perintah di bawah).
- Audit
code --list-extensions --show-versionsdan hapus instalasi apa pun yang tidak dapat Anda benarkan. - Sematkan (Pin) versi ekstensi di
devcontainer.jsondan terapkan daftar izin (allow-list) tingkat organisasi. - Periksa log audit organisasi GitHub Anda untuk push repositori yang tidak dikenal antara 18-20 Mei UTC.
Jika Anda hanya punya waktu untuk dua hal, lakukan #1 dan #3. Sisanya bisa menunggu satu jam.
Apakah GitHub Benar-Benar Diretas? Mari Luruskan Judul Berita
Tidak, infrastruktur produksi GitHub.com tidak diretas pada 20 Mei 2026. Workstation satu karyawan GitHub dikompromikan setelah karyawan tersebut menginstal ekstensi VS Code berbahaya (sangat mungkin Nx Console v18.95.0). Penyerang, yang menyebut dirinya TeamPCP (dilacak sebagai UNC6780), mengekstraksi sekitar 3.800 repositori kode sumber internal GitHub. Kode pelanggan, akun pelanggan, dan layanan produksi GitHub tidak terdampak.
Berikut adalah versi yang lebih jelas tentang apa yang terjadi dan apa yang tidak.
| Apa yang terjadi | Apa yang TIDAK terjadi |
|---|---|
| Laptop karyawan dikompromikan melalui ekstensi VS Code beracun | Produksi GitHub.com diretas |
| ~3.800 repositori kode sumber internal diekstraksi | Repositori atau akun pelanggan disentuh |
| Kredensial karyawan GitHub di endpoint tersebut dicuri | PAT pelanggan, token npm, atau grant OAuth dicuri dari sistem GitHub |
| TeamPCP meminta tebusan (menurut Tom's Hardware) | GitHub membayar (tidak ada bukti pembayaran) |
Mengapa pembingkaian ini penting? Karena intinya bukanlah "github diretas". Intinya adalah bahwa endpoint developer kini menjadi titik lemah setiap organisasi teknik. Setiap rahasia yang dimiliki tim Anda (PAT GitHub, token npm, kunci AWS, sesi vault, kunci penyedia AI) berada di laptop dengan cakupan EDR yang minim atau tanpa sama sekali. Satu ekstensi beracun yang berjalan di IDE Anda mewarisi semuanya.
Juru bicara GitHub sendiri, dikutip dalam Bleeping Computer, mengonfirmasi pembingkaian endpoint karyawan dan pernyataan "tidak ada data pelanggan". Help Net Security menambahkan atribusi TeamPCP. Rantai kepemilikan teknis untuk ekstensi tersebut ada dalam advisori GHSA-c9j4-9m59-847w.
GitHub.com tidak diretas. Seorang karyawan GitHub-lah yang diretas. Pegang bingkai pikiran ini saat Anda membaca sisanya.
Apa yang Sebenarnya Terjadi: Linimasa Pelanggaran Mei 2026
Kisah pelanggaran github 2026 unfolds dalam empat tahap selama sekitar 48 jam. Ekstensi beracun diterbitkan pada 18 Mei pukul 12:36 UTC, dihapus 11 menit kemudian, terdeteksi oleh GitHub pada hari berikutnya, dan diungkapkan secara publik pada 20 Mei. Linimasa ringkas, dengan sumber:
| Waktu (UTC) | Peristiwa | Sumber |
|---|---|---|
| 18 Mei, 12:36 | Nx Console v18.95.0 diterbitkan ke OpenVSX / Visual Studio Marketplace (sangat mungkin) | StepSecurity / GHSA-c9j4-9m59-847w |
| 18 Mei, 12:47 | Versi berbahaya dihapus, jendela 11 menit | StepSecurity |
| 19 Mei | GitHub mendeteksi kompromi endpoint karyawan; menahan insiden | Juru bicara GitHub via Bleeping Computer |
| 20 Mei | Pengungkapan publik; TeamPCP / UNC6780 secara publik mengklaim atribusi | Help Net Security, Hackread |
Jendela 11 menit itu adalah detail paling aneh. Ini menunjukkan penyerang merotasi ekstensi untuk menghindari deteksi marketplace, pola yang sama yang didokumentasikan Koi Security dalam cacing GlassWorm OpenVSX pada Oktober 2025. TeamPCP / UNC6780 sebelumnya telah mengklaim pelanggaran tahun 2026 terhadap Trivy, KICS, LiteLLM, TanStack, dan MistralAI. Kelompok yang sama, playbook yang sama, target berbeda.
Bulan lalu itu variabel env Vercel. Hari ini itu repositori GitHub. Pola yang kita saksikan berkembang selama 9 bulan terus menggeser radius dampak ke luar. Lihat uraian kami tentang respons pelanggaran Vercel untuk insiden saudaranya.
Ekstensi yang Kemungkinan Besar Bersalah: Nx Console v18.95.0 (Dan Mengapa GitHub Tidak Mengonfirmasi)
GitHub belum secara resmi menyebutkan nama ekstensi yang terlibat dalam kompromi endpoint karyawan. Bukti forensik sangat selaras dengan Nx Console v18.95.0, namun ini tetap sangat mungkin, bukan dikonfirmasi. Kami akan memperbarui postingan ini jika GitHub secara publik menyebutkan ekstensi yang berbeda. Perlakukan sisa bagian ini sebagai atribusi terbaik yang tersedia, bukan fakta yang dideklarasikan.
Empat bukti tidak langsung menyelaraskan Nx Console dengan pengungkapan GitHub:
- Kecocokan waktu: Jendela advisori GHSA-c9j4-9m59-847w (18 Mei, 12:36-12:47 UTC) berada di dalam jendela kompromi endpoint karyawan GitHub dalam pengungkapan GitHub sendiri.
- Tumpang tindih IoC forensik: Analisis muatan Nx Console yang diterbitkan StepSecurity (jalur file, proses seperti
__DAEMONIZED, endpoint jaringan) cocok dengan artefak yang terlihat di endpoint yang dikompromikan menurut tulisan Wiz. - Pola atribusi TeamPCP: TeamPCP / UNC6780 telah aktif di ruang rantai pasok VS Code (Trivy, KICS, LiteLLM, TanStack, MistralAI pada 2026) dengan struktur muatan yang konsisten.
- Jendela penghapusan 11 menit: Karakteristik serangan rantai pasok di mana penyerang mengendalikan momen penerbitan tetapi marketplace cepat menangkapnya.
Jika Anda tidak menginstal Nx Console, Anda masih belum sepenuhnya aman. Pola serangan yang lebih luas (proses __DAEMONIZED, penyalahgunaan IMDS, ekstraksi ~/.claude/settings.json) berlaku umum untuk ekstensi beracun apa pun. Triase di bagian berikutnya berlaku terlepas dari ekstensi mana yang Anda curigai.

Apakah Anda Terdampak? Triase 5 Menit
Ada tiga tes cepat. (1) Apakah Anda menginstal atau memperbarui otomatis ekstensi VS Code antara 18 Mei, 12:36 dan 12:47 UTC? (2) Apakah ada file IoC dari GHSA-c9j4-9m59-847w di laptop Anda saat ini? (3) Apakah Anda menggunakan PAT GitHub di dalam VS Code dalam 14 hari terakhir? Jalankan ketiganya dalam waktu kurang dari lima menit.
Tes 1, Audit Ekstensi
# 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"Apa pun yang diperbarui otomatis antara 17 Mei dan 18 Mei layak diperiksa ulang. Jika Anda melihat Nx Console tepat pada versi 18.95.0, Anda kemungkinan besar cocok. Versi yang sudah ditambal adalah 18.100.0. Hapus instalasi atau langsung lompat ke panduan di bawah.
Tes 2, Pemindaian 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/nullMesin yang bersih seharusnya tidak mengembalikan apa-apa untuk grep __DAEMONIZED, tidak ada file .daemonized, dan tidak ada hit IMDS di riwayat shell Anda. Jika salah satu dari itu muncul, anggap laptop telah dikompromikan dan perlakukan setiap kredensial yang telah disentuhnya dalam 30 hari terakhir sebagai terbakar (compromised).
Tes 3, Paparan PAT
Jika Anda telah menggunakan PAT GitHub (klasik atau fine-grained) di terminal VS Code mana pun, git terintegrasi, atau ekstensi apa pun yang memanggil API GitHub dalam 14 hari terakhir, anggap itu telah dikompromikan dan lanjutkan ke panduan rotasi di bawah. Ini adalah default konservatif; Anda tidak dapat mengaudit "apakah token berada di memori saat ekstensi aktif". Putar saja.
Jika Anda menggunakan Claude Code, daftar IoC secara spesifik mencakup ~/.claude/settings.json. Periksa panduan hook Claude Code kami untuk mengetahui apa yang disimpan dalam file tersebut dan kunci mana yang harus diputar terlebih dahulu.
Vonnis. Jika salah satu dari ketiga tes ini memberikan hasil positif, berhenti membaca narasi. Langsung lompat ke panduan di bagian berikutnya. 55 menit ke depan lebih penting daripada post-mortem.
Apa yang Harus Dilakukan Developer: Panduan Darurat 60 Menit
Putar kredensial berdasarkan urutan prioritas. Tier 0 (30 menit berikutnya): PAT GitHub dan token npm. Tier 1 (hari ini): Kunci AWS / cloud, 1Password / Vault, rahasia GitHub Actions. Tier 2 (minggu ini): SaaS pihak ketiga, grant OAuth, kunci SSH. Tier 3 (saat nyaman): Kunci baca-saja dan publik. Setiap tier memetakan ke pengurangan radius dampak tertentu.

SEKARANG JUGA: Jika Anda Merasa Terdampak
Jika triase Anda memberikan hasil positif, lakukan tiga hal ini secara berurutan sebelum hal lain apa pun.
- Hentikan daemon dan hapus instalasi ekstensi yang mencurigakan:
# 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- Cabut kabel jaringan laptop Anda jika Anda memiliki bukti ekstraksi aktif. Terdengar ekstrem. Memang begitu. Lakukan saja. Anda dapat menyelidiki ulang secara offline.
- Hubungi tim keamanan Anda atau posting di Slack
#securitysebelum menjalankan hal lain. Jika Anda bekerja sendiri, lompat ke Tier 0 di bawah.
Tier 0 (30 Menit Berikutnya): GitHub + npm
Pencabutan PAT GitHub melalui CLI gh dan UI pengaturan web:
# 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}/installationsRotasi token npm:
# 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-publishersJika Anda mengelola paket yang diterbitkan, token npm Anda adalah kredensial paling berbahaya yang Anda miliki. Putar sebelum AWS.
Tier 1 (Hari Ini): Cloud + Vaults + Rahasia CI
Kunci akses AWS datang berikutnya. IoC menunjukkan penyalahgunaan IMDS, jadi setiap pengguna IAM yang menyentuh endpoint yang dikompromikan adalah tersangka:
# 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: keluar dari setiap perangkat (op signout --all), buat ulang token sesi, dan audit akses vault terbaru melalui log audit web 1Password untuk apa pun yang dijalankan dari endpoint yang dikompromikan.
HashiCorp Vault: cabut token pengguna Anda (vault token revoke -self) dan minta admin menerbitkan token baru dengan TTL yang lebih pendek.
Rahasia GitHub Actions: jika kredensial yang diputar juga ada di Actions, perbarui itu. Gunakan gh secret set GITHUB_PAT --body <new-pat> per repo, atau UI tingkat organisasi untuk rahasia org.
Kunci API Anthropic dan OpenAI: daftar IoC GHSA-c9j4-9m59-847w secara spesifik menyebutkan ~/.claude/settings.json sebagai target panen. Cabut dan terbitkan ulang kunci API konsol Anthropic Anda dan kunci OpenAI apa pun yang pernah Anda simpan di file tersebut.
Tier 2 (Minggu Ini): SSH + OAuth + Pengelola Kata Sandi
Kunci SSH bergerak lebih lambat tetapi masih dalam cakupan. Ekstensi tersebut memiliki akses baca filesystem ke ~/.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]Pengelola kata sandi browser dan keychain OS: putar kata sandi apa pun yang mungkin telah dilihat ekstensi melalui clipboard. Paparan realistis adalah kata sandi yang Anda salin ke clipboard saat ekstensi aktif.
Tier 3 (Saat Nyaman): Audit + Verifikasi
Audit log organisasi GitHub Anda untuk jendela kompromi. Ini memerlukan admin org:
# 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_keyJika log audit menunjukkan push dari jendela kompromi yang tidak Anda lakukan, eskalasi ke tim keamanan Anda dan simpan JSON log audit. Jangan mencoba "membatalkan" apa pun di repo. Simpan bukti terlebih dahulu.
Kami membahas logika rotasi bertingkat yang sama untuk pelanggaran env-var Vercel pada April: bentuk yang sama, lapisan berbeda.
Kerangka Kerja Audit Ekstensi 5 Pertanyaan (Gunakan Ini Selamanya)
Sebelum menginstal atau memercayai ekstensi VS Code apa pun, jalankan melalui lima tes: usia domain penerbit, kecepatan versi, peristiwa aktivasi package.json, cakupan izin vs perilaku yang diharapkan, dan audit repo open-source. Nx Console v18.95.0 akan gagal dalam Tes #2: lonjakan versi tiba-tiba setelah ritme rilis yang stabil adalah tanda klasik rantai pasok.
- Usia domain penerbit. Apakah domain penerbit berusia lebih dari satu tahun? Penerbit baru di domain yang baru terdaftar membawa risiko lebih tinggi. Periksa melalui halaman penerbit Visual Studio Marketplace atau
whoispada domain email penerbit. - Kecepatan versi. Apakah riwayat versi menunjukkan ritme normal (satu rilis setiap 1-4 minggu) atau lonjakan tiba-tiba (tiga rilis dalam 24 jam)? Kecepatan tiba-tiba adalah sinyal. Nx Console v18.95.0 adalah anomali kecepatan.
- Peristiwa aktivasi
package.json. Buka file.vsix(ini adalah zip) dan bacaactivationEvents. Ekstensi yang diaktifkan pada*(selalu aktif) memiliki permukaan serangan terbesar. Pilih ekstensi yang diaktifkan pada bahasa atau nama file tertentu. - Izin yang diperlukan vs perilaku yang diharapkan. Apakah ekstensi "tema" meminta akses jaringan? Apakah ekstensi "cuplikan" membutuhkan tulis filesystem? Ketidaksesuaian adalah bendera merah. Silangkan dengan dokumen keamanan runtime ekstensi Microsoft.
- Audit repo open-source. Apakah sumbernya ada di GitHub? Baca lima commit terakhir untuk perubahan mencurigakan: hook pasca-instal, blob yang dienkode base64, panggilan jaringan ke domain yang tidak dikenal.
Ekstensi yang diaktifkan pada * dan meminta akses jaringan secara fungsional adalah remote shell dengan VS Code yang menempel padanya.
Kerangka kerja audit yang sama berlaku untuk server MCP, permukaan rantai pasok kelas ekstensi berikutnya. Lihat uraian server MCP terbaik 2026 kami untuk mengetahui mana yang kami percayai dan mengapa.
Mengapa Ini Terus Terjadi: Gelombang Rantai Pasok 2025-2026
Pelanggaran GitHub 20 Mei adalah satu simpul dalam busur 9 bulan: cacing npm Shai-Hulud (Sept 2025), cacing OpenVSX GlassWorm (Okt-Nov 2025), Shai-Hulud 2.0 (Nov 2025, >25.000 repo terdampak), Mini Shai-Hulud (awal 2026), Nx Console (18 Mei 2026), kompromi endpoint GitHub (20 Mei 2026). Endpoint developer telah menjadi titik lemah baru.
- Sept 2025, cacing npm Shai-Hulud. Malware yang menyebar sendiri di paket npm populer. CISA mengeluarkan peringatan tentang kompromi yang meluas.
- Okt-Nov 2025, GlassWorm. Cacing penyebar-diri pertama yang menargetkan ekstensi VS Code di OpenVSX. Pengungkapan Koi Security.
- Nov 2025, Shai-Hulud 2.0. Lebih dari 25.000 repo diekstraksi. Microsoft Security Blog menerbitkan panduan penahanan.
- Awal 2026, Mini Shai-Hulud. Varian TeamPCP. Pengulangan skala lebih kecil terhadap Trivy, KICS, LiteLLM, TanStack, dan MistralAI.
- 18 Mei 2026, Nx Console v18.95.0. Vektor yang sangat mungkin untuk kompromi endpoint GitHub.
- 20 Mei 2026, GitHub mengungkapkan. ~3.800 repo internal diekstraksi. Menurut seri forensik Shai-Hulud Wiz, pola penyalahgunaan IMDS adalah evolusi langsung.
Polanya jelas: laptop developer menyimpan setiap rahasia di organisasi (PAT GitHub, kunci AWS, token vault, kunci penyedia AI) dan memiliki cakupan EDR yang hampir nol. Sampai ketidakseimbangan itu berbalik, gelombang ini akan terus berlanjut.
AI defensif adalah satu bagian dari jawaban. Kami membahas sudut ini dalam uraian kami tentang bagaimana AI mencegah pelanggaran data awal tahun ini.
Respons Lebih Besar GitHub: Penerbitan Tepercaya, FIDO 2FA, Token 90 Hari
GitHub sudah sedang meluncurkan empat kontrol rantai pasok sebelum 20 Mei: 2FA wajib untuk penerbit npm, batas 90 hari pada token tulis granular, penghentian TOTP demi FIDO dan passkey, serta penerbitan tepercaya OIDC untuk GitHub Actions dan GitLab CI. Pelanggaran Mei mempercepat migrasi yang sudah berjalan; ini tidak memperkenalkan kebijakan baru.
| Kontrol | Status | Tindakan untuk Anda |
|---|---|---|
| 2FA npm Wajib | Aktif | Aktifkan sekarang: npm profile enable-2fa auth-and-writes |
| Batas token tulis granular 90 hari | Bergulir (token lama dipaksa kedaluwarsa) | Migrasi ke PAT fine-grained dengan TTL ≤90 hari |
| Penghentian TOTP, FIDO / passkey | Rollout bertahap 2026 | Daftarkan passkey di setiap akun GitHub hari ini |
| Penerbitan tepercaya OIDC | Aktif untuk GitHub Actions + GitLab CI | Migrasi CI dari token npm berumur panjang ke OIDC |
Rencana GitHub untuk rantai pasok npm yang lebih aman sudah ada berbulan-bulan sebelum insiden ini. Semakin cepat Anda menyelaraskannya, semakin kecil radius dampak Anda berikutnya.
Pengerasan: Cara Bertahan dari Yang Berikutnya
Enam langkah ke depan: sematkan versi ekstensi di devcontainer.json, terapkan daftar izin ekstensi tingkat organisasi, jalankan EDR dengan visibilitas proses ekstensi, pindai rahasia setiap push, batasi PAT ke satu repo, dan adopsi penerbitan tepercaya OIDC alih-alih token berumur panjang. Tidak ada yang akan mencegah setiap insiden, tetapi bersama-sama mereka mengecilkan radius dampak dari "segala sesuatu di laptop" menjadi "satu repo".
{
"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"
}
}Singkatnya:
- Sematkan setiap versi ekstensi di
devcontainer.jsonuntuk mematikan pembaruan otomatis. - Daftar izin di tingkat organisasi dengan mengarahkan
VSCODE_GALLERY_SERVICE_URLke cermin internal. - EDR dengan visibilitas proses IDE: Crowdstrike, SentinelOne, atau Microsoft Defender for Endpoint dengan VS Code dalam cakupan.
- Pindai rahasia setiap push: pra-commit dan saat push, sisi server.
- Batasi setiap PAT ke satu repo: tidak ada cakupan
*, pernah. - Penerbitan tepercaya OIDC: tidak ada token npm atau registri berumur panjang di CI.
CVE copy_file_range Linux minggu lalu adalah cerita saudara: lapisan berbeda, pelajaran sama. Batas kepercayaan yang Anda lupakan adalah yang akan menggigit Anda.
Jika Anda mempertimbangkan agen pengkodean AI berikutnya, terapkan kerangka kerja audit yang sama. Mereka memiliki profil kepercayaan yang sama dengan ekstensi. Uraian agen pengkodean AI terbaik 2026 kami menelusuri agen mana yang mendapatkan kepercayaan tersebut.
Pertanyaan yang Sering Diajukan
Apakah GitHub diretas?
Tidak, tidak dalam arti yang implied sebagian besar judul berita. Produksi GitHub.com tidak diretas. Seorang karyawan GitHub menginstal ekstensi VS Code berbahaya di workstation mereka, yang mengekstraksi sekitar 3.800 repositori kode sumber internal GitHub. Kode pelanggan, akun pelanggan, dan layanan produksi GitHub tidak terdampak.
Ekstensi VS Code apa yang sebenarnya terlibat?
GitHub belum secara resmi mengonfirmasi nama ekstensi. Bukti forensik dari StepSecurity, Wiz, dan GHSA-c9j4-9m59-847w sangat mungkin menunjuk ke Nx Console v18.95.0, diterbitkan 18 Mei pukul 12:36 UTC dan dihapus 11 menit kemudian. Kami menganggap ini sebagai "sangat mungkin, bukan dikonfirmasi" sampai GitHub menamainya.
Apakah Nx Console aman digunakan sekarang?
Versi yang sudah ditambal adalah 18.100.0. Jika Anda memiliki v18.95.0 yang lebih lama terinstal, hapus segera, jalankan pemindaian IoC di bagian triase kami, dan instal ulang hanya dari penerbit Nrwl resmi pada versi 18.100.0 atau lebih baru. Verifikasi domain penerbit sebelum menginstal ulang dan sematkan versi di devcontainer.json.
Apakah data pelanggan terdampak oleh pelanggaran GitHub?
Tidak. Menurut pernyataan resmi GitHub melalui Bleeping Computer, kode sumber pelanggan, akun pelanggan, token OAuth, dan data produksi yang dihosting GitHub tidak diakses. Data yang dikompromikan adalah kode sumber internal GitHub dari endpoint karyawan. Perlakukan ini sebagai insiden laptop karyawan, bukan pelanggaran platform.
Bagaimana saya tahu jika PAT GitHub saya dicuri?
Anda tidak tahu, dengan kepastian. Asumsi konservatif: jika Anda menggunakan PAT GitHub apa pun di dalam VS Code dalam 14 hari terakhir, anggap itu telah dikompromikan dan putar. Periksa log audit GitHub Anda melalui gh api /orgs/{ORG}/audit-log untuk peristiwa push yang tidak dikenal antara 18-20 Mei UTC, lalu cabut dan terbitkan ulang token tersebut.
Apa itu TeamPCP dan UNC6780?
TeamPCP adalah kelompok aktor ancaman; UNC6780 adalah ID pelacakan yang ditetapkan oleh vendor respons insiden. Mereka telah secara publik mengklaim atribusi untuk pelanggaran GitHub. Kelompok yang sama telah mengklaim pelanggaran 2026 terhadap Trivy, KICS, LiteLLM, TanStack, dan MistralAI, pola penargetan rantai pasok VS Code dan npm yang konsisten.
Apakah ekstensi VS Code di-sandbox?
Tidak, tidak secara berarti. Ekstensi VS Code berjalan di proses Node.js IDE dengan hak istimewa filesystem dan jaringan penuh pengguna. Mereka dapat membaca setiap file di direktori home Anda, termasuk kunci SSH, ~/.aws/credentials, ~/.claude/settings.json, dan memori proses melalui /proc/*/mem di Linux. Microsoft mendokumentasikan model keamanan runtime dan batasannya dalam dokumen ekstensi resmi.
Apakah ini memengaruhi GitHub Codespaces atau runner CI?
Tidak ada bukti sejauh ini. Kompromi tersebut adalah workstation karyawan, bukan infrastruktur yang dihosting GitHub. Codespaces, runner GitHub Actions, dan infrastruktur CI yang menghadap pelanggan tidak dilaporkan terdampak. Kami akan memperbarui postingan ini jika IoC baru mengubah gambaran tersebut.
Garis Bawah
Tiga hal untuk dibawa pulang:
- GitHub.com tidak diretas. Workstation VS Code karyawan-lah yang diretas. Pelajarannya berlaku umum untuk setiap developer.
- Putar sekarang, kerangka audit selamanya. Panduan 60 menit adalah tambalan; kerangka audit 5 pertanyaan adalah sistem kekebalan tubuh.
- Ini bukan kejadian sekali saja. Ini adalah simpul #6 dalam gelombang rantai pasok 9 bulan yang tidak melambat.
Terakhir diperbarui: 20 Mei 2026. Kami akan menyapu postingan ini pada 27 Mei 2026 dengan IoC baru, advisori vendor, dan atribusi ekstensi yang dikonfirmasi GitHub.
Jika tim Anda membutuhkan bantuan mengaudit permukaan ekstensi VS Code, kebersihan PAT dan token Anda, atau membangun kebijakan daftar izin tingkat organisasi, dapatkan konsultasi gratis. Kami telah fokus pada keamanan endpoint developer sejak pelanggaran Vercel pada April, dan panduan di atas adalah apa yang kami jalankan dengan klien pada hari pertama.