সফটওয়্যার সাপ্লাই চেইন আক্রমণ ২০২৫ - ক্ষতিকারক প্যাকেজ - ক্ষতিকারক পাইথন প্যাকেজ - ক্ষতিকারক এনপিএম প্যাকেজ

২০২৫ সালের সফটওয়্যার সাপ্লাই চেইন আক্রমণ নিয়ে গভীর পর্যালোচনা: PyPI ও npm ক্যাম্পেইনের তুলনা

সুচিপত্র

অবশ্যই পঠনীয় পোস্ট

আগ্রহের সর্বশেষ পোস্টগুলি

জাইজেনি সম্প্রতি ২০২৫ সালে সফটওয়্যার সাপ্লাই চেইন আক্রমণের প্রেক্ষাপটে একটি উদ্বেগজনক ধারা লক্ষ্য করেছে।দুটি জনপ্রিয় প্যাকেজ ম্যানেজারে উদ্ভূত হচ্ছে: PyPI এবং npmআমাদের চলমান হুমকি গোয়েন্দা কার্যক্রমের অংশ হিসেবে,জাইজেনির ম্যালওয়্যার আর্লি ওয়ার্নিং (MEW) টুলটি পূর্বে অন্য একটি রেজিস্ট্রিতে আপলোড করা একটি ক্ষতিকারক প্যাকেজের একটি স্বতন্ত্র কিন্তু পদ্ধতিগতভাবে অনুরূপ দৃষ্টান্ত শনাক্ত করেছে। এই ঘটনাটি তুলে ধরে যে কীভাবে হুমকি সৃষ্টিকারীরা বিভিন্ন ইকোসিস্টেম জুড়ে, বিশেষ করে এর মাধ্যমে, তাদের আক্রমণ কৌশল বিকশিত করছে এবং পুনরায় ব্যবহার করছে। ক্ষতিকারক পাইথন প্যাকেজ এবং ক্ষতিকারক এনপিএম প্যাকেজযা ওপেন সোর্স সাপ্লাই চেইনে ক্ষতিকারক প্যাকেজ অনুপ্রবেশের ঝুঁকি বাড়িয়ে দেয়।

জাইজেনির MEW: সাদৃশ্যগুলো চিহ্নিত করা

জাইজেনির MEW টুলটি তৈরি করা হয়েছে ক্ষতিকারক প্যাকেজ, বিশেষ করে ২০২৫ সালের সফটওয়্যার সাপ্লাই চেইন অ্যাটাকের সাথে যুক্ত প্যাকেজগুলোকে, ওপেন-সোর্স রেজিস্ট্রিগুলোতে প্রকাশিত হওয়ার সাথে সাথেই শনাক্ত ও চিহ্নিত করার জন্য। এটি নতুন প্যাকেজগুলোর সন্দেহজনক আচরণ বিশ্লেষণ করে কাজ করে।

এক্ষেত্রে, এটি দুটি শনাক্ত করেছে। ক্ষতিকারক পাইথন প্যাকেজ (graphalgo PyPI-তে) এবং ক্ষতিকারক এনপিএম প্যাকেজ (express-cookie-parser এনপিএম-এ)।

সফটওয়্যার সাপ্লাই চেইন আক্রমণে ক্ষতিকর পাইথন এবং এনপিএম প্যাকেজ (২০২৫)

আসুন সেই সাধারণ বৈশিষ্ট্যগুলো খতিয়ে দেখি যা আমাদের অ্যালার্টগুলো সক্রিয় করেছিল:

টাইপস্কোটিং

তারা দুজনেই বিদ্যমান জনপ্রিয় প্যাকেজগুলোর অনুকরণ করার চেষ্টা করেছিল।

  • গ্রাফালগো (পাইপিআই): "গ্রাফ ও নেটওয়ার্ক তৈরি এবং পরিচালনা করার জন্য পাইথন প্যাকেজ।"নামে একজন ব্যবহারকারী আপলোড করেছেন" “ল্যারিটেক” ২০২৫ সালের ১৩ই জুন, এই প্যাকেজটি মূল নিরীহ 'গ্রাফঅ্যালগো' প্রজেক্টের একটি পাইপিআই (PyPi) বিকল্প হিসেবে আত্মপ্রকাশ করে, যেটির নাম পরে 'গ্রাফডিক্ট' রাখা হয়েছিল।
  • এক্সপ্রেস-কুকি-পার্সার (এনপিএম)এই প্যাকেজটি সুপরিচিত cookie-parser প্যাকেজটিকে অনুকরণ করেছে, এমনকি এর গঠনও হুবহু নকল করেছে। README.md. বিদ্যমান বিশ্বাসকে কাজে লাগানোর জন্য এই ধরনের ছদ্মবেশ একটি চিরাচরিত কৌশল।

প্রাথমিক প্রতিরক্ষা ব্যবস্থা হিসেবে ধোঁয়াশা সৃষ্টি

উভয় প্যাকেজই তাদের ক্ষতিকারক কোড মূল ফাইলগুলোর ভেতরে গোপন করে রেখেছিল। গ্রাফালগোঅস্পষ্ট কোডটি পাওয়া গিয়েছিল /utils/load_libraries.py. এর ব্যাপারে এক্সপ্রেস-কুকি-পার্সার, cookie-loader.min.js দুর্বোধ্য পেলোডটি ধারণ করেছিল।

এই প্রাথমিক স্তরের অস্পষ্টতা সাধারণত সাধারণ পরিদর্শন এবং স্ট্যাটিক বিশ্লেষণকে বাধাগ্রস্ত করার জন্য ব্যবহৃত হয়। এই অস্পষ্টতা ছিল বেশ সহজ: বারবার ZLib কম্প্রেশন এবং Base64 এনকোডিং। এই ধরনের অস্পষ্টতা স্পষ্টভাবে নির্দেশ করে যে সফটওয়্যারটি তার আচরণ গোপন করার চেষ্টা করছে। অন্যান্য প্রমাণের সাথে, এটি Xygeni MEW-কে প্যাকেজগুলোকে সম্ভাব্য ম্যালওয়্যার হিসেবে শ্রেণীবদ্ধ করতে সাহায্য করে। নিশ্চিতকরণ পর্যায়ে, আমাদের পর্যালোচকরা দ্রুত একটি ডিওবফাসকেশন স্ক্রিপ্ট প্রস্তুত করেন যা সুস্পষ্টভাবে ক্ষতিকারক ড্রপার পর্যায়টিকে প্রকাশ করে দেয়।

বহু-পর্যায়ের পেলোড ডেলিভারি এবং একটি সাধারণ উৎস বিন্দু

উভয় প্যাকেজই প্রাথমিক "ড্রপার্স,” আসল পেলোডের জন্য মঞ্চ প্রস্তুত করা হচ্ছিল। তাদের একটি সাধারণ বাহ্যিক “বীজফাইল ইউআরএল:
https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example

এই অভিন্ন এক্সটার্নাল সিড ফাইলটি একটি অভিন্ন থ্রেট অ্যাক্টরের শক্তিশালী ইঙ্গিত। মজার ব্যাপার হলো, এই সিড ফাইলের বিষয়বস্তু সাধারণ এনভায়রনমেন্ট ভেরিয়েবল (যেমন, JWT_SECRET, PORT) বলে মনে হচ্ছে, যা এর প্রকৃত কার্যকারিতা সম্পর্কে অনুসন্ধানে বিভ্রান্তি সৃষ্টি করতে পারে।

DGA সহ ডায়নামিক C2 রেজোলিউশন

এই ক্ষতিকারক প্যাকেজগুলিতে একটি অত্যাধুনিক কৌশল হলো কমান্ড অ্যান্ড কন্ট্রোল (C2) সার্ভারকে গতিশীলভাবে নির্ধারণ করার জন্য একটি ডোমেইন জেনারেশন অ্যালগরিদম (DGA) ব্যবহার করা। এই কৌশলটি, যা প্রায়শই ২০২৫ সালের উন্নত সফটওয়্যার সাপ্লাই চেইন আক্রমণে দেখা যায়, তা সিড ফাইলের বিষয়বস্তু থেকে প্রাপ্ত একটি SHA256 হ্যাশ এবং অন্যান্য হার্ডকোডেড মানের উপর নির্ভর করে। এর ফলে, C2 পরিকাঠামো ঘন ঘন পরিবর্তিত হয়, যা প্রচলিত ব্ল্যাকলিস্টিংকে অনেক কম কার্যকর করে তোলে। এই ক্ষেত্রে, npm ভ্যারিয়েন্টটি একটি নির্দিষ্ট মান ব্যবহার করেছিল। 496AAC7E এর ডিজিএ লজিকের অংশ হিসেবে।

অধ্যবসায় প্রতিষ্ঠা করা

উভয় আক্রমণকারীই আক্রান্ত সিস্টেমগুলোতে একটি স্থায়ী উপস্থিতি প্রতিষ্ঠা করতে চেয়েছিল। তাদের কৌশলের মধ্যে একটি ফাইল ফেলে দেওয়া অন্তর্ভুক্ত ছিল, startup.py (PyPi-এর জন্য) অথবা startup.js (npm-এর জন্য), বিভিন্ন অপারেটিং সিস্টেম (উইন্ডোজ, লিনাক্স, ম্যাকওএস) জুড়ে থাকা সাধারণ গুগল ক্রোম ব্যবহারকারীর ডেটা ডিরেক্টরিগুলোতে।

কার্য সম্পাদনের পরবর্তী পরিচ্ছন্নতা

চিহ্ন মুছে ফেলার জন্য, উভয় ক্ষতিকারক স্ক্রিপ্টই পরিষ্করণ কার্যক্রম সম্পাদন করেছিল। এর মধ্যে তাদের প্রাথমিক ড্রপার ফাইলগুলো মুছে ফেলাও অন্তর্ভুক্ত ছিল (load_libraries.py, cookie-loader.min.js) এবং বৈধ প্যাকেজ ফাইলগুলি পরিবর্তন করা (__init__.py, index.jsএখন মুছে ফেলা উপাদানগুলোর উল্লেখগুলো অপসারণ করতে।

ক্ষতিকর পাইথন এবং এনপিএম প্যাকেজে আপোসের সূচক

  • পাইপিআই প্যাকেজ: গ্রাফঅ্যালগো (ল্যারিটেক কর্তৃক প্রকাশিত, ১৩ জুন, ২০২৫)
  • এনপিএম প্যাকেজএক্সপ্রেস-কুকি-পার্সার (বিশেষত সংস্করণ ১.৪.১২)
  • শেয়ার করা সিড ইউআরএল-এ অ্যাক্সেস

https://raw.githubusercontent.com/johns92/blog_app/refs/heads/main/server/.env.example

  • স্থায়ী ফাইলের নাম: startup.py (পাইথন) startup.js (জাভাস্ক্রিপ্ট)
  • সাধারণ স্থায়ী পথ (অপারেটিং সিস্টেম-নির্ভর)গুগল ক্রোম ব্যবহারকারীর ডেটা ডিরেক্টরিগুলির মধ্যে (যেমন, AppData\Local\Google\Chrome\UserData\Scripts\ উইন্ডোজে, ~/.config/google-chrome/Scripts/ লিনাক্স ইত্যাদিতে)।

সফটওয়্যার সাপ্লাই চেইন আক্রমণ ২০২৫-এ ক্ষতিকারক প্যাকেজ থেকে কীভাবে রক্ষা পাবেন

ডেভেলপারদের জন্য একটি প্রস্তাবিত পদ্ধতি

২০২৫ সালে সফটওয়্যার সাপ্লাই চেইন আক্রমণের ক্রমবর্ধমান হুমকির প্রেক্ষাপটে এই ঘটনাটি একটি মূল্যবান কেস স্টাডি হিসেবে কাজ করে। এটি তুলে ধরে যে, কীভাবে ক্ষতিকারক পাইথন প্যাকেজ এবং ক্ষতিকারক এনপিএম প্যাকেজগুলো বিশ্বস্ত ইকোসিস্টেমে প্রবেশ করতে পারে এবং প্রায়শই অনেক দেরি হয়ে যাওয়ার আগ পর্যন্ত শনাক্তকরণ এড়িয়ে যায়। একারণেই, আগাম শনাক্তকরণ, স্মার্ট টুলিং এবং সক্রিয় সিস্টেম হাইজিন এখন যেকোনো নিরাপদ ডেভঅপস ওয়ার্কফ্লোর অপরিহার্য অংশ। ডেভেলপারদের নিম্নলিখিত বিষয়গুলো বিবেচনা করার জন্য উৎসাহিত করা হচ্ছে:

নির্ভরশীলতা পর্যালোচনা

যদি আপনার প্রকল্পগুলিতে অন্তর্ভুক্ত থাকে গ্রাফালগো or এক্সপ্রেস-কুকি-পার্সারতাদের অপসারণের প্রক্রিয়া শুরু করা বিচক্ষণতার কাজ হবে।

  • PyPI-এর জন্য: pip uninstall graphalgo
  • এনপিএম-এর জন্য: npm uninstall express-cookie-parser

সিস্টেম হাইজিন

একটি পূর্ণাঙ্গ সিস্টেম স্ক্যান করার কথা বিবেচনা করুন। এছাড়াও, কোনো অপ্রত্যাশিত কিছুর জন্য ক্রোম ব্যবহারকারীর ডেটা ডিরেক্টরির সাধারণ পাথগুলো ম্যানুয়ালি পরীক্ষা করে দেখা বাঞ্ছনীয়। startup.py or startup.js ফাইল।

সক্রিয় নিরাপত্তা ব্যবস্থা

  • নতুন নির্ভরশীলতা মূল্যায়ন করুনইন্টিগ্রেশনের আগে নতুন প্যাকেজগুলো পুঙ্খানুপুঙ্খভাবে মূল্যায়ন করার জন্য একটি রুটিন প্রতিষ্ঠা করুন, বিশেষ করে অপরিচিত প্রকাশকদের প্যাকেজগুলোর উপর মনোযোগ দিন।
  • নিরাপত্তা সরঞ্জাম একীভূত করুনXygeni-এর MEW-এর মতো টুল, অন্যান্য সফটওয়্যার কম্পোজিশন অ্যানালাইসিসের সাথে (SCAএই সমাধানগুলো সন্দেহজনক আচরণ ও দুর্বলতা শনাক্ত করার মাধ্যমে প্রতিরক্ষার একটি গুরুত্বপূর্ণ স্তর প্রদান করতে পারে।
  • একদম সামান্য সুযোগ সুবিধান্যূনতম বিশেষাধিকারের নীতি মেনে উন্নয়ন পরিবেশ পরিচালনা করলে কোনো আপসের সম্ভাব্য প্রভাব সীমিত করা যেতে পারে।
  • নেটওয়ার্ক সচেতনতাঅস্বাভাবিক সংযোগের জন্য বহির্গামী নেটওয়ার্ক ট্র্যাফিক নিরীক্ষণ করলে কখনও কখনও ডিজিএ-উৎপাদিত সি২ যোগাযোগ প্রকাশ পেতে পারে।

এর মূল উপাদান 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 দ্বারা চিহ্নিত অন্যান্য সম্ভাব্য ক্ষতিকারক প্যাকেজের মতোই, ডিপেন্ডেন্সি ফায়ারওয়ালটি সেইসব ব্যবহারকারীদের অবিলম্বে সুরক্ষিত করেছিল যারা এই ক্ষতিকারক প্যাকেজগুলিকে তাদের ডিপেন্ডেন্সিতে অন্তর্ভুক্ত করত। নিশ্চিতকরণের পর, আমরা উভয় রেজিস্ট্রির জন্য বিজ্ঞপ্তি পদ্ধতি অনুসরণ করেছি, যা পর্যালোচনার পর উভয় প্যাকেজকেই সরিয়ে দিয়েছে।

sca-tools-software-composition-analysis-tools
আপনার সফটওয়্যারের ঝুঁকিগুলোকে অগ্রাধিকার দিন, প্রতিকার করুন এবং সুরক্ষিত করুন।
আপনার বিনামূল্যে অ্যাকাউন্টটি নিন।
কোন ক্রেডিট কার্ড প্রয়োজন নেই

আপনার সফটওয়্যার উন্নয়ন ও বিতরণ সুরক্ষিত করুন

Xygeni প্রোডাক্ট স্যুটের সাথে