Techsy
Otetttaa yhteyte
Aloita
Takaisin blogiin
cybersecurity

GitHubin tietomurto VS Code -laajennoksen kautta (toukokuu 2026): 60 minuutin hätäsuunnitelma, jonka jokaisen kehittäjän tulisi ajaa tänään

Kirjoittanut Mert Batur Gürbüz
Päivitetty May 20, 2026
13 lukuaika
Sisällys
GitHubin tietomurto VS Code -laajennoksen kautta (toukokuu 2026): 60 minuutin hätäsuunnitelma, jonka jokaisen kehittäjän tulisi ajaa tänään

GitHubin tietomurto VS Code -laajennoksen kautta (toukokuu 2026): 60 minuutin hätäsuunnitelma, jonka jokaisen kehittäjän tulisi ajaa tänään

  1. toukokuuta 2026 GitHub vahvisti, että noin 3 800 sen sisäistä lähdekoodivarastoa oli varastettu haitallisen VS Code -laajennoksen kautta, joka oli asennettuna työntekijän työasemalle. Jos olet käyttänyt GitHub PAT -tunnusta tai npm-tokenia VS Codessa viimeisen 14 päivän aikana, seuraavat 60 minuuttia ovat ratkaisevia. Tämä on toimintasuunnitelma: mitä todella tapahtui, oletko vaarassa ja mitkä tunnukset tulee vaihtaa ensin.

Keskeiset havainnot

  • Mitä tapahtui: GitHub.comin tuotantoympäristöä ei murrettu, vaan työntekijän VS Codeen oli asennettu myrkytetty laajennos (erittäin todennäköisesti Nx Console v18.95.0), joka varasti PAT-tunnuksia ja vuoti noin 3 800 sisäistä varastoa.
  • Asiakasdata: Ei vaikuttanut. Vuotanut data on GitHubin sisäistä lähdekoodia, ei asiakkaiden koodia tai tilejä.
  • Kuka on vaarassa: Mikä tahansa kehittäjä, joka asensi VS Code -laajennoksen noin 18. toukokuuta klo 12.36–12.47 UTC:n välillä (11 minuutin ikkuna), tai kuka tahansa, joka käyttää pitkäaikaisia GitHub PAT -tunnuksia VS Coden sisältä.
  • Mitä tehdä nyt: Vaihda ensin GitHub PAT -tunnukset, sitten npm-tokenit ja kolmanneksi AWS-/pilviavaimet. Koko toimintasuunnitelma löytyy alla olevasta ”Mitä kehittäjien on tehtävä” -osiosta.

TL;DR: 6 asiaa, jotka on tehtävä seuraavan tunnin aikana

Nopein tapa rajoittaa vahinkoja github hacked vscode extension -tapauksessa on vaihtaa tunnukset, joita myrkytetty laajennos pääsee käsiksi, tarkistaa kannettavalle asennetut laajennokset ja tarkistaa GitHub-organisaation logit 18.–20. toukokuuta UTC-ajan väliltä. Kuusi toimenpidettä vaikutuksen mukaan järjestyksessä.

  1. Peru kaikki GitHub Personal Access Token -tunnukset, jotka on luotu tai joita on käytetty VS Codessa viimeisen 30 päivän aikana.
  2. Vaihda npm-tokenit komennolla npm token revoke ja luo uudet 2FA:n ja trusted publishing -toiminnon kanssa.
  3. Skannaa kannettavaltasi IoC-indikaattorit kohteesta GHSA-c9j4-9m59-847w (tiedostopolut, prosessit; komennot alla).
  4. Tarkista code --list-extensions --show-versions ja poista kaikki, jota et voi perustella.
  5. Lukitse laajennosten versiot tiedostossa devcontainer.json ja pakota organisaatiotason sallittujen laajennosten lista.
  6. Tarkista GitHub-organisaatiosi audit-lokista tuntemattomat varastojen push-toiminnot 18.–20. toukokuuta UTC-ajan välillä.

Jos sinulla on aikaa vain kahteen asiaan, tee kohdat 1 ja 3. Loput voivat odottaa tunnin.

Hakattiinko GitHub todella? Selvennetään otsikkoa

Ei, GitHub.comin tuotantoinfrastruktuuria ei murrettu 20. toukokuuta 2026. Yhden GitHubin työntekijän työasema kompromisoitiin, kun työntekijä asensi haitallisen VS Code -laajennoksen (erittäin todennäköisesti Nx Console v18.95.0). Hyökkääjä, joka kutsuu itseään nimellä TeamPCP (seuranta-ID UNC6780), varasti noin 3 800 GitHubin sisäistä lähdekoodivarastoa. Asiakkaiden koodi, asiakastilit ja GitHubin tuotantopalvelut eivät ole vaikuttuneet.

Tässä on siistitympi versio siitä, mitä tapahtui ja mitä ei.

Mitä tapahtuiMitä EI tapahtunut
Työntekijän kannettava kompromisoitiin myrkytetyn VS Code -laajennoksen kauttaGitHub.comin tuotantoympäristöä murrettiin
Noin 3 800 sisäistä lähdekoodivarastoa varastettiinAsiakkaiden varastoja tai tilejä kosketettiin
Kyseisen laitteen GitHub-työntekijätunnukset varastettiinAsiakkaiden PAT-tunnuksia, npm-tokeneita tai OAuth-valtuutuksia varastettiin GitHubin järjestelmistä
TeamPCP vaati lunnaita (lähde: Tom's Hardware)GitHub maksoi lunnaat (ei näyttöä maksusta)

Miksi tämä näkökulma on tärkeä? Koska opetus ei ole ”github hakattu”. Opetus on, että kehittäjien päätelaitteet ovat nyt jokaisen teknologiaorganisaion heikoin lenkki. Jokainen salaisuus, jonka tiimisi omistaa (GitHub PAT -tunnukset, npm-tokenit, AWS-avaimet, vault-istunnot, AI-palveluntarjoajien avaimet), sijaitsee kannettavalla, jossa on vähän tai ei lainkaan EDR-suojaa. Yksi myrkytetty laajennos, joka pyörii IDE:ssäsi, perii kaikki nämä oikeudet.

GitHubin edustaja, jota siteerattiin lehdessä Bleeping Computer, vahvisti työntekijän laitteen kompromisoitumisen ja sen, ettei asiakasdataa ollut vaarassa. Help Net Security lisäsi tiedot TeamPCP:n vastuusta. Laajennoksen tekninen ketju löytyy turvallisuusilmoituksesta GHSA-c9j4-9m59-847w.

GitHub.comia ei murrettu. GitHubin työntekijä murttiin. Pidä tämä mielessäsi lukiessasi lopun.

Mitä todella tapahtui: Toukokuun 2026 murron aikajana

github breach 2026 -tarina eteni neljässä vaiheessa noin 48 tunnin aikana. Myrkytetty laajennos julkaistiin 18. toukokuuta klo 12.36 UTC, poistettiin 11 minuuttia myöhemmin, GitHub havaitsi sen seuraavana päivänä ja julkisti tapauksen 20. toukokuuta. Tiivis aikajana lähteineen:

Aika (UTC)TapahtumaLähde
18. toukokuuta, 12.36Nx Console v18.95.0 julkaistu OpenVSX:ssä / Visual Studio Marketplacessa (erittäin todennäköistä)StepSecurity / GHSA-c9j4-9m59-847w
18. toukokuuta, 12.47Haitallinen versio poistettu, 11 minuutin ikkunaStepSecurity
19. toukokuutaGitHub havaitsee työntekijän laitteen kompromisoitumisen; rajoittaa incidenttiäGitHubin edustaja via Bleeping Computer
20. toukokuutaJulkinen julkistus; TeamPCP / UNC6780 ottaa julkisesti vastuunHelp Net Security, Hackread

Tuo 11 minuutin ikkuna on outoin yksityiskohta. Se viittaa siihen, että hyökkääjä vaihtoi laajennoksia välttääkseen marketplace-tunnistuksen, sama kuvio kuin Koi Security dokumentoi GlassWorm OpenVSX -madossa lokakuussa 2025. TeamPCP / UNC6780 on aiemmin ottanut vastuun vuoden 2026 kompromisseista Trivyä, KICS:iä, LiteLLM:ää, TanStackia ja MistralAI:a vastaan. Sama ryhmä, sama toimintamalli, eri kohteet.

Viime kuussa kyseessä olivat Vercelin ympäristömuuttujat. Tänään GitHubin varastot. Kuvio, jota olemme seuranneet 9 kuukauden ajan, siirtää vahinkojen sädeettä ulospäin. Katso erittelymme Vercelin murtovasteesta sisartapauksesta.

Todennäköinen syyllinen laajennos: Nx Console v18.95.0 (ja miksi GitHub ei vahvista)

GitHub ei ole virallisesti nimennyt työntekijän laitteen kompromisoimisessa involved ollutta laajennosta. Forensiset todisteet viittaavat vahvasti Nx Console v18.95.0:een, mutta tämä on edelleen erittäin todennäköistä, ei vahvistettua. Päivitämme tämän kirjoituksen, jos GitHub nimeää julkisesti toisen laajennoksen. Käsittele tämän osion sisältöä parhaana saatavilla olevana attribuutiona, ei julistettuna faktana.

Neljä epäsuoraa todistetta yhdistää Nx Consolen GitHubin julkistukseen:

  1. Ajan yhteensopivuus: GHSA-c9j4-9m59-847w -ilmoituksen aikaväli (18. toukokuuta, 12.36–12.47 UTC) osuu GitHubin omaan julkistukseen mainittuun työntekijän laitteen kompromisoimisikkunaan.
  2. Forensisten IoC-indikaattorien päällekkäisyys: StepSecurityin julkaisema Nx Consolen payload-analyysi (tiedostopolut, prosessit kuten __DAEMONIZED, verkkopäätepisteet) vastaa Wiz:n raportissa nähtyjä artefakteja kompromisoidulla laitteella.
  3. TeamPCP:n attribuutiokuvio: TeamPCP / UNC6780 on ollut aktiivinen VS Code -toimitusketjualueella (Trivy, KICS, LiteLLM, TanStack, MistralAI vuonna 2026) johdonmukaisella payload-rakenteella.
  4. 11 minuutin poistoikkuna: Tyypillistä toimitusketjuhyökkäyksille, joissa hyökkääjä kontrolloi julkaisuhetkeä, mutta marketplace havaitsee sen nopeasti.

Jos et asentanut Nx Consolea, et silti ole täysin turvassa. Laajempi hyökkäyskuvio (__DAEMONIZED-prosessit, IMDS:n väärinkäyttö, ~/.claude/settings.json-vuoto) yleistyy mihin tahansa myrkytettyyn laajennokseen. Seuraavan osion triage-sovellus riippumatta siitä, mikä laajennos herättää epäilyksiä.

Yksi VS Code -laajennos lähettää nuolia kymmenelle nimetylle tunnistekohteelle, mukaan lukien GitHub PAT, npm-token, AWS IMDS, 1Password CLI, Vault ja Claude Code -asetukset, havainnollistaen koko vahinkosädettä, jonka haitallinen laajennos voi saavuttaa
Lähde: techsy.io editorial, yhdestä VS Code -laajennoksesta saavutettavissa oleva tunnusten kattavuus

Oletko vaarassa? 5 minuutin triage

Kolme nopeaa testiä. (1) Asensitko tai päivittyikö automaattisesti VS Code -laajennos 18. toukokuuta klo 12.36–12.47 UTC välillä? (2) Onko kannettavallasi nyt mitään IoC-tiedostoja kohteesta GHSA-c9j4-9m59-847w? (3) Oletko käyttänyt GitHub PAT -tunnusta VS Codessa viimeisen 14 päivän aikana? Suorita kaikki kolme alle viidessä minuutissa.

Testi 1, Laajennosten auditointi

bash
# 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"

Kaikki, joka päivittyi automaattisesti 17.–18. toukokuuta välillä, ansaitsee uudelleentarkastelun. Jos näet Nx Consolen versiona tasan 18.95.0, se on todennäköinen osuma. Korjattu versio on 18.100.0. Joko poista asennus tai siirry suoraan alla olevaan toimintasuunnitelmaan.

Testi 2, IoC-skannaus

bash
# 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

Puhtaan koneen tulisi palauttaa tyhjää __DAEMONIZED-grepille, ei .daemonized-tiedostoja eikä IMDS-osumia shell-historiassasi. Jos jokin näistä osuu, oleta kannettavan olevan kompromisoitu ja käsittele kaikkia tunnuksia, joita se on koskenut viimeisen 30 päivän aikana, poltettuina.

Testi 3, PAT-altistuminen

Jos olet käyttänyt GitHub PAT -tunnusta (klassinen tai hienojakoinen) missään VS Code -terminaalissa, integroidussa gitissä tai missään laajennoksessa, joka kutsuu GitHubin APIa viimeisen 14 päivän aikana, oleta sen olevan kompromisoitu ja siirry alla olevaan rotation-suunnitelmaan. Tämä on konservatiivinen oletus, et voi auditoida ”oliko tokeni muistissa, kun laajennos oli aktiivinen”. Vaihda se.

Jos käytät Claude Codea, IoC-lista sisältää nimenomaan tiedoston ~/.claude/settings.json. Tarkista Claude Code hooks -oppaamme siitä, mitä tuossa tiedostossa säilytetään ja mitkä avaimet tulee vaihtaa ensin.

Tuomio. Jos jokin näistä kolmesta testistä antaa positiivisen tuloksen, lopeta narratiivin lukeminen. Siirry suoraan seuraavan osion toimintasuunnitelmaan. Seuraavat 55 minuuttia ovat tärkeämpiä kuin jälkianalyysi.

Mitä kehittäjien on tehtävä: 60 minuutin hätäsuunnitelma

Vaihda tunnukset prioriteettijärjestyksessä. Taso 0 (seuraavat 30 min): GitHub PAT -tunnukset ja npm-tokenit. Taso 1 (tänään): AWS / pilviavaimet, 1Password / Vault, GitHub Actions -salaisuudet. Taso 2 (tällä viikolla): kolmannen osapuolen SaaS-palvelut, OAuth-valtuutukset, SSH-avaimet. Taso 3 (kun sopii): vain luku -oikeudet ja julkiset avaimet. Jokainen taso vastaa tiettyä vahinkosäteen pienentämistä.

Nelitasoinen tunnusten vaihtopyramidi, jossa Taso 0 (GitHub PAT ja npm-tokenit) on punainen, Taso 1 (AWS ja vault-tokenit) meripihkanvärinen, Taso 2 (SSH ja OAuth) keltainen ja Taso 3 (vain luku -avaimet) harmaa, jokainen taso merkitty aikabudjetilla
Lähde: techsy.io editorial, porrastettu vaihtoprioriteetti 60 minuutin suunnitelmaan

JUURI NYT: Jos uskot olevasi osallinen

Jos triage antoi positiivisen tuloksen, tee nämä kolme asiaa järjestyksessä ennen mitään muuta.

  1. Tapata daemon ja poista epäilty laajennos:
bash
# 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
  1. Irrota kannettavasi verkkokaapeli, jos sinulla on merkkejä aktiivisesta tietovuodosta. Vaatii äärimmäiseltä. Se on sitä. Tee se silti. Voit tutkia offline-tilassa.
  2. Soita turvallisuustiimillesi tai postaa #security Slack-kanavalle ennen kuin ajat mitään muuta. Jos toimit yksin, siirry suoraan Tasoon 0 alla.

Taso 0 (Seuraavat 30 minuuttia): GitHub + npm

GitHub PAT -tunnusten peruutus gh CLI:n ja web-käyttöliittymän kautta:

bash
# 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}/installations

npm-tokenien vaihto:

bash
# 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

Jos ylläpidät julkaistuja paketteja, npm-tokenisi on vaarallisin omistamasi tunnus. Vaihda se ennen AWS-avaimia.

Taso 1 (Tänään): Pilvi + Vaultit + CI-salaisuudet

AWS-access-avaimet seuraavaksi. IoC-indikaattorit osoittavat IMDS:n väärinkäyttöä, joten kaikki IAM-käyttäjät, jotka koskettivat kompromisoitua laitetta, ovat epäilyttäviä:

bash
# 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 required

1Password CLI: kirjaudu ulos kaikilta laitteilta (op signout --all), luo session tokenit uudelleen ja tarkista viimeaikainen vault-käyttö 1Passwordin web-audit-logista löytääksesi mitä tahansa, joka ajettiin kompromisoidulta laitteelta.

HashiCorp Vault: peruuta käyttäjätokenisi (vault token revoke -self) ja pyydä adminia luomaan uusi lyhyemmällä TTL-ajalla.

GitHub Actions -salaisuudet: jos jokin vaihdettu tunnus on myös Actionsissa, päivitä se. Käytä gh secret set GITHUB_PAT --body <new-pat> per varasto tai organisaatiotason käyttöliittymää organisaatiosalaisuuksille.

Anthropicin ja OpenAI:n API-avaimet: GHSA-c9j4-9m59-847w IoC-lista mainitsee nimenomaan ~/.claude/settings.json-tiedoston keräyskohteena. Peruuta ja luo uudelleen Anthropic-konsolin API-avaimesi ja kaikki OpenAI-avaimet, jotka olet koskaan tallentanut kyseiseen tiedostoon.

Taso 2 (Tällä viikolla): SSH + OAuth + Salasanaholvit

SSH-avaimet liikkuvat hitaammin, mutta ovat edelleen scopeissa. Laajennoksella oli tiedostojärjestelmän lukuoikeus kansioon ~/.ssh/:

bash
# 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]

Selaimen salasananhallinta ja OS:n avainnippu: vaihda kaikki salasanat, jotka laajennos olisi voinut realistisesti nähdä leikepöydän kautta. Realistinen altistuminen ovat salasanat, jotka kopioit leikepöydälle laajennoksen ollessa aktiivinen.

Taso 3 (Kun sopii): Auditointi + Varmistus

Auditoi GitHub-organisaatiosi logi kompromisoimisikkunan ajalta. Tämä vaatii organisaatioadminin oikeudet:

bash
# 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

Jos audit-logi näyttää push-toimintoja kompromisoimisikkunalta, joita et tehnyt, eskaloi turvallisuustiimillesi ja säilytä audit-logi JSON-muodossa. Älä yritä ”peruuttaa” mitään varastossa. Säilytä todisteet ensin.

Käsittelimme saman porrastetun vaihtologikan Vercelin env-var-murrossa huhtikuussa: sama muoto, eri kerros.

5 kysymyksen laajennosten auditointikehys (käytä tätä ikuisesti)

Ennen kuin asennat tai luotat mihinkään VS Code -laajennokseen, aja se viiden testin läpi: julkaisijan domainin ikä, versionopeus, package.json-aktivointitapahtumat, lupien scope vs. odotettu käyttäytyminen ja open source -varaston auditointi. Nx Console v18.95.0 olisi epäonnistunut Testissä #2: äkillinen version hyppy vakaan julkaisutahdin jälkeen on klassinen toimitusketjun merkki.

  1. Julkaisijan domainin ikä. Onko julkaisijan domain vanhempi kuin yksi vuosi? Uudet julkaisijat uusilla rekisteröidyillä domaineilla kantavat enemmän riskiä. Tarkista Visual Studio Marketplace -julkaisijasivulta tai whois-komennolla julkaisijan sähköpostin domainista.
  2. Versionopeus. Näyttääkö versionhistoria normaalia tahtia (yksi julkaisu 1–4 viikon välein) vai äkillistä piikkiä (kolme julkaisua 24 tunnissa)? Äkillinen nopeus on signaali. Nx Console v18.95.0 oli nopeusanomalia.
  3. package.json aktivointitapahtumat. Avaa .vsix-tiedosto (se on zip) ja lue activationEvents. Laajennokset, jotka aktivoituvat * (aina päällä), tarjoavat suurimman hyökkäyspinnan. Suosi laajennoksia, jotka aktivoituvat tietyn kielen tai tiedostonimen perusteella.
  4. Vaaditut luvat vs. odotettu käyttäytyminen. Pyytääkö ”teema”-laajennos verkkoyhteyttä? Tarvitseeko ”snippet”-laajennos tiedostojärjestelmän kirjoitusoikeuden? Epäsuhtaiset ovat punaisia lippuja. Rastita Microsoftin laajennosten runtime-turvallisuusdokumentaatiota vastaan.
  5. Open source -varaston auditointi. Onko lähdekoodi GitHubissa? Lue viimeiset viisi committia epäilyttävien muutosten varalta: asennuksen jälkeiset hookit, base64-koodatut blobit, verkkokutsut tuntemattomiin domeeneihin.

Laajennos, joka aktivoituu *-merkillä ja pyytää verkkoyhteyttä, on toiminnallisesti etäkuori, johon VS Code on niitattu kiinni.

Sama auditointikehys pätee MCP-palvelimiin, seuraavaan laajennusluokan toimitusketjun pintaan. Katso parhaat MCP-palvelimet 2026 -erittelymme siitä, keihin luotamme ja miksi.

Miksi tätä tapahtuu yhä: Vuosien 2025–2026 toimitusketjuaalto

  1. toukokuuta GitHubin murto on yksi solmu 9 kuukauden kaarella: Shai-Hulud npm-mato (syyskuu 2025), GlassWorm OpenVSX-mato (lokakuu–marraskuu 2025), Shai-Hulud 2.0 (marraskuu 2025, yli 25 000 affected varastoa), Mini Shai-Hulud (alkuvuosi 2026), Nx Console (18. toukokuuta 2026), GitHubin päätelaitteen kompromisoituminen (20. toukokuuta 2026). Kehittäjien päätelaitteista on tullut uusi heikoin lenkki.
  • Syyskuu 2025, Shai-Hulud npm-mato. Itseleviävä haittaohjelma suosituissa npm-paketeissa. CISA julkaisi hälytyksen laajasta kompromisoitumisesta.
  • Loka–marraskuu 2025, GlassWorm. Ensimmäinen itseleviävä mato, joka kohdistui VS Code -laajennoksiin OpenVSX:ssä. Koi Securityn julkistus.
  • Marraskuu 2025, Shai-Hulud 2.0. Yli 25 000 varastoa varastettu. Microsoft Security Blog julkaisi hallintaohjeistuksen.
  • Alkuvuosi 2026, Mini Shai-Hulud. TeamPCP-variantti. Pienemmän mittakaavan toistot Trivyä, KICS:iä, LiteLLM:ää, TanStackia ja MistralAI:a vastaan.
  • 18. toukokuuta 2026, Nx Console v18.95.0. Erittäin todennäköinen vektori GitHubin päätelaitteen kompromisoitumiselle.
  • 20. toukokuuta 2026, GitHub julkistaa. Noin 3 800 sisäistä varastoa varastettu. Wizin Shai-Hulud forensisen sarjan mukaan IMDS:n väärinkäyttökuvio on suora evoluutio.

Kuvio on selvä: kehittäjien kannettavat sisältävät organisaation kaikki salaisuudet (GitHub PAT -tunnukset, AWS-avaimet, vault-tokenit, AI-palveluntarjoajien avaimet) ja niissä on lähes nolla EDR-suojaa. Kunnes tämä epätasapaino kääntyy, tämä aalto jatkuu.

Defensiivinen AI on yksi osa vastausta. Käsittelimme tätä näkökulmaa artikkelissamme kuinka AI estää tietomurtoja aiemmin tänä vuonna.

GitHubin laajempi vaste: Trusted Publishing, FIDO 2FA, 90 päivän tokenit

GitHub oli jo rolloutannut neljä toimitusketjun kontrollia ennen 20. toukokuuta: pakollinen 2FA npm-julkaisijoille, 90 päivän katto hienojakoisille write-tokeneille, TOTP:n deprecointi FIDOn ja passkeyjen hyväksi sekä OIDC trusted publishing GitHub Actionsille ja GitLab CI:lle. Toukokuun murto kiihdyttää jo käynnissä olevaa migraatiota; se ei tuo uutta politiikkaa.

KontrolliTilaToimenpide sinulle
Pakollinen npm 2FALiveOta käyttöön nyt: npm profile enable-2fa auth-and-writes
90 päivän hienojakoinen write-token kattoRollout (olemassa olevat tokenit pakotetaan vanhenemaan)Migratoi hienojakoisiin PAT-tunnuksiin, joiden TTL ≤ 90 pv
TOTP deprecointi, FIDO / passkeytVaiheittainen rollout 2026Rekisteröi passkey jokaiseen GitHub-tiliin tänään
OIDC trusted publishingLive GitHub Actionsille + GitLab CI:lleMigratoi CI pitkän eliniän npm-tokeneista OIDC:hen

GitHubin laajempi suunnitelma turvallisempaan npm-toimitusketjuun on ollut olemassa kuukausia ennen tätä incidenttiä. Mitä nopeammin sopeudut siihen, sitä pienempi vahinkosäteesi on seuraavalla kerralla.

Kovettaminen: Kuinka selviytyä seuraavasta

Kuusi tulevaisuuteen katsovaa liikettä: lukitse laajennosten versiot tiedostossa devcontainer.json, pakota organisaatiotason laajennosten sallittu lista, aja EDR laajennusprosessien näkyvyydellä, skannaa salaisuuksia jokaisessa pushissa, rajaa PAT-tunnukset yhteen varastoon ja omaksu OIDC trusted publishing pitkän eliniän tokenien sijaan. Mikään näistä ei olisi estänyt jokaista incidenttiä, yhdessä ne kutistavat vahinkosäteen ”kaikelta kannettavalta” ”yhteen varastoon”.

json
{
  "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"
  }
}

Lyhyesti:

  • Lukitse jokaisen laajennoksen versio tiedostossa devcontainer.json tappaaksesi automaattipäivityksen.
  • Sallittu lista organisaatiotasolla ohjaamalla VSCODE_GALLERY_SERVICE_URL sisäiseen peiliin.
  • EDR IDE-prosessien näkyvyydellä: Crowdstrike, SentinelOne tai Microsoft Defender for Endpoint, jossa VS Code on scopessa.
  • Salaisuuksien skannaus jokaisessa pushissa: pre-commit ja push-aikana, server-side.
  • Rajaa jokainen PAT yhteen varastoon: ei koskaan * scopeja.
  • OIDC trusted publishing: ei pitkän eliniän npm- tai registry-tokeneita CI:ssä.

Viime viikon Linuxin copy_file_range CVE on sisartarina: eri kerros, sama oppi. Luottamusraja, jonka unohdit, on se, joka puree.

Jos harkitset AI-koodausagentteja seuraavaksi, sovelta samaa auditointikehystä. Niillä on sama luottamusprofiili kuin laajennoksilla. Parhaat AI-koodausagentit 2026 -erittelymme käy läpi, mitkä agentit ansaitsevat tuon luottamuksen.

Usein kysytyt kysymykset

Hakattiinko GitHub?

Ei, ainakaan niin kuin useimmat otsikot vihjaavat. GitHub.comin tuotantoympäristöä ei murrettu. GitHubin työntekijä asensi haitallisen VS Code -laajennoksen työasemalleen, mikä johti noin 3 800 GitHubin sisäisen lähdekoodivaraston varastamiseen. Asiakkaiden koodi, asiakastilit ja GitHubin tuotantopalvelut eivät ole vaikuttuneet.

Mikä VS Code -laajennos oli todella involved?

GitHub ei ole virallisesti vahvistanut laajennoksen nimeä. StepSecurityin, Wizin ja GHSA-c9j4-9m59-847w:n forensiset todisteet viittaavat erittäin todennäköisesti Nx Console v18.95.0:een, joka julkaistiin 18. toukokuuta klo 12.36 UTC ja poistettiin 11 minuuttia myöhemmin. Käsittelemme tätä ”erittäin todennäköisenä, ei vahvistettuna”, kunnes GitHub nimeää sen.

Onko Nx Console turvallinen käyttää nyt?

Korjattu versio on 18.100.0. Jos sinulla on vanhempi v18.95.0 asennettuna, poista se välittömästi, aja IoC-skannaus triage-osiossamme ja asenna uudelleen vain viralliselta Nrwl-julkaisijalta versiosta 18.100.0 eteenpäin. Varmista julkaisijan domain ennen uudelleenasennusta ja lukitse versio tiedostossa devcontainer.json.

Vaikuttiko GitHubin murto asiakasdataan?

Ei. GitHubin virallisen lausunnon mukaan (lähde: Bleeping Computer) asiakkaiden lähdekoodia, asiakastilejä, OAuth-tokeneita tai GitHubin isännöimää tuotantodataa ei käytetty. Kompromisoitu data on GitHubin sisäistä lähdekoodia työntekijän päätelaitteelta. Käsittele tätä työntekijän kannettavan incidenttinä, ei alustan murtona.

Miten tiedän, varastettiinko GitHub PAT -tunnukseni?

Et voi tietää varmasti. Konservatiivinen oletus: jos käytit mitä tahansa GitHub PAT -tunnusta VS Codessa viimeisen 14 päivän aikana, käsittele sitä kompromisoituna ja vaihda se. Tarkista GitHub-audit-logisi komennolla gh api /orgs/{ORG}/audit-log löytääksesi tuntemattomia push-tapahtumia 18.–20. toukokuuta UTC-ajan välillä, peruuta sitten tunnus ja luo se uudelleen.

Mikä on TeamPCP ja UNC6780?

TeamPCP on uhkatoimijaryhmä; UNC6780 on incident-response-toimittajien antama seuranta-ID. He ovat julkisesti ottaneet vastuun GitHubin murrosta. Sama ryhmä on ottanut vastuun vuoden 2026 kompromisseista Trivyä, KICS:iä, LiteLLM:ää, TanStackia ja MistralAI:a vastaan, mikä osoittaa johdonmukaista VS Code- ja npm-toimitusketjun kohdistamiskuviota.

Ovatko VS Code -laajennokset hiekkalaatikossa?

Eivät merkityksellisellä tavalla. VS Code -laajennokset ajavat IDE:n Node.js-prosessissa käyttäjän täysillä tiedostojärjestelmä- ja verkkooikeuksilla. Ne voivat lukea jokaisen tiedoston kotihakemistossasi, mukaan lukien SSH-avaimet, ~/.aws/credentials, ~/.claude/settings.json ja prosessimuistin /proc/*/mem kautta Linuxissa. Microsoft dokumentoi runtime-turvallisuusmallin ja sen rajat virallisissa laajennusdokumenteissa.

Vaikuttiko tämä GitHub Codespacesiin tai CI-runnerseihin?

Ei vielä näyttöä. Kompromisoituminen oli työntekijän työasema, ei GitHubin isännöimä infrastruktuuri. Codespacesia, GitHub Actions -runnerseja ja asiakaskohtaista CI-infrastruktuuria ei ole raportoitu vaikuttuneeksi. Päivitämme tämän kirjoituksen, jos uudet IoC-indikaattorit muuttavat kuvaa.

Yhteenveto

Kolme asiaa, jotka kannattaa muistaa:

  1. GitHub.comia ei hakattu. Työntekijän VS Code -työasema hakattiin. Oppi yleistyy jokaiseen kehittäjään.
  2. Vaihda nyt, auditointikehys ikuisesti. 60 minuutin suunnitelma on paikkaus; 5 kysymyksen auditointikehys on immuunijärjestelmä.
  3. Tämä ei ole kertaluonteinen tapaus. Se on solmu #6 9 kuukauden toimitusketjuaallossa, joka ei hidastu.

Viimeksi päivitetty: 20. toukokuuta 2026. Päivitämme tämän kirjoituksen 27. toukokuuta 2026 uusilla IoC-indikaattoreilla, toimittajien ilmoituksilla ja mahdollisilla GitHubin vahvistamilla laajennosattribuutioilla.

Jos tiimisi tarvitsee apua VS Code -laajennuspinnan auditoinnissa, PAT- ja token-hygieniassa tai organisaatiotason sallittujen listojen politiikan rakentamisessa, varaa ilmainen konsultaatio. Olemme keskittyneet kehittäjien päätelaiteturvallisuuteen Vercelin murrosta lähtien huhtikuussa, ja yllä oleva suunnitelma on se, jota ajamme asiakkaiden kanssa ensimmäisenä päivänä.

Aihepiirit

kyberturvallisuustoimitusketjuhyökkäysvscodegithubkehittäjäturvallisuuspoikkeamahallintaGHSA-c9j4-9m59-847w

Jaa tämä artikkeli

Aiheeseen liittyvät julkaisut

Lisää aiheesta cybersecurity

cybersecurity
Jul 23, 2026

SaaS-tietoturvatarkistuslista ennen julkaisua: 40 tarkistusta, jotka teemme ensin (2026)

Useimmat julkaisutarkistuslistat kertovat, mitä pitää suojata, mutta eivät näytä miten. Tämä lista sisältää koodin: 40 esijulkaisutarkistusta salaisuuksista, todennuksesta, eriytyksestä, riippuvuuksista, otsikoista ja seurannasta, plus virhe, jonka löydämme lähes jokaisessa katselmuksessa.

12 min read lukuaika
Lue
cybersecurity
May 8, 2026

Kuinka tekoäly estää tietomurtoja: 7 puolustusta, jotka pysäyttivät todelliset hyökkäykset (2026)

30. huhtikuuta 2026 noin 275 miljoonaa opiskelijaa sai tietää, että heidän LMS-järjestelmänsä oli murrettu. Olisiko tekoäly voinut estää sen? Tässä on 7 puolustusta, jotka tekevät niin jo nyt – ja kuinka rakennat ne sovellukseesi tällä viikolla.

13 min read lukuaika
Lue
cybersecurity
May 5, 2026

Copy Fail (CVE-2026-31431): 60 minuutin hätäkorjausopas Linuxille, Kubernetesille ja AI-infrastruktuurille

Microsoft paljasti CVE-2026-31431:n (”Copy Fail”) 1. toukokuuta 2026 – Linux-ytimen oikeuksien korotushaavoittuvuuden, joka ohittaa Kubernetesin RuntimeDefault-seccompin ja vaikuttaa kaikkiin monivuokraajaisiin päättelyklustereihin, agenttiruntimeihin ja CI-ajureihin. Tässä on 60 minuutin korjausopas jakelukohtaisilla komennoilla, valmiilla seccomp-profiililla ja AI-infran haavoittuvuusanalyysillä.

12 min read lukuaika
Lue
Katso kaikki julkaisut
Aloita projekti

Valmiina rakentamaan jotain erinomainen?

Muutetaan visiosi todellisuudeksi. Tiimimme on valmis auttamaan sinua luomaan ohjelmistoja, joilla on todellinen vaikutus.

Varaa lyhyt suunnittelukeskusteluKatso töitämme

Suosittuja kirjastosta

Claude-taidot

Katso kaikki
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tekoäly automatisoinnit

Katso kaikki
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Suosittuja kirjastosta

Claude-taidot

Katso kaikki
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tekoäly automatisoinnit

Katso kaikki
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Palvelut

  • Yritysratkaisut
  • Mobiilisovellukset
  • Verkkosovellukset

Ratkaisut

  • CRM-järjestelmät
  • Tekoälyintegraatio
  • ERP-ratkaisut
  • Ääniapurarit
  • Prosessien automatisointi
  • Kyberturvallisuus

Kirjasto

  • Blogi
  • Portfolio

Yhteisö

  • Tekoäly automatisoinnit
  • Claude-taidot

Työkalut

  • Mobile sovelluksen hintalaskuri
  • OpenAI / LLM API -hintalaskuri
  • MVP-hintalaskuri
  • Puhe-tekoälyasiamies-hintalaskuri

Yritys

  • Tietoja
  • Kumppanit
  • Ota yhteyttä

Juridiset asiat

  • Tietosuopolitiiikka
  • Käyttöehdot
  • Evästekäytäntö

Palvelut

  • Yritysratkaisut
  • Mobiilisovellukset
  • Verkkosovellukset

Ratkaisut

  • CRM-järjestelmät
  • Tekoälyintegraatio
  • ERP-ratkaisut
  • Ääniapurarit
  • Prosessien automatisointi
  • Kyberturvallisuus

Kirjasto

  • Blogi
  • Portfolio

Yhteisö

  • Tekoäly automatisoinnit
  • Claude-taidot

Työkalut

  • Mobile sovelluksen hintalaskuri
  • OpenAI / LLM API -hintalaskuri
  • MVP-hintalaskuri
  • Puhe-tekoälyasiamies-hintalaskuri

Yritys

  • Tietoja
  • Kumppanit
  • Ota yhteyttä
Juridiset asiatTietosuopolitiiikkaKäyttöehdotEvästekäytäntö
TECHSY
© 2026 Techsy. Kaikki oikeudet pidätetään.