പതിമൂന്ന് npm പാക്കേജുകൾ, 48 സെക്കൻഡ്, ഒരു വ്യാജ വാലറ്റ് SDK

npm രജിസ്ട്രിക്ക് നേരെ നടന്ന ഏകോപിത ആക്രമണത്തിലൂടെ വെറും 48 സെക്കൻഡിനുള്ളിൽ 13 വ്യാജ Coinbase ശൈലിയിലുള്ള വാലറ്റ് SDK പാക്കേജുകൾ പുറത്തിറക്കി. വിശ്വസനീയമായ ടൂളുകൾ എന്ന വ്യാജേന വിനാശകരമായ കോഡുകൾ എത്ര വേഗത്തിൽ വേഷം മാറാൻ കഴിയുമെന്ന് ഇത് കാണിച്ചുതരുന്നു. പരിചിതമായ പേര് മാത്രം നോക്കി ഒരു പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുന്ന ഡെവലപ്പർമാർ അറിയാതെ തന്നെ തങ്ങളുടെ ആപ്പുകളിൽ വ്യാജമായ ഒരു SDK ഉൾപ്പെടുത്താൻ ഇടയാകുന്നു.

2026 സെപ്റ്റംബർ 7-ന് 04:54:59 നും 04:55:48 നും UTC സമയത്തിനിടയിലാണ് ഈ പാക്കേജുകൾ പ്രത്യക്ഷപ്പെട്ടത്. cb-wallet-http, scw-core തുടങ്ങിയ പേരുകൾ ഔദ്യോഗികമായ @coinbase/wallet-sdk എന്ന നെയിംസ്പേസിനോട് സാമ്യമുള്ളവയാണ്. ടൈപ്പോ-സ്ക്വാറ്റിംഗ് (typo-squatting) ചെയ്യുന്നതിന് പകരം, ആക്രമണകാരികൾ പേരുകളുടെ തുടക്കത്തിൽ പരിചിതമായ വാക്കുകൾ ചേർത്തു. ഒരു സഹപ്രവർത്തകന്റെ ശുപാർശയോ ഫോറം പോസ്റ്റുകളോ വഴി തങ്ങൾ വിശ്വസനീയരാണെന്ന് ഉപയോക്താക്കളെ ബോധ്യപ്പെടുത്താനാണ് അവർ ശ്രമിച്ചത്.

പുറത്തിറക്കിയ 13 പാക്കേജുകളും ഒരേ അടിസ്ഥാനപരമായ കോൺഫിഗറേഷൻ ആണ് പങ്കിട്ടത്: വേർഷൻ 0.0.1-security, ശൂന്യമായ മെയിന്റൈനർ ലിസ്റ്റ്, കൂടാതെ പബ്ലിഷ് ചെയ്ത ഉടൻ കാണുന്ന ഡിഫോൾട്ട് npm മെറ്റാഡാറ്റ എന്നിവയാണവ. ഇത്തരത്തിലുള്ള ഒരേപോലെയുള്ള ക്രമീകരണം, ഇവ മാനുവലായി ചെയ്യുന്നതിന് പകരം ഒരു സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് ഓട്ടോമേറ്റഡ് ആയി നിർമ്മിച്ചതാണെന്ന് സൂചിപ്പിക്കുന്നു.

മുൻകൂട്ടിയുള്ള പരിശോധനയില്ലാതെ ആർക്കും പാക്കേജുകൾ അപ്‌ലോഡ് ചെയ്യാൻ കഴിയുന്ന npm-ന്റെ ഓപ്പൺ പബ്ലിഷിംഗ് മോഡൽ ഇത്തരത്തിലുള്ള ആക്രമണങ്ങൾക്ക് വഴിയൊരുക്കുന്നു. മുൻകാല സപ്ലൈ-ചെയിൻ (supply-chain) സംഭവങ്ങൾ കാണിക്കുന്നത്, ഒരിക്കൽ വിനാശകരമായ കോഡ് ഒരു डिपൻഡൻസി ട്രീയിൽ (dependency tree) എത്തിക്കഴിഞ്ഞാൽ, അത് ഇൻസ്റ്റാൾ ചെയ്യുന്ന എല്ലാ മെഷീനുകളിലും പ്രവർത്തിക്കും എന്നാണ്.

ആക്രമണകാരികളെ തിരിച്ചറിയാനോ ആദ്യഘട്ട അപ്‌ലോഡുകൾക്ക് ശേഷം കോഡ് എങ്ങനെ പടർന്നു എന്ന് വിശദീകരിക്കാനോ NPM-ന് കഴിഞ്ഞിട്ടില്ല. ആക്രമണകാരികൾ പ്രത്യേകമായി Coinbase ഉപയോക്താക്കളെ ലക്ഷ്യം വെച്ചതാണോ അതോ വിശ്വസനീയമെന്ന് തോന്നുന്ന പേരുകൾ ഉപയോഗിച്ച് രജിസ്ട്രി നിറച്ച് ഏതെങ്കിലും ഒന്ന് ഉപയോഗിക്കപ്പെടുമെന്ന് പ്രതീക്ഷിച്ചതാണോ എന്ന കാര്യത്തിലും വ്യക്തതയില്ല.

ഡെവലപ്പർമാർക്ക് ഇപ്പോൾ എന്ത് ചെയ്യാൻ കഴിയും

  • ഒരു പാക്കേജ് ചേർക്കുന്നതിന് മുമ്പ് അതിന്റെ പബ്ലിഷറെ പരിശോധിക്കുക; ഔദ്യോഗിക SDK-കൾ വെരിഫൈഡ് ഓർഗനൈസേഷൻ സ്കോപ്പുകൾക്ക് (verified organization scopes) കീഴിലാണ് ഉണ്ടാകുക.
  • അറിയപ്പെടുന്ന വിനാശകരമായ സിഗ്നേച്ചറുകൾക്കായി (malicious signatures) डिपൻഡൻസികൾ സ്കാൻ ചെയ്യുന്ന ടൂളുകൾ ഉപയോഗിക്കുക.
  • ലോക്ക് ഫയലുകളിൽ (lockfiles) കൃത്യമായ വേർഷനുകൾ മാത്രം നൽകുക (pin), കൂടാതെ പരിശോധനയില്ലാതെ പുതിയതായി പബ്ലിഷ് ചെയ്ത പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നത് ഒഴിവാക്കുക.
  • മെയിന്റൈനർമാർക്ക് ടു-ഫാക്ടർ ഓതന്റിക്കേഷൻ (two-factor authentication) ആവശ്യമായ രജിസ്ട്രികൾ തിരഞ്ഞെടുക്കുക.

ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങൾ

  • പ്രശസ്തമായ ബ്രാൻഡുകളെ അനുകരിക്കുന്ന പാക്കേജുകൾക്കായി npm പരിശോധനകൾ കർശനമാക്കുന്നുണ്ടോ എന്ന് ശ്രദ്ധിക്കുക.
  • വ്യാജ പേരുകൾ അടയാളപ്പെടുത്തുന്ന കമ്മ്യൂണിറ്റി അധിഷ്ഠിത ബ്ലാക്ക്‌ലിസ്റ്റുകൾ (blacklists).
  • ഈ 13 വ്യാജ SDK-കൾ ഉപയോഗിച്ച് നിലവിൽ എന്തെങ്കിലും ആക്രമണങ്ങൾ നടക്കുന്നുണ്ടോ എന്നതിനെക്കുറിച്ചുള്ള സെക്യൂരിറ്റി ഗവേഷകരുടെ അപ്‌ഡേറ്റുകൾ.

പരിചിതമെന്ന് തോന്നുന്ന ഒരു പേര് സുരക്ഷയുടെ ഉറപ്പല്ലെന്ന് ഈ സംഭവം തെളിയിക്കുന്നു. ഓപ്പൺ സോഴ്സ് ഇക്കോസിസ്റ്റത്തിലെ സപ്ലൈ-ചെയിൻ ആക്രമണങ്ങൾക്കെതിരെയുള്ള ഏറ്റവും ശക്തമായ പ്രതിരോധം ജാഗ്രതയും പരിശോധനയുമാണ്.