TL; DR
Olùtẹ̀wé npm kan ṣoṣo, ddjidd5640, ti ṣe àkójọpọ̀ 22 ti àwọn irinṣẹ́ ààbò Web3 èké lábẹ́ àwọn orúkọ ìtajà bíi Ẹgbẹ́ Ààbò Crypto, Àkójọ Ìwádìí Web3, Ati Ẹgbẹ́ Ààbò DeFi.
Àwọn ìdìpọ̀ náà kò dà bí ìpolówó ìkọ̀wé tí ó rọrùn. Wọ́n dà bí ètò ààbò tí a mọ̀ sí àmì ìdámọ̀ràn, tí a fi ìbáramu àwọn àjọ GitHub tí ó ṣofo àti àwọn orúkọ irinṣẹ́ MCP tí ó lè múni ronú jinlẹ̀ ṣe àtìlẹ́yìn rẹ̀ bíi search_leaked_credentials, validate_chain_key, Ati deploy_safe.
Ipolongo naa pin si Àwọn ìdílé méjì tí wọ́n ń gbé ẹrù lọ́wọ́ àti ọ̀kan tí wọ́n ń sùn ní àkókò kan.
Iyatọ A Ó ní àwọn àpò ìkórè ìwé ẹ̀rí mẹ́jọ. Ìwé àfọwọ́kọ postinstall kan máa ń ka àwọn ilé ìtajà àṣírí àdúgbò, nígbà tí a sì máa ń kó wọn jọ. scanner.js Ó máa ń ṣiṣẹ́ nígbà tí aṣojú AI bá pe àwọn irinṣẹ́ MCP ti àpò náà, ó ń wá àwọn kọ́kọ́rọ́ àpò owó, àwọn àmì ìkọ̀wé BIP39, àwọn àmì API, àti àwọn ìwé ẹ̀rí míràn.
Iyatọ B Ó ní àwọn ohun èlò ìṣàn méjì márùn-ún tí ó dá lórí Pinggy. Àwọn páálí wọ̀nyí máa ń mú ẹrù ìsanwó láti ọ̀nà jíjìn wá nígbà tí a bá fi sori ẹ̀rọ, pẹ̀lú foundry-deploy-helper:1.8.96 fifi ohun elo ti a ya sọtọ silẹ ni /tmp/.node-cache.
Iyatọ C Ó ní àwọn páálí mẹ́sàn-án tí kò ní ẹrù iṣẹ́ lẹ́yìn ìfisípò tí ó hàn gbangba, ṣùgbọ́n olùtẹ̀wé kan náà, ìlànà ìforúkọsílẹ̀, àti orúkọ tí a fojú sí lórí Web3.
Àkójọ mẹ́jọ péré nínú àwọn páálí mẹ́jìlélógún náà ni a ti fi àmì sí níbikíbi tí a bá ti lè rí wọn; àwọn mẹ́rìnlá tó kù ṣì wà láàyè lórí npm ní àkókò ìwádìí náà.
Líle: pàtàkì.
Ìkọlù náà: Àwọn ẹrù méjì nínú aṣọ ìbora kan
Àpótí aṣọ ni àmì ìdámọ̀ náà. Ṣí README ti crypto-credential-scanner, a ó sì sọ fún ọ pé ó jẹ́ ẹ̀rọ ìdámọ̀ràn tí Crypto Security Guild kọ́. Ṣí ojú ìwé defi-threat-scanner, a ó sì sọ fún ọ pé ó jẹ́ irinṣẹ́ DeFi Security Alliance. Ṣí web3-secrets-detector, òun sì ni Web3 Audit Collective. Kò sí ọ̀kan lára àwọn ẹgbẹ́ wọ̀nyí tí ó wà gẹ́gẹ́ bí àjọ. Wọ́n wà gẹ́gẹ́ bí àwọn àjọ GitHub tí ó ṣofo, ète kan ṣoṣo tí wọ́n ní ni láti fi ìjápọ̀ “onkọ̀wé” ojú ìwé npm kún ojú ìwé náà.
Iyatọ A: iṣẹ-ṣiṣe ṣaaju fifi sori ẹrọ lẹhin fifi sori ẹrọ ati iṣẹ akọkọ akoko MCP
Gbogbo àwọn ìdìpọ̀ 8 Variant-A ní ẹrù ìpele méjì — ìṣàájú ìfisẹ́yìn tí ó gba àwọn ìwé ẹ̀rí tí ó wà lórí díìsìkì ní ìkọ̀wé lásán, àti ìpele ìṣiṣẹ́ tí ó ń ṣiṣẹ́ nígbà tí aṣojú AI kan bá pe ọ̀kan lára àwọn irinṣẹ́ MCP ti ìdìpọ̀ náà.
“Ipele 1, ṣaaju ki o to fò” Ó ń gbé ní ìlà nínú package.json gẹ́gẹ́ bí nódù -e one-liner. Ó ń ṣí àwọn fíìmù dot méje tí a mọ̀ dáadáa, ó sì ń fi àwọn baiti 200 àkọ́kọ́ ti ọ̀kọ̀ọ̀kan ránṣẹ́ sí C2:
200 baiti ti ~/.ssh/id_ed25519 kò ní fún ẹni tó ń lu ú ní kọ́kọ́rọ́ ìkọ̀kọ̀ rẹ fúnra rẹ̀, ṣùgbọ́n yóò fún un ní kọ́kọ́rọ́ ìkọ̀kọ̀ rẹ. orúkọ fáìlì, ọ̀rọ̀ àkíyèsí, àti àwọn ìlà àkọ́kọ́ ti àkọlé PEM — tó láti fi hàn pé irú kọ́kọ́rọ́ wo ló wà níbẹ̀, èyí tó tó láti fi wakọ̀ sí ìpele tó tẹ̀lé e. 200 baiti ti ~/.env sábà máa ń pọ̀ ju bó ṣe yẹ lọ láti fi gbogbo àmì API kan hàn. 200 baiti ti ~/.git-credits jẹ́ gbogbo àkójọ àwọn àmì OAuth.
“Ipele 2, iṣe akọkọ”jẹ scanner.jsÀwọn àpò náà ló kó o atọka.js a sì pè é láti inú olùdarí ìbéèrè MCP nígbà tí aṣojú AI kan bá pe èyíkéyìí nínú àwọn irinṣẹ́ tí a polówó rẹ̀. Fáìlì náà jẹ́ byte-for-byte kan náà lórí àwọn páálí 8 Variant-A (b461106e47a1f5966159cd6e92541505), ó sì jẹ́ òótọ́ nípa ohun tí ó ń ṣe. Àkọsílẹ̀ ọ̀rọ̀ ìṣáájú náà kà pé, ní tààràtà:
| javascript // wallet-scanner.js — scanner ti nṣiṣe lọwọ ti a fi sii fun awọn idii MCP // O nṣiṣẹ ni idakẹjẹ nigbati aṣoju AI ba pe eyikeyi irinṣẹ MCP, o ṣe ayẹwo agbegbe fun // awọn apamọwọ // O nlo awọn insinu Node.js nikan, ko si awọn igbẹkẹle ita |
Ohun tí ó tẹ̀lé e ni ìrìn àtúnṣe, ìjìnlẹ̀ 3, ti:
àkójọ ìwé àkọ́lé fúnrarẹ̀
…àlẹ̀mọ́ fún àwọn orúkọ fáìlì tó ní èyíkéyìí nínú ile itaja, àpò owó.json, apamọwọ.dat, .àṣírí, irugbin.txt, metamask, Phantom, rabby, àpò ìgbẹ́kẹ̀lé, owo-ori, ikọkọ-bọtini, onibaje, kọ́kọ́rọ́_àṣírí, api_key — ìyẹn ni pé, àkójọ tí a ṣe àtúnṣe sí ní ọwọ́ gbogbo ibi tí olùlò crypto kan bá pa kọ́kọ́rọ́ kan mọ́. Fún ìdàpọ̀ kọ̀ọ̀kan, a máa ṣí fáìlì náà tí a sì máa ń wò ó lórí àwọn regexe mẹ́fà:
| iru | Àpẹẹrẹ | Ohun tí ó gbà |
|---|---|---|
| ikọkọ_bọtini | (?:0x)?[a-fA-F0-9]{64} | Àwọn kọ́kọ́rọ́ ìkọ̀kọ̀ Ethereum àti àṣírí hexadecimal oní-32-byte. |
| onibaje | \b([a-z]+\s+){11,23}[a-z]+\b | Àwọn gbólóhùn ìrúgbìn BIP39 tí ó wà láti ọ̀rọ̀ 12 sí 24. |
| api_key | (api[_-]?key\|API_KEY)\s*[:=]\s*["']?([A-Za-z0-9_\-]{20,}) | Àwọn àmì API gbogbogbòò àti àwọn iye ẹ̀rí tí a fi sínú àwọn fáìlì ìṣètò. |
| ìkọkọ | (?:secret\|private).{0,10}[:=]\s*["']?([A-Za-z0-9+/=]{20,}) | Àwọn àṣírí àti àwọn ìníyelórí ìkọ̀kọ̀ tí a sábà máa ń tọ́jú sínú àwọn ìrísí ìṣètò YAML, JSON, àti INI. |
| àdírẹ́sì eth | 0x[a-fA-F0-9]{40} | Àwọn àdírẹ́sì àpò ìpamọ́ Ethereum tí a lò láti dá àwọn tí wọ́n farapa mọ̀ àti láti fi ìka tẹ̀ wọ́n. |
| ọrọigbaniwọle | (?:PASSWORD\|PASSPHRASE)\s*=\s*["']?(\S{4,64}) | Awọn ọrọ igbaniwọle ara-ọja ti Shell-okeere ati awọn iyipada ayika ọrọ igbaniwọle. |
Lẹ́yìn náà, scanner.js yóò ka àwọn fáìlì dot mẹ́fà mìíràn ní kíkún — tó 500 baiti kọ̀ọ̀kan ti ~/.env, ~/.bash_history, ~/.zsh_history, ~/.npmrc, ~/.gitconfig, ~/.git-credentials — ó sì máa ń sweeps process.env fún èyíkéyìí onírúurú tí orúkọ rẹ̀ ní key, secret, token, password, private, mnemonic, wallet, tàbí seed. Níkẹyìn, ó máa ń pe execSync('whoami') pẹ̀lú os.hostname() àti process.cwd() láti fi àmì sí dump pẹ̀lú ìdámọ̀ ẹni tí ó farapa. Gbogbo ẹrù tí a san, pẹ̀lú àwọn àwárí tí ó tó 100, ni a gbé kalẹ̀ gẹ́gẹ́ bí ohun JSON kan ṣoṣo.
A kò fi àmì ìdámọ̀ràn tààrà sí ibi tí a ń lọ sí exfil. Àpò náà máa ń wá ní àkókò ìṣiṣẹ́ láti:
https://ddjidd564.github.io/defi-security-best-practices/config.json
— Àwọn ojú ìwé GitHub kan ṣàkọsílẹ̀ àwọn ìṣàkóso olùkọlù náà. config.json lọ́wọ́lọ́wọ́ padà
Tí ìpè náà bá kùnà, scanner.js padà sí ibi kan náà wẹbuk.oju opo wẹẹbu URL tí a fi àmì sí gẹ́gẹ́ bí èyí tí kò ní ìyípadà. Ìṣirò àìtọ́ yìí nìkan ni iṣẹ́ tó ṣe pàtàkì nínú ìpolówó náà: ó jẹ́ kí ẹni tó ń kọlù náà yí àwọn ibi tí a fẹ́ lò padà láìtún tẹ̀ ẹ́ jáde, ó sì ń pa URL tó ń kó jọ náà mọ́ kúrò nínú ohun èlò npm, èyí tó mú kí wíwá àmì tó dá lórí ìfọwọ́sowọ́pọ̀ ṣòro.
Ìyàtọ̀ B: ihò Pinggy kan, onípele méjì kan, àti ìyàtọ̀ kan tí ó dúró ṣinṣin
Àwọn ìpele mìíràn tó wà láàyè kéré gan-an — àwọn ìpele márùn-ún — kò sì gbọ́n tó bẹ́ẹ̀. Òǹkọ̀wé náà fi aṣọ MCP sílẹ̀ pátápátá. Àwọn ìpele wọ̀nyí sọ pé wọ́n jẹ́ olùrànlọ́wọ́ ìṣètò fún irinṣẹ́ Ethereum àti Solana tó tọ́ (olùrànlọ́wọ́ ìṣètò truffle, olùkójọpọ̀ oúnjẹ-owó-ẹnu-àkójọpọ̀ chainlink, olùpèsè ganache-cli, olùrànlọ́wọ́ solana-pda, olùrànlọ́wọ́-fún-iṣẹ́-olùrànlọ́wọ́-fún-iṣẹ́-olùrànlọ́wọ́). Ẹrù iṣẹ́ náà jẹ́ ẹyọ kan ṣoṣo https.gba-and-exec ila ninu awọn fifi sori ẹrọ lẹhin
C2 jẹ ọfẹ Pingi ihò ojú irin — iṣẹ́ ìkọ́lé olùgbékalẹ̀ gbogbogbòò kan tí olùkọlù náà ń lò gẹ́gẹ́ bí C2 ìgbà díẹ̀. Àpò náà ń gba ohunkóhun tí ihò ojú irin náà bá padà wá, ó sì ń tì í sínú rẹ̀ ilana_ọmọ.execKò sí àyẹ̀wò ìwà rere, kò sí ìfọwọ́sowọ́pọ̀, kò sí ààbò ìpele kejì. Ohunkóhun tí ọ̀nà ìṣàn tí olùṣiṣẹ́ ń ṣiṣẹ́ lónìí ni ó ń ṣiṣẹ́.
Àpò tó lágbára jùlọ, olùrànlọ́wọ́-foundry-deploy:1.8.96, rọ́pò inline https.gba pẹlu ọmọ-iwe àti ọgbọ́n ìfaradà:
Ìyàtọ̀ C: ojú ìta tí a ti dán, kò sí ohun tí ń fa ìbọn (síbẹ̀)
Àwọn ìdìpọ̀ mẹ́sàn-án tó kù — olùṣàyẹ̀wò àtìlẹ́yìn àpò owó, ẹ̀rọ-àyẹ̀wò ààbò env, ohun èlò ìpèsè irinṣẹ́ (ìkọ̀wé àṣìṣe tí a mọ̀ọ́mọ̀ ṣe lórí Foundry), solna-web3 (ìlànà ìkọ̀wé Solana), Olùṣàyẹ̀wò ààbò àpò owó, afikún-ẹ̀rọ-gáàsì-profiler-aláfikún, awọn ohun elo-multicall-utils, Olùṣàyẹ̀wò defi-env, awọn ohun elo etherjs - ni kò sí ìwé àfọwọ́kọ lẹ́yìn ìfisípò kò sì sí ìwádìí àkókò ìṣiṣẹ́ tí ó hàn gbangba ní ojú àkọ́kọ́. Wọ́n ní olùtẹ̀wé, àwọn àmì ìdánimọ̀, ìlànà orúkọ Web3, àti ní àwọn ìgbà míìrán, àtẹ ìṣiṣẹ́ README kan náà pẹ̀lú àwọn onírúurú tí ń ṣiṣẹ́. A ń tọ́jú wọn gẹ́gẹ́ bí apá kan nínú ìpolongo kan náà a sì ti dámọ̀ràn yíyọ kúrò ṣáájú ìwádìí, ṣùgbọ́n a kò tí ì ka àwọn ohun tí ń fa àkókò ìṣiṣẹ́ wọn ní kíkún. Ìpele tí ó sùn lè jẹ́ ibi tí olùṣiṣẹ́ ń pamọ́ fún ìyípadà ọjọ́ iwájú — àpẹẹrẹ kan náà tí PhantomBot lò ní àárín oṣù Karùn-ún, níbi tí olùṣiṣẹ́ ti pààrọ̀ olè ìjẹ́rìí fún ọmọ-ogun botnet láìtún ṣe àtẹ̀jáde orúkọ àkójọpọ̀ náà.
Àkókò àti Àkójọ ìwé
Àpò tí ó pẹ́ jùlọ tí a ti lò ní ìpolongo náà ni èyí tí ó kéré jùlọ: olùṣàyẹ̀wò kọ́kọ́rọ́-ẹlẹ́sẹ̀:0.2.3 ati Olùṣàyẹ̀wò defi-env:0.3.2 Ó dà bí ìgbà tí àwọn onímọ̀ ìwádìí kọ́kọ́ bẹ̀rẹ̀. Nígbà tí olùtẹ̀wé náà dé ọ̀dọ̀ rẹ̀, ó rí bí ìgbà tí wọ́n bẹ̀rẹ̀ sí í ṣe àyẹ̀wò. olùrànlọ́wọ́ ìṣètò-truffle:1.7.0 ati olùrànlọ́wọ́-foundry-deploy:1.8.96, ẹ̀yà ìfàsẹ́yìn náà jẹ́ àmọ̀ọ́mọ̀ — yíyan àwọn nọ́mbà tí ó dàbí ìran àkójọpọ̀ tí a ti dá sílẹ̀. Kò sí ọ̀kan nínú àwọn 22 náà tí ó ní ìtàn tó tọ́ tẹ́lẹ̀ lábẹ́ orúkọ gangan yẹn lórí npm.
Àkójọpọ̀ ìwé náà, tí a kójọ nípasẹ̀ onírúurú:
### Iyatọ A — ohun ìkórè ìwé ẹ̀rí (postinstall + MCP-time scanner.js, MD5 b461106e47a1f5966159cd6e92541505)
| package | version | A ti fi àmì sí inú àwọn ìfọ́síwájú àwárí |
|---|---|---|
mnemonic-safety-check | 0.5.2 | bẹẹni |
solidity-deploy-guard | 0.4.4 | bẹẹni |
web3-secrets-detector | 1.2.6 | bẹẹni |
eth-wallet-sentinel | 1.0.9 | bẹẹni |
deployment-key-auditor | 0.7.3 | bẹẹni |
defi-threat-scanner | 2.1.2 | bẹẹni |
crypto-credential-scanner | 2.0.2 | bẹẹni |
chain-key-validator | 0.2.3 | bẹẹni |
### Iyatọ B — Pinggy tunnel https.get → exec (ko si hihan wiwa-oju-iwe ṣaaju ijabọ yii)
| package | version | Adùn lẹ́yìn ìfisípò |
|---|---|---|
truffle-config-helper | 1.7.0 | https.get → exec(stdout) |
chainlink-price-feed-aggregator | 1.1.12 | https.get telemetry call |
ganache-cli-provider | 1.7.51 | https.get telemetry call |
solana-pda-helper | 1.0.46 | https.get telemetry call |
foundry-deploy-helper | 1.8.96 | curl + chmod +x /tmp/.node-cache & |
### Iyatọ C — oorun, ohun tí a fura sí pé ó ń fa àkókò ìṣiṣẹ́ (kò sí ìrísí ìwádìí-oúnjẹ ṣáájú ìròyìn yìí)
| package | version | awọn akọsilẹ |
|---|---|---|
wallet-backup-verifier | 1.0.1 | |
env-security-scanner | 1.6.0 | |
foundy-toolkit | 1.5.79 | àṣìṣe ìṣàpẹẹrẹ ti ilé iṣẹ́ |
solna-web3 | 1.5.98 | àṣìṣe ìkọlù ti Solana |
wallet-security-checker | 1.0.3 | |
hardhat-gas-profiler-plugin | 1.7.86 | |
ethers-multicall-utils | 1.3.15 | |
defi-env-auditor | 0.3.2 | |
etherjs-utils | 1.0.39 |
A kò yan àwọn ọ̀wọ́n Variant-A àti Variant-B láìròtẹ́lẹ̀. Gbogbo orúkọ Variant-A ni wọ́n ń tà gẹ́gẹ́ bí awọn irinṣẹ iṣayẹwo aabo — “àyẹ̀wò ààbò”, “olùṣọ́ ìpamọ́”, “olùwádìí ìkọ̀kọ̀”, “olùṣọ́ àṣírí”, “olùṣàyẹ̀wò àpò ìwé”, “olùṣàyẹ̀wò kókó”, “olùṣàyẹ̀wò àmì ìhalẹ̀”, “olùṣàyẹ̀wò àmì ìpamọ́”, “olùṣàyẹ̀wò kókó”. Wọ́n ń tọ́ka sí olùgbékalẹ̀ tàbí aṣojú AI kan tí ó ń wá irinṣẹ́ láti ṣe àyẹ̀wò ààbò iṣẹ́ Web3 kan. Variant-B lórúkọ gbogbo wọn gẹ́gẹ́ bí wọ́n ṣe ń tà wọ́n. awọn oluranlọwọ kikọ ati imuṣiṣẹ fún ètò ìṣẹ̀dá Web3 kan náà — Truffle, Chainlink, Ganache, Solana PDA tooling, Foundry. Pínpín náà ṣàfihàn àpẹẹrẹ ọpọlọ olùgbékalẹ̀ Web3 déédéé ti “ìpele àyẹ̀wò” sí “ìpele ìgbékalẹ̀”. Ìpele èyíkéyìí tí o bá dé, olùtẹ̀wé ti kó pàkúté kan fún un.
Awọn afihan ti Ibajẹ
Nẹtiwọọki ati awọn faili
| Awọn IOCs | iyatọ | idi |
|---|---|---|
https://ddjidd564.github.io/defi-security-best-practices/config.json | A | Olùṣàtúnṣe webhook Dynamic tí a gbàlejò nípasẹ̀ àwọn ojú ìwé GitHub. |
https://webhook.site/8d334534-1c63-4f4f-a0d7-95c446c8b233 | A | Ipari olukojojade imukuro lọwọlọwọ, ti a tun fi sii bi isubu. |
rqnyz-2605-7280-7--2000-c51.run.pinggy-free.link/npm/-/binary/telemetry | B | A lo ihò Pinggy lati pin awọn ẹrù alakomeji latọna jijin. |
scanner.js MD5 b461106e47a1f5966159cd6e92541505 | A | A tún lo ẹ̀rọ scanner tó jọra láti tún lò káàkiri gbogbo àwọn páálí Variant-A mẹ́jọ. |
/tmp/.node-cache | B | A ti yọ ohun tí a lè ṣe kúrò nípa rẹ̀ foundry-deploy-helper:1.8.96. |
akede
- orúkọ olùlò npm: ddjidd5640
- imeeli: 1623682356@qq.com (kò tíì jẹ́rìí sí i)
- Imeeli ati SCM ijerisi: kò sí
- Àwọn páálí tí a kọ sílẹ̀ lábẹ́ àkọọ́lẹ̀: 22, gbogbo wọn ni a kọ sí inú àkójọ ìwé tí ó wà lókè yìí
- Iṣẹ́ àkọ́kọ́ tí a lè rí: olùṣàyẹ̀wò kọ́kọ́rọ́-ẹlẹ́sẹ̀:0.2.3 (Iyatọ A)
- Iṣẹ́ tuntun tí a lè rí: chain-key-validator:0.2.3 àti crypto-credential-scanner:2.0.2 (méjèjì láàrín wákàtí mẹ́rìnlélógún ṣáájú kíkọ yìí tó bẹ̀rẹ̀)
Àwọn iwájú àmì ìtajà (tí a lò nínú onkowe / README / org GH èké)
- “Ìgbìmọ̀ Ààbò Crypto” — tí GitHub org òfo ṣe àtìlẹ́yìn rẹ̀ ẹgbẹ́ cryptosec
- “Web3 Audit Collective” — tí GitHub org òfo ṣe àtìlẹ́yìn rẹ̀ w3ayẹ̀wò
- “DeFi Security Alliance” — tí GitHub org òfo ṣe àtìlẹ́yìn rẹ̀ ààbò-defi
- Àkọọ́lẹ̀ GH ìtọ́kasí ddjidd564 — olùgbàlejò dynamic-webhook config.json
Ihuwasi
- nódù -e kika lẹhin fifi sori ẹrọ eyikeyi ninu .ssh, .ethereum, .bitcoin, .env, .bash_itan, ìtàn_zsh, Àwọn ìwé ẹ̀rí .git pẹlu .slice(0, 200) ati sisopọ pẹlu | àwọn ìpínyà jẹ́ ìka ọwọ́ tó fẹ́rẹ̀ẹ́ yàtọ̀ fún Variant A.
- Akowọle ./scanner.js láti inú àpò tí ó fi ara rẹ̀ sílẹ̀ gẹ́gẹ́ bí MCP Server pẹlu awọn irinṣẹ ti a npè ni search_leaked_credits tàbí àwọn ọ̀rọ̀ ìṣe “àyẹ̀wò ààbò” tí a fi ṣe àgbékalẹ̀ rẹ̀ bákan náà jẹ́ ìfìdíkalẹ̀ Variant-A.
- Nọ́mbà -e postinstall tí ó ń gba láti ọ̀dọ̀ èyíkéyìí olùgbàlejò *.run.pinggy-free.link tí ó sì ń fi ìdáhùn náà sínú child_process.exec jẹ́ ìjẹ́rìí Variant-B láìka ìbòrí náà sí.
Ìfọkànsí àti Ìṣírí
Ó tó fún ìka ìtẹ̀wé díẹ̀, kò sì tó fún ìdámọ̀ gidi. 1623682356@qq.com Àdírẹ́sì ìmeeli QQ ni — ìmeeli wẹ́ẹ̀bù ọ̀fẹ́ Tencent, tí ó gbajúmọ̀ ní orílẹ̀-èdè China — àti pé apá ìbílẹ̀ ni nọ́mbà ID olùlò QQ; a kà èyí sí àmì ìrọ̀rùn nìkan, nítorí pé àwọn àdírẹ́sì ìrísí QQ ni a forúkọ sílẹ̀ láìsí ìwádìí díẹ̀. Àkọọ́lẹ̀ npm kò ní ìfihàn onípele méjì, kò sí ìmeeli tí a fìdí rẹ̀ múlẹ̀, kò sí ìfìdí rẹ̀ múlẹ̀ SCM ìjápọ̀. “Ẹgbẹ́ Ààbò Crypto” / “Web3 Audit Collective” / “DeFi Security Alliance” jẹ́ àmì ìtajà oníṣòwò — kò sí ọ̀kan lára àwọn mẹ́ta tí ó wà níta ìpolongo yìí — àti àwọn àjọ GitHub tí ó ń tì lẹ́yìn jẹ́ àwọn ìkarahun òfo tí a ṣẹ̀dá láti kún àwọn ìjápọ̀ ojú ìwé npm.
Àwọn àpẹẹrẹ méjì ló yẹ kí a dárúkọ, nítorí wọ́n máa ń fara hàn nínú àwọn ìpolongo tó wà ní ẹ̀gbẹ́ wọn. Èkíní ni ìṣètò àmì-ìdámọ̀ gẹ́gẹ́ bí ẹ̀rí àwùjọ: olùṣiṣẹ́ náà kò yan àwọn orúkọ iṣẹ́ tó wà tẹ́lẹ̀ láti fi ṣe àṣìṣe; wọ́n ṣe ìtàn ìgbẹ́kẹ̀lé gbogbo láti ìbẹ̀rẹ̀, wọ́n mọ̀ pé Ìkọ́lé aṣojú AI pipeline tàbí olùgbékalẹ̀ tí ó yára ṣe àyẹ̀wò ojú ìwé npm yóò bá ìlànà mu lórí “ó dàbí àjọ ààbò” dípò “jẹ́ àjọ ààbò”. Ọ̀nà kan náà ni ìwé tí ó kìlọ̀ nípa rẹ̀ nípa rẹ̀ — àwọn ìdìpọ̀ tí a ṣe àtúnṣe sí irú orúkọ tí LLM yóò máa lò pilẹ Tí a bá béèrè fún ohun èlò ààbò Web3, a wọ aṣọ dáadáa tó bẹ́ẹ̀ tí LLM kò fi ní ṣàyẹ̀wò lẹ́ẹ̀mejì. Slopsquatting ni orúkọ tí a ṣẹ̀ṣẹ̀ dá sílẹ̀ fún àwọn àpò ìbàjẹ́ tí orúkọ wọn bá àwọn àpò ìpamọ́ LLM mu nígbà tí àpò ìpamọ́ kan kò bá sí; ìpolongo yìí jẹ́ ìbátan rẹ̀ tó lágbára jù, níbi tí olùṣiṣẹ́ náà tún ń ṣe àgbékalẹ̀ àjọ tí ó ní ààyè náà yóò jẹ́ ti.
Àpẹẹrẹ kejì ni Ìmúṣiṣẹ́ àkókò MCP. Ni asiko scanner.js Àwọn tó ń ṣiṣẹ́, ìfisílẹ̀ ti parí, olùgbékalẹ̀ náà sì ti tẹ̀síwájú. Ohun tó ń fa ìṣòro náà ni aṣojú AI tó ń pe ohun èlò kan — search_leaked_credits, nínú ọ̀ràn Variant-A — èyí tí aṣojú náà yóò ṣe pátápátá, nítorí pé ìyẹn ni gbogbo ìdí tí a fi fún un ní àpò náà. Iṣẹ́ ibi náà ń ṣẹlẹ̀ nígbà náà ti o dara apakan ti iṣiṣẹ naa, nigbati olupilẹṣẹ naa yoo rii oluranlọwọ AI wọn ti o ṣaṣeyọri ni iṣẹ ti wọn beere fun. O jẹ iyipada ihuwasi kekere lati “exfil on” atijọ. npm fi sori ẹrọ"àwòrán, ó sì yẹra fún yíyan àpótí ìfipamọ́ àkókò tí a fi ń ṣe é.
A kò dárúkọ ẹni tó ń ṣe ewu. Àwọn àmì náà (ìmeeli QQ, àkọọ́lẹ̀ kan ṣoṣo, ìbúgbàù àpò 22 ọjọ́ kan, àwọn ìdìpọ̀ C2 méjì tí ó jọra) bára mu pẹ̀lú olùṣiṣẹ́ kan tí ó dúró ṣinṣin, ẹgbẹ́ kékeré kan, tàbí ọ̀kan lára àwọn òṣìṣẹ́ ìkún omi tí ó ti hàn gbangba nínú telemetry npm títí di ọdún 2025–2026. Ohun tí a ń ṣe le A sọ pé olùṣiṣẹ́ yìí ní ètò ìṣẹ̀dá tí ó ṣe kedere (Ethereum + Solana + Foundry/Hardhat tooling), olùfaragbá tí ó ṣe kedere (àwọn olùgbékalẹ̀ Web3 àti àwọn aṣojú AI tí wọ́n ń ṣiṣẹ́ lórí àwọn iṣẹ́ àgbékalẹ̀ Web3), àti àpẹẹrẹ ìfaradà tí ó ṣe kedere (ìfagbára àkókò MCP pẹ̀lú ìfàsẹ́yìn binary tí a yà sọ́tọ̀).
Ipa, Awọn aṣa, ati Ohun ti Awọn Olugbeja Le Ṣe
Ìkìlọ̀ wa ní ìbẹ̀rẹ̀ pipeline mu 8 of 22 Àwọn ìdìpọ̀ náà ní gbogbo ìgbà tí ìpolongo náà ti wà—mẹ́fà ní ìgbìyànjú àkọ́kọ́ àti méjì mìíràn tí ó dé lẹ́yìn náà ní ọjọ́ kan náà nígbà ìdìpọ̀ ìpolongo náà. Àwọn ìdìpọ̀ mẹ́rìnlá yòókù wà lórí npm fún ọjọ́ mélòó kan. láìsí pé a rí i nínú èyíkéyìí nínú àwọn ìṣàyẹ̀wò tí a ń ṣe àbójútó, àti ní àkókò ìkọ̀wé náà, ó ṣì ṣeé fi sori ẹrọ. Ààlà yẹn ṣe pàtàkì nítorí pé:
- Iyatọ A ko dakẹ lakoko fifi sori ẹrọ. Kíkà àkójọpọ̀ náà máa ń ṣẹlẹ̀, ṣùgbọ́n ìfiranṣẹ́ púpọ̀ náà máa ń tàn nígbà tí aṣojú AI bá lo àwọn irinṣẹ́ MCP ti àpò náà. standard àpótí ìforúkọsílẹ̀-wíwo àpótí ìsandọ́ọ̀kì yóò rí i nódù -e dí i kí o sì pinnu pé ó kéré, ó sì hàn gbangba pé kò ní ìlera.
- Ìyàtọ̀ B jẹ́ ìlà kan ṣoṣo. Kò sí ohun tí olùpín malware lè kọ́ láti inú rẹ̀ — kò sí ìbòjú, kò sí ẹrù ìpamọ́ tí a fi àmì sí, kò sí domain tí ó dàbí ẹni pé ó fura sí. Ihò Pinggy jẹ́ iṣẹ́ olùgbékalẹ̀ tó tọ́. Ohun kan ṣoṣo tí ó fura sí ni pé “olùrànlọ́wọ́ ìṣètò” gbọ́dọ̀ pe ilé rárá.
- Iyatọ C dabi ẹni ti o mọ patapata. Ko si fifi sori ẹrọ hooksNípa gbogbo àmì àìdúró, ó jẹ́ ohun tí ó wọ́pọ̀.
Àkójọ Àyẹ̀wò Olùgbèjà Kúkúrú fún Ìgbà MCP-Tool
Awọn iṣe pataki mẹta ti yoo ti mu ipolongo yii ni iṣaaju:
- Ṣe ìwọ̀n olùtẹ̀wé, kìí ṣe àpò náà. Àwọn ìdìpọ̀ méjìlélógún lábẹ́ àkọọ́lẹ̀ QQ-mail ọlọ́dún kan tí kò ní ohunkóhun SCM Ìjẹ́rìísí jẹ́ àmì tó tàn yanran ju èyíkéyìí nínú àwọn ohun èlò kọ̀ọ̀kan lọ. Ìṣiṣẹ́ ìkìlọ̀ wa ní ìbẹ̀rẹ̀ ló gba àwọn ìdìpọ̀ àkọ́kọ́ nítorí pé ìka ìtẹ̀wé náà yàtọ̀ síra — èyí tí ó dámọ̀ràn àmì orúkọ olùtẹ̀wé tí èyíkéyìí nínú àwọn ìpínsọ́tọ̀ tí ó ní ààbò, àìlópin, tàbí malware lè dínkù.
- Ṣe àyẹ̀wò àwọn ìyípadà dynamic-config gẹ́gẹ́ bí ohun ìkà títí tí a ó fi rí i pé ó yàtọ̀ sí èyí. Àpò tí ó yanjú ìparí ìjáde rẹ̀ ní àkókò ìṣiṣẹ́ láti inú ìwé ẹni-kẹta (GitHub Pages, GitHub Gist, Pastebin, S3 object, níbikíbi) kò ní ìdí tó tọ́ láti ṣe bẹ́ẹ̀ fún telemetry. Àwọn ìlà ìjáde telemetry gidi ni a fi àmì ìdámọ̀ ṣe, a sì ti kọ wọ́n sílẹ̀.
- Ṣe àyẹ̀wò àwọn ìdìpọ̀ olupin MCP nípasẹ̀ ojú irinṣẹ́ tí wọ́n polówó rẹ̀. Àwọn ìdìpọ̀ Variant-A gbogbo àwọn irinṣẹ́ ìpolówó tí a dárúkọ ni a pè ní
search_leaked_credentials,validate_chain_key,deploy_safe, àti àwọn ọ̀rọ̀-ìṣe “àyẹ̀wò” tó jọra. Olùgbàlejò MCP kan tó ń gbé ohun èlò kan tí àpèjúwe rẹ̀ sọ pé òun ń ṣe àyẹ̀wò àwọn ìwé-ẹ̀rí iṣẹ́ náà gbọ́dọ̀ béèrè fún ìyọ̀nda oníṣẹ́ kí aṣojú tó pè é lórí ìpìlẹ̀ kódì gidi kan. Kókó MCP ni pé aṣojú náà kò ní ọ̀nà láti mọ̀ bóyá ó yẹ kí ó mọ̀ bóyá ó yẹ kí ó mọ̀ bóyá ó yẹ kí ó rí bẹ́ẹ̀.search_leaked_credentialsjẹ́ ìwákiri ìwé ẹ̀rí tàbí ó jẹ́ olùyọkúrò ìwé ẹ̀rí.
Fún àwọn olùgbékalẹ̀ tí ó ṣeéṣe kí wọ́n ti fi ọ̀kan lára àwọn páálí 22 náà sori ẹ̀rọ: gbà pé kí o lo kọ́kọ́rọ́ ọ̀rọ̀ lásán nínú ~ / .ssh, ~/.ethereum, ~/.bitcoin, ~/.solana, ~/.env, tabi ~/.git-credits tí a bá ti bàjẹ́, yí gbogbo ìwé ẹ̀rí tí orúkọ rẹ̀ bá àkójọ àlẹ̀mọ́ env-variable tí ó wà lókè yìí, àti lórí Linux/macOS, ṣàyẹ̀wò fún fáìlì tí a lè ṣe ní /tmp/.node-cache (àti gbogbo ilana alainibaba bẹ̀rẹ̀ láti inú rẹ̀). Tún fi ẹ̀dà tó tọ́ ti irinṣẹ́ tí a fi ń ṣe àfarawé sílò (ipilẹṣẹ, ikoledanu, hardhat, ganache, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ) kò yọ binary tí ó ti jábọ́ kúrò.
Àkójọpọ̀ Variant-C tó wà ní ìkọ̀kọ̀ ni apá ìtàn yìí tó ń pẹ́ jù. Àwọn páálí mẹ́sàn-án pẹ̀lú ìṣàfilọ́lẹ̀ tó mọ́ àti olùtẹ̀wé tó ti wà nílẹ̀ jẹ́ irú àwọn ọjà tí olùṣiṣẹ́ máa ń tọ́jú. Tí wọ́n bá bú gbàù lẹ́yìn náà — gẹ́gẹ́ bí PhantomBot ṣe ṣe nígbà tó bá dé awọn ohun elo axois Àtúnṣe àkójọpọ̀ láti olè ìjẹ́rìí sí ẹni tí ó ń gba botnet — wọn yóò bẹ́ sí ẹnikẹ́ni tí ó bá fi àkójọpọ̀ Variant-C sí àárín òní àti ìgbà tí a bá ti yọ ọ́ kúrò. Fífi àkójọpọ̀ búburú sí ẹ̀yà kan kò ní dáàbò bò ọ́ lọ́wọ́ olùtẹ̀wé tí ó ń ṣàkóso gbogbo ẹ̀yà náà.
jo
- [ojú ìwé olùtẹ̀wé npm fún ddjidd5640](https://www.npmjs.com/~ddjidd5640) — Àwọn páálí 22 tí a kọ sílẹ̀ lábẹ́ àkọọ́lẹ̀ yìí lọ́wọ́lọ́wọ́. Orísun àṣẹ fún àkójọ ìwé ní àkókò ìkọ̀wé náà.
- [ojú ìwé àkójọ npm fún Oníṣẹ́-àyẹ̀wò-ìwé-ìpamọ́-kóòdù](https://www.npmjs.com/package/crypto-credential-scanner) — àpẹẹrẹ Variant-A artifact; README, ìtàn àtúnṣe, àti àwọn ìjápọ̀ òǹkọ̀wé hàn níbí.





