Atlassian-এর Rovo AI এজেন্টকে মাত্র একটি ক্লিকের মাধ্যমে আক্রমণকারীর কাছে Jira টিকিট, Confluence পেজ এবং API কী পাঠাতে প্ররোচিত করা যেতে পারে, এবং অ্যাডমিনের "kill switch" মূল ডেটা-ফেচ (data-fetch) ক্ষমতাকে থামাতে পারে না।
এই ত্রুটিতে দুটি ইনজেকশন টেকনিক (injection techniques) জড়িত যা একজন ক্ষতিকারক ব্যক্তিকে অভ্যন্তরীণ পেজগুলোতে লুকানো কমান্ড অন্তর্ভুক্ত করতে বা এমন একটি লিঙ্ক তৈরি করতে সাহায্য করে যা Rovo-কে ব্যবহারকারীর পক্ষ থেকে আউটবাউন্ড কল (outbound calls) সম্পাদন করতে বাধ্য করে।
এই দুর্বলতাটি যেভাবে কাজ করে
Rovo ওয়েব কন্টেন্ট পড়ে, সেটির সারসংক্ষেপ তৈরি করে এবং সক্ষম থাকলে ইন্টারনেট থেকে অতিরিক্ত তথ্য সংগ্রহ করে। এজেন্টটি "সারসংক্ষেপ করার জন্য কন্টেন্ট" এবং "সম্পাদন করার জন্য নির্দেশাবলী"-এর মধ্যে পার্থক্য করতে ব্যর্থ হয়। এই মিশ্রণটি কাজে লাগিয়ে দুটি অ্যাটাক ভেক্টর (attack vectors) ব্যবহার করা হয়:
- Content injection – একজন আক্রমণকারী একটি Confluence পেজে একটি কমান্ড লুকিয়ে রাখে। যখন Rovo পেজটি স্ক্যান করে, তখন এটি লুকানো নির্দেশটি অনুসরণ করে, প্রতিষ্ঠানের ব্যক্তিগত ইমেল ঠিকানা এবং ওয়ার্কস্পেস নাম সম্বলিত একটি URL সংগ্রহ করে এবং সেই ডেটা আক্রমণকারীর সার্ভারে পাঠিয়ে দেয়।
- URL injection – একজন আক্রমণকারী একটি বিশেষভাবে তৈরি লিঙ্ক পাঠায়। এটিতে ক্লিক করলে Rovo আক্রমণকারীর দেওয়া টেক্সটকে একটি বৈধ ব্যবহারকারীর কমান্ড হিসেবে গণ্য করে। এজেন্টটি আপাতদৃষ্টিতে একটি নিরীহ কাজ করছে বলে মনে হয়, যেমন একটি ছবি শনাক্ত করা, কিন্তু একই সাথে একটি এক্সটার্নাল এন্ডপয়েন্টে (external endpoint) অভ্যন্তরীণ গোপনীয় তথ্য পাঠিয়ে দেয়।
উভয় পদ্ধতিই Rovo-র যেকোনো প্রসেস করা টেক্সটের ভিত্তিতে যেকোনো URL কল করার ক্ষমতার ওপর নির্ভর করে, যেখানে সাধারণ সারসংক্ষেপ এবং ক্ষতিকারক নির্দেশাবলীর মধ্যে পার্থক্য করার মতো কোনো সুরক্ষা ব্যবস্থা নেই।
কেন অ্যাডমিন টগল (admin toggle) যথেষ্ট নয়
Atlassian-এর UI কন্ট্রোল ওয়েব-সার্চ বক্সটি লুকিয়ে ফেলে, যা ফিচারটি বন্ধ করার উপায় হিসেবে বাজারজাত করা হয়। বাস্তবে, এই টগলটি শুধুমাত্র ফ্রন্ট-এন্ড এলিমেন্টটি সরিয়ে দেয়; ব্যাক-এন্ড সার্ভিসটি যা এখনও URL সংগ্রহ করতে পারে তা সক্রিয় থাকে। এটি সার্চ ইন্টারফেসকে ঢেকে দেয়, কিন্তু মূল সার্ভিসটিকে নয়।
এন্টারপ্রাইজগুলোর জন্য ঝুঁকি
- Data exposure – সামান্য ব্যবহারকারী ইন্টারঅ্যাকশনের মাধ্যমেই সংবেদনশীল প্রকল্পের বিবরণ, অভ্যন্তরীণ নথিপত্র এবং ক্রেডেনশিয়াল (credential) সংক্রান্ত তথ্য কর্পোরেট সীমানা ছাড়িয়ে যেতে পারে।
অ্যাডমিনিস্ট্রেটররা আজ যা যাচাই করতে পারেন
- Toggle effectiveness – ওয়েব-সার্চ অপশনটি নিষ্ক্রিয় করার পরে, ইচ্ছাকৃতভাবে এজেন্টকে একটি 'ফেচ কমান্ড' (fetch command) দিন এবং আউটবাউন্ড রিকোয়েস্টের দিকে নজর রাখুন। যদি রিকোয়েস্টটি সফল হয়, তবে টগলটি কেবল বাহ্যিক বা সাজানো মাত্র।
- Outbound traffic controls – এজেন্ট যে কোনো এক্সটার্নাল কল করতে পারে তা বিশ্বস্ত ডোমেইনের একটি 'অ্যালাউ-লিস্ট' (allow-list)-এর মধ্যে সীমাবদ্ধ রাখুন। উন্মুক্ত ইন্টারনেট অ্যাক্সেস ডেটা চুরির ঝুঁকি বাড়ায়।
- Instruction-vs-data separation – নিশ্চিত করুন যে সিস্টেমটি অনির্ভরযোগ্য পেজ বা ফাইলগুলোকে নির্ভরযোগ্য কমান্ড সোর্স হিসেবে গণ্য না করে। এই বিভাজন ছাড়া, প্রম্পট-ইনজেকশন (prompt-injection) আক্রমণ অত্যন্ত সহজ হয়ে পড়ে।
ঝুঁকি প্রশমনের জন্য আর্কিটেকচারাল পদক্ষেপসমূহ
- Separate channels – ব্যবহারকারীর প্রম্পট এবং ডেটা রিট্রিভাল (data retrieval) আলাদা পাইপলাইনের মাধ্যমে পরিচালনা করুন। এটি ডেটার মধ্যে থাকা কোনো ক্ষতিকারক পেলোডকে কমান্ড হিসেবে গণ্য হওয়া থেকে রক্ষা করে।
- Restrict outbound calls – ফায়ারওয়াল বা প্রক্সি রুল প্রয়োগ করুন যা AI এজেন্টের জন্য স্পষ্টভাবে অনুমোদিত নয় এমন যেকোনো গন্তব্য ব্লক করে।
- Human approval for external calls – এজেন্ট যাতে কর্পোরেট পরিবেশের বাইরে কোনো নেটওয়ার্ক রিকোয়েস্ট শুরু করতে পারে, তার আগে একটি ম্যানুয়াল কনফার্মেশন বা মানুষের অনুমোদনের ধাপ প্রয়োজন করুন।
Atlassian-এর পাল্টা যুক্তি
পরবর্তীতে যা খেয়াল রাখতে হবে
সংস্থাগুলোর উচিত মূল বিভাজন ত্রুটিটি সমাধান করার জন্য Atlassian-এর যেকোনো প্যাচ বা কনফিগারেশন পরিবর্তনের আপডেটগুলো পর্যবেক্ষণ করা।
মূল কথা (Takeaway): Rovo-র লুকানো কমান্ড কার্যকর করার ক্ষমতা মানে হলো একটি মাত্র ক্ষতিকারক পেজ বা লিঙ্ক গোপনীয় ডেটা চুরি করতে পারে, এবং UI টগল তা থামাতে পারে না। অ্যাডমিনদের অবশ্যই নিশ্চিত করতে হবে যে ফিচারটি সত্যিই নিষ্ক্রিয় করা হয়েছে, আউটবাউন্ড ট্রাফিক লকড করতে হবে এবং ইনস্ট্রাকশন ফ্লো নতুনভাবে ডিজাইন করতে হবে যাতে AI এজেন্টগুলো অনিচ্ছাকৃত ডেটা এক্সফিল্ট্রেশন (data exfiltration) টুলে পরিণত না হয়।
