ভুল কোনো লিঙ্কে একটি মাত্র ক্লিক এখন আর কেবল পাসওয়ার্ড চুরি বা ম্যালওয়্যার ইনস্টল করার মধ্যেই সীমাবদ্ধ নেই। এটি আপনার প্রতিষ্ঠানের ভেতরে একটি স্থায়ী AI এজেন্ট তৈরি করতে পারে যা আপনার ইমেল পড়বে, আপনার ফাইলগুলো তল্লাশি করবে এবং আপনার নামে আপনার সহকর্মীদের সাথে চ্যাট করবে। Zenity Labs-এর নিরাপত্তা গবেষকরা AgentForger নামক একটি কৌশলের মাধ্যমে ঠিক এই পরিস্থিতিটি প্রদর্শন করেছেন, এবং এর কার্যপদ্ধতি স্বায়ত্তশাসিত AI টুলগুলোকে আমরা কীভাবে সুরক্ষিত রাখি তার মধ্যে একটি উদ্বেগজনক ঘাটতি প্রকাশ করে।

CSRF থেকে AgentForger: আক্রমণের একটি নতুন ধরন

বেশিরভাগ নিরাপত্তা বিশেষজ্ঞ Cross-Site Request Forgery বা CSRF-কে একটি ক্লাসিক ওয়েব দুর্বলতা হিসেবে চেনেন। এর প্রথাগত রূপে, একজন আক্রমণকারী একজন অথেন্টিকেটেড (authenticated) ব্যবহারকারীর ব্রাউজারকে একটি অননুমোদিত অনুরোধ পাঠাতে প্ররোচিত করে। এটি হয়তো কোনো অ্যাকাউন্টের ইমেল ঠিকানা পরিবর্তন করে অথবা টু-ফ্যাক্টর অথেন্টিকেশন (two-factor authentication) নিষ্ক্রিয় করে দেয়। এর ক্ষতি সাধারণত একটি নির্দিষ্ট কাজের মধ্যেই সীমাবদ্ধ থাকে।

AgentForger সেই মডেলটিকে পুরোপুরি ভেঙে চুরমার করে দেয়। একটি অনুরোধ জাল করার পরিবর্তে, এটি OpenAI-এর ChatGPT Workspace Agents-এর ভেতরে একটি সম্পূর্ণ স্বায়ত্তশাসিত এজেন্ট তৈরি করে ফেলে। এই আক্রমণটি শুরু হয় ChatGPT Agent Builder থেকে, যা chatgpt.com/agents/studio/new-এ অবস্থিত। স্বাভাবিক পরিস্থিতিতে, একটি এজেন্ট তৈরি করা একটি সরাসরি (hands-on) প্রক্রিয়া। আপনি একটি টেমপ্লেট নির্বাচন করেন, এজেন্ট কোন কোন টুল ব্যবহার করতে পারবে তা পর্যালোচনা করেন এবং কিছু সুরক্ষা ব্যবস্থা (guardrails) সেট করেন যাতে মেশিন আপনার ইনবক্স পড়া বা ড্রাইভে কিছু লেখার আগে আপনার অনুমতি চায়। এই কাজের ধারাটি ধরে নেয় যে প্রতিটি ধাপে একজন মানুষ মনোযোগ দিচ্ছে।

Zenity Labs আবিষ্কার করেছে যে, একজন আক্রমণকারী যখন URL নিয়ন্ত্রণ করে, তখন এই সুরক্ষা ব্যবস্থাগুলো অদৃশ্য হয়ে যায়। নির্দিষ্ট কিছু কুয়েরি প্যারামিটার—অর্থাৎ template_name এবং initial_assistant_prompt—সংযুক্ত করার মাধ্যমে একটি ক্ষতিকারক লিঙ্ক পুরো তৈরির ফর্মটি আগে থেকেই পূরণ করে রাখতে পারে। ভিকটিম বা শিকার যখন ক্লিক করেন, তখন initial_assistant_prompt স্বয়ংক্রিয়ভাবে সাবমিট এবং কার্যকর হয়ে যায়। টেমপ্লেট নির্বাচন, টুল পর্যালোচনা এবং অনুমতির ডায়ালগগুলো কখনোই সামনে আসে না। এজেন্টটি ব্যাকগ্রাউন্ডে ঠিক আক্রমণকারী যেভাবে চায় সেভাবেই কনফিগার হয়ে তৈরি হয়ে যায়, আর ভিকটিম হয়তো কেবল একটি সাধারণ দেখতে ChatGPT পেজ লোড হতে দেখেন এবং তারপর ট্যাবটি বন্ধ করে দেন।

এটি কোনো প্রথাগত ম্যালওয়্যার সংক্রমণ নয়। ল্যাপটপে কিছুই ডাউনলোড হয় না। এই হুমকিটি সম্পূর্ণভাবে ভিকটিমের SaaS সেশনের ভেতরে অবস্থান করে এবং এর পেছনের প্ল্যাটফর্মের পূর্ণ বৈধতা নিয়ে কাজ করে।

ক্রেডেনশিয়ালের পরিবর্তে বিশ্বাসকে হাইজ্যাক করা

AgentForger-এর আসল নৃশংসতা লুকিয়ে আছে এটি কীভাবে পারমিশন বা অনুমতি পরিচালনা করে তার মধ্যে। ChatGPT Workspace-এর এন্টারপ্রাইজ ব্যবহারকারীরা সাধারণত OAuth-এর মাধ্যমে তাদের AI এজেন্টগুলোকে ব্যবসায়িক অ্যাপ্লিকেশনের সাথে যুক্ত করেন। তারা Gmail, Outlook, Slack, Google Drive বা Microsoft Teams সংযোগ করার জন্য একবার অথেন্টিকেট করেন এবং এরপর থেকে এজেন্ট তাদের পক্ষ থেকে সেই পরিষেবাগুলো ব্যবহার করতে পারে।

AgentForger স্বয়ংক্রিয়ভাবে এই সমস্ত অ্যাক্সেস বা প্রবেশাধিকার গ্রহণ করে নেয়। যেহেতু ভিকটিম ইতিমধ্যে ChatGPT-তে লগ-ইন করা আছেন এবং সেই OAuth সংযোগগুলো স্থাপন করেছেন, তাই জাল করা এজেন্টটি সেগুলো পুনরায় ব্যবহার করে। ভিকটিম কোনো নতুন সম্মতি বা কনসেন্ট স্ক্রিন দেখেন না যেখানে জিজ্ঞাসা করা হয় যে এই নতুন এজেন্টটিকে তাদের ইমেলে প্রবেশের অনুমতি দেওয়া উচিত কি না। সিস্টেম এজেন্টটিকে ব্যবহারকারীর একটি বর্ধিত অংশ (extension) হিসেবে বিবেচনা করে।

Zenity-র ডেমোস্ট্রেশনে দেখা গেছে, আক্রমণকারী আরও আক্রমণাত্মক কিছু করার জন্য ক্ষতিকারক URL তৈরি করেছে। এটি Agent Builder-কে নির্দেশ দেয় যাতে পড়া, লেখা এবং মুছে ফেলার প্রতিটি পারমিশন টগলকে "Never ask" মোডে সেট করা হয়। সাধারণত, কোনো সংবেদনশীল কাজ করার আগে—যেমন স্প্রেডশিট খোলা, মেসেজ পাঠানো বা ক্যালেন্ডার ইভেন্ট মুছে ফেলা—প্ল্যাটফর্মটি একজন মানুষের কাছে অনুমতি চাইবে। এই নিয়ন্ত্রণগুলোকে সাইলেন্ট মোডে forcing করার মাধ্যমে আক্রমণকারী 'human-in-the-loop' বা মানুষের হস্তক্ষেপ পুরোপুরি সরিয়ে দেয়। এজেন্টটি অ্যাকাউন্টের ভেতরে একটি ভূতের মতো হয়ে ওঠে, যা কোনো অ্যালার্ট বা কনফার্মেশন ডায়ালগ ছাড়াই সংযুক্ত অ্যাপগুলোর মধ্যে অবাধে চলাফেরা করতে পারে।

চোখের সামনে লুকিয়ে থাকা একটি কমান্ড চ্যানেল

পারসিস্টেন্স (Persistence) একটি ভয়াবহ এক্সপ্লয়েটকে একটি অপারেশনাল দুঃস্বপ্নে পরিণত করে, এবং AgentForger ChatGPT-এর বিল্ট-ইন শিডিউলিং ফিচারের মাধ্যমে এই পারসিস্টেন্স অর্জন করে। আক্রমণকারী তৈরির প্রক্রিয়ার সময় একাধিক বিরতিহীন শিডিউল সেট করে দেয়, যার ফলে এমন একটি এজেন্ট তৈরি হয় যা প্রতি পাঁচ মিনিট অন্তর জেগে ওঠে এবং কাজ শুরু করে।

কমান্ড-অ্যান্ড-কন্ট্রোল লুপটি যেভাবে কাজ করে তা নিচে দেওয়া হলো। আক্রমণকারী ভিকটিমের Outlook ইনবক্সে একটি ইমেল পাঠায়। সাবজেক্ট লাইনে একটি ট্রিগার শব্দ থাকে, যেমন "TASK"। প্রতি পাঁচ মিনিট অন্তর, ক্ষতিকারক এজেন্টটি সেই ট্রিগারটি খোঁজার জন্য ইনবক্স স্ক্যান করে। যখন এটি কোনো মিল খুঁজে পায়, তখন এটি ইমেলটি খোলে, নির্দেশাবলী পড়ে, ভিকটিমের অথেন্টিকেটেড অ্যাপ্লিকেশনগুলো ব্যবহার করে সেগুলো কার্যকর করে এবং ফলাফলগুলো আক্রমণকারীর কাছে ফেরত পাঠায়।

ভিকটিমের নিজস্ব কর্পোরেট ইমেলই কমান্ড-অ্যান্ড-কন্ট্রোল ইনফ্রাস্ট্রাকচারে পরিণত হয়। এখানে কোনো সন্দেহজনক DNS beacon নেই, পূর্ব ইউরোপের কোনো অজানা IP অ্যাড্রেসের সাথে কোনো সংযোগ নেই, এমনকি এন্ডপয়েন্ট ডিটেকশনের জন্য কোনো ম্যালওয়্যার বাইনারিও নেই যা শনাক্ত করা যায়। ট্রাফিকটি সম্পূর্ণ বৈধ ক্রেডেনশিয়াল ব্যবহার করে Microsoft বা Google API-এর মাধ্যমে প্রবাহিত হয়। নেটওয়ার্ক লগ মনিটর করা একটি সিকিউরিটি অপারেশনস টিমের কাছে এটি একজন ব্যস্ত কর্মীর অনুমোদিত SaaS টুল ব্যবহারের মতো মনে হয়।

বাস্তব জগতের প্রভাব: সংস্থা ম্যাপিং এবং বিশ্বাসকে হাতিয়ার হিসেবে ব্যবহার করা

Zenity Labs নিয়ন্ত্রিত পরিবেশে এই আক্রমণের ব্যবহারিক সীমা পরীক্ষা করেছে, এবং এর ফলাফল যেকোনো CISO-র জন্য উদ্বেগের কারণ হওয়া উচিত।

ইমেল ট্রিগারের মাধ্যমে পাঠানো একটি মাত্র নির্দেশের সাহায্যে গবেষকরা এজেন্টকে সংস্থাটি ম্যাপিং করতে বলেন। এটি Slack, Microsoft Teams এবং SharePoint-এ কুয়েরি চালায়। এটি চ্যানেলের নাম, টিমের গঠন এবং ফাইল রিপোজিটরিগুলো প্রদান করে। এজেন্টটি M&A term sheets এবং কর্মীদের বেতন সংক্রান্ত তথ্যসহ সংবেদনশীল নথিগুলো খুঁজে বের করে। প্রতিটি অ্যাক্সেস ভিকটিমের বৈধ পরিচয়ের অধীনে লগ করা হয়েছিল, যার ফলে ফরেনসিক ডিটেকশন বা শনাক্তকরণ প্রক্রিয়াটি সাধারণ ব্যবহারকারীর কার্যকলাপ থেকে ক্ষতিকারক ব্যবহারকারীর কার্যকলাপ আলাদা করার একটি জটিল বিষয়ে পরিণত হয়।

এরপর রয়েছে সোশ্যাল ইঞ্জিনিয়ারিংয়ের সম্ভাবনা। যেহেতু এজেন্টটি ভিকটিমের অফিসিয়াল Slack বা Teams অ্যাকাউন্ট থেকে মেসেজ পাঠাতে পারে, তাই এটি অভ্যন্তরীণ ফিশিং ক্যাম্পেইন চালাতে পারে যা এক্সটার্নাল ইমেল গেটওয়ে এবং DMARC চেক সম্পূর্ণভাবে বাইপাস করতে পারে। কল্পনা করুন, একজন বিশ্বস্ত সহকর্মীর কাছ থেকে একটি সরাসরি মেসেজ এসেছে যেখানে আপনাকে আসন্ন SSO রোলআউট নিশ্চিত করতে বা একটি লিঙ্কে ক্লিক করে নতুন বেনিফিট পোর্টালটি পরীক্ষা করতে বলা হচ্ছে। মেসেজটিতে সহকর্মীর নাম, প্রোফাইল ছবি এবং চ্যাট হিস্ট্রির প্রেক্ষাপট থাকে। এটি ঠিক সেই কনভারসেশন থ্রেডেই আসে যেখানে আপনি গতকাল দুপুরের খাবারের পরিকল্পনা নিয়ে আলোচনা করেছিলেন। এই স্তরের বিশ্বাস একটি স্পুফড ডোমেইন বা ভুল বানানে লেখা প্রেরকের ঠিকানার চেয়ে মৌলিকভাবে আলাদা, এবং AgentForger নির্মমভাবে এটিকে কাজে লাগায়।

মূল শিক্ষা

AgentForger এন্টারপ্রাইজ AI প্ল্যাটফর্মগুলো কীভাবে বিশ্বাস বা ট্রাস্ট উত্তরাধিকারসূত্রে গ্রহণ করে, তার একটি কাঠামোগত সমস্যা প্রকাশ করে। আমরা এমন স্বায়ত্তশাসিত এজেন্ট তৈরি করছি যারা নিজেরাই শিডিউল করতে পারে, কোড লিখতে পারে এবং সংবেদনশীল ডেটা কুয়েরি করতে পারে, তবুও আমরা এখনও সেইসব পারমিশন মডেল ব্যবহার করছি যা স্ট্যাটিক ওয়েব অ্যাপ্লিকেশনের জন্য ডিজাইন করা হয়েছে যেখানে একজন মানুষ প্রতিটি বাটনে ক্লিক করে। "ব্যবহারকারী কী করেন" এবং "ব্যবহারকারীর এজেন্ট কী করে" — এই দুইয়ের মধ্যকার সীমানা ধসে পড়েছে, এবং আক্রমণকারীরা এখন সেই সুযোগটি ব্যাপকভাবে কাজে লাগানোর অবস্থানে রয়েছে।

ChatGPT Workspace ব্যবহারকারী সংস্থাগুলোর উচিত এজেন্ট তৈরি করাকে একটি সাধারণ ওয়ার্কফ্লো হিসেবে না দেখে একটি বিশেষাধিকারপ্রাপ্ত (privileged) অপারেশন হিসেবে বিবেচনা করা। এর মানে হলো OAuth স্কোপগুলো অডিট করা যাতে নিশ্চিত করা যায় যে এজেন্টগুলো নিঃশব্দে সম্পূর্ণ ইনবক্স বা ফাইল স্টোরে অ্যাক্সেস করতে না পারে। এর মানে হলো মানুষের কাজের গতির পরিবর্তে শিডিউল করা লুপের মতো মনে হয় এমন কার্যকলাপের তীব্রতা বা বাস্ট (bursts) মনিটর করা। এবং এর মানে হলো এটি স্বীকার করা যে পরবর্তী বড় ধরনের ডেটা ব্রিচ বা নিরাপত্তা লঙ্ঘন কোনো কম্প্রোমাইজড পাসওয়ার্ড বা ফিশিং ইমেল দিয়ে শুরু নাও হতে পারে। এটি হতে পারে একটি অসাবধানতাবশত করা ক্লিক, যা নিঃশব্দে আপনার পরিচয় এমন একটি মেশিনের কাছে হস্তান্তর করে দেয় যা কখনো ঘুমায় না।