2025-ൽ സോഫ്റ്റ്വെയർ വിതരണ ശൃംഖല ആക്രമണങ്ങളുടെ മേഖലയിൽ ആശങ്കാജനകമായ ഒരു പാറ്റേൺ സൈജെനി അടുത്തിടെ നിരീക്ഷിച്ചു., രണ്ട് ജനപ്രിയ പാക്കേജ് മാനേജർമാരിൽ നിന്ന് ഉയർന്നുവരുന്നു: PYPI ഒപ്പം npm. ഞങ്ങളുടെ തുടർച്ചയായ ഭീഷണി ഇന്റലിജൻസ് ശ്രമങ്ങളുടെ ഭാഗമായി,സൈജെനിയുടെ മാൽവെയർ മുൻകൂർ മുന്നറിയിപ്പ് (MEW) മറ്റൊരു രജിസ്ട്രിയിലേക്ക് മുമ്പ് അപ്ലോഡ് ചെയ്ത ഒരു ക്ഷുദ്ര പാക്കേജിന്റെ വ്യതിരിക്തവും എന്നാൽ രീതിശാസ്ത്രപരമായി സമാനമായതുമായ ഒരു ഉദാഹരണം ടൂൾ തിരിച്ചറിഞ്ഞു. ആവാസവ്യവസ്ഥയിലുടനീളം, പ്രത്യേകിച്ച് ദോഷകരമായ പൈത്തൺ പാക്കേജുകൾ ഒപ്പം ദോഷകരമായ npm പാക്കേജുകൾ, ഇത് ഓപ്പൺ സോഴ്സ് വിതരണ ശൃംഖലകളിലേക്ക് ക്ഷുദ്ര പാക്കേജുകൾ നുഴഞ്ഞുകയറാനുള്ള സാധ്യത വർദ്ധിപ്പിക്കുന്നു.
സൈജെനിയുടെ മ്യൂ: സമാനതകൾ കണ്ടെത്തൽ
2025-ൽ സോഫ്റ്റ്വെയർ സപ്ലൈ ചെയിൻ ആക്രമണങ്ങളുമായി ബന്ധപ്പെട്ടിരിക്കുന്ന, ക്ഷുദ്രകരമായ പാക്കേജുകൾ, ഓപ്പൺ സോഴ്സ് രജിസ്ട്രികളിൽ പ്രസിദ്ധീകരിച്ചാലുടൻ കണ്ടെത്തുന്നതിനും ഫ്ലാഗ് ചെയ്യുന്നതിനുമാണ് സൈജെനിയുടെ MEW ടൂൾ നിർമ്മിച്ചിരിക്കുന്നത്. സംശയാസ്പദമായ പെരുമാറ്റത്തിനായി പുതിയ പാക്കേജുകൾ വിശകലനം ചെയ്തുകൊണ്ടാണ് ഇത് പ്രവർത്തിക്കുന്നത്.
ഈ സാഹചര്യത്തിൽ, അത് രണ്ട് തിരിച്ചറിഞ്ഞു ദോഷകരമായ പൈത്തൺ പാക്കേജുകൾ (graphalgo PyPI-യിൽ) കൂടാതെ ദോഷകരമായ npm പാക്കേജുകൾ (express-cookie-parser npm-ൽ).
സോഫ്റ്റ്വെയർ സപ്ലൈ ചെയിൻ ആക്രമണങ്ങളിലെ ക്ഷുദ്ര പൈത്തൺ, npm പാക്കേജുകൾ (2025)
നമ്മുടെ അലേർട്ടുകൾക്ക് കാരണമായ പങ്കിട്ട സവിശേഷതകൾ എന്തൊക്കെയാണെന്ന് നമുക്ക് പര്യവേക്ഷണം ചെയ്യാം:
ടൈപ്പോസ്ക്വാട്ടിംഗ്
അവർ രണ്ടുപേരും നിലവിലുള്ള ജനപ്രിയ പാക്കേജുകൾ അനുകരിക്കാൻ ശ്രമിച്ചു.
- ഗ്രാഫാൽഗോ (പൈപിഐ): "ഗ്രാഫുകളും നെറ്റ്വർക്കുകളും സൃഷ്ടിക്കുന്നതിനും കൈകാര്യം ചെയ്യുന്നതിനുമുള്ള പൈത്തൺ പാക്കേജ്.” എന്ന പേരുള്ള ഒരു ഉപയോക്താവ് അപ്ലോഡ് ചെയ്തു "ലാറിടെക്" 2025 ജൂൺ 13-ന്, ഈ പാക്കേജ് യഥാർത്ഥ നോൺ-മാലിഷ്യസ് ഗ്രാഫാൽഗോ പ്രോജക്റ്റിന് ഒരു PyPi ബദലായി അവതരിപ്പിച്ചു, പിന്നീട് ഇത് ഗ്രാഫിഡിക്റ്റ് എന്ന് പുനർനാമകരണം ചെയ്യപ്പെട്ടു.
- എക്സ്പ്രസ്-കുക്കി-പാഴ്സർ (npm): ഈ പാക്കേജ് അറിയപ്പെടുന്ന കുക്കി-പാഴ്സർ പാക്കേജിനെ അനുകരിച്ചു, അതിന്റെ README.md. രെഅദ്മെ.എം.ഡി. നിലവിലുള്ള വിശ്വാസം നേടിയെടുക്കുന്നതിനുള്ള ഒരു ക്ലാസിക് തന്ത്രമാണ് അത്തരം ആൾമാറാട്ടം.
പ്രതിരോധത്തിന്റെ ആദ്യ നിര എന്ന നിലയിൽ അവ്യക്തത
രണ്ട് പാക്കേജുകളും യഥാർത്ഥ ഫയലുകളിൽ അവയുടെ ക്ഷുദ്ര കോഡ് അവ്യക്തമാക്കി. ഗ്രാഫാൽഗോ, അവ്യക്തമായ കോഡ് ഉള്ളിൽ കണ്ടെത്തി /utils/load_libraries.py. ഈ സന്ദർഭത്തിൽ എക്സ്പ്രസ്-കുക്കി-പാഴ്സർ, cookie-loader.min.js അവ്യക്തമായ പേലോഡ് അടങ്ങിയിരുന്നു.
കാഷ്വൽ പരിശോധനയെയും സ്റ്റാറ്റിക് വിശകലനത്തെയും തടസ്സപ്പെടുത്തുന്നതിനാണ് ഈ പ്രാരംഭ അവ്യക്തമാക്കൽ പാളി സാധാരണയായി ഉപയോഗിക്കുന്നത്. അവ്യക്തമാക്കൽ വളരെ ലളിതമായിരുന്നു: ആവർത്തിച്ചുള്ള ZLib കംപ്രഷനും Base64 എൻകോഡിംഗും. ഇത്തരത്തിലുള്ള അവ്യക്തമാക്കൽ സോഫ്റ്റ്വെയർ അതിന്റെ സ്വഭാവം മറച്ചുവെക്കാൻ ശ്രമിക്കുന്നുവെന്ന് വ്യക്തമായി സൂചിപ്പിക്കുന്നു. മറ്റ് തെളിവുകൾക്കൊപ്പം, പാക്കേജുകളെ സാധ്യതയുള്ള മാൽവെയറായി തരംതിരിക്കാൻ ഇത് Xygeni MEW-നെ അനുവദിച്ചു. സ്ഥിരീകരണ ഘട്ടത്തിൽ, ഞങ്ങളുടെ അവലോകകർ ഉടൻ തന്നെ ഒരു ഡീഅബ്ഫസ്കേഷൻ സ്ക്രിപ്റ്റ് തയ്യാറാക്കി, അത് വ്യക്തമായും ക്ഷുദ്രകരമായ ഡ്രോപ്പർ ഘട്ടം വെളിപ്പെടുത്തി.
മൾട്ടി-സ്റ്റേജ് പേലോഡ് ഡെലിവറിയും ഒരു പങ്കിട്ട ഉത്ഭവ പോയിന്റും
രണ്ട് പാക്കേജുകളും പ്രാരംഭ “ഡ്രോപ്പർമാർ"," യഥാർത്ഥ പേലോഡിന് വേദിയൊരുക്കുന്നു. അവർ ഒരു പൊതു ബാഹ്യ "പങ്കുവച്ചു"വിത്തുവീതം” ഫയൽ URL:https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
ഈ സമാനമായ ബാഹ്യ സീഡ് ഫയൽ ഒരു പങ്കിട്ട ഭീഷണി ഘടകത്തിന്റെ ശക്തമായ സൂചകമാണ്. രസകരമെന്നു പറയട്ടെ, ഈ സീഡ് ഫയലിന്റെ ഉള്ളടക്കം ലളിതമായ പരിസ്ഥിതി വേരിയബിളുകളാണ് (ഉദാ: JWT_SECRET, PORT), ഇത് പരിശോധനയെ അതിന്റെ യഥാർത്ഥ പ്രവർത്തനത്തിലേക്ക് തെറ്റിദ്ധരിപ്പിക്കാൻ സാധ്യതയുണ്ട്.
DGA ഉള്ള ഡൈനാമിക് C2 റെസല്യൂഷൻ
ഈ ക്ഷുദ്ര പാക്കേജുകളിൽ നിരീക്ഷിക്കപ്പെടുന്ന ഒരു സങ്കീർണ്ണമായ തന്ത്രമാണ് കമാൻഡ് ആൻഡ് കൺട്രോൾ (C2) സെർവറിനെ ചലനാത്മകമായി പരിഹരിക്കുന്നതിന് ഒരു ഡൊമെയ്ൻ ജനറേഷൻ അൽഗോരിതം (DGA) ഉപയോഗിക്കുന്നത്. 2025-ൽ അഡ്വാൻസ്ഡ് സോഫ്റ്റ്വെയർ സപ്ലൈ ചെയിൻ ആക്രമണങ്ങളിൽ പലപ്പോഴും കാണപ്പെടുന്ന ഈ സാങ്കേതികവിദ്യ, സീഡ് ഫയലിന്റെ ഉള്ളടക്കത്തിൽ നിന്ന് ഉരുത്തിരിഞ്ഞ ഒരു SHA256 ഹാഷിനെ ആശ്രയിച്ചിരിക്കുന്നു, മറ്റ് ഹാർഡ്കോഡ് ചെയ്ത മൂല്യങ്ങളുമായി ഇത് സംയോജിപ്പിച്ചിരിക്കുന്നു. അങ്ങനെ ചെയ്യുന്നതിലൂടെ, C2 ഇൻഫ്രാസ്ട്രക്ചർ പതിവായി മാറുന്നു, ഇത് പരമ്പരാഗത ബ്ലാക്ക്ലിസ്റ്റിംഗ് വളരെ കുറച്ച് ഫലപ്രദമാക്കുന്നു. ഈ സാഹചര്യത്തിൽ, npm വേരിയന്റ് ഒരു നിശ്ചിത മൂല്യം ഉപയോഗിച്ചു 496AAC7E അതിന്റെ DGA ലോജിക്കിന്റെ ഭാഗമായി.
സ്ഥിരോത്സാഹം സ്ഥാപിക്കൽ
ബാധിത സിസ്റ്റങ്ങളിൽ ശാശ്വത സാന്നിധ്യം സ്ഥാപിക്കാൻ രണ്ട് ആക്രമണകാരികളും ശ്രമിച്ചു. ഒരു ഫയൽ ഉപേക്ഷിക്കുക എന്നതായിരുന്നു അവരുടെ തന്ത്രം, startup.py (PyPi-ക്ക്) അല്ലെങ്കിൽ startup.js (npm-ന്), വിവിധ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലുടനീളമുള്ള (Windows, Linux, macOS) പൊതുവായ Google Chrome ഉപയോക്തൃ ഡാറ്റ ഡയറക്ടറികളിലേക്ക്.
വധശിക്ഷയ്ക്ക് ശേഷമുള്ള വൃത്തിയാക്കൽ
ട്രെയ്സുകൾ കുറയ്ക്കുന്നതിന്, രണ്ട് ക്ഷുദ്ര സ്ക്രിപ്റ്റുകളും ക്ലീനപ്പ് പ്രവർത്തനങ്ങൾ നടത്തി. ഇതിൽ അവയുടെ പ്രാരംഭ ഡ്രോപ്പർ ഫയലുകൾ ഇല്ലാതാക്കുന്നതും ഉൾപ്പെടുന്നു (load_libraries.py, cookie-loader.min.js) കൂടാതെ നിയമാനുസൃത പാക്കേജ് ഫയലുകൾ പരിഷ്കരിക്കുകയും ചെയ്യുന്നു (__init__.py, index.js) ഇപ്പോൾ ഇല്ലാതാക്കിയ ഘടകങ്ങളിലേക്കുള്ള റഫറൻസുകൾ നീക്കം ചെയ്യാൻ.
മാലിഷ്യസ് പൈത്തൺ, npm പാക്കേജുകളിലെ കോംപ്രമൈസിന്റെ സൂചകങ്ങൾ
- PyPI പാക്കേജ്: ഗ്രാഫാൽഗോ (ലാറിടെക് പ്രസിദ്ധീകരിച്ചത്, ജൂൺ 13, 2025)
- npm പാക്കേജ്: എക്സ്പ്രസ്-കുക്കി-പാർസർ (പ്രത്യേകിച്ച് പതിപ്പ് 1.4.12)
- പങ്കിട്ട വിത്ത് URL-ലേക്കുള്ള ആക്സസ്:
https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example
- സ്ഥിരമായ ഫയൽനാമങ്ങൾ:
startup.py(പൈത്തൺ)startup.js(ജാവാസ്ക്രിപ്റ്റ്) - പൊതുവായ സ്ഥിരമായ പാതകൾ (OS-ആശ്രിതം): Google Chrome ഉപയോക്തൃ ഡാറ്റ ഡയറക്ടറികൾക്കുള്ളിൽ (ഉദാ.,
AppData\Local\Google\Chrome\UserData\Scripts\വിൻഡോസിൽ,~/.config/google-chrome/Scripts/ലിനക്സിൽ, മുതലായവ).
2025 ലെ സോഫ്റ്റ്വെയർ സപ്ലൈ ചെയിൻ ആക്രമണങ്ങളിൽ ക്ഷുദ്രകരമായ പാക്കേജുകളെ എങ്ങനെ പ്രതിരോധിക്കാം
ഡെവലപ്പർമാർക്ക് ശുപാർശ ചെയ്യുന്ന ഒരു സമീപനം
2025-ൽ സോഫ്റ്റ്വെയർ വിതരണ ശൃംഖല ആക്രമണങ്ങളുടെ പരിണാമ ഭീഷണിയുടെ പരിതസ്ഥിതിയിൽ ഈ സംഭവം ഒരു വിലപ്പെട്ട കേസ് പഠനമായി വർത്തിക്കുന്നു. പൈത്തൺ പാക്കേജുകളും ക്ഷുദ്രകരമായ npm പാക്കേജുകളും വിശ്വസനീയമായ ആവാസവ്യവസ്ഥയിലേക്ക് എങ്ങനെ വഴുതിവീഴുമെന്നും, വളരെ വൈകുന്നതുവരെ പലപ്പോഴും കണ്ടെത്തലിൽ നിന്ന് ഒഴിഞ്ഞുമാറുമെന്നും ഇത് എടുത്തുകാണിക്കുന്നു. അതുകൊണ്ടാണ് നേരത്തെയുള്ള കണ്ടെത്തൽ, സ്മാർട്ട് ടൂളിംഗ്, പ്രോആക്ടീവ് സിസ്റ്റം ശുചിത്വം എന്നിവ ഇപ്പോൾ ഏതൊരു സുരക്ഷിത DevOps വർക്ക്ഫ്ലോയുടെയും അനിവാര്യമായ ഭാഗങ്ങളായിരിക്കുന്നത്. ഇനിപ്പറയുന്ന കാര്യങ്ങൾ പരിഗണിക്കാൻ ഡെവലപ്പർമാരെ പ്രോത്സാഹിപ്പിക്കുന്നു:
ആശ്രിതത്വ അവലോകനം
നിങ്ങളുടെ പദ്ധതികളിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ടെങ്കിൽ ഗ്രാഫാൽഗോ or എക്സ്പ്രസ്-കുക്കി-പാഴ്സർ, അവ നീക്കം ചെയ്യുന്നതായിരിക്കും ബുദ്ധി.
- PyPI-യ്ക്ക്:
pip uninstall graphalgo - npm-ന്:
npm uninstall express-cookie-parser
സിസ്റ്റം ശുചിത്വം
സമഗ്രമായ ഒരു സിസ്റ്റം സ്കാൻ നടത്തുന്നത് പരിഗണിക്കുക. അപ്രതീക്ഷിതമായ എന്തെങ്കിലും പിശകുകൾക്കായി സാധാരണ Chrome ഉപയോക്തൃ ഡാറ്റ ഡയറക്ടറി പാതകൾ സ്വമേധയാ പരിശോധിക്കുന്നതും ഉചിതമാണ്. startup.py or startup.js ഫയലുകൾ.
മുൻകൂർ സുരക്ഷാ നടപടികൾ
- പുതിയ ആശ്രിതത്വങ്ങൾ വിലയിരുത്തുക: പുതിയ പാക്കേജുകൾ സംയോജിപ്പിക്കുന്നതിന് മുമ്പ് സമഗ്രമായി വിലയിരുത്തുന്നതിനുള്ള ഒരു പതിവ് സ്ഥാപിക്കുക, പരിചയമില്ലാത്ത പ്രസാധകരുടെ പാക്കേജുകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക.
- സുരക്ഷാ ഉപകരണങ്ങൾ സംയോജിപ്പിക്കുക: മറ്റ് സോഫ്റ്റ്വെയർ കോമ്പോസിഷൻ അനാലിസിസിനൊപ്പം Xygeni's MEW പോലുള്ള ഉപകരണങ്ങൾ (SCA) പരിഹാരങ്ങൾക്ക്, സംശയാസ്പദമായ പെരുമാറ്റങ്ങളും ദുർബലതകളും തിരിച്ചറിയുന്നതിലൂടെ പ്രതിരോധത്തിന്റെ ഒരു നിർണായക പാളി നൽകാൻ കഴിയും.
- ലീസ്റ്റ് പ്രിവിലേജ്: ഏറ്റവും കുറഞ്ഞ പ്രിവിലേജ് എന്ന തത്വത്തോടെ വികസന പരിതസ്ഥിതികൾ പ്രവർത്തിപ്പിക്കുന്നത് ഒരു വിട്ടുവീഴ്ചയുടെ സാധ്യതയുള്ള ആഘാതം പരിമിതപ്പെടുത്താൻ സഹായിക്കും.
- നെറ്റ്വർക്ക് അവബോധം: അസാധാരണമായ കണക്ഷനുകൾക്കായി ഔട്ട്ബൗണ്ട് നെറ്റ്വർക്ക് ട്രാഫിക് നിരീക്ഷിക്കുന്നത് ചിലപ്പോൾ DGA- ജനറേറ്റഡ് C2 ആശയവിനിമയങ്ങൾ വെളിപ്പെടുത്തിയേക്കാം.
പ്രധാന ഘടകങ്ങൾ load_libraries.py (ഗ്രാഫാൽഗോയിൽ നിന്ന്)
download_remote_content(): നിർദ്ദിഷ്ട URL-കളിൽ നിന്ന് ഫയലുകൾ ലഭ്യമാക്കുന്നത് കൈകാര്യം ചെയ്യുന്നു.run_process(): ബാഹ്യ പൈത്തൺ സ്ക്രിപ്റ്റുകൾ വേർപെടുത്തിയ രീതിയിൽ എക്സിക്യൂട്ട് ചെയ്യുന്നു, വിവേകത്തോടെ തുടരുന്നതിന് ഔട്ട്പുട്ട് അടിച്ചമർത്തുന്നു.get_output_file_path(): പെർസിസ്റ്റന്റ് startup.py ഫയലിന് അനുയോജ്യമായ സിസ്റ്റം ലൊക്കേഷൻ നിർണ്ണയിക്കുന്നു.remove_self(): പ്രാരംഭ മാലിഷ്യസ് ഫയലുകളുടെയും പാക്കേജ് പരിഷ്കാരങ്ങളുടെയും പോസ്റ്റ്-എക്സിക്യൂഷൻ ക്ലീനപ്പ് സംഘടിപ്പിക്കുന്നു.simple_shift_encrypt()/simple_shift_decrypt(): ആശയവിനിമയ ചാനലുകളെ മറയ്ക്കുന്നതിനുള്ള കസ്റ്റം ക്രിപ്റ്റോഗ്രാഫിക് ഫംഗ്ഷനുകൾ, ഡിജിഎ നടപ്പിലാക്കുന്നതിന് നിർണായകമാണ്.load_libraries(): പ്രാരംഭ ഡൗൺലോഡ് മുതൽ അന്തിമ പേലോഡ് എക്സിക്യൂഷനും ക്ലീനപ്പും വരെയുള്ള മുഴുവൻ മൾട്ടി-സ്റ്റേജ് പ്രക്രിയയും ഏകോപിപ്പിക്കുന്ന കേന്ദ്ര ഫംഗ്ഷൻ.
പരിണതഫലങ്ങൾ
MEW തിരിച്ചറിഞ്ഞ മറ്റ് ക്ഷുദ്രകരമായ പാക്കേജുകളെപ്പോലെ, ഈ ക്ഷുദ്രകരമായ പാക്കേജുകൾ അവരുടെ ആശ്രിതത്വത്തിൽ ഉൾപ്പെടുത്തുന്ന ഉപയോക്താക്കളെ ഡിപൻഡൻസി ഫയർവാൾ ഉടനടി സംരക്ഷിച്ചു. സ്ഥിരീകരണത്തിനുശേഷം, രണ്ട് രജിസ്ട്രികൾക്കുമുള്ള അറിയിപ്പ് നടപടിക്രമങ്ങൾ ഞങ്ങൾ പിന്തുടർന്നു, അവലോകനത്തിന് ശേഷം രണ്ട് പാക്കേജുകളും നീക്കം ചെയ്തു.





