2025లో సాఫ్ట్వేర్ సరఫరా గొలుసు దాడుల రంగంలో ఆందోళనకరమైన ధోరణిని క్సైజెని ఇటీవల గమనించింది.రెండు ప్రముఖ ప్యాకేజీ మేనేజర్లలో ఆవిర్భవిస్తున్నవి: PyPI మరియు npmమా కొనసాగుతున్న ముప్పు నిఘా ప్రయత్నాలలో భాగంగా,Xygeni యొక్క మాల్వేర్ ముందస్తు హెచ్చరిక (MEW) ఈ టూల్, గతంలో వేరొక రిజిస్ట్రీకి అప్లోడ్ చేయబడిన ఒక హానికరమైన ప్యాకేజీకి చెందిన, పద్ధతిపరంగా సారూప్యమైనప్పటికీ విభిన్నమైన ఒక ఉదాహరణను గుర్తించింది. ఈ కేసు, ముప్పు కలిగించేవారు వివిధ ఎకోసిస్టమ్లలో, ముఖ్యంగా వీటి ద్వారా, దాడి పద్ధతులను ఎలా అభివృద్ధి చేసుకుంటూ మరియు పునర్వినియోగించుకుంటున్నారో స్పష్టం చేస్తుంది. హానికరమైన పైథాన్ ప్యాకేజీలు మరియు హానికరమైన npm ప్యాకేజీలుదీనివల్ల హానికరమైన ప్యాకేజీలు ఓపెన్ సోర్స్ సరఫరా గొలుసుల్లోకి చొరబడే ప్రమాదం పెరుగుతుంది.
క్సైజెని యొక్క MEW: సారూప్యతలను గుర్తించడం
Xygeni యొక్క MEW టూల్, హానికరమైన ప్యాకేజీలను, ముఖ్యంగా 2025లో సాఫ్ట్వేర్ సప్లై చైన్ దాడులతో ముడిపడి ఉన్నవాటిని, ఓపెన్-సోర్స్ రిజిస్ట్రీలలో ప్రచురించిన వెంటనే గుర్తించి, ఫ్లాగ్ చేయడానికి రూపొందించబడింది. ఇది కొత్త ప్యాకేజీలను అనుమానాస్పద ప్రవర్తన కోసం విశ్లేషించడం ద్వారా పనిచేస్తుంది.
ఈ సందర్భంలో, అది రెండు గుర్తించింది హానికరమైన పైథాన్ ప్యాకేజీలు (graphalgo PyPIలో) మరియు హానికరమైన npm ప్యాకేజీలు (express-cookie-parser npmలో).
సాఫ్ట్వేర్ సప్లై చైన్ దాడులలో హానికరమైన పైథాన్ మరియు npm ప్యాకేజీలు (2025)
మన హెచ్చరికలను ప్రేరేపించిన ఉమ్మడి లక్షణాలను పరిశీలిద్దాం:
టైపోస్క్వాటింగ్
వారిద్దరూ అప్పటికే ప్రాచుర్యంలో ఉన్న ప్యాకేజీలను అనుకరించడానికి ప్రయత్నించారు.
- గ్రాఫాల్గో (PyPI): "గ్రాఫ్లు మరియు నెట్వర్క్లను సృష్టించడానికి మరియు మార్చడానికి ఉపయోగపడే పైథాన్ ప్యాకేజీ.ఒక వినియోగదారు అప్లోడ్ చేసారు “లారీటెక్” జూన్ 13, 2025న, ఈ ప్యాకేజీ అసలైన, హానికరమైనది కాని గ్రాఫాల్గో ప్రాజెక్ట్కు 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-ఆధారిత): గూగుల్ క్రోమ్ యూజర్ డేటా డైరెక్టరీలలో (ఉదా,
AppData\Local\Google\Chrome\UserData\Scripts\విండోస్లో,~/.config/google-chrome/Scripts/Linux మొదలైన వాటిపై).
సాఫ్ట్వేర్ సప్లై చైన్ దాడులలో హానికరమైన ప్యాకేజీల నుండి ఎలా రక్షించుకోవాలి 2025
డెవలపర్ల కోసం సిఫార్సు చేయబడిన విధానం
2025లో సాఫ్ట్వేర్ సప్లై చైన్ దాడుల యొక్క అభివృద్ధి చెందుతున్న ముప్పుల నేపథ్యంలో ఈ సంఘటన ఒక విలువైన కేస్ స్టడీగా ఉపయోగపడుతుంది. హానికరమైన పైథాన్ ప్యాకేజీలు మరియు హానికరమైన npm ప్యాకేజీలు విశ్వసనీయమైన వ్యవస్థలలోకి ఎలా చొరబడగలవో, మరియు చాలా ఆలస్యం అయ్యే వరకు తరచుగా గుర్తింపును ఎలా తప్పించుకోగలవో ఇది స్పష్టం చేస్తుంది. అందుకే, ముందస్తు గుర్తింపు, స్మార్ట్ టూలింగ్, మరియు చురుకైన సిస్టమ్ పరిశుభ్రత అనేవి ఇప్పుడు ఏదైనా సురక్షితమైన DevOps వర్క్ఫ్లోలో అత్యవసరమైన భాగాలుగా మారాయి. డెవలపర్లు ఈ క్రింది వాటిని పరిగణనలోకి తీసుకోవాలని ప్రోత్సహించబడ్డారు:
డిపెండెన్సీ సమీక్ష
మీ ప్రాజెక్ట్లలో ఇవి చేర్చబడి ఉంటే గ్రాఫాల్గో or ఎక్స్ప్రెస్-కుకీ-పార్సర్వారిని తొలగించే ప్రక్రియను కొనసాగించడం వివేకవంతమైనది.
- PyPI కోసం:
pip uninstall graphalgo - npm కోసం:
npm uninstall express-cookie-parser
సిస్టమ్ పరిశుభ్రత
సమగ్రమైన సిస్టమ్ స్కాన్ నిర్వహించడాన్ని పరిగణించండి. అలాగే, ఏవైనా ఊహించని సమస్యలు ఉన్నాయేమో అని సాధారణ Chrome యూజర్ డేటా డైరెక్టరీ మార్గాలను మాన్యువల్గా తనిఖీ చేయడం కూడా మంచిది. startup.py or startup.js ఫైళ్లు.
క్రియాశీల భద్రతా చర్యలు
- కొత్త ఆధారాలను అంచనా వేయండిఇంటిగ్రేషన్కు ముందు కొత్త ప్యాకేజీలను క్షుణ్ణంగా మూల్యాంకనం చేయడానికి ఒక దినచర్యను ఏర్పాటు చేసుకోండి, ముఖ్యంగా పరిచయం లేని ప్రచురణకర్తల నుండి వచ్చే వాటిపై దృష్టి పెట్టండి.
- భద్రతా సాధనాలను ఏకీకృతం చేయండిక్సైజెని యొక్క 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()కమ్యూనికేషన్ ఛానెల్లను అస్పష్టం చేయడానికి ప్రత్యేక క్రిప్టోగ్రాఫిక్ ఫంక్షన్లు, ఇవి DGA అమలుకు కీలకం.load_libraries()ప్రారంభ డౌన్లోడ్ నుండి తుది పేలోడ్ అమలు మరియు శుభ్రపరచడం వరకు, మొత్తం బహుళ-దశల ప్రక్రియను సమన్వయం చేసే కేంద్ర విధి.
పర్యవసానాలు
MEW ద్వారా గుర్తించబడిన ఇతర హానికరమైన ప్యాకేజీల మాదిరిగానే, ఈ హానికరమైన ప్యాకేజీలను తమ డిపెండెన్సీలలో చేర్చే వినియోగదారులను డిపెండెన్సీ ఫైర్వాల్ వెంటనే రక్షించింది. నిర్ధారణ తర్వాత, మేము రెండు రిజిస్ట్రీల కోసం నోటిఫికేషన్ విధానాలను అనుసరించాము, అవి సమీక్షించిన తర్వాత రెండు ప్యాకేజీలను తొలగించాయి.





