Raportoidun kampanjan, joka rakentuu GitHubilta varastettujen tokenien ja WFX-varastajan ympärille, väitetään asettavan noin 66 000 repositoriota vaaraan Cybernewsin uutisoinnin mukaan. Hyökkääjien väitetään käyttäneen varastettuja käyttöoikeustokeneita istuttaakseen haitallisia workflow-tiedostoja ja muuttaneensa kehitysputken tavaksi kerätä salaisuuksia. Saatavilla oleva uutisointi on lyhyt, joten tämä kirjoitus pitäytyy siinä, mitä on kerrottu, ja keskittyy käytännön toimiin, joita kehittäjät voivat tehdä nyt.

Miten varastetut tokenit mahdollistivat GitHub-workflow-hyökkäyksen

Raportin mukaan kampanjassa käytettiin varastettuja tokeneita "WFX-varastaja"-workflowien lisäämiseen noin 66 000 GitHub-repositorioon. Token on tunnistetieto, jonka avulla henkilö tai sovellus voi toimia tilillä kirjoittamatta salasanaa. Jos hyökkääjällä on hallussaan voimassa oleva token, jolla on riittävät käyttöoikeudet, GitHub pitää heidän toimiaan laillisina.

Juuri siksi workflowit ovat houkutteleva kohde. GitHub Actions -workflowit ovat repositorioon tallennettuja tiedostoja, jotka suoritetaan automaattisesti, usein pääsyllä projektin salaisuuksiin, joita käytetään koodin rakentamiseen, testaamiseen ja käyttöönottoon. Haitallisen workflown ei tarvitse hyödyntää ohjelmistovirhettä. Sen tarvitsee vain tulla committoiduksi jonkun toimesta, jonka GitHub uskoo olevan valtuutettu, ja sitten se suoritetaan putken sisällä.

Lähdeyhteenveto ei kerro, miten tokenit alun perin varastettiin, emmekä aio arvailla. Lukijoille merkitsevää on kaava: putkesta itsestään tulee toimitusmekanismi, ja tunnistetiedot, jotka avaavat sen, ovat varsinainen palkinto.

Mitä WFX-varastaja voi paljastaa kehittäjätileiltä

Uutisointi kuvailee workflowit salaisuuksia varastaviksi, ja esitetty näkökulma huomauttaa, että CI/CD-putkista voi tulla väylä kehittäjien salaisuuksiin ja henkilökohtaisiin tileihin. Käytännössä putkessa toimiva varastaja voi olla asemassa, jossa se tavoittaa kaiken, mihin kyseinen putki yltää. Tyypillisiä esimerkkejä tällaisesta materiaalista ovat:

  • API-avaimet ja pilvitunnistetiedot, jotka on tallennettu repositorion salaisuuksina
  • Käyttöönoton tokenit ja pakettirekisterien tunnistetiedot
  • Muut workflowille saatavilla olevat GitHub-tokenit

Sitä, mitä tietoja WFX-varastaja tarkalleen kerää, ei ole vahvistettu käytettävissämme olevissa tiedoissa, joten yllä olevaa luetteloa tulee pitää putkien salaisuuksille yleisinä riskiluokkina, ei vahvistettuina havaintoina tästä kampanjasta. Laajempi huoli on, että yksi varastettu token voi johtaa useampien tokenien varastamiseen. Yhdestä repositoriosta kerätyt salaisuudet voivat avata muita palveluita, ja näin repositorion vaarantuminen voi levitä henkilökohtaisiin ja organisaation tileihin.

Tämä sopii laajempaan teemaan, jota olemme aiemmin käsitelleet: järjestelmiä, joihin ihmisten on tarkoitus luottaa, käännetään heitä vastaan. Katsauksemme siitä, miten Pixelin zero-click-haavoittuvuus ja ScreenConnect-hyökkäykset MSP:itä vastaan jakoivat saman epämukavan langan, osoittaa, miten usein luotettu työkalu on heikko kohta.

Miten tarkistaa, ovatko repositoriosi kärsineet

Emme voi kertoa, onko tietty repositorio vaikuttuneiden listalla, eikä saatavilla oleva uutisointi julkaise sellaista. Voit silti etsiä merkkejä peukaloinnista itse:

  1. Käy läpi workflow-tiedostot. Avaa jokaisen repositorion .github/workflows-kansio ja etsi tiedostoja, joita et tunnista, tai muokkauksia, joita et tehnyt.
  2. Tarkista commit- ja pull request -historia. Etsi viimeaikaisia committeja tai brancheja, jotka koskevat workfloweja, erityisesti tuntemattomilta tileiltä tai outoina ajankohtina.
  3. Tarkastele Actions-ajolokeja. Odottamattomat ajot, uudet laukaisimet tai vaiheet, jotka tekevät lähteviä verkkopyyntöjä, ansaitsevat tarkemman vilkaisun.
  4. Käy läpi turvalokisi ja valtuutetut sovelluksesi. Tarkista GitHub-asetuksista, millä henkilökohtaisilla access-tokeneilla, OAuth-sovelluksilla ja GitHub-sovelluksilla on pääsy, ja poista kaikki, joita et käytä.
  5. Oleta altistuminen, jos löydät jotain. Käsittele jokaista salaisuutta, jonka workflow pystyi lukemaan, vaarantuneena ja vaihda se.

GitHubin suojaaminen: tokenit, MFA ja kolmannen osapuolen Actionsit

Mikään näistä vaiheista ei ole eksoottinen, mutta yhdessä ne vähentävät sitä, mitä varastettu token voi tehdä.

Kierrätä ja pienennä tokeneita. Peruuta vanhat henkilökohtaiset access-tokenit ja myönnä uudet kapeimmalla toimivalla laajuudella ja lyhyimmällä toimivalla voimassaoloajalla. Tiettyihin repositorioihin rajatut hienojakoiset tokenit ovat turvallisempia kuin laajat.

Ota monivaiheinen todennus käyttöön. MFA suojaa tilisi kirjautumista, vaikka on syytä muistaa, että varastettu token voi ohittaa kirjautumisvaiheen kokonaan. Siksi tokenien hygienia on yhtä tärkeää.

Rajoita workflowien käyttöoikeuksia. Aseta workflowien oletustoken vain luku -tilaan ja myönnä kirjoitusoikeus vain sinne, missä työ todella sitä tarvitsee. Vaadi tarkistus ennen kuin workflow-tiedostojen muutokset yhdistetään, esimerkiksi branch-suojauksen ja code ownersin avulla.

Arvioi kolmannen osapuolen Actionsit. Kiinnitä Actionsit tiettyyn committiin liikuteltavan tagin sijaan ja suosi niitä, joiden ylläpitäjiin luotat. Pidä salaisuudet poissa töistä, jotka eivät niitä tarvitse.

Mitä tämä tarkoittaa sinulle

Jos ylläpidät edes pientä projektia GitHubissa, workflow-tiedostosi ovat osa hyökkäyspinta-alaasi. Varastettu token voi antaa jonkun lisätä workflown, joka lukee salaisuutesi hiljaa, etkä välttämättä koskaan näe hälytystä. Yksittäiset kehittäjät, avoimen lähdekoodin ylläpitäjät ja yritykset, joilla on automatisoituja käyttöönottoja, ovat kaikki mukana.

Hyvä uutinen on, että puolustukset ovat omassa hallinnassasi ja vievät vähän aikaa. Tämä on myös osa toistuvaa kaavaa, jossa hyökkääjät kohdistavat iskunsa tileihin ja työkaluihin, joihin ihmiset jo luottavat. Uutisointimme siitä, miten Incransom väittää hyökänneensä TrRAC Inc.:iä vastaan, on erityyppinen tapaus, mutta se korostaa, miten nopeasti varastettu pääsy voi muuttua todelliseksi vahingoksi.

Käytännön toimenpiteet

  • Kierrätä GitHub-tokenisi tänään ja poista kaikki, joita et enää käytä.
  • Ota MFA käyttöön jokaisella tilillä, jolla on pääsy repositorioihin.
  • Tarkasta .github/workflows-tiedostosi sellaisten muutosten varalta, joita et tehnyt.
  • Aseta workflowien käyttöoikeudet oletuksena vain luku -tilaan ja kiinnitä kolmannen osapuolen Actionsit.
  • Jos löydät jotain epäilyttävää, vaihda jokainen salaisuus, johon kyseinen workflow pystyi pääsemään.

Raportit GitHubilta varastetuista tokeneista ja WFX-varastajasta kehittyvät edelleen, ja yksityiskohdat voivat muuttua. Älä odota vahvistusta oman ympäristösi siistimiseen: kierrätä tokenit, ota MFA käyttöön ja tarkasta workflowisi tänään.