Skadlig kod i Ethereum-utvecklarverktyg
En hacker har infogat en skadlig pull request i en kodutvidgning för Ethereum-utvecklare, enligt forskare vid cybersäkerhetsföretaget ReversingLabs. Den skadliga koden infördes i en uppdatering för ETHcode, en öppen källkodsuppsättning av verktyg som används av Ethereum-utvecklare för att bygga och distribuera EVM-kompatibla smarta kontrakt och dapps.
Detaljer om den skadliga koden
En blogg av ReversingLabs avslöjar att två skadliga kodrader var begravda i en GitHub-pull request som bestod av 43 commits och 4 000 uppdaterade rader. Pull requesten, som främst handlade om att lägga till ett nytt testningsramverk och nya funktioner, lades till på GitHub den 17 juni av användaren Airez299, som saknade tidigare historik.
Pull requesten analyserades av GitHubs AI-granskare och av medlemmar i 7finney, gruppen som ansvarar för att skapa ETHcode. Endast mindre ändringar begärdes, och varken 7finney eller AI-skannern upptäckte något misstänkt. Airez299 lyckades dölja den första skadliga kodraden genom att ge den ett namn som liknade en befintlig fil, samtidigt som han fördunklade och blandade koden, vilket gjorde den svårare att läsa.
Den andra kodraden aktiverar den första, vilket enligt ReversingLabs syftar till att skapa en automatiserad funktion (en Powershell) som laddar ner och kör ett batchscript från en offentlig filhostingstjänst. ReversingLabs undersöker fortfarande vad exakt detta script gör, men de arbetar under antagandet att det ”är avsett att stjäla kryptotillgångar” som lagras på offrets maskin eller, alternativt, kompromettera de Ethereum-kontrakt som utvecklas av användare av utvidgningen.
Risker och rekommendationer
I en intervju med Decrypt rapporterade bloggens författare Petar Kirhmajer att ReversingLabs inte har några indikationer eller bevis på att den skadliga koden faktiskt har använts för att stjäla tokens eller data. Kirhmajer skriver dock i bloggen att ETHcode har 6 000 installationer, och att pull requesten kan ha spridit sig ”till tusentals utvecklares system.”
Detta är potentiellt oroande, och vissa utvecklare föreslår att denna typ av utnyttjande händer ofta inom kryptovaluta, med tanke på att branschen är starkt beroende av öppen källkodsutveckling. Enligt Ethereum-utvecklaren och medgrundaren av NUMBER GROUP, Zak Cole, installerar många utvecklare öppna källkods-paket utan att kontrollera dem ordentligt. ”Det är alldeles för lätt för någon att smyga in något skadligt,” sa han till Decrypt.
Cole bekräftar att, även om denna typ av problem inte är särskilt ny, ”den adresserbara ytan för attack sprider sig” eftersom fler och fler utvecklare använder öppna källkodsverktyg. Han föreslår att det förmodligen finns mer skadlig kod som lurar runt än många utvecklare kanske inser.
Åtgärder för att skydda sig
ReversingLabs rekommenderar att utvecklare verifierar identiteten och historiken hos bidragsgivare innan de laddar ner något. Företaget föreslog också att utvecklare granskar filer som package.json för att utvärdera nya beroenden. Cole rekommenderade också att använda verktyg som skannar efter konstigt beteende eller skumma underhållare, samtidigt som man ser upp för eventuella paket som plötsligt kan byta ägare eller uppdateras utan förvarning.
”Kör inte heller signeringsverktyg eller plånböcker på samma maskin som du använder för att bygga saker,” avslutade han. ”Anta bara att inget är säkert om du inte har kontrollerat det eller sandlådat det.”