LLM Vulnerabilities 101

বেশিরভাগ LLM সিকিউরিটি ত্রুটি খুব একটা চতুর নয়। এগুলো মডেল কীভাবে কাজ করে তার দুটি সাধারণ সত্য থেকে উদ্ভূত হয়। একবার আপনি এগুলো বুঝতে পারলে, আক্রমণের ভয়ংকর তালিকাটি স্পষ্ট হয়ে উঠবে।

ফ্যাক্ট ১: মডেল আপনার নির্দেশাবলী এবং ব্যবহারকারীর টেক্সটের মধ্যে কোনো পার্থক্য দেখে না। এটি ডেটার একটি অবিচ্ছিন্ন প্রবাহ দেখে। কোন অংশটি বিশ্বাস করা উচিত তা এটি নির্ভরযোগ্যভাবে বলতে পারে না।

ফ্যাক্ট ২: টুলস খেলার নিয়ম বদলে দেয়। যখন আপনি একটি মডেলকে ইমেল, সার্চ বা ডেটাবেসের অ্যাক্সেস দেন, তখন আপনি অনির্ভরযোগ্য টেক্সট প্রবেশের জন্য নতুন জায়গা তৈরি করে দেন। আপনি একটি কথা বলতে পারা মডেলকে এমন একটি মডেলে রূপান্তরিত করেন যা কাজও করতে পারে।

মডেলের সাথে তর্কে জেতার চেষ্টা করা বন্ধ করুন। মডেল কী করতে পারবে তা পরিবর্তন করা শুরু করুন।

প্রধান দুর্বলতাগুলো (Key Vulnerabilities):

  • Direct Injection: ব্যবহারকারী আপনার নিয়মগুলো ওভাররাইড করতে "ignore previous instructions" টাইপ করে। আপনার সিস্টেম প্রম্পট কোনো সিকিউরিটি বাউন্ডারি নয়।
  • Jailbreaks: এগুলো আপনার অ্যাপের চেয়ে সেফটি ট্রেনিংকে লক্ষ্য করে। আক্রমণকারীরা ফিল্টার বাইপাস করতে রোলপ্লে বা ফিকশন ব্যবহার করে।
  • System Prompt Leakage: আক্রমণকারীরা মডেলকে তার নিজস্ব নির্দেশাবলী প্রিন্ট করতে প্ররোচিত করে। প্রম্পটে কখনোই API কী বা সিক্রেট রাখবেন না।
  • Indirect Injection: আসল বিপদ। ক্ষতিকারক নির্দেশাবলী ইমেল, PDF বা ওয়েব পেজে লুকিয়ে থাকে। মডেল এগুলোকে কমান্ড হিসেবে পড়ে নেয়।
  • RAG Poisoning: আক্রমণকারীরা আপনার নলেজ বেসে ক্ষতিকারক ডেটা যোগ করে। মডেল এই কন্টেন্টটি রিট্রিভ করে এবং লুকিয়ে থাকা কমান্ডগুলো অনুসরণ করে।
  • Multimodal Attacks: ছবি বা অডিও ফাইলের ভেতরে নির্দেশাবলী লুকিয়ে থাকে। টেক্সট ফিল্টার এগুলো দেখতে পায় না।
  • Tool Abuse: একটি সফল ইনজেকশন ইমেল পাঠানো বা কোড চালানোর মতো বাস্তব কাজের দিকে নিয়ে যেতে পারে। এটিই হলো "confused deputy" সমস্যা।
  • The Lethal Trifecta: সবচেয়ে বিপজ্জনক অবস্থা। একটি এজেন্টের কাছে ব্যক্তিগত ডেটার অ্যাক্সেস আছে, সে অনির্ভরযোগ্য কন্টেন্ট দেখতে পায় এবং বাইরের জগতের সাথে যোগাযোগ করার উপায় আছে।
  • Memory Poisoning: আক্রমণকারীরা মডেলের লং-টার্ম মেমরিতে ক্ষতিকারক নির্দেশাবলী লিখে রাখে যাতে ভবিষ্যতে অন্য সেশনে আক্রমণ চালানো যায়।
  • Multi-Agent Spread: একটি এজেন্টের আউটপুট অন্য এজেন্টের নির্দেশাবলী হতে পারে। একটি আক্রমণ আপনার পুরো সিস্টেম জুড়ে ছড়িয়ে পড়তে পারে।
  • MCP Poisoning: ক্ষতিকারক টুল ডেসক্রিপশন একটি মডেলকে ক্রেডেনশিয়াল (credentials) দিয়ে দেওয়ার জন্য প্ররোচিত করতে পারে।

সমাধান একটি উন্নত মডেল নয়, বরং উন্নত আর্কিটেকচার।

  • 'Least privilege' নীতি অনুসরণ করুন।
  • গুরুত্বপূর্ণ কাজের জন্য 'human in the loop' পদ্ধতি ব্যবহার করুন।
  • কখনোই একটি পথে একই সাথে ব্যক্তিগত ডেটা, অনির্ভরযোগ্য ইনপুট এবং একটি এক্সিট রুট (exit route) রাখবেন না।

আপনার এজেন্টদের এমনভাবে তৈরি করুন যেন তারা ইতিমধ্যে কম্প্রোমাইজড (compromised) হয়ে গেছে। তারা কী বলতে পারে তা নয়, বরং তারা কী করতে পারে তার ওপর সীমাবদ্ধতা আরোপ করুন।

উৎস: https://dev.to/weboko/llm-vulnerabilities-101-3pcj

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