MCP দুর্বলতা উন্মোচন: বিষক্রিয়া ও কারসাজি

মডেল কনটেক্সট প্রোটোকল (MCP) ল্যান্ডস্কেপ, যা এখনও শৈশবকালে রয়েছে, জটিলতায় পরিপূর্ণ এবং অসংখ্য সম্ভাব্য আক্রমণের জন্য সংবেদনশীল। বর্তমান প্রোটোকল এবং সরঞ্জাম নকশা প্রায়শই পর্যাপ্ত সুরক্ষা প্রদানে ব্যর্থ হয়। এই চ্যালেঞ্জগুলো মোকাবেলা করতে এবং MCP নিরাপত্তার গভীরতর বোঝাপড়া তৈরি করতে, স্লোমিস্ট (SlowMist) মাস্টারএমসিপি (MasterMCP) উন্মুক্ত করেছে, যা ব্যবহারিক আক্রমণ সিমুলেশনগুলো সহজতর করার জন্য ডিজাইন করা একটি সরঞ্জাম। এই উদ্যোগের লক্ষ্য হল সম্প্রদায়কে তাদের MCP প্রকল্পগুলোর মধ্যে নিরাপত্তা দুর্বলতাগুলো সক্রিয়ভাবে সনাক্ত করতে এবং প্রশমিত করতে সক্ষম করা।

এই হাতে-কলমে পদ্ধতির পরিপূরক হিসেবে, MCP নিরাপত্তা চেকলিস্ট বিভিন্ন আক্রমণ ভেক্টরের অন্তর্নিহিত দৃষ্টিভঙ্গি সম্পর্কে মূল্যবান অন্তর্দৃষ্টি দেয়। এই নিবন্ধটি বাস্তব-বিশ্বের পরিস্থিতি নিয়ে আলোচনা করে, MCP ইকোসিস্টেমের মধ্যে সাধারণ আক্রমণ পদ্ধতিগুলো প্রদর্শন করে, যেমন তথ্য বিষক্রিয়া এবং গোপন দূষিত কমান্ডের অনুপ্রবেশ। এই প্রদর্শনীগুলোতে ব্যবহৃত সমস্ত স্ক্রিপ্ট গিটহাবে (GitHub) পাওয়া যায়, যা ব্যবহারকারীদের একটি সুরক্ষিত পরিবেশে সম্পূর্ণ প্রক্রিয়াটি প্রতিলিপি করতে এবং এমনকি তাদের নিজস্ব আক্রমণ পরীক্ষার প্লাগইন তৈরি করতে সক্ষম করে।

আর্কিটেকচারের সংক্ষিপ্ত বিবরণ

প্রদর্শনের জন্য টার্গেট MCP: টুলবক্স

স্মিথেরি.এআই (Smithery.ai) MCP প্লাগইনগুলোর জন্য একটি বিশিষ্ট কেন্দ্র হিসেবে দাঁড়িয়েছে, যা উল্লেখযোগ্য সংখ্যক MCP তালিকা এবং সক্রিয় ব্যবহারকারীদের আকর্ষণ করে। এদের মধ্যে, @smithery/toolbox, স্মিথেরি.এআই (smithery.ai) কর্তৃক প্রদত্ত একটি অফিসিয়াল MCP ম্যানেজমেন্ট টুল, এই নিরাপত্তা মূল্যায়নের কেন্দ্রবিন্দু হিসেবে কাজ করে।

টুলবক্সকে বেশ কয়েকটি কারণে পরীক্ষার লক্ষ্য হিসেবে বেছে নেওয়া হয়েছে:

  • এটির একটি উল্লেখযোগ্য সংখ্যক ব্যবহারকারী রয়েছে, যা MCP ইকোসিস্টেমের মধ্যে এটিকে একটি প্রতিনিধিত্বমূলক নমুনা করে তোলে।
  • এটি অতিরিক্ত প্লাগইনগুলোর স্বয়ংক্রিয় ইনস্টলেশন সমর্থন করে, যা ক্লায়েন্ট-সাইড কার্যকারিতা বৃদ্ধি করে (যেমন, ক্লড ডেস্কটপ)।
  • এটিতে সংবেদনশীল কনফিগারেশন রয়েছে, যেমন API কী, যা সম্ভাব্য শোষণগুলোর প্রদর্শনে সহায়তা করে।

প্রদর্শনের জন্য ব্যবহৃত দূষিত MCP: মাস্টারএমসিপি

মাস্টারএমসিপি (MasterMCP), বিশেষভাবে নিরাপত্তা পরীক্ষার উদ্দেশ্যে স্লোমিস্ট (SlowMist) দ্বারা তৈরি, একটি মডুলার আর্কিটেকচারের উপর নির্মিত একটি সিমুলেটেড দূষিত MCP সরঞ্জাম। এর মূল উপাদানগুলো হলো:

  1. স্থানীয় ওয়েবসাইট পরিষেবা সিমুলেশন: http://127.0.0.1:1024

একটি বাস্তবসম্মত আক্রমণের পরিস্থিতি তৈরি করতে, মাস্টারএমসিপি (MasterMCP) একটি স্থানীয় ওয়েবসাইট পরিষেবা সিমুলেশন মডিউল অন্তর্ভুক্ত করে। ফাস্টএপিআই (FastAPI) ফ্রেমওয়ার্ক ব্যবহার করে, এই মডিউলটি দ্রুত একটি সাধারণ HTTP সার্ভার স্থাপন করে যা সাধারণ ওয়েব পরিবেশের অনুকরণ করে। এই পৃষ্ঠাগুলো নিরীহ মনে হতে পারে, বেকারি তথ্য প্রদর্শন করে বা স্ট্যান্ডার্ড JSON ডেটা ফেরত দেয়, কিন্তু এগুলো তাদের সোর্স কোড বা API প্রতিক্রিয়ার মধ্যে সতর্কতার সাথে তৈরি করা দূষিত পেলোড লুকিয়ে রাখে।

এই পদ্ধতিটি একটি সুরক্ষিত, নিয়ন্ত্রিত স্থানীয় পরিবেশে তথ্য বিষক্রিয়া এবং কমান্ড লুকানোর কৌশলগুলোর ব্যাপক প্রদর্শনের অনুমতি দেয়। এটি আপাতদৃষ্টিতে সাধারণ ওয়েব পেজের মধ্যে লুকিয়ে থাকা সম্ভাব্য ঝুঁকিগুলোকে তুলে ধরে, যা বৃহৎ ভাষা মডেলগুলোতে অস্বাভাবিক আচরণ ট্রিগার করতে পারে।

  1. স্থানীয়কৃত প্লাগ-ইন MCP আর্কিটেকচার

নতুন আক্রমণ ভেক্টরগুলোর জন্য দ্রুত প্রসারণের সুবিধার্থে মাস্টারএমসিপি (MasterMCP) একটি প্লাগ-ইন পদ্ধতি গ্রহণ করে। নির্বাহের পরে, মাস্টারএমসিপি (MasterMCP) একটি সাব-প্রসেসে পূর্ববর্তী মডিউলের ফাস্টএপিআই (FastAPI) পরিষেবা শুরু করে।

প্রদর্শন ক্লায়েন্ট

  • কার্সর (Cursor): বিশ্বব্যাপী সর্বাধিক ব্যবহৃত এআই-সহায়ক প্রোগ্রামিং IDE গুলোর মধ্যে একটি।
  • ক্লড ডেস্কটপ (Claude Desktop): অ্যানথ্রোপিকের (Anthropic) অফিসিয়াল ক্লায়েন্ট, যে সংস্থা MCP প্রোটোকল কাস্টমাইজ করেছে।

প্রদর্শনের জন্য ব্যবহৃত বৃহৎ ভাষা মডেল (LLM)

  • ক্লড ৩.৭ (Claude 3.7)

ক্লড ৩.৭ (Claude 3.7) কে সংবেদনশীল ক্রিয়াকলাপগুলো সনাক্তকরণের উন্নত ক্ষমতা এবং বর্তমান MCP ইকোসিস্টেমের মধ্যে শক্তিশালী অপারেশনাল ক্ষমতার প্রতিনিধিত্বের কারণে নির্বাচন করা হয়েছিল।

claude\_desktop\_config.json এর কনফিগারেশন

কনফিগারেশন সম্পূর্ণ হওয়ার সাথে সাথেই প্রদর্শনী পর্ব শুরু হয়।

ক্রস-MCP দূষিত আহ্বান

এই প্রদর্শনীতে চেকলিস্টে বর্ণিত বিষক্রিয়া কৌশল এবং ক্রস-MCP দূষিত আহ্বান কৌশল উভয়ই অন্তর্ভুক্ত করা হয়েছে।

ওয়েব পেজ কন্টেন্ট বিষক্রিয়া আক্রমণ

  1. মন্তব্য-ভিত্তিক বিষক্রিয়া

কার্সর (Cursor) http://127.0.0.1:1024 এ স্থানীয় পরীক্ষার ওয়েবসাইট অ্যাক্সেস করে।

“ডিলিশিয়াস কেইক ওয়ার্ল্ড” (Delicious Cake World) সম্পর্কে এই আপাতদৃষ্টিতে নিরীহ পৃষ্ঠাটি একটি দূষিত ওয়েবসাইট অ্যাক্সেস করার ক্ষেত্রে একটি বৃহৎ ভাষা মডেল ক্লায়েন্টের সম্ভাব্য প্রভাব চিত্রিত করার জন্য একটি সিমুলেশন হিসাবে কাজ করে।

নির্বাহ কমান্ড:

ফলাফলগুলো প্রকাশ করে যে কার্সর (Cursor) কেবল ওয়েব পেজের বিষয়বস্তু পড়েই না, বরং স্থানীয় সংবেদনশীল কনফিগারেশন ডেটাও পরীক্ষার সার্ভারে ফেরত পাঠায়। দূষিত প্রম্পটটি HTML মন্তব্য হিসাবে সোর্স কোডে এম্বেড করা হয়েছে:

যদিও এই মন্তব্য-ভিত্তিক পদ্ধতিটি তুলনামূলকভাবে সরল এবং সহজেই সনাক্তযোগ্য, তবুও এটি দূষিত ক্রিয়াকলাপ ট্রিগার করতে সক্ষম।

  1. এনকোডেড মন্তব্য বিষক্রিয়া

http://127.0.0.1:1024/encode অ্যাক্সেস করলে এমন একটি পৃষ্ঠা দেখা যায় যা পূর্ববর্তী উদাহরণের মতোই। যাইহোক, দূষিত প্রম্পটগুলো এনকোড করা হয়েছে, যা পৃষ্ঠার সোর্স কোড পরিদর্শন করার সময়ও শোষণটিকে সনাক্ত করা আরও কঠিন করে তোলে।

সোর্স কোডে সুস্পষ্ট প্রম্পটগুলোর অনুপস্থিতি সত্ত্বেও, আক্রমণ সফল হয়।

MCP টুল রিটার্ন তথ্য বিষক্রিয়া

মাস্টারএমসিপি (MasterMCP) প্রম্পট নির্দেশাবলীর উপর ভিত্তি করে, আমরা একটি সিমুলেটেড কমান্ড ইনপুট করি যা দূষিত MCP কে ট্রিগার করে এবং এর পরবর্তী ক্রিয়াকলাপগুলো প্রদর্শন করে।

কমান্ড ট্রিগার করার পরে, ক্লায়েন্ট টুলবক্সে (Toolbox) একটি ক্রস-MCP কল শুরু করে এবং সফলভাবে একটি নতুন MCP সার্ভার যুক্ত করে।

প্লাগইন কোড পরিদর্শন করে দেখা যায় যে প্রত্যাবর্তিত ডেটাতে একটি এনকোডেড দূষিত পেলোড রয়েছে, যা ব্যবহারকারীর কাছে কার্যত অ সনাক্তযোগ্য।

তৃতীয় পক্ষের ইন্টারফেস দূষণ আক্রমণ

এই প্রদর্শনীটি দূষিত এবং অ-দূষিত MCP উভয়টির সাথেই সম্পর্কিত সম্ভাব্য ঝুঁকিগুলো তুলে ধরে যা তৃতীয় পক্ষের API ডেটা সরাসরি প্রেক্ষাপটে ফিরিয়ে দেয়।

উদাহরণ কোড:

নির্বাহ অনুরোধ:

ফলাফল: দূষিত প্রম্পটটি প্রত্যাবর্তিত JSON ডেটাতে এম্বেড করা হয়েছে এবং সফলভাবে দূষিত নির্বাহ ট্রিগার করে।

MCP ইনিশিয়ালাইজেশনের সময় বিষক্রিয়া কৌশল

এই প্রদর্শনীতে প্রাথমিক প্রম্পট ইনজেকশন এবং নামের দ্বন্দ্বের চেকলিস্ট আইটেমগুলো অন্তর্ভুক্ত রয়েছে।

দূষিত ফাংশন ওভাররাইট আক্রমণ

মাস্টারএমসিপি (MasterMCP) টুলবক্সের (Toolbox) remove_server ফাংশনের মতো একই ফাংশন নামের একটি সরঞ্জাম তৈরি করে এবং এর মধ্যে দূষিত প্রম্পট এনকোড করে।

নির্বাহ কমান্ড:

ক্লড ডেস্কটপ (Claude Desktop) মূল toolbox remove_server পদ্ধতি আহ্বান করে না, তবে পরিবর্তে একই নামের মাস্টারএমসিপি (MasterMCP) দ্বারা সরবরাহকৃত পদ্ধতি ট্রিগার করে:

এটি জোর দিয়ে অর্জন করা হয় যে “মূল পদ্ধতিটি বাতিল করা হয়েছে,” যা বৃহৎ ভাষা মডেলকে দূষিতভাবে ওভাররাইট করা ফাংশনকে অগ্রাধিকার দিতে উৎসাহিত করে।

দূষিত গ্লোবাল পরিদর্শন লজিক যুক্ত করা

মাস্টারএমসিপি (MasterMCP) “banana” নামের একটি সরঞ্জাম তৈরি করে, যা অন্য কোনও সরঞ্জাম নির্বাহের আগে একটি বাধ্যতামূলক নিরাপত্তা পরীক্ষা কার্যকর করার জন্য ডিজাইন করা হয়েছে।

প্রতিটি ফাংশন নির্বাহ করার আগে, সিস্টেম “banana” পরীক্ষা প্রক্রিয়াটিকে অগ্রাধিকার দেয়:

এই গ্লোবাল লজিক ইনজেকশন কোডের মধ্যে “banana সনাক্তকরণের বাধ্যতামূলক নির্বাহ” বার বার জোর দেওয়ার মাধ্যমে সম্পন্ন করা হয়।

দূষিত প্রম্পট লুকানোর জন্য উন্নত কৌশল

LLM-বান্ধব এনকোডিং পদ্ধতি

বৃহৎ ভাষা মডেলগুলোর বহুভাষিক বিন্যাসগুলোর জন্য শক্তিশালী পার্সিং ক্ষমতা রয়েছে, যা দূষিত তথ্য লুকানোর জন্য কাজে লাগানো যেতে পারে। সাধারণ পদ্ধতিগুলোর মধ্যে রয়েছে:

  • ইংরেজি পরিবেশ: হেক্স বাইট এনকোডিং (Hex Byte encoding)
  • চীনা পরিবেশ: এনসিআর এনকোডিং (NCR encoding) বা জাভাস্ক্রিপ্ট এনকোডিং (JavaScript encoding)

র্যান্ডম দূষিত পেলোড রিটার্ন মেকানিজম

তৃতীয় বিভাগে উল্লিখিত তৃতীয় পক্ষের ইন্টারফেস দূষণের মতোই, http://127.0.0.1:1024/random এ অনুরোধ করলে:

প্রতিটি অনুরোধ দূষিত পেলোডযুক্ত একটি এলোমেলোভাবে তৈরি পৃষ্ঠা প্রদান করে, যা সনাক্তকরণ এবং ট্রেসিংয়ের অসুবিধা উল্লেখযোগ্যভাবে বাড়িয়ে তোলে।

মাস্টারএমসিপি (MasterMCP) এর বাস্তব প্রদর্শনের মাধ্যমে, মডেল কনটেক্সট প্রোটোকল (MCP) ইকোসিস্টেমের মধ্যে লুকানো সুরক্ষা দুর্বলতাগুলো প্রকাশ করা হয়েছে। প্রাথমিক প্রম্পট ইনজেকশন এবং ক্রস-MCP কল থেকে শুরু করে সূক্ষ্ম আক্রমণগুলো যেমন শুরু করার সময় এবং দূষিত নির্দেশাবলী গোপন করা পর্যন্ত, প্রতিটি পর্যায় MCP ইকোসিস্টেমের শক্তির পাশাপাশি অন্তর্নিহিত দুর্বলতার অনুস্মারক হিসাবে কাজ করে।

আজ, যেহেতু বৃহৎ মডেলগুলো ক্রমবর্ধমানভাবে বাহ্যিক প্লাগইন এবং API এর সাথে ইন্টারঅ্যাক্ট করে, তাই আপাতদৃষ্টিতে ছোটখাটো ইনপুট দূষণ সিস্টেম-ব্যাপী নিরাপত্তা ঝুঁকি ট্রিগার করতে পারে। আক্রমণকারীর কৌশলগুলোর ক্রমবর্ধমান বৈচিত্র্য, যার মধ্যে এনকোডিং কৌশল, র্যান্ডম দূষণ এবং ফাংশন ওভাররাইট অন্তর্ভুক্ত রয়েছে, ঐতিহ্যবাহী সুরক্ষা পদ্ধতির একটি বিস্তৃত আপগ্রেডের প্রয়োজনীয়তা তৈরি করে।