92 aktiivista uhkaa
Huijausvahti

Yli 11 miljoonaa latausta kuukaudessa: PyTorch Lightning -paketin haittaversio yritti varastaa kehittäjien tunnukset

· · Ratkaistu · Tietoturva
Yli 11 miljoonaa latausta kuukaudessa: PyTorch Lightning -paketin haittaversio yritti varastaa kehittäjien tunnukset

Hyökkääjät eivät murtaneet pankkia tai sairaalaa. He saastuttivat kirjaston, jota niiden kehittäjät käyttävät päivittäin. Kohteena oli kehittäjä, ei loppukäyttäjä.

Tiivistelma

PyPI-paketti lightning sisälsi haitallisen 2.6.3-version, joka yritti varastaa selainsalasanat, .env-tiedostot ja pilvitunnukset. Paketti latautuu yli 11 miljoonaa kertaa kuukaudessa ja on yleinen suomalaisissa AI-projekteissa. NIS2-laki tekee toimitusketjun riskienhallinnasta lakisääteisen velvoitteen huhtikuusta 2025 alkaen.

Yli 11 miljoonaa latausta kuukaudessa. Sen verran PyTorch Lightning -nimeä kantava Python-paketti kerää PyPI-arkistossa joka kuukausi. Paketti on perustyökalu kaikille, jotka kouluttavat tekoälymalleja Pythonilla.

Huhtikuun lopussa siitä julkaistiin versio 2.6.3, joka ei ollut Lightningin tekijöiden tekemä.

Microsoftin Threat Intelligence -tiimi havaitsi haitallisen version ja raportoi siitä 30. huhtikuuta. BleepingComputer kertoi tapauksesta laajemmin 4. toukokuuta. PyPI on sittemmin palauttanut paketin puhtaaseen versioon 2.6.1, joten välitön uhka on ohi.

Tämä ei ollut tavanomainen typosquat, jossa hyökkääjä rekisteröi väärin kirjoitetun nimen ja toivoo kehittäjien näppäilyvirhettä. Lightning oli aito paketti aidolla nimellä. Joko julkaisuketjuun tai ylläpitäjän tiliin oli päästy käsiksi, ja saastunut versio nostettiin viralliseen jakeluun.

Toimitusketjuhyökkäys (supply-chain attack)

Hyökkääjä ei murtaudu kohteeseen suoraan, vaan saastuttaa työkalun, jota kohde käyttää. Kun ohjelmistokirjasto, päivityskanava tai julkaisuketju kompromissoidaan, haittakoodi pääsee sisään luotettavan reitin kautta, ohittaen tavanomaiset suojaukset.

Mitä haittaversio yritti tehdä

Saastuneen paketin koodi keräsi useita arvokkaita tunnustyyppejä asennuksen jälkeen. Kohteena olivat selainsalasanat Chromesta, Firefoxista ja Bravesta. Lisäksi se etsi .env-tiedostoja, joihin kehittäjät usein tallentavat API-avaimet ja konfiguraatiosalaisuudet.

Listalla olivat myös AWS:n, Azuren ja GCP:n pilvitunnukset sekä GitHub-tokenit. Tällaisilla avaimilla pääsee kiinni tuotantoympäristöön, lähdekoodiin ja asiakasdataan.

– Vaikutus rajoittui pieneen joukkoon koneita, koska Microsoft Defender havaitsi haitallisen käyttäytymisen, kertoo Microsoftin Threat Intelligence -tiimi BleepingComputerille.

Miksi hyökkääjät kohdistivat iskunsa juuri kehittäjiin? Yhden kehittäjän kone on usein oikeastaan koko organisaation pääsylippu – pilvikonsolit, tuotantotietokannat ja asiakasympäristöt avautuvat samoilla avaimilla.

Suomalainen kytkös: NIS2 ja Lightningin käyttäjät

PyTorch Lightning on hyvin tyypillinen valinta suomalaisissa AI- ja koneoppimisprojekteissa. Kirjastoa käytetään Aalto-yliopiston, Helsingin yliopiston ja Tampereen yliopiston tutkimuskoodissa, VTT:n hankkeissa, AI-startupeissa sekä pankkien ja vakuutusyhtiöiden riskimalleissa. Konsulttien notebookeissa se on melko vakiokalustoa.

NIS2-pohjainen kyberturvallisuuslaki tuli Suomessa voimaan 8.4.2025. Toimitusketjun riskienhallinta on nyt lakisääteinen velvoite olennaisten ja tärkeiden toimialojen organisaatioille, ja se ulottuu myös suoriin toimittajiin ja palveluntarjoajiin. Kyberturvallisuuskeskus on julkaissut Toimitusketjuhyökkäys-toimintaohjeen. Traficom viimeistelee parhaillaan riskienhallintasuositusta sääntelyn alaisille toimijoille.

Lightning-tapaus ei ole ainoa laatuaan. Check Point raportoi vuonna 2025 yli 500 haitallisen PyPI-paketin typosquatting-kampanjasta. Helmikuussa 2026 dYdX-yhteyteen liittyvä kompromissi levitti lompakkovarastajia sekä npm- että PyPI-puolelle. Avoimen lähdekoodin paketit ovat varsin selvästi kasvava hyökkäysvektori.

Tunnistusmerkit

  • Paketin uusi versio julkaistaan ilman tavanomaista changelogia tai vastaavaa tagiä projektin GitHub-puolella
  • Asennuksen jälkeen koneella havaitaan yllättävää verkkoliikennettä tai tuntemattomia prosesseja
  • Virustorjunta tai EDR hälyttää tunnetuista varkaustyökaluista – Microsoft Defender pysäytti tämän tapauksen
  • Pakettiversio mainitaan vain ulkoisessa ohjeessa tai chat-keskustelussa, ei projektin omilla sivuilla

Mitä tehdä

Kehittäjille:

  • Tarkista paketin nimi merkki kerrallaan ennen pip install -komentoa
  • Lukitse versiot lock-tiedostolla ja päivitä harkitusti, ei automaattisesti
  • Aja pip-audit tai safety ennen uuden riippuvuuden käyttöönottoa
  • Älä asenna pakettia tutoriaalin, Discord-kanavan tai chatbotin suosituksesta tarkistamatta projektin virallista sivua

Organisaatioille, erityisesti NIS2-säännellyille:

  • Kirjaa kolmannen osapuolen kirjastot SBOM-luetteloon (Software Bill of Materials) osana toimitusketjun riskienhallintaa
  • Hyödynnä Kyberturvallisuuskeskuksen Toimitusketjuhyökkäys-toimintaohjetta sisäisten prosessien pohjana
  • Varmista, että kehittäjien koneilla on toimiva EDR – Defenderin havainto rajasi tämän tapauksen vahingot pieniksi
  • Ilmoita epäilyttävistä PyPI-paketeista tai havaitusta hyökkäyksestä Kyberturvallisuuskeskukselle: ilmoita.kyberturvallisuuskeskus.fi

Lightningin tapaus saatiin tällä kertaa nopeasti hallintaan. Jää nähtäväksi, kuinka monta vastaavaa versiokompromissia ehtii tapahtua ennen kuin SBOM ja pip-audit ovat suomalaisissa kehitystiimeissä yhtä itsestään selviä kuin versionhallinta.

Lahteet

    Lue myos