এজেন্টের ওপর আস্থা রাখা বন্ধ করুন: অনুমোদনকে নির্দিষ্ট টুল কলের সাথে যুক্ত করুন

বেশিরভাগ এজেন্টিক সিস্টেম (agentic systems) ফাইল রাইট বা টাকা ট্রান্সফারের মতো বিপজ্জনক কাজগুলোকে একটি সাধারণ অনুমোদনের মাধ্যমে সুরক্ষিত রাখে।

সাধারণত, এই অনুমোদনটি সিস্টেম স্টেটে একটি boolean flag হিসেবে থাকে। উদাহরণস্বরূপ: approved: true

এটি একটি ভুল। একটি boolean তিনটি উপায়ে ব্যর্থ হতে পারে যা আক্রমণকারীরা কাজে লাগায়:

সমস্যাটি হলো আপনি অনুমোদনকে পুরো সেশনের একটি বৈশিষ্ট্য (property) হিসেবে মডেল করছেন। এটি একটি নির্দিষ্ট কলের জন্য প্রমাণ হিসেবে কাজ করা উচিত।

এটি কীভাবে সমাধান করবেন:

যখন একজন মানুষ একটি কল অনুমোদন করেন, তখন একটি সিকিউর ট্যাগ (secure tag) তৈরি করুন। এই ট্যাগে নিচের চারটি বিষয় লক করা থাকতে হবে:

এক্সিকিউশনের ঠিক সেই মুহূর্তে এই ট্যাগটি যাচাই করুন। একটি সিক্রেট কি (secret key) ব্যবহার করুন যা শুধুমাত্র সিস্টেমটি জানে।

ইমপ্লিমেন্টেশনের জন্য এই নিয়মগুলো অনুসরণ করুন:

অথরাইজেশন (Authorization) কোনো ভাসমান স্টেট হওয়া উচিত নয়। এটি একটি বাউন্ড এনভেলাপ (bound envelope) হওয়া উচিত যা প্রমাণ করে: "এই নির্দিষ্ট ব্যক্তি এই নির্দিষ্ট সময়ের জন্য এই নির্দিষ্ট টুলের জন্য এই নির্দিষ্ট আর্গুমেন্টগুলো অনুমোদন করেছেন।"

বুলিয়ান (boolean) ব্যবহার করা বন্ধ করুন। এগুলো কোনো সরলীকরণ নয়; এগুলো একটি বাগ (bug)।

উৎস: https://dev.to/whatsonyourmind/stop-trusting-the-agent-bind-tool-call-approvals-to-the-exact-call-5080

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi