人工智能 সরঞ্জামগুলির দ্রুত বিস্তার হওয়ার সাথে সাথে, এদের সুরক্ষা নিশ্চিত করা অত্যন্ত গুরুত্বপূর্ণ। এই সুরক্ষা চেকলিস্টের লক্ষ্য হল বিকাশকারীদের মডেল কনটেক্সট প্রোটোকল (MCP) সম্পর্কিত সম্ভাব্য ঝুঁকিগুলি সনাক্ত করতে এবং কমাতে সহায়তা করা। MCP বৃহৎ ভাষা মডেল (LLM) এবং বাহ্যিক সরঞ্জাম ও ডেটা উৎসের মধ্যে একটি গুরুত্বপূর্ণ সংযোগ স্থাপন করে।
পটভূমি
এই সুরক্ষা চেকলিস্ট @SlowMist_Team দ্বারা লিখিত এবং রক্ষণাবেক্ষণ করা হয়, যার লক্ষ্য ব্লকচেইন এবং কৃত্রিম বুদ্ধিমত্তা ইকোসিস্টেমের নিরাপত্তা বৃদ্ধি করা। এই চেকলিস্টে মূল্যবান অবদান রাখার জন্য FENZ.AI-কে ধন্যবাদ।
সারসংক্ষেপ
২০২৪ সালের শেষের দিকে প্রকাশের পর থেকে, MCP ব্যাপকভাবে Claude Desktop, Cursor-এর মতো প্রধান AI অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়েছে। তবে, MCP-এর দ্রুত বিস্তার নতুন নিরাপত্তা চ্যালেঞ্জ নিয়ে এসেছে। বর্তমান MCP আর্কিটেকচার হোস্ট (স্থানীয়ভাবে চলমান AI অ্যাপ্লিকেশন পরিবেশ), ক্লায়েন্ট (সার্ভারের সাথে যোগাযোগ এবং সরঞ্জাম কল করার জন্য দায়ী উপাদান) এবং সার্ভার (MCP প্লাগইন সম্পর্কিত সার্ভার সাইড) এই তিনটি অংশ নিয়ে গঠিত। ব্যবহারকারী হোস্টের সাথে AI-এর মাধ্যমে যোগাযোগ করে, ক্লায়েন্ট ব্যবহারকারীর অনুরোধ বিশ্লেষণ করে এবং MCP সার্ভারে ফরোয়ার্ড করে, সরঞ্জাম কল বা রিসোর্স অ্যাক্সেস করে। একাধিক উদাহরণ, একাধিক উপাদান সমন্বিত অপারেশনের ক্ষেত্রে, এই আর্কিটেকচারটি একাধিক সুরক্ষা ঝুঁকি তৈরি করে, বিশেষ করে ক্রিপ্টোকারেন্সি লেনদেন বা LLM কাস্টম প্লাগইন অ্যাডাপ্টেশনের মতো সংবেদনশীল পরিস্থিতিতে ঝুঁকি আরও বেশি, যা পরিচালনা করার জন্য উপযুক্ত সুরক্ষা ব্যবস্থার প্রয়োজন।
অতএব, একটি বিস্তৃত MCP সুরক্ষা চেকলিস্ট তৈরি করা এবং অনুসরণ করা অত্যন্ত গুরুত্বপূর্ণ। এই চেকলিস্টে ব্যবহারকারীর ইন্টারঅ্যাকশন ইন্টারফেস, ক্লায়েন্ট উপাদান, পরিষেবা প্লাগইন, মাল্টি-এমসিপি সহযোগিতা প্রক্রিয়া এবং নির্দিষ্ট ক্ষেত্রগুলির (যেমন ক্রিপ্টোকারেন্সি পরিস্থিতি) সুরক্ষা মূল বিষয়গুলি অন্তর্ভুক্ত করা হয়েছে, যার লক্ষ্য বিকাশকারীদের সম্ভাব্য ঝুঁকিগুলি সনাক্ত করতে এবং সময় মতো সেগুলি প্রতিরোধ করতে সহায়তা করা। এই সুরক্ষা ব্যবস্থাগুলি বাস্তবায়নের মাধ্যমে, MCP সিস্টেমের সামগ্রিক স্থিতিশীলতা এবং নিয়ন্ত্রণযোগ্যতা কার্যকরভাবে বৃদ্ধি করা যেতে পারে এবং AI অ্যাপ্লিকেশনগুলির দ্রুত বিকাশের সাথে সাথে নিরাপত্তা নিশ্চিত করা যায়।
কিভাবে ব্যবহার করবেন
এই চেকলিস্টটি MCP প্রকল্পের নিরীক্ষণে সম্মুখীন হওয়া সম্ভাব্য ঝুঁকির উপর ভিত্তি করে তৈরি করা হয়েছে, যার লক্ষ্য বিকাশকারীদের MCP বাস্তবায়নের নিরাপত্তা নিশ্চিত করতে সহায়তা করা। আমরা প্রকল্পগুলির গুরুত্ব চিহ্নিত করতে ৩টি স্তরের অগ্রাধিকার ব্যবহার করি:
- 🟢️ প্রস্তাবিত প্রকল্প, তবে নির্দিষ্ট পরিস্থিতিতে বাদ দেওয়া যেতে পারে।
- 🔶 দৃঢ়ভাবে প্রস্তাবিত প্রকল্প, তবে বিশেষ পরিস্থিতিতে বাদ দেওয়া যেতে পারে, বাদ দিলে নিরাপত্তার উপর নেতিবাচক প্রভাব পড়তে পারে।
- 🟥️ কোনো অবস্থাতেই বাদ দেওয়া উচিত নয় এমন প্রকল্প, এই উপাদানগুলি সরানো হলে সিস্টেমের ত্রুটি বা নিরাপত্তা দুর্বলতা দেখা দিতে পারে।
MCP সার্ভার (MCP প্লাগইন) নিরাপত্তা
MCP পরিষেবা হল এমন একটি বাহ্যিক পরিষেবা যা AI কল করার জন্য সরঞ্জাম, সংস্থান এবং ফাংশন সরবরাহ করে। এতে সাধারণত সংস্থান, সরঞ্জাম এবং প্রম্পট অন্তর্ভুক্ত থাকে। MCP সার্ভারের সুরক্ষা নিশ্চিত করার জন্য এখানে কিছু বিষয় উল্লেখ করা হলো:
এপিআই নিরাপত্তা
- ইনপুট যাচাইকরণ: 🟥️ সমস্ত API ইনপুট কঠোরভাবে যাচাই করুন, ইনজেকশন আক্রমণ এবং অবৈধ প্যারামিটার প্রতিরোধ করুন। এর মধ্যে ডেটা টাইপ, দৈর্ঘ্য এবং বিন্যাস যাচাই করা এবং ইনপুট পরিষ্কার ও সুরক্ষিত করা অন্তর্ভুক্ত।
- এপিআই রেট লিমিটিং: 🔶 অপব্যবহার এবং আক্রমণ প্রতিরোধ করতে API কল রেট সীমিত করুন। এটি দূষিত ব্যবহারকারীদের প্রচুর পরিমাণে অনুরোধ পাঠিয়ে সার্ভারকে দুর্বল করা থেকে আটকাতে পারে।
- আউটপুট এনকোডিং: 🔶 ক্রস-সাইট স্ক্রিপ্টিং (XSS) আক্রমণ প্রতিরোধ করতে API আউটপুট সঠিকভাবে এনকোড করুন। এর মধ্যে HTML, JavaScript এবং URL-এর মতো আউটপুট এনকোড করা অন্তর্ভুক্ত।
সার্ভার প্রমাণীকরণ এবং অনুমোদন
- অ্যাক্সেস কন্ট্রোল: 🟥️ রিসোর্স অ্যাক্সেস সীমিত করতে এবং ন্যূনতম সুবিধার নীতি প্রয়োগ করতে ভূমিকা-ভিত্তিক অ্যাক্সেস কন্ট্রোল প্রয়োগ করুন। শুধুমাত্র অনুমোদিত ব্যবহারকারীরা নির্দিষ্ট রিসোর্স অ্যাক্সেস করতে পারবে।
- শংসাপত্র ব্যবস্থাপনা: 🟥️ পরিষেবা শংসাপত্রগুলি নিরাপদে পরিচালনা ও সংরক্ষণ করুন, হার্ডকোডিং এড়িয়ে চলুন এবং কী ম্যানেজমেন্ট পরিষেবা ব্যবহার করুন। এর মধ্যে শংসাপত্র সংরক্ষণের জন্য এনক্রিপশন ব্যবহার করা এবং পর্যায়ক্রমে শংসাপত্র পরিবর্তন করা অন্তর্ভুক্ত।
- বাহ্যিক পরিষেবা প্রমাণীকরণ: 🟥️ তৃতীয় পক্ষের পরিষেবাগুলিতে সুরক্ষিত উপায়ে প্রমাণীকরণ করুন। এর মধ্যে OAuth 2.0 বা SAML-এর মতো সুরক্ষিত প্রোটোকল ব্যবহার করা অন্তর্ভুক্ত।
- ন্যূনতম সুবিধা: 🔶 সম্ভাব্য আক্রমণের ক্ষেত্র এবং সুযোগ হ্রাস করতে পরিষেবা প্রক্রিয়াগুলি সর্বনিম্ন প্রয়োজনীয় সুবিধাগুলির সাথে চালান। এর মানে হল যে পরিষেবার শুধুমাত্র তার কার্যকারিতা সম্পাদনের জন্য প্রয়োজনীয় অনুমতি থাকা উচিত।
- এপিআই কী রোটেশন: 🔶 API কী এবং পরিষেবা শংসাপত্রগুলি নিয়মিত স্বয়ংক্রিয়ভাবে পরিবর্তন করুন এবং কীগুলির বৈধতার মেয়াদ সীমিত করুন। এটি কী ফাঁসের ঝুঁকি কমাতে পারে।
- পরিষেবা প্রমাণীকরণ: 🔶 ক্লায়েন্টদের যাচাইকরণ এবং সুরক্ষিত ব্যবহারের সুবিধার জন্য পরিষেবা পরিচয় যাচাই করার একটি প্রক্রিয়া সরবরাহ করুন। এটি ক্লায়েন্টদের যাচাই করতে সহায়তা করতে পারে যে তারা একটি বিশ্বস্ত পরিষেবার সাথে যোগাযোগ করছে।
ব্যাকগ্রাউন্ড স্থায়ীত্ব নিয়ন্ত্রণ
- জীবনচক্র ব্যবস্থাপনা: 🟥️ ক্লায়েন্টের সাথে সিঙ্ক্রোনাইজ করে কঠোর MCP প্লাগইন জীবনচক্র ব্যবস্থাপনা প্রয়োগ করুন। প্লাগইনগুলি আর প্রয়োজন না হলে সঠিকভাবে শুরু এবং বন্ধ করা উচিত।
- বন্ধ করার সময় পরিষ্কার করা: 🟥️ ক্লায়েন্ট বন্ধ হয়ে গেলে সমস্ত MCP ব্যাকগ্রাউন্ড প্রক্রিয়াগুলি বাধ্যতামূলকভাবে পরিষ্কার করুন। এটি ক্লায়েন্ট বন্ধ হয়ে যাওয়ার পরেও দূষিত প্লাগইনগুলিকে চলতে থাকা থেকে আটকাতে পারে।
- স্বাস্থ্য পরীক্ষা ব্যবস্থা: 🔶 অস্বাভাবিক স্থায়ীত্ব সনাক্ত করতে MCP প্লাগইনগুলির স্থিতি নিয়মিত পরীক্ষা করুন। এটি সঠিকভাবে চলছে না এমন প্লাগইন সনাক্ত করতে সহায়তা করতে পারে।
- ব্যাকগ্রাউন্ড কার্যকলাপ পর্যবেক্ষণ: 🔶 সমস্ত MCP ব্যাকগ্রাউন্ড কার্যকলাপ পর্যবেক্ষণ এবং রেকর্ড করুন। এটি দূষিত কার্যকলাপ সনাক্ত করতে সহায়তা করতে পারে।
- কার্যকলাপ সীমাবদ্ধতা: 🔶 MCP প্লাগইনগুলি ব্যাকগ্রাউন্ডে যে ধরনের ক্রিয়া সম্পাদন করতে পারে এবং কতক্ষণ ধরে করতে পারে তার সময়কাল সীমিত করুন। এটি দূষিত প্লাগইনগুলির কারণে হওয়া ক্ষতি হ্রাস করতে পারে।
স্থাপন এবং রানটাইম নিরাপত্তা
- বিচ্ছিন্ন পরিবেশ: 🟥️ পরিষেবাগুলি বিচ্ছিন্ন পরিবেশে (কন্টেইনার, ভিএম, স্যান্ডবক্স) চালান, পালাতে এবং পূর্ব-পশ্চিম দিকে সরানো আক্রমণ প্রতিরোধ করুন। এটি দূষিত পরিষেবাগুলিকে অন্যান্য পরিষেবা বা সিস্টেমকে প্রভাবিত করা থেকে আটকাতে পারে।
- কন্টেইনার নিরাপত্তা: 🟥️ শক্তিশালী কন্টেইনার সুরক্ষা কনফিগারেশন ব্যবহার করুন এবং রুট ব্যবহারকারী ছাড়া চালান, অপরিবর্তনীয় অবকাঠামো প্রয়োগ করুন, রানটাইম সুরক্ষা নিশ্চিত করুন। এটি কন্টেইনারের সুরক্ষা বাড়াতে পারে।
- সুরক্ষিত বুট: 🔶 পরিষেবা শুরু করার প্রক্রিয়ার অখণ্ডতা যাচাই করুন, সুরক্ষিত বুট চেইন এবং অখণ্ডতা পরীক্ষা প্রয়োগ করুন। এটি দূষিত পরিষেবাগুলিকে শুরু করার সময় প্রবেশ করানো থেকে আটকাতে পারে।
- পরিবেশের পরিবর্তনশীল নিরাপত্তা: 🔶 সংবেদনশীল পরিবেশের পরিবর্তনশীলগুলি সুরক্ষিত, লগগুলিতে প্রকাশ করা হয় না। এটি দূষিত ব্যবহারকারীদের সংবেদনশীল তথ্য অ্যাক্সেস করা থেকে আটকাতে পারে।
- রিসোর্স সীমাবদ্ধতা: 🔶 রিসোর্স ব্যবহারের উপর সীমাবদ্ধতা প্রয়োগ করুন, যখন বড় মডেলগুলি ভুল করে প্রচুর পরিমাণে পুনরাবৃত্তিমূলক কল করে তখন তা প্রতিরোধ করুন। এটি দূষিত পরিষেবাগুলিকে সিস্টেমের সংস্থানগুলি নিঃশেষ করা থেকে আটকাতে পারে।
কোড এবং ডেটার অখণ্ডতা
- অখণ্ডতা যাচাইকরণ ব্যবস্থা: 🟥️ কোড পরিবর্তন করা হয়নি তা নিশ্চিত করতে ডিজিটাল স্বাক্ষর, হ্যাশ যাচাইকরণের মতো মেকানিজম ব্যবহার করুন। এটি দূষিত ব্যবহারকারীদের কোড পরিবর্তন করা থেকে আটকাতে পারে।
- দূরবর্তী যাচাইকরণ: 🔶 কোডের অখণ্ডতা দূরবর্তীভাবে যাচাই করার জন্য একটি মেকানিজম সমর্থন করুন। এটি দূরবর্তী ব্যবহারকারীদের যাচাই করতে দেয় যে কোড পরিবর্তন করা হয়েছে কিনা।
- কোড অস্পষ্টতা এবং শক্তিবৃদ্ধি: 🟢️ কোড অস্পষ্টতা এবং শক্তিবৃদ্ধি প্রযুক্তি প্রয়োগ করুন, বিপরীত প্রকৌশলের অসুবিধা বাড়ান। এটি দূষিত ব্যবহারকারীদের কোড বোঝা এবং পরিবর্তন করা কঠিন করে তুলতে পারে।
সরবরাহ চেইন নিরাপত্তা
- নির্ভরতা ব্যবস্থাপনা: 🟥️ তৃতীয় পক্ষের নির্ভরতাগুলি নিরাপদে পরিচালনা করুন। এর মধ্যে নির্ভরতাগুলি ট্র্যাক করা, সেগুলি আপ-টু-ডেট আছে কিনা তা নিশ্চিত করা এবং দুর্বলতার জন্য সেগুলি স্ক্যান করা অন্তর্ভুক্ত।
- প্যাকেজ অখণ্ডতা: 🟥️ প্যাকেজের অখণ্ডতা এবং সত্যতা যাচাই করুন। এটি দূষিত ব্যবহারকারীদের দূষিত প্যাকেজ প্রবেশ করানো থেকে আটকাতে পারে।
- উৎস যাচাইকরণ: 🔶 সমস্ত কোড এবং নির্ভরতার উৎস যাচাই করুন। এটি নিশ্চিত করতে সহায়তা করতে পারে যে কোডটি একটি বিশ্বস্ত উৎস থেকে এসেছে।
- বিল্ড নিরাপত্তা: 🔶 বিল্ড প্রক্রিয়া সুরক্ষিত আছে তা নিশ্চিত করুন। এর মধ্যে সুরক্ষিত বিল্ড সরঞ্জাম ব্যবহার করা এবং বিল্ড পরিবেশ সুরক্ষিত আছে তা নিশ্চিত করা অন্তর্ভুক্ত।
পর্যবেক্ষণ এবং লগিং
- অস্বাভাবিকতা সনাক্তকরণ: 🟥️ অস্বাভাবিক কার্যকলাপের ধরণগুলি সনাক্ত এবং রিপোর্ট করুন। এটি দূষিত কার্যকলাপ সনাক্ত করতে সহায়তা করতে পারে।
- বিস্তারিত লগিং: 🟥️ সমস্ত পরিষেবা কার্যকলাপ এবং সুরক্ষা ঘটনা রেকর্ড করুন। এটি সুরক্ষা ঘটনা তদন্ত করতে সহায়তা করতে পারে।
- সুরক্ষা ঘটনা সতর্কতা: 🟥️ গুরুত্বপূর্ণ সুরক্ষা ঘটনাগুলির জন্য রিয়েল-টাইম সতর্কতা কনফিগার করুন। এটি সুরক্ষা ঘটনাগুলিতে সময়মত সাড়া দিতে সহায়তা করতে পারে।
- কেন্দ্রীয় লগ ব্যবস্থাপনা: 🔶 কেন্দ্রীভূতভাবে লগ সংগ্রহ এবং বিশ্লেষণ করুন। এটি সুরক্ষা ঘটনাগুলির আরও বিস্তৃত দৃশ্য সরবরাহ করতে পারে।
- লগ অখণ্ডতা: 🔶 লগ অখণ্ডতা নিশ্চিত করুন, পরিবর্তন প্রতিরোধ করুন। এটি দূষিত ব্যবহারকারীদের লগ মুছে ফেলা বা পরিবর্তন করা থেকে আটকাতে পারে।
- নিরীক্ষণ ক্ষমতা: 🔶 বিস্তারিত নিরীক্ষণ এবং ঘটনা তদন্ত সমর্থন করুন। এটি সুরক্ষা ঘটনাগুলির কারণ নির্ধারণ করতে সহায়তা করতে পারে।
কলিং পরিবেশ বিচ্ছিন্নতা
- MCP-এর মধ্যে বিচ্ছিন্নতা: 🟥️ একাধিক MCP পরিষেবার মধ্যে ক্রিয়াকলাপের বিচ্ছিন্নতা নিশ্চিত করুন। এটি দূষিত MCP পরিষেবাগুলিকে অন্যান্য MCP পরিষেবাগুলিকে প্রভাবিত করা থেকে আটকাতে পারে।
- রিসোর্স অ্যাক্সেস কন্ট্রোল: 🟥️ প্রতিটি MCP পরিষেবার জন্য সুস্পষ্ট রিসোর্স অ্যাক্সেস অনুমতির সীমানা বরাদ্দ করুন। এটি দূষিত MCP পরিষেবাগুলি অ্যাক্সেস করতে পারে এমন রিসোর্সগুলিকে সীমিত করতে পারে।
- টুল অনুমতির পৃথকীকরণ: 🔶 বিভিন্ন ক্ষেত্রের সরঞ্জামগুলি বিভিন্ন অনুমতির সেট ব্যবহার করে। এটি দূষিত সরঞ্জামগুলির কারণে হওয়া ক্ষতি হ্রাস করতে পারে।
প্ল্যাটফর্ম সামঞ্জস্যতা এবং নিরাপত্তা
- সিস্টেম রিসোর্স বিচ্ছিন্নতা: 🟥️ বিভিন্ন অপারেটিং সিস্টেমের বৈশিষ্ট্য অনুসারে উপযুক্ত রিসোর্স বিচ্ছিন্নকরণ নীতি প্রয়োগ করুন। এটি দূষিত পরিষেবাগুলিকে অন্যান্য পরিষেবা বা সিস্টেমকে প্রভাবিত করা থেকে আটকাতে পারে।
- ক্রস-প্ল্যাটফর্ম সামঞ্জস্যতা পরীক্ষা: 🔶 বিভিন্ন অপারেটিং সিস্টেম এবং ক্লায়েন্টে MCP পরিষেবার সুরক্ষা আচরণের ধারাবাহিকতা পরীক্ষা করুন। এটি নিশ্চিত করতে পারে যে পরিষেবাটি সমস্ত প্ল্যাটফর্মে সুরক্ষিত।
- প্ল্যাটফর্ম নির্দিষ্ট ঝুঁকি মূল্যায়ন: 🔶 নির্দিষ্ট প্ল্যাটফর্মের অনন্য সুরক্ষা ঝুঁকি এবং প্রশমন ব্যবস্থাগুলি মূল্যায়ন করুন। এটি প্ল্যাটফর্ম-নির্দিষ্ট সুরক্ষা ঝুঁকি সনাক্ত করতে এবং কমাতে সহায়তা করতে পারে।
- ক্লায়েন্ট পার্থক্য পরিচালনা: 🔶 নিশ্চিত করুন যে সুরক্ষা নিয়ন্ত্রণগুলি বিভিন্ন ক্লায়েন্ট বাস্তবায়নের পার্থক্যের সাথে খাপ খাইয়ে নিতে পারে। এটি নিশ্চিত করতে পারে যে পরিষেবাটি সমস্ত ক্লায়েন্টের সাথে সুরক্ষিত।
ডেটা নিরাপত্তা এবং গোপনীয়তা
- ডেটা হ্রাসকরণ: 🟥️ শুধুমাত্র প্রয়োজনীয় ডেটা সংগ্রহ এবং প্রক্রিয়া করুন। এটি ডেটা ফাঁসের ঝুঁকি কমাতে পারে।
- ডেটা এনক্রিপশন: 🟥️ সংবেদনশীল ডেটা সংরক্ষণ এবং স্থানান্তরের সময় এনক্রিপ্ট করুন। এটি দূষিত ব্যবহারকারীদের সংবেদনশীল তথ্য অ্যাক্সেস করা থেকে আটকাতে পারে।
- ডেটা বিচ্ছিন্নতা: 🟥️ বিভিন্ন ব্যবহারকারীর ডেটা কার্যকরভাবে বিচ্ছিন্ন করুন। এটি দূষিত ব্যবহারকারীদের অন্যান্য ব্যবহারকারীর ডেটা অ্যাক্সেস করা থেকে আটকাতে পারে।
- ডেটা অ্যাক্সেস কন্ট্রোল: 🟥️ কঠোর ডেটা অ্যাক্সেস কন্ট্রোল প্রয়োগ করুন। এটি ডেটাতে অ্যাক্সেস সীমিত করতে পারে।
- সংবেদনশীল ডেটা সনাক্তকরণ: 🟥️ স্বয়ংক্রিয়ভাবে সংবেদনশীল ডেটা সনাক্ত করুন এবং বিশেষভাবে পরিচালনা করুন। এটি সংবেদনশীল ডেটা ফাঁস প্রতিরোধে সহায়তা করতে পারে।
রিসোর্স নিরাপত্তা
- রিসোর্স অ্যাক্সেস কন্ট্রোল: 🟥️ সূক্ষ্ম-দানাযুক্ত রিসোর্স অ্যাক্সেস কন্ট্রোল প্রয়োগ করুন। এটি নির্দিষ্ট রিসোর্সগুলিতে অ্যাক্সেস সীমিত করতে পারে।
- রিসোর্স সীমাবদ্ধতা: 🔶 পৃথক রিসোর্সের আকার এবং সংখ্যা সীমিত করুন। এটি দূষিত ব্যবহারকারীদের সিস্টেমের সংস্থান নিঃশেষ করা থেকে আটকাতে পারে।
- রিসোর্স টেমপ্লেট নিরাপত্তা: 🔶 নিশ্চিত করুন যে রিসোর্স টেমপ্লেট প্যারামিটারগুলি যাচাই করা হয়েছে এবং পরিষ্কার করা হয়েছে। এটি দূষিত ব্যবহারকারীদের দূষিত কোড প্রবেশ করানো থেকে আটকাতে পারে।
- সংবেদনশীল রিসোর্স চিহ্নিতকরণ: 🔶 সংবেদনশীল রিসোর্স চিহ্নিত করুন এবং বিশেষভাবে পরিচালনা করুন। এটি সংবেদনশীল রিসোর্স ফাঁস প্রতিরোধে সহায়তা করতে পারে।
সরঞ্জাম বাস্তবায়ন নিরাপত্তা
- সুরক্ষিত কোডিং অনুশীলন: 🟥️ সুরক্ষিত কোডিং মান এবং সেরা অনুশীলনগুলি অনুসরণ করুন। এটি কোডের দুর্বলতার সংখ্যা হ্রাস করতে পারে।
- সরঞ্জাম বিচ্ছিন্নতা: 🟥️ সরঞ্জামগুলি একটি নিয়ন্ত্রিত পরিবেশে চালান, সিস্টেম স্তরের প্রভাব প্রতিরোধ করুন। এটি দূষিত সরঞ্জামগুলিকে অন্যান্য পরিষেবা বা সিস্টেমকে প্রভাবিত করা থেকে আটকাতে পারে।
- ইনপুট যাচাইকরণ: 🟥️ ক্লায়েন্ট থেকে আসা সমস্ত ইনপুট কঠোরভাবে যাচাই করুন। এটি দূষিত ব্যবহারকারীদের দূষিত কোড প্রবেশ করানো থেকে আটকাতে পারে।
- সরঞ্জাম অনুমতি নিয়ন্ত্রণ: 🟥️ প্রতিটি সরঞ্জামের শুধুমাত্র তার কাজ সম্পন্ন করার জন্য প্রয়োজনীয় ন্যূনতম অনুমতি রয়েছে। এটি দূষিত সরঞ্জামগুলির কারণে হওয়া ক্ষতি হ্রাস করতে পারে।
- ডেটা যাচাইকরণ: 🟥️ সরঞ্জাম দ্বারা প্রক্রিয়াকৃত ডেটা যাচাই করুন, ইনজেকশন এবং পরিবর্তন প্রতিরোধ করুন। এটি দূষিত ব্যবহারকারীদের দূষিত ডেটা প্রবেশ করানো থেকে আটকাতে পারে।
- সরঞ্জাম আচরণ সীমাবদ্ধতা: 🟥️ সরঞ্জামগুলি যে ক্রিয়াকলাপ সম্পাদন করতে পারে তার সুযোগ এবং প্রকার সীমিত করুন। এটি দূষিত সরঞ্জামগুলির কারণে হওয়া ক্ষতি হ্রাস করতে পারে।
- তৃতীয় পক্ষের ইন্টারফেস থেকে প্রাপ্ত তথ্যের সুরক্ষা: 🟥️ ইন্টারফেস থেকে প্রাপ্ত তথ্য প্রত্যাশা পূরণ করে কিনা তা যাচাই করুন, সরাসরি প্রেক্ষাপটে তথ্য প্রবেশ করানো উচিত নয়। এটি দূষিত সরঞ্জামগুলিকে তৃতীয় পক্ষের ইন্টারফেস ব্যবহার করা থেকে আটকাতে পারে।
- ত্রুটি পরিচালনা: 🔶 নিরাপদে ত্রুটিগুলি পরিচালনা করুন, সংবেদনশীল তথ্য প্রকাশ করবেন না। এটি দূষিত ব্যবহারকারীদের ত্রুটি তথ্য ব্যবহার করা থেকে আটকাতে পারে।
- নামস্থান বিচ্ছিন্নতা: 🔶 বিভিন্ন সরঞ্জামের জন্য কঠোর নামস্থান বিচ্ছিন্নতা প্রয়োগ করুন। এটি সরঞ্জামগুলির মধ্যে দ্বন্দ্ব প্রতিরোধ করতে পারে।
MCP ক্লায়েন্ট/ MCP হোস্ট নিরাপত্তা
হোস্ট হল এমন একটি পরিবেশ যেখানে AI অ্যাপ্লিকেশন এবং MCP ক্লায়েন্ট চলে এবং এটি শেষ ব্যবহারকারী এবং AI সিস্টেমের মধ্যে যোগাযোগের প্রবেশদ্বার। ক্লায়েন্ট হল AI অ্যাপ্লিকেশনের অভ্যন্তরীণ উপাদান, যা MCP পরিষেবাগুলির সাথে যোগাযোগ, প্রসঙ্গ পরিচালনা, সরঞ্জাম কল এবং ফলাফলের প্রদর্শন করার জন্য দায়ী। MCP ক্লায়েন্ট এবং হোস্টকে সুরক্ষিত করার জন্য এখানে কিছু বিষয় উল্লেখ করা হলো:
ব্যবহারকারীর মিথস্ক্রিয়া নিরাপত্তা
- ব্যবহারকারী ইন্টারফেস নিরাপত্তা: 🟥️ ব্যবহারকারী ইন্টারফেস স্পষ্টভাবে AI ক্রিয়াকলাপের অনুমতির সুযোগ এবং সম্ভাব্য প্রভাব প্রদর্শন করে এবং স্বজ্ঞাত সুরক্ষা নির্দেশক সরবরাহ করে। এটি ব্যবহারকারীদের AI কে তারা যে অনুমতি দিচ্ছে তা বুঝতে সাহায্য করতে পারে।
- সংবেদনশীল ক্রিয়াকলাপ নিশ্চিতকরণ: 🟥️ উচ্চ-ঝুঁকির ক্রিয়াকলাপগুলির জন্য (যেমন ফাইল মুছে ফেলা, তহবিল স্থানান্তর) সুস্পষ্ট ব্যবহারকারীর নিশ্চিতকরণ প্রয়োজন। এটি ব্যবহারকারীদের অজান্তে উচ্চ-ঝুঁকির ক্রিয়াকলাপ সম্পাদন করা থেকে আটকাতে পারে।
- অনুমতি অনুরোধ স্বচ্ছতা: 🟥️ অনুমতির অনুরোধগুলি স্পষ্টভাবে উদ্দেশ্য এবং সুযোগ বর্ণনা করে, ব্যবহারকারীদের সচেতন সিদ্ধান্ত নিতে সহায়তা করে এবং অতিরিক্ত অনুমোদন এড়িয়ে যায়। এটি ব্যবহারকারীদের AI কে তারা যে অনুমতি দিচ্ছে তা বুঝতে সাহায্য করতে পারে।
- ক্রিয়াকলাপ ভিজ্যুয়ালাইজেশন: 🔶 সরঞ্জাম কল এবং ডেটা অ্যাক্সেস ব্যবহারকারীদের কাছে দৃশ্যমান এবং নিরীক্ষণযোগ্য হওয়া উচিত, বিস্তারিত ক্রিয়াকলাপ লগ সরবরাহ করা উচিত। এটি ব্যবহারকারীদের AI কী ক্রিয়াকলাপ সম্পাদন করছে তা বুঝতে সাহায্য করতে পারে।
- তথ্যের স্বচ্ছতা: 🔶 সরঞ্জামগুলিকে ব্যবহারকারীদের লুকানো ট্যাগগুলি ডিফল্টরূপে প্রদর্শন করার অনুমতি দেওয়া উচিত কিনা তা নিশ্চিত করতে হবে, যাতে ব্যবহারকারীরা যা দেখছেন এবং প্রকৃতপক্ষে যে প্রসঙ্গ তৈরি ও কল করা হচ্ছে তা সম্পূর্ণ এবং সামঞ্জস্যপূর্ণ হয় এবং লুকানো ট্যাগগুলিতে কোনও দূষিত যুক্তি নেই।
- স্থিতি প্রতিক্রিয়া: 🔶 ব্যবহারকারীরা বর্তমানে কোন MCP ক্রিয়াকলাপ চলছে তা স্পষ্টভাবে জানতে পারবে।
এআই নিয়ন্ত্রণ এবং পর্যবেক্ষণ
- ক্রিয়াকলাপ রেকর্ড: 🟥️ সমস্ত গুরুত্বপূর্ণ AI ক্রিয়াকলাপ এবং তাদের ফলাফল রেকর্ড করুন। এটি সুরক্ষা ঘটনা তদন্ত করতে সহায়তা করতে পারে।
- অস্বাভাবিকতা সনাক্তকরণ: 🔶 অস্বাভাবিক সরঞ্জাম কল প্যাটার্ন বা অনুরোধ ক্রম সনাক্ত করুন। এটি দূষিত কার্যকলাপ সনাক্ত করতে সহায়তা করতে পারে।
- সরঞ্জাম কল সীমাবদ্ধতা: 🔶 সরঞ্জাম কল ফ্রিকোয়েন্সি এবং পরিমাণ সীমাবদ্ধ করুন। এটি দূষিত ব্যবহারকারীদের সরঞ্জাম অপব্যবহার করা থেকে আটকাতে পারে।
স্থানীয় স্টোরেজ নিরাপত্তা
- শংসাপত্রের সুরক্ষিত স্টোরেজ: 🟥️ অননুমোদিত অ্যাক্সেস প্রতিরোধ করতে গুরুত্বপূর্ণ শংসাপত্রের জন্য সিস্টেম কীচেইন বা ডেডিকেটেড এনক্রিপশন স্টোরেজ ব্যবহার করুন। এটি দূষিত ব্যবহারকারীদের শংসাপত্র অ্যাক্সেস করা থেকে আটকাতে পারে।
- সংবেদনশীল ডেটা বিচ্ছিন্নতা: 🔶 সংবেদনশীল ব্যবহারকারীর ডেটা সাধারণ ডেটা থেকে আলাদাভাবে সংরক্ষণ এবং প্রক্রিয়া করার জন্য ডেটা বিচ্ছিন্নতা মেকানিজম প্রয়োগ করুন। এটি দূষিত ব্যবহারকারীদের সংবেদনশীল ডেটা অ্যাক্সেস করা থেকে আটকাতে পারে।
অ্যাপ্লিকেশন নিরাপত্তা
- অ্যাপ্লিকেশন অখণ্ডতা: 🟥️ অ্যাপ্লিকেশন এবং MCP প্লাগইনগুলির অখণ্ডতা যাচাই করুন, পরিবর্তন প্রতিরোধ করুন। এটি দূষিত ব্যবহারকারীদের অ্যাপ্লিকেশন পরিবর্তন করা থেকে আটকাতে পারে।
- আপডেট যাচাইকরণ: 🔶 হোস্ট অ্যাপ্লিকেশন আপডেটগুলি ডিজিটাল স্বাক্ষর দ্বারা যাচাই করা হয়। এটি নিশ্চিত করে যে আপডেটটি একটি বিশ্বস্ত উত্স থেকে এসেছে।
- অ্যাপ্লিকেশন স্যান্ডবক্স: 🟢️ সিস্টেম অ্যাক্সেস সীমিত করতে যতটা সম্ভব স্যান্ডবক্স পরিবেশে অ্যাপ্লিকেশন চালান। এটি দূষিত অ্যাপ্লিকেশনগুলির কারণে হওয়া ক্ষতি হ্রাস করতে পারে।
ক্লায়েন্ট প্রমাণীকরণ এবং অনুমোদন
- বাধ্যতামূলক প্রমাণীকরণ: 🟥️ কোনও গুরুত্বপূর্ণ MCP পরিষেবার সাথে যোগাযোগ করার আগে বাধ্যতামূলক প্রমাণীকরণ প্রয়োগ করুন, বেনামী অ্যাক্সেস প্রতিরোধ করুন। এটি অননুমোদিত ব্যবহারকারীদের পরিষেবা অ্যাক্সেস করা থেকে আটকাতে পারে।
- OAuth বাস্তবায়ন: 🔶 সেরা অনুশীলন এবং সুরক্ষা মান অনুসরণ করে সঠিকভাবে OAuth 2.1 বা তার উপরের সংস্করণ প্রক্রিয়াটি বাস্তবায়ন করুন। এটি নিশ্চিত করে যে প্রমাণীকরণ সুরক্ষিত।
- স্টেট প্যারামিটার: 🔶 কিছু ওয়েব ক্লায়েন্টের জন্য CSRF আক্রমণ প্রতিরোধের জন্য স্টেট প্যারামিটার প্রয়োগ করুন, প্রতিটি অনুরোধের জন্য একটি অনন্য র্যান্ডম মান ব্যবহার করুন। এটি ক্রস-সাইট অনুরোধ জালিয়াতি (CSRF) আক্রমণ প্রতিরোধ করতে পারে।
MCP সরঞ্জাম এবং সার্ভার ব্যবস্থাপনা
- MCP সরঞ্জাম যাচাইকরণ: 🟥️ নিবন্ধিত সরঞ্জামগুলির সত্যতা এবং অখণ্ডতা যাচাই করুন। এটি দূষিত সরঞ্জামগুলি নিবন্ধিত হওয়া থেকে আটকাতে পারে।
- সুরক্ষিত আপডেট: 🟥️ MCP ক্লায়েন্ট পর্যায়ক্রমে সুরক্ষা আপডেটগুলি পরীক্ষা করে এবং প্রয়োগ করে, আপডেটের পরে সরঞ্জামগুলিতে কোনও দূষিত বিবরণ রয়েছে কিনা তা যাচাই করে। এটি নিশ্চিত করে যে সরঞ্জামগুলি আপ-টু-ডেট এবং কোনও দূষিত কোড নেই।
- ফাংশন নামের যাচাইকরণ: 🟥️ সরঞ্জাম নিবন্ধনের আগে নামের দ্বন্দ্ব এবং সম্ভাব্য দূষিত ওভাররাইট পরীক্ষা করুন। এটি দূষিত সরঞ্জামগুলিকে বিদ্যমান সরঞ্জামগুলিকে ওভাররাইট করা থেকে আটকাতে পারে।
- দূষিত MCP সনাক্তকরণ: 🟥️ সম্ভাব্য দূষিত MCP এর আচরণের ধরণগুলি পর্যবেক্ষণ এবং সনাক্ত করুন। এটি দূষিত MCP সনাক্ত করতে সহায়তা করতে পারে।
- MCP সরঞ্জাম নামকরণ নিয়ন্ত্রণ: 🔶 নামের দ্বন্দ্ব প্রতিরোধ করতে নামস্থান বা অনন্য শনাক্তকারী ব্যবহার করুন। এটি সরঞ্জামগুলির মধ্যে দ্বন্দ্ব প্রতিরোধ করতে পারে।
- পরিষেবা ডিরেক্টরি: 🔶 বিশ্বস্ত MCP পরিষেবা এবং সরঞ্জামগুলির একটি অনুমোদিত ডিরেক্টরি বজায় রাখুন। এটি ব্যবহারকারীদের বিশ্বস্ত পরিষেবা খুঁজে পেতে সহায়তা করতে পারে।
- দ্বন্দ্ব সমাধান: 🔶 একই নামের সরঞ্জামগুলির মধ্যে দ্বন্দ্ব সমাধানের জন্য সুস্পষ্ট নিয়ম বিদ্যমান।
- ডোমেইন বিচ্ছিন্নতা: 🔶 বিভিন্ন ডোমেইনের সরঞ্জাম একে অপরের থেকে বিচ্ছিন্ন, ক্রস-প্রভাব প্রতিরোধ করে।
- অগ্রাধিকার মেকানিজম: 🔶 সুস্পষ্ট ফাংশন অগ্রাধিকার নিয়ম প্রতিষ্ঠা করুন, দূষিত ওভাররাইট এড়িয়ে চলুন।
- সংস্করণ নিয়ন্ত্রণ: 🔶 ফাংশন এবং সরঞ্জামগুলির জন্য সংস্করণ নিয়ন্ত্রণ প্রয়োগ করুন, পরিবর্তন সনাক্ত করুন।
- সরঞ্জাম নিবন্ধন এবং বাতিলকরণ মেকানিজম: 🔶 সরঞ্জাম নিবন্ধন এবং বাতিলের প্রক্রিয়া সুস্পষ্ট করুন, উত্তরাধিকার সূত্রে প্রাপ্ত সরঞ্জামগুলির সুরক্ষা ঝুঁকি প্রতিরোধ করুন।
- দ্বন্দ্ব সনাক্তকরণ মেকানিজম: 🔶 একাধিক MCP পরিবেশে ফাংশন এবং রিসোর্স দ্বন্দ্ব সনাক্ত এবং সমাধান করুন।
- সরঞ্জাম শ্রেণীবদ্ধকরণ: 🟢️ সংবেদনশীলতা এবং ঝুঁকির স্তরের উপর ভিত্তি করে সরঞ্জামগুলিকে শ্রেণীবদ্ধ করুন।
প্রম্পট নিরাপত্তা
- প্রম্পট ইনজেকশন সুরক্ষা: 🟥️ প্রম্পট ইনজেকশন আক্রমণ প্রতিরোধের জন্য বহু-স্তরীয় সুরক্ষা ব্যবস্থা প্রয়োগ করুন, গুরুত্বপূর্ণ সম্পাদনের জন্য ম্যানুয়াল যাচাইকরণ সহ।
- দূষিত নির্দেশ সনাক্তকরণ: 🟥️ দূষিত ব্যবহারকারীর নির্দেশ সনাক্ত এবং ব্লক করার জন্য একটি মেকানিজম স্থাপন করুন, সিস্টেমকে ম্যানিপুলেট করা থেকে রক্ষা করুন, যেমন স্থানীয় সূচনার সময় প্রিলোড করা দূষিত নির্দেশ সনাক্ত করা এবং প্রতিরোধ করা এবং তৃতীয় পক্ষের MCP সার্ভার থেকে দূষিত সরঞ্জামগুলিতে লুকানো ক্ষতিকারক নির্দেশ অন্তর্ভুক্ত করা।
- সিস্টেম প্রম্পট সুরক্ষা: 🟥️ সিস্টেম প্রম্পট এবং ব্যবহারকারীর ইনপুট স্পষ্টভাবে পৃথক করুন, পরিবর্তন প্রতিরোধ করুন।
- সংবেদনশীল ডেটা ফিল্টারিং: 🟥️ প্রম্পট এবং প্রসঙ্গ থেকে সংবেদনশীল ব্যক্তিগত ডেটা ফিল্টার করুন।
- প্রসঙ্গ বিচ্ছিন্নতা: 🔶 নিশ্চিত করুন যে বিভিন্ন উত্স থেকে আসা প্রসঙ্গের বিষয়বস্তু একে অপরের থেকে বিচ্ছিন্ন, প্রসঙ্গ দূষণ এবং তথ্য ফাঁস প্রতিরোধ করে।
- প্রম্পট টেমপ্লেট: 🔶 ইনজেকশন ঝুঁকি কমাতে সুরক্ষিত প্রম্পট টেমপ্লেট ব্যবহার করুন।
- সরঞ্জাম বিবরণ যাচাইকরণ: 🔶 সরঞ্জাম বিবরণে সম্ভাব্য দূষিত নির্দেশ পরীক্ষা করুন।
- প্রম্পট সামঞ্জস্যতা যাচাইকরণ: 🔶 নিশ্চিত করুন যে একই প্রম্পট বিভিন্ন পরিবেশে প্রত্যাশিত সামঞ্জস্যপূর্ণ ফলাফল তৈরি করে।
- ঐতিহাসিক প্রসঙ্গ ব্যবস্থাপনা: 🔶 পুরানো ডেটা সঞ্চিত হওয়ার কারণে তথ্য ফাঁস হওয়ার ঝুঁকি প্রতিরোধ করতে ঐতিহাসিক প্রসঙ্গের নিরাপদ পরিষ্কার করার মেকানিজম স্পষ্টভাবে সংজ্ঞায়িত করুন।
লগ এবং নিরীক্ষণ
- ক্লায়েন্ট লগিং: 🟥️ MCP পরিষেবাগুলির সাথে সমস্ত মিথস্ক্রিয়া, সরঞ্জাম কল এবং অনুমোদন ক্রিয়াকলাপ রেকর্ড করুন।
- সুরক্ষা ঘটনা রেকর্ড: 🟥️ অনুমোদন ব্যর্থ সহ সমস্ত সুরক্ষা সম্পর্কিত ঘটনা রেকর্ড করুন।
- অস্বাভাবিক সতর্কতা: 🔶 অস্বাভাবিক কার্যকলাপের ধরণ সনাক্ত এবং সতর্ক করুন।
সার্ভার যাচাইকরণ এবং যোগাযোগ সুরক্ষা
- সার্ভার প্রমাণীকরণ: 🟥️ দূষিত সার্ভারের সাথে সংযোগ প্রতিরোধ করতে MCP সার্ভারের পরিচয় যাচাই করুন, শংসাপত্র পিনিং বাস্তবায়ন করুন।
- শংসাপত্র যাচাইকরণ: 🟥️ মধ্যবর্তী আক্রমণ প্রতিরোধ করতে দূরবর্তী সার্ভারের TLS শংসাপত্র কঠোরভাবে যাচাই করুন, শংসাপত্র চেইনের অখণ্ডতা পরীক্ষা করুন।
- যোগাযোগ এনক্রিপশন: 🟥️ সমস্ত ক্লায়েন্ট-সার্ভার যোগাযোগ TLS 1.2+ এনক্রিপশন ব্যবহার করে, দুর্বল এনক্রিপশন স্যুট অক্ষম করুন।
- সুরক্ষা প্রোটোকল কনফিগারেশন: 🔶 সুরক্ষিত TLS প্যারামিটার কনফিগার করুন, পর্যায়ক্রমে এনক্রিপশন অ্যালগরিদম এবং প্রোটোকল নিরীক্ষণ এবং আপডেট করুন।
অনুমতি টোকেন স্টোরেজ এবং ব্যবস্থাপনা
- অনুমতি সুযোগ সীমাবদ্ধতা: 🟥️ টোকেনের অনুমতির সুযোগ কঠোরভাবে সীমিত করুন, ন্যূনতম সুবিধা নীতি প্রয়োগ করুন।
স্বয়ংক্রিয় অনুমোদন নিয়ন্ত্রণ
- স্বয়ংক্রিয় অনুমোদন সীমাবদ্ধতা: 🟥️ স্বয়ংক্রিয়ভাবে অনুমোদিত হতে পারে এমন সরঞ্জাম এবং ক্রিয়াকলাপের সুযোগ কঠোরভাবে নিয়ন্ত্রণ করুন।
- শ্বেত তালিকা ব্যবস্থাপনা: 🔶 স্বয়ংক্রিয়ভাবে অনুমোদিত সরঞ্জামগুলির শ্বেত তালিকা মেকানিজম স্পষ্টভাবে সংজ্ঞায়িত করুন।
- গতিশীল ঝুঁকি মূল্যায়ন: 🔶 প্রসঙ্গের উপর ভিত্তি করে গতিশীলভাবে স্বয়ংক্রিয় অনুমোদন কৌশল সামঞ্জস্য করুন।
- অনুমোদন প্রক্রিয়া নিরীক্ষণ: 🔶 সমস্ত স্বয়ংক্রিয় অনুমোদন সিদ্ধান্ত রেকর্ড এবং নিরীক্ষণ করুন।
নমুনা নিরাপত্তা
- প্রসঙ্গে অন্তর্ভুক্ত নিয়ন্ত্রণ: 🟥️ নমুনা অনুরোধে অন্তর্ভুক্ত প্রসঙ্গের সুযোগ কঠোরভাবে নিয়ন্ত্রণ করুন।
- সংবেদনশীল ডেটা ফিল্টারিং: 🟥️ নমুনা অনুরোধ এবং প্রতিক্রিয়া থেকে সংবেদনশীল ডেটা ফিল্টার করুন।
- নমুনা অনুরোধ যাচাইকরণ: 🔶 সমস্ত নমুনা অনুরোধ প্যারামিটার এবং বিষয়বস্তু যাচাই করুন।
- ব্যবহারকারী নিয়ন্ত্রণ: 🔶 নিশ্চিত করুন যে ব্যবহারকারীর নমুনা অনুরোধ এবং ফলাফলের উপর সুস্পষ্ট নিয়ন্ত্রণ রয়েছে।
- মডেল পছন্দ নিরাপত্তা: 🔶 মডেল পছন্দের তথ্য নিরাপদে পরিচালনা করুন, অপব্যবহার প্রতিরোধ করুন।
- ফলাফল যাচাইকরণ: 🔶 যাচাই করুন যে নমুনা ফলাফল সুরক্ষা মান পূরণ করে কিনা।