A hackerek GitHub projekteket töltenek fel, amelyekben rosszindulatú kód rejtőzik.
A kibertámadók „láthatatlan” Unicode‑karakterekkel rejtik a káros kódot
Az Aikido Security cég új kutatásai szerint már március elején 151 projekt jelent meg GitHubon, amelyekben rejtett szponzori kód található. A rosszindulatú csomagok Unicode‑karaktereket használnak, amik emberi szemmel szóközként vagy üres sorként tűnnek, de a JavaScript normál futtatása során végrehajtható bájtkóddá alakulnak és bekerülnek az `eval()` függvénybe.
Hogyan néz ki a támadás
1. A könyvtárak nevei
A csomagok ugyanazokat a neveket viselik, mint a jól ismert kereskedelmi megoldások (pl. „React” vagy „Node.js”). Ez félrevezeti a fejlesztőket, akik tévesen biztonságosnak tartják őket és beépítik projektjeikbe.
2. “Olvasható” kód + rejtett szakaszok
A kódrész nagy része egy átlagos, könnyen olvasható programként tűnik. Azonban a belsejében blokkok találhatók, melyek „láthatatlan” karakterekkel vannak kitöltve. Kézi átnézéskor eltűnnek, de futtatáskor aktiválódnak.
3. Teszt‑repo-k
Ezeket a rosszindulatú csomagokat már nem csak GitHubon, hanem NPM-ben, Open VSX-ben és a Visual Studio Code piacterén is felfedezték.
Miért nehéz észrevenni őket
- A projektekben végzett változtatások normálisak: verziófrissítés, hibajavítások, refaktorálás.
- Szerintük a támadók nagy nyelvi modelleket használnak az AI-tól a kód hamisításának automatizálásához. Ez lehetővé teszi több mint 150 projekt gyors előkészítését manuális munka nélkül.
A karakterek története
Az Unicode‑karakterek, amelyek latin betűkre utalnak, évtizedekkel ezelőtt kerültek be a rendszerbe. 2024 óta a hackerek használják őket a chat‑botokhoz és a kódot tartalmazó repókba irányuló káros kérés rejtőztetésére. A hagyományos statikus elemző eszközök nem felfedezik őket; csak JavaScript futtatása közben kis dekódolók tárják fel a valódi bájtkódot.
Mit tegyenek a fejlesztők
1. Ellenőrizzék a függőségeket – mielőtt külső könyvtárakat csatlakoztatnak, alaposan vizsgálják meg forráskódjukat és változásait.
2. Automatikus ellenőrzések – használjanak lintet, „láthatatlan” karaktereket kereső szkennereket és dinamikus viselkedés‑elemző eszközöket.
3. Frissítsék – figyeljék, hogy a csomagok ne legyenek eltávolítva letöltés után; ez rejtett fenyegetést jelezhet.
Perspektívák
Ha az AI alkalmazása ebben a forgatókönyvben igazolódik, egyre nehezebb lesz ilyen támadások felfedezése és megszüntetése. Azonban a forráskód és függőségek tudatos ellenőrzése továbbra is a legjobb védelem az ilyen fenyegetések ellen.
Hozzászólások (0)
Oszd meg a véleményed — kérjük, légy udvarias és maradj a témánál.
Jelentkezz be a hozzászóláshoz