ការវាយប្រហារ Typosquatting npm របស់ DevTap

ការវាយប្រហារ DevTap npm Typosquatting៖ កញ្ចប់ព្យាបាទចំនួនប្រាំមួយកំណត់គោលដៅលើស្ថានីយការងាររបស់អ្នកអភិវឌ្ឍន៍

​មាតិកា

ប្រកាសដែលត្រូវតែអាន

ប្រកាសថ្មីៗបំផុតដែលគួរឱ្យចាប់អារម្មណ៍

TL; កុង

ចន្លោះថ្ងៃទី 1 ខែមេសា ដល់ថ្ងៃទី 3 ខែឧសភា ឆ្នាំ 2026 អ្នកបោះពុម្ពផ្សាយ npm តែមួយ user0001បានចុះឈ្មោះជាមួយអាសយដ្ឋាន Gmail ដែលមិនទាន់បានផ្ទៀងផ្ទាត់ tanvisoul9@gmail.comបាន​រុញ​កញ្ចប់​ចំនួន​ប្រាំមួយ​ដោយ​ស្ងាត់ៗ​ដោយ​ចេតនា​ដោយ​ឈ្មោះ​ដែល​ស្តាប់​ទៅ​ដូច​ជា​ហេដ្ឋារចនាសម្ព័ន្ធ​ដែល​មិន​សូវ​សំខាន់៖ centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtimeនិង node-env-resolve.

កំណែចុងក្រោយបំផុតពីរនៃ node-env-resolve, 1.0.7 និង 1.0.8 ត្រូវបានសម្គាល់ដោយប្រព័ន្ធព្រមានមុនគេអំពីមេរោគ (MEW) របស់ Xygeni នៅថ្ងៃទី 2 ខែឧសភា ហើយត្រូវបានបញ្ជាក់ថាជាមេរោគព្យាបាទនៅថ្ងៃទី 3 ខែឧសភា។

ការផ្សាំនេះគឺមិនធម្មតាសម្រាប់អ្វីដែលវាមិនមែន៖ មិនមានបូត Telegram គ្មានការហៅត្រឡប់ OAST ទេ obfuscationហើយគ្មានការប៉ុនប៉ងទាញយកព័ត៌មានសម្គាល់ AWS នៅពេលដំឡើងនោះទេ។ ផ្ទុយទៅវិញ postinstall.js បង្កើតធាតុរក្សាការចាប់ផ្ដើមប្រព័ន្ធវីនដូ ដោយប្រើគ្រាប់ចុច HKCU Run ដែលបើកដំណើរការ wscript.exe ប្រឆាំងនឹង VBS stub។ បន្ទាប់មកវាបង្កើតភ្នាក់ងារ Node.js ដែលផ្ដាច់ចេញ ដែលភ្ជាប់ម៉ូឌុលសម្រាប់ការចាប់យកមីក្រូហ្វូន ការលួចប្រវត្តិកម្មវិធីរុករក ការថតអេក្រង់ និងការក្លែងធ្វើកណ្ដុរ/ក្តារចុច។

យើងកំពុងហៅចង្កោមនេះ DevTapបន្ទាប់ពីឧបករណ៍នេះ វាទុកឲ្យដំណើរការលើម៉ាស៊ីនរបស់អ្នកអភិវឌ្ឍន៍។

កញ្ចប់ទាំងប្រាំមួយត្រូវបានផ្សាយផ្ទាល់នៅលើ npm នៅពេលសរសេរនេះ។ យើងបានដាក់ស្នើពួកវាទៅកាន់ឆានែលរំលោភបំពានរបស់បញ្ជីឈ្មោះ។ អ្នកការពារគួរតែទាញយកការដំឡើងណាមួយពីអ្នកបោះពុម្ពផ្សាយដោយរង់ចាំការដកចេញ។

ចង្កោម៖ កញ្ចប់ចំនួនប្រាំមួយ អ្នកបោះពុម្ពផ្សាយម្នាក់

គណនីអ្នកបោះពុម្ពផ្សាយ user0001 មិនទាន់បានផ្ទៀងផ្ទាត់។ វាមិនមាន SCM ការផ្ទៀងផ្ទាត់ គ្មានអ៊ីមែលដែលចងភ្ជាប់នឹងដែន និងគ្មានប្រវត្តិពីមុន។ អាសយដ្ឋាន Gmail tanvisoul9 មិនលេចឡើងនៅក្នុងកំណត់ត្រាអ្នកបោះពុម្ពផ្សាយ npm ផ្សេងទៀតដែលយើងអាចរកបានទេ។

កញ្ចប់ទាំងប្រាំមួយរាយបញ្ជីអ្នកថែទាំដូចគ្នា ត្រូវបានបោះពុម្ពផ្សាយពីគណនីដូចគ្នា និងចែករំលែកដូចគ្នា។ package.json គំរូ​គំរូ។ មិនមាន repository, ទេ homepage, និងទេ description វែងជាងបន្ទាត់តែមួយ។

យុទ្ធសាស្ត្រដាក់ឈ្មោះគឺជាផ្នែកគួរឱ្យចាប់អារម្មណ៍។ មិនដូចយុទ្ធនាការ dependency-confusion បែបបុរាណ ឬ typosquat ទេ គ្មានឈ្មោះណាមួយក្នុងចំណោមឈ្មោះទាំងនេះផ្តោតលើបណ្ណាល័យខាងលើជាក់លាក់ណាមួយឡើយ។ ផ្ទុយទៅវិញ ពួកវាត្រូវបានក្រិតតាមខ្នាតដើម្បីបាត់ទៅជាឈ្មោះពិត។ package.json or npm ls លទ្ធផល។

កញ្ចប់សមាជិកបោះពុម្ពផ្សាយលើកដំបូងជំនាន់​ចុងក្រោយកំណែតួនាទីនៅក្នុងចង្កោម
សេនត្រាឡូហ្គើរ2026-04-01 12:46 UTC1.0.9១០, ពី ១.០.០ ដល់ ១.០.៩គម្រប "ឧបករណ៍ប្រើប្រាស់កំណត់ហេតុ" របស់ Cluster; ការបោះពុម្ពផ្សាយដំបូងបំផុត
dom-utils-lite2026-04-14 07:36 UTC1.0.33គម្រប DOM-helper ទូទៅ
node-fetch-lite2026-04-19 10:22 UTC1.0.23ធ្វើត្រាប់តាមគ្រួសារ node-fetch
ភ្នាក់ងារភ្ជាប់2026-04-25 05:12 UTC1.0.01ឈ្មោះទូទៅ "ភ្នាក់ងារ"
ពេលដំណើរការ node-gyp2026-04-25 05:17 UTC1.0.01ធ្វើត្រាប់តាមឧបករណ៍បង្កើតម៉ូឌុលដើម
node-env-resolve2026-04-25 05:21 UTC1.0.9១០, ពី ១.០.០ ដល់ ១.០.៩ដំណក់ទឹកសកម្ម; ប្រដាប់ផ្សាំពេញលេញ

ឈ្មោះចូលចិត្ត centralogger, node-fetch-liteនិង node-gyp-runtime ត្រូវបានរចនាឡើងដើម្បីមើលទៅមិនមានជម្លោះនៅក្នុងការពិនិត្យកូដ។ ពួកវាស្តាប់ទៅដូចជារបស់ដែលមានរួចហើយនៅក្នុងដើមឈើអាស្រ័យរបស់គម្រោង។

រួមផ្សំជាមួយអ្នកបោះពុម្ពផ្សាយថ្មីដែលមិនទាន់បានផ្ទៀងផ្ទាត់ និងតំណភ្ជាប់ឃ្លាំងដែលបាត់ ពួកវាបង្កើតជាគំរូដែលអាចស្គាល់បាន៖ អ្នកដើរតួម្នាក់បានសាបព្រោះឈ្មោះដែលមានការកកិតទាបទៅក្នុងបញ្ជីឈ្មោះ បន្ទាប់មកធ្វើម្តងទៀតយ៉ាងរហ័សលើឈ្មោះដែលសំខាន់។ ក្នុងករណីនេះ node-env-resolve បានទទួលកំណែចំនួនដប់ក្នុងរយៈពេលប្រាំបីថ្ងៃ។

អ្វីដែលធ្លាក់នៅលើ Windows Dev Box

ខ្សែសង្វាក់ព្យាបាទនៅលើ node-env-resolve:1.0.8 គឺខ្លី ផ្ទាល់ និងសម្បូរលក្ខណៈពិសេសមិនធម្មតាសម្រាប់ npm RAT។

ក្រោយការដំឡើង៖ ភាពស្ថិតស្ថេរ និងភ្នាក់ងារដែលបានផ្ដាច់ចេញ

package.json ប្រកាស​ទំពក់​ដំឡើង​តែមួយ៖

{ "scripts": { "postinstall": "node postinstall.js" } }

postinstall.js ធ្វើរឿងបីយ៉ាងតាមលំដាប់លំដោយ។

ដំបូង វារៀបចំថតដំឡើងនៅខាងក្រៅដើមឈើ npm។ ផ្លូវត្រូវបានគណនានៅពេលដំណើរការនៅក្នុងស្គ្រីបជា INSTALL_DIRបន្ទាប់មកវាដំណើរការផ្ទៃក្នុង execSync('npm install --production --silent ...') នៅខាងក្នុងវាដើម្បីទាញយកភាពអាស្រ័យពេលដំណើរការរបស់ implant។ នេះដាក់ភ្នាក់ងារនៅលើថាសនៅកន្លែងណាមួយ សៀវភៅណែនាំ node_modules ការត្រួតពិនិត្យនឹងមិនរកឃើញទេ។

ទីពីរ វាសរសេរកម្មវិធីបើកដំណើរការ VBS ហើយចុះឈ្មោះវាសម្រាប់ភាពស្ថិតស្ថេរនៃការចាប់ផ្ដើមប្រព័ន្ធ៖

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run \     /v ${AGENT_NAME} \     /t REG_SZ \     /d "wscript.exe \"${vbsPath}\"" /f

wscript.exe គឺជា Windows Script Host ដែលជាឯកសារគោលពីររបស់ Microsoft ដែលបានចុះហត្ថលេខា ដែលដំណើរការ .vbs ឯកសារដែលគ្មានបង្អួចកុងសូល។ នោះគឺជាមុនcisហេតុអ្វីបានជាវាត្រូវបានពេញចិត្តសម្រាប់ autorun stubs។

មានការផ្គូផ្គងផងដែរ reg delete ផ្លូវខាងក្នុង src/index.jsដែលបង្ហាញថាការផ្សាំនេះត្រូវបានរចនាឡើងដើម្បីឱ្យអាចដកចេញបានយ៉ាងស្អាតតាមបញ្ជារបស់ប្រតិបត្តិករ។

ទីបី វាបង្កើតដំណើរការកូនដែលផ្ដាច់ចេញ៖

spawn(node, [path.join(INSTALL_DIR, 'src/index.js')], {   detached: true,   env: { ...process.env, SERVER_URL } })

ព័ត៌មានលម្អិតពីរមានសារៈសំខាន់នៅទីនេះ។

SERVER_URL ត្រូវបានអានពីបរិស្ថាន។ ជាលទ្ធផល ចំណុចបញ្ចប់ C2 អាចកំណត់រចនាសម្ព័ន្ធបានក្នុងមួយការដាក់ពង្រាយ ហើយមិនត្រូវបានបញ្ចូលទៅក្នុងកញ្ចប់នោះទេ។ ជម្រើសតូចតាច ប៉ុន្តែចេតនានោះយកឈ្នះលើការស្កេនឋិតិវន្ត-IOC ភាគច្រើន។

ម្យ៉ាងទៀត កូនដែលកើតមកទទួលមរតកបរិស្ថានមេពេញលេញ។ ដូច្នេះ អ្វីក៏ដោយ NPM_TOKEN, AWS_*, GITHUB_TOKENឬរន្ធ SSH-agent ដែលមាននៅក្នុងសែលអ្នកអភិវឌ្ឍន៍នៅពេលដំឡើង ពេលវេលាធ្វើដំណើរទៅក្នុងអង្គចងចាំរបស់ភ្នាក់ងារដែលមានអាយុកាលយូរអង្វែង។

អ្វីដែលភ្នាក់ងារដឹកជញ្ជូនជាមួយ

កញ្ចប់ src/ ដើមឈើនេះរួមមានម៉ូឌុលចំនួនបីដែលឈ្មោះរបស់វាប្រាប់រឿងរ៉ាវរបស់វា៖ audioCapture.js, browserHistory.jsនិង systemInfo.js.

បញ្ជី​ភាពអាស្រ័យ​ពេល​ដំណើរការ ដែល​បាន​ដោះស្រាយ​ក្នុង​ដំណាក់កាល​នៃ​ការ​រៀបចំ npm install, បញ្ជាក់ពួកគេ។

វិធីសាស្រ្តនេះប្រែក្លាយឧប្បត្តិហេតុដ៏ច្របូកច្របល់ទៅជាការឆ្លើយតបដែលគ្រប់គ្រងបាន។

ជំនួស​ឲ្យ​ការ​ប្រតិកម្ម​ដោយ​ងងឹតងងល់ ក្រុម​ធ្វើការ​ជាមួយ ការកំណត់អាទិភាពច្បាស់លាស់ និងការដោះស្រាយរហ័ស.

ភាពអាស្រ័យតើវាសម្រាប់អ្វីនៅក្នុងបរិបទនេះ
រូបថតអេក្រង់-ផ្ទៃតុការថតអេក្រង់តាមកាលកំណត់
@nut-tree-fork/nut-jsស្វ័យប្រវត្តិកម្មកណ្ដុរ និងក្តារចុច / ការក្លែងធ្វើបញ្ចូល
ប្រសើរជាង-sqlite3ការអានដោយផ្ទាល់នៃមូលដ្ឋានទិន្នន័យ SQLite ប្រវត្តិ Chrome, Edge និង Firefox
adm-zipការចងក្រងវត្ថុបុរាណដែលប្រមូលបានមុនពេលច្រោះចេញ
ស្រួចការផ្លាស់ប្តូរទំហំ/ការបង្ហាប់រូបថតអេក្រង់ និងស្នាដៃរូបភាព
អតិថិជន socket.ioឆានែល C2 ទ្វេទិសជាប់លាប់
លេខសម្គាល់ម៉ាស៊ីនណូដស្នាមម្រាមដៃដែលមានស្ថេរភាពសម្រាប់ម៉ាស៊ីននីមួយៗសម្រាប់ការតាមដានជនរងគ្រោះ

systemInfo.js ការហៅ os.networkInterfaces() សម្រាប់​ការ​ស្កេន​ស្នាម​ម្រាមដៃ​បន្ថែម​មុន​ពេល​មាន​សញ្ញា​ដំបូង។

ហេតុអ្វីបានជាការថតសំឡេងជាសញ្ញាលេចធ្លោ

RATs npm ភាគច្រើនដែលយើងរៀបចំនៅក្នុង MEW ឈប់នៅពេលដំឡើងការលួចសម្ងាត់។ ពួកគេអាន ~/.npmrcអាន។ ~/.aws/credentials, កោស process.env, POST ទៅកាន់ webhook ហើយចេញ។ វាសមនឹងគំរូសេដ្ឋកិច្ច smash-and-grab។ លិខិតសម្គាល់មានពាក់កណ្តាលជីវិតខ្លី ហើយអ្នកវាយប្រហារត្រូវការរកប្រាក់ឱ្យបានរហ័ស។

node-env-resolve គឺខុសគ្នានៅក្នុងរូបរាង។

ការបន្តដំណើរការត្រូវបានរៀបចំឡើងដើម្បីរស់រានមានជីវិតពីការចាប់ផ្ដើមឡើងវិញ។ ភ្នាក់ងារដំណើរការដាច់ដោយឡែក និងមានអាយុកាលយូរអង្វែងក្រោម wscript.exeឧបករណ៍ដែលវាមានគឺសម្រាប់នៅលើម៉ាស៊ីនរបស់អ្នកអភិវឌ្ឍន៍ មិនមែនសម្រាប់ចាប់យក ហើយចាកចេញទេ៖ ឧបករណ៍ថតមីក្រូហ្វូន កម្មវិធីបញ្ជាក្តារចុច/កណ្ដុរ ការទទួលយកប្រវត្តិកម្មវិធីរុករកពេញលេញ ការចាប់យកអេក្រង់ និងឆានែល Socket.IO អន្តរកម្មត្រឡប់ទៅ C2 ដែលអាចកំណត់រចនាសម្ព័ន្ធបាន។

ជាពិសេស ការចាប់យកមីក្រូហ្វូន គឺជាខ្សែបន្ទាត់ដែលយុទ្ធនាការនេះឆ្លងកាត់ ដែលមេរោគ npm ភាគច្រើនមិនឆ្លងកាត់។

ស្ថានីយការងារសម្រាប់អ្នកអភិវឌ្ឍន៍ ក៏ជាស្ថានីយការងារដែលអ្នកអភិវឌ្ឍន៍ធ្វើការឈរបង្ហាញ ការហៅទូរស័ព្ទរបស់អតិថិជន ការពិភាក្សាអំពីការរចនា និងការតភ្ជាប់តាមការហៅទូរស័ព្ទ។ ការផ្សាំដែលថតមីក្រូហ្វូនមិនមែនពិតជាតាមសញ្ញាសម្ងាត់ npm របស់អ្នកអភិវឌ្ឍន៍នោះទេ។ វាគឺជាតាមអ្វីដែលអ្នកអភិវឌ្ឍន៍និយាយនៅពីមុខកុំព្យូទ័រយួរដៃ។

សំណុំសមត្ថភាពនោះ បូករួមទាំងកង្វះការបិទបាំង និងអវត្តមាននៃការលួចយកទិន្នន័យនៅពេលដំឡើង ដែលមើលទៅហាក់ដូចជាការកំណត់ទីតាំងជាមុនសម្រាប់ការចូលប្រើគោលដៅ ជាជាងការលួចយកព័ត៌មានសម្ងាត់ដោយឱកាសនិយម។

យើងមិនអះអាងពីការសន្មត់ពីរឿងនេះតែមួយមុខទេ។ យើងកំពុងកត់សម្គាល់ពីទម្រង់ប្រតិបត្តិការ។

ការវាយប្រហារ typosquatting npm - DevTab

ចង្វាក់នៃការធ្វើម្តងទៀតរយៈពេលប្រាំបីថ្ងៃនៅលើ node-env-resolve គឺជាព័ត៌មានលម្អិតដែលបង្ហាញអំពីប្រតិបត្តិការបំផុតនៅក្នុងបន្ទាត់ពេលវេលា។

នេះមិនមែនជាការទម្លាក់ចោលដោយភ្លើងហើយបំភ្លេចចោលនោះទេ។ អ្នកបោះពុម្ពផ្សាយកំពុងថែទាំទម្លាក់ចោលយ៉ាងសកម្ម ដែលជាធម្មតាមានន័យថាមួយក្នុងចំណោមពីរយ៉ាង។ ទាំងពួកគេកំពុងលៃតម្រូវវាប្រឆាំងនឹងបរិស្ថានសាកល្បងមុនពេលដាក់ពង្រាយកាន់តែទូលំទូលាយ ឬពួកគេមានទូរមាត្រដំឡើងរួចហើយ ហើយកំពុងឆ្លើយតបទៅវា។

កញ្ចប់ចំនួនប្រាំផ្សេងទៀតមិនឃើញមានការលុបចោលបន្ទាប់ពីការបោះពុម្ពផ្សាយដំបូងរបស់ពួកគេទេ។ វាសមនឹងគំរូ "ដំណាក់កាលម្តង ទុកឲ្យមានឈ្មោះ" សម្រាប់ចង្កោមគាំទ្រ ខណៈពេលដែលកិច្ចខិតខំប្រឹងប្រែងផ្នែកវិស្វកម្មផ្តោតលើកញ្ចប់ដែលធ្វើការងារ។

ការបញ្ជាក់៖ តម្រុយតូចៗ គ្មានសាលក្រមរឹងមាំ

សាធារណៈ អូស៊ីនធី សញ្ញា​មាន​លក្ខណៈ​ស្តើង ហើយ​យើង​នឹង​មិន​លាត​សន្ធឹង​វា​ទេ។ អ្វីដែលអាចសង្កេតឃើញ៖

ចំណុច​ប្រទាក់ Gmail tanvisoul9 ផ្នែកខ្លះស្រដៀងនឹងឈ្មោះដែលផ្តល់ឲ្យដោយអាស៊ីខាងត្បូង គឺ "Tanvi"។ នេះជាសញ្ញាខ្សោយ។ លេខសម្គាល់ Gmail មិនមែនជាអត្តសញ្ញាណទេ ហើយលេខសម្គាល់នៅពីក្រោយ soul9 គឺជា​រឿង​ទូទៅ។ វាមិនមានសុវត្ថិភាពក្នុងការសន្និដ្ឋានភូមិសាស្ត្រពីអ៊ីមែល local-part តែមួយមុខនោះទេ។

រចនាប័ទ្មកូដគឺមិនសូវគួរឱ្យកត់សម្គាល់ទេ Node.js៖ standard ការហៅទូរស័ព្ទបណ្ណាល័យដូចជា os, child_process, spawnនិង reg add។ មិនមានការបិទបាំង គ្មានការបង្វិលខ្សែអក្សរ និងគ្មានតក្កវិជ្ជាប្រឆាំងនឹងការបំបាត់កំហុសទេ។ អ្នកនិពន្ធមានផាសុកភាពជាមួយ Windows registry primitives និង detached-child-process orchestration ប៉ុន្តែហាក់ដូចជាមិនកំពុងឈានដល់ការប្រើប្រាស់បច្ចេកវិទ្យាលួចលាក់ជាងនេះដែលពួកគេអាចប្រើប្រាស់បាននោះទេ។

ភាពអាស្រ័យគឺមិនមានលក់ទាំងស្រុង ហើយត្រូវបានគេស្គាល់យ៉ាងច្បាស់៖ screenshot-desktop, nut-js, better-sqlite3និង socket.io-client។ មិនមានពិធីការផ្ទាល់ខ្លួនទេ គ្មានជង់ C2 ដែលរមៀលចេញពីដំបូង និងគ្មានល្បិចតស៊ូថ្មីក្រៅពីសៀវភៅសិក្សាទេ។ គ្រាប់ចុចរត់ HKCUនេះគឺជាអ្នករួមបញ្ចូលដែលមានសមត្ថភាព មិនមែនជាអ្នកនិពន្ធឧបករណ៍ទេ។

យើងមិនបានរកឃើញខ្សែអក្សរដែលមិនមែនជាភាសាអង់គ្លេស មតិយោបល់ដែលបានបង្កប់ ទិន្នន័យមូលដ្ឋាន ឬស្នាមម្រាមដៃតំបន់ពេលវេលានៃទិន្នផលកម្មវិធីចងក្រងនៅក្នុងវត្ថុបុរាណដែលបានបោះពុម្ពផ្សាយនោះទេ។

យើងបានពិនិត្យមើលការត្រួតស៊ីគ្នានៃកូដជាមួយយុទ្ធនាការមុនៗដែលយើងបានតាមដានរួចហើយ រួមទាំង សាយ ហ៊ុលុដ, អូលលីវីយ៉ុង, Buildkite, និង heibai ថ្មីៗ / claude-code-best ក្រុមគ្រួសារក្លូន Anthropic-CLI។ យើងរកមិនឃើញទេ៖ គ្មានលំនាំ C2 ដែលបានចែករំលែក គ្មានប្លង់ឯកសារដែលបានចែករំលែក និងគ្មានសទិសន័យដែលបានចែករំលែកទេ។

អ្វីដែលយើងមិននិយាយ៖ ថានេះគឺជាតួអង្គរដ្ឋ ក្រុមដែលគេស្គាល់ ឬមានទំនាក់ទំនងភូមិសាស្ត្រជាមួយប្រទេសជាក់លាក់ណាមួយ។

ទម្រង់ប្រតិបត្តិការគឺស្របនឹងក្រុមតូចមួយដែលមានជំនាញមធ្យមធ្វើការឃ្លាំមើលស្ថានីយការងាររបស់អ្នកអភិវឌ្ឍន៍។ វាទំនងជាមានការលើកទឹកចិត្តផ្នែកហិរញ្ញវត្ថុតាមរយៈការប្រើប្រាស់ការចូលប្រើនៅផ្នែកខាងក្រោម ប៉ុន្តែក៏អាចជាការឈ្លបយកការណ៍ជាសេវាកម្មសម្រាប់អ្នកទិញដាច់ដោយឡែកផងដែរ។

ចំណុចប្រយោលពីរគាំទ្រចំណុចនេះ៖ ការជៀសវាងយន្តការបញ្ចេញព័ត៌មានដែលទាក់ទាញចំណាប់អារម្មណ៍ ដែលនឹងដុតបំផ្លាញចង្កោមយ៉ាងលឿន ដូចជាបូត Telegram oastify.comឬ canarytokens និងឈ្មោះកញ្ចប់ដែលមិនសូវមានអត្ថន័យ ដែលពេញចិត្តការដំឡើងកន្ទុយវែងស្ងាត់ៗ ជាជាងការកើនឡើងនៃបរិមាណខ្ពស់ក្នុងរយៈពេលខ្លី។

សូចនាករនៃការសម្របសម្រួល និងការរកឃើញ

កញ្ចប់ និងអ្នកបោះពុម្ពផ្សាយ
វាលតម្លៃ
អ្នកបោះពុម្ពផ្សាយ npmuser0001
អ៊ីមែលរបស់អ្នកបោះពុម្ពផ្សាយtanvisoul9@gmail.com, មិនទាន់បានផ្ទៀងផ្ទាត់
កញ្ចប់centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtime, node-env-resolve
បានបញ្ជាក់ថាមានគំនិតអាក្រក់node-env-resolve@1.0.7, node-env-resolve@1.0.8
វត្ថុបុរាណរបស់ម្ចាស់ផ្ទះ
វាយបញ្ចូលតម្លៃ
គន្លឹះនៃការតស៊ូHKCU\Software\Microsoft\Windows\CurrentVersion\Run
តម្លៃនៃអត្ថិភាពឈ្មោះអថេរ; ទិន្នន័យនៃទម្រង់ wscript.exe " \\ .vbs"
ដំឡើងទំពក់ក្រោយការដំឡើង៖ node postinstall.js នៅក្នុង manifest កញ្ចប់
ម៉ូឌុល​ផ្សាំsrc/audioCapture.js, src/browserHistory.js, src/systemInfo.js
ថតឯកសាររៀបចំឆាកINSTALL_DIR ត្រូវបានដោះស្រាយនៅខាងក្រៅ node_modules របស់គម្រោង; ទីតាំងដែលកំណត់ដោយ postinstall.js នៅពេលដំឡើង
Network
វាយបញ្ចូលតម្លៃ
ការដឹកជញ្ជូន C2socket.io-client, ឆានែលទ្វេទិសជាប់លាប់
ចំណុចបញ្ចប់ C2ផ្តល់ជូនភ្នាក់ងារតាមរយៈអថេរបរិស្ថាន SERVER_URL; មិនត្រូវបានអ៊ិនកូដរឹងទៅជាវត្ថុបុរាណដែលបានបោះពុម្ពផ្សាយទេ

កំណត់ចំណាំរកឃើញ

ច្បាប់ពីរចាប់គ្រួសារនេះដោយមិនចាំបាច់មានចំណុចបញ្ចប់ C2។

ដំបូង សូមដាក់ទង់ជាតិស្គ្រីបក្រោយការដំឡើងដែលអនុវត្តការស៊ើបការណ៍សម្ងាត់ផ្ទៃក្នុង npm install ចូលទៅក្នុងផ្លូវមួយនៅខាងក្រៅថតឯកសារផ្ទាល់ខ្លួនរបស់កញ្ចប់។ កម្មវិធីទាញយកជាមុនដែលស្របច្បាប់ណាមួយ ដូចជា node-gyp សាងសង់ឡើងវិញ ឬកម្មវិធីទាញយកប្រព័ន្ធគោលពីរដែលបានបង្កើតជាមុន សរសេរនៅខាងក្នុងកញ្ចប់ ឬចូលទៅក្នុងវេទិកា-standard ផ្លូវឃ្លាំងសម្ងាត់ដែលមានហាសដែលបានផ្ទៀងផ្ទាត់។ វាមិនសរសេរទៅក្នុងឯកសារដែលទើបបង្កើតថ្មីទេ INSTALL_DIR នៅកន្លែងផ្សេងទៀតនៅលើឌីស។

ទីពីរ សម្គាល់ស្គ្រីបក្រោយការដំឡើងដែលមានបញ្ហា reg add HKCU\…\Run ជាមួយ wscript.exe ជា​កម្មវិធី​ចាប់ផ្ដើម។ នេះ​មិន​ដែល​មាន​សុពលភាព​ពី​កញ្ចប់ npm ទេ។ ដាក់ទង់ ហើយ​ដាក់​វា​ឲ្យ​នៅ​ដាច់​ដោយ​ឡែក។

ការវិភាគ​ទីបី​មានប្រយោជន៍​សម្រាប់​ការ​កំណត់​កញ្ចប់​បងប្អូន​បន្ទាប់​មុនពេល​វា​ត្រូវបាន​បញ្ជាក់៖ អ្នកបោះពុម្ពផ្សាយ npm ថ្មី​ដែល​គ្មាន SCM ការផ្ទៀងផ្ទាត់ អ៊ីមែល Gmail ទេ repository ឈ្មោះកញ្ចប់ខ្លីៗ ទូទៅ និងហាក់ដូចជាហេដ្ឋារចនាសម្ព័ន្ធជាច្រើនដែលបានបោះពុម្ពផ្សាយក្នុងរយៈពេលប៉ុន្មានថ្ងៃពីគ្នាទៅវិញទៅមក គឺគ្រប់គ្រាន់ដើម្បីធានាការពិនិត្យដោយដៃ។

បានរាយការណ៍ទៅកាន់បញ្ជីឈ្មោះ npm។ យើងនឹងធ្វើបច្ចុប្បន្នភាពប្រកាសនេះនៅពេលដែលគណនីអ្នកបោះពុម្ពផ្សាយត្រូវបានដកចេញ។

ឧបករណ៍វិភាគសមាសភាពកម្មវិធី sca
ផ្តល់អាទិភាព ដោះស្រាយ និងធានាសុវត្ថិភាពហានិភ័យផ្នែកទន់របស់អ្នក
ទទួលបានគណនីឥតគិតថ្លៃរបស់អ្នក។
មិនតម្រូវឱ្យមានកាតឥណទានទេ។

ធានាសុវត្ថិភាពនៃការអភិវឌ្ឍន៍ និងការដឹកជញ្ជូនកម្មវិធីរបស់អ្នក

ជាមួយឈុតផលិតផល Xygeni