৩. নিরাপত্তা — থ্রেট মডেল আর সীমানাগুলো যা ধরে রাখে¶
এক বাক্যে: আর্কিটেকচারের নিরাপত্তা আসে টাইপড আউটপুট, প্রাইভেট সাবনেট, আর অডিট লগিং থেকে — প্রম্পট ইঞ্জিনিয়ারিং ট্রিক থেকে নয়।
স্তর পাতা আর ডেটা-প্রবাহ পাতায় সিস্টেম কী তা নির্ধারণ করা হয়েছে। এই পাতায় নির্ধারণ করা হলো কী থেকে রক্ষা করে, কী থেকে করে না, আর কেন প্রতিরক্ষা নেটওয়ার্ক আর চুক্তি সীমানায়, প্রম্পটের ভেতরে নয়।
থ্রেট মডেল — তিনটি প্রোফাইল¶
থ্রেট মডেল তখনই কাজে লাগে যখন প্রতিপক্ষের নাম বলে। এই আর্কিটেকচার তিনটি প্রোফাইল সামলানোর জন্য ডিজাইন করা, ক্রমবর্ধমান তীব্রতায়। এই তিনটির বাইরে যা তা স্পষ্টভাবে out of scope বলা হয়েছে।
১. কিউরিয়াস অপারেটর¶
কে: একজন বৈধ অপারেটর যে রিকোয়েস্ট জমা দিতে পারে আর নিজের রেসপন্স পড়তে পারে।
করতে পারে:
- অপারেটর ফর্মের ভেতরে যেকোনো প্রম্পট জমা দিতে পারে।
- নিজের রিকোয়েস্টের মডেল রেসপন্স পড়তে পারে।
- অডিট লগে নিজের request id, লেটেন্সি, আর ফলাফল দেখতে পারে (যদি অপারেটরকে এক্সপোজ করো)।
করতে পারে না:
- অন্য অপারেটরের প্রম্পট বা রেসপন্স পড়তে পারে না — লগ namespace per-tenant।
- আউটপুট স্কিমা বাইপাস করতে পারে না — মডেলের রেসপন্স Pydantic মডেলে ভ্যালিডেট হয় Workflow স্তর ছাড়ার আগে; মলফর্মড আউটপুট রিজেক্ট হয়, পাস-থ্রু হয় না।
- মডেল সরাসরি কল করতে পারে না — অ্যাপ্লিকেশন সার্ভারই LM Studio-এর একমাত্র ক্লায়েন্ট।
- অনুমোদিত ডকুমেন্ট পড়তে পারে না — নিচের "প্রম্পট ইঞ্জেকশন আর আউটপুট স্কিমা" সেকশন দেখো।
কেন ধরে রাখে: মডেলের ওপরের প্রতিটি স্তর টাইপড চুক্তি। ফ্রি-ফর্ম টেক্সট শুধু মডেলের নিজের রেসপন্স অবজেক্টে পারমিটেড। স্কিমা-ভায়োলেটিং রেসপন্স সার্ভার এরর, লিক নয়।
২. কমপ্রোমাইজড অ্যাপ্লিকেশন সার্ভার¶
কে: একজন আক্রমণকারী যে অ্যাপ্লিকেশন সার্ভারে কোড এক্সিকিউশন পেয়েছে কিন্তু LM Studio host-এ নয়।
করতে পারে:
- অ্যাপ্লিকেশন সার্ভার থেকে সরাসরি LM Studio কল করতে পারে (এটাই LM Studio যে কানেকশন অ্যাকসেপ্ট করে)।
- অডিট লগ রো ফোর্জ করতে পারে।
- ট্রানজিশনে অপারেটরের প্রম্পট আর রেসপন্স পড়তে পারে।
করতে পারে না:
- মডেল ওয়েট এক্সফিলট্রেট করতে পারে না — LM Studio host আলাদা সাবনেটে, কোনো ইন্টারনেট ইগ্রেস নেই।
- অ্যাপ্লিকেশন সার্ভার যা আগে থেকেই পারে না এমন অন্য ইন্টারনাল সার্ভিস রিচ করতে পারে না — ফায়ারওয়াল রুল একই।
- অ্যাপ্লিকেশন সার্ভারের blast radius-এর বাইরে পারসিস্ট করতে পারে না — মডেল রানটাইম অছুঁয়ে, রিট্রিভাল স্টোর তৃতীয় সাবনেটে, অডিট লগ চতুর্থে।
কেন ধরে রাখে: নেটওয়ার্ক টপোলজিই প্রতিরক্ষা। অ্যাপ্লিকেশন সার্ভার সম্পূর্ণ কমপ্রোমাইজড হলেও আক্রমণকারী এমন ডেটা পায়নি যা আগে থেকে পায়নি। Blast radius = অ্যাপ্লিকেশনের চলতি পারমিশন।
৩. ম্যালিশিয়াস প্রম্পট¶
কে: একজন অপারেটর, আপস্ট্রিম টিকেটিং সিস্টেম, বা রিট্রিভাল স্টোরের একটা চাঙ্ক যার টেক্সট মডেলকে চুক্তির বাইরে আচরণ করতে বাধ্য করতে চায়।
করতে পারে:
- মডেলকে ভুল ক্যাটেগরি রিটার্ন করতে বাধ্য করতে চাইতে পারে (যেমন ক্রিটিকাল incident-এ
priority=lowফোর্স)। - সিস্টেম প্রম্পট শব্দে শব্দে এক্সট্র্যাক্ট করতে চাইতে পারে।
- মডেলকে অনুমোদিত চাঙ্ক রিভিল করতে বাধ্য করতে চাইতে পারে (RAG কেস)।
- মডেলকে টাইপড অবজেক্ট প্রত্যাশিত ডাউনস্ট্রিম সিস্টেমে ফ্রি-ফর্ম টেক্সট এমিট করতে বাধ্য করতে চাইতে পারে।
করতে পারে না (আর্কিটেকচারের ডিফল্ট ধরে):
- স্কিমা-অনুমোদিত টাইপড অবজেক্ট রিটার্ন করতে পারে না। Pydantic মডেল অজানা ফিল্ড আর allowed set-এর বাইরের ভ্যালু রিজেক্ট করে।
- রিট্রিভাল source filter বাইপাস করতে পারে না। Workflow মডিউল retriever-কে স্পষ্ট
source_filterপাস করে; অনুমোদিত সোর্স থেকে চাঙ্ক রিট্রিভই হয় না। - রিকোয়েস্টের মাঝে পারসিস্ট করতে পারে না। প্রতিটি রিকোয়েস্ট স্বতন্ত্র। কলের মাঝে মডেলে কোনো শেয়ার্ড স্টেট নেই।
কেন ধরে রাখে: আউটপুট স্কিমাই প্রথম লাইন। প্রম্পট ইঞ্জেকশন ফ্রি-ফর্ম টেক্সট প্রোডিউস করলেও স্কিমা-ভ্যালিডেশন স্টেপে ফেইল করে, আর কলার পেলোড পায় না, এরর পায়। রিট্রিভাল source filter দ্বিতীয় লাইন; সফল ইঞ্জেকশনও অনুমোদিত ডেটা রিট্রিভ করতে পারে না।
নেটওয়ার্ক প্লেসমেন্ট¶
Internet
|
| (egress: blocked except monitoring/CI)
|
+------+------+
| Firewall |
+------+------+
|
+-------------+-------------+
| Operator subnet |
| 10.0.1.0/24 |
| - Operator workstations |
| - Operator VPN clients |
+-------------+-------------+
| (allow 443 in, no other inbound)
|
+-------------+-------------+
| Application subnet |
| 10.0.2.0/24 |
| - Application server |
| - Internal API |
| - Workflow modules |
+-------------+-------------+
| (allow 1234/tcp to inference subnet only)
|
+-------------+-------------+
| Inference subnet |
| 10.0.3.0/24 |
| - LM Studio / vLLM |
| - NO internet egress |
+-------------+-------------+
| (allow 8000/tcp to retrieval subnet only)
|
+-------------+-------------+
| Retrieval subnet |
| 10.0.4.0/24 |
| - ChromaDB |
| - Document loader jobs |
| - NO internet egress |
+----------------------------+
তিনটি রুল মনে রাখো:
- Inference আর retrieval সাবনেটে কোনো ইন্টারনেট ইগ্রেস নেই। পিরিয়ড। মডেল কল করে না। Retriever কল করে না।
- ফায়ারওয়াল allow-list, deny-list নয়। অ্যাপ্লিকেশন সাবনেট শুধু inference সাবনেটে LM Studio পোর্টে রিচ করতে পারে। Inference সাবনেট শুধু retrieval সাবনেটে ChromaDB পোর্টে রিচ করতে পারে।
- মনিটরিং একমাত্র এক্সেপশন, আর তা উল্টো দিকে যায়। Prometheus অ্যাপ্লিকেশন সার্ভার scrape করে; অ্যাপ্লিকেশন সার্ভার থার্ড-পার্টি SaaS-এ push করে না। মনিটরিং pull-based রাখো।
অডিট লগিং¶
প্রতিটি মডেল কল একটা লগ রো প্রোডিউস করে। রোটা Application স্তর রেসপন্স অপারেটরকে ফেরানোর আগে লেখে, তাই ক্র্যাশড রেসপন্সও ট্রেইল রাখে।
| ফিল্ড | টাইপ | নোট |
|---|---|---|
request_id |
UUID | Edge-তে জেনারেট, প্রতিটি স্তরে প্রোপাগেট |
actor |
string | অপারেটর id বা সিস্টেম principal |
tenant |
string | মাল্টি-টেন্যান্ট — প্রয়োজন |
module |
string | কোন Workflow মডিউল কল হয়েছে (যেমন isp_classifier.triage) |
model |
string | মডেল ভার্সন স্ট্রিং (যেমন qwen2.5-1.5b-instruct-gguf-q4_k_m) |
input |
typed object | সিরিয়ালাইজড ইনপুট, secret মার্কড ফিল্ড রিড্যাক্টেড |
output |
typed object | সিরিয়ালাইজড আউটপুট, আউটপুট স্কিমায় ভ্যালিডেটেড |
latency_ms |
int | এন্ড-টু-এন্ড, Application edge থেকে Application edge |
prompt_tokens |
int | মডেলের usage ফিল্ড থেকে |
completion_tokens |
int | মডেলের usage ফিল্ড থেকে |
agreement_score |
float | null | ইভ্যাল সেটের সাথে স্যাম্পলড agreement; null যদি unsampled |
outcome |
enum | ok, schema_validation_failed, upstream_timeout, rate_limited, auth_failed |
timestamp |
RFC 3339 | UTC |
লগে যা নেই:
- সিক্রেট (API key, পাসওয়ার্ড, টোকেন)। Edge-তে লগ রো বিল্ডের আগে স্ট্রিপ।
- এখতিয়ারে যেখানে রেগিউলেটর রিকোয়ার করে সেখানে raw অপারেটর টেক্সট।
redact_piiওয়ার্কফ্লো রিরাইটার Workflow স্তরের কাজ, logger-এর নয়। - যেখানে আউটপুট স্কিমাই চুক্তি সেখানে ফ্রি-ফর্ম মডেল টেক্সট। স্কিমা-ভ্যালিডেটেড টাইপড অবজেক্ট লগ হয়, মডেলের raw টেক্সট নয়।
লগ গন্তব্য তোমার লগ স্টোর — তোমার SIEM, তোমার রিটেনশন, তোমার এখতিয়ার। মডেল vendor কখনো তা দেখে না।
প্রম্পট ইঞ্জেকশন আর আউটপুট স্কিমা¶
প্রম্পট ইঞ্জেকশন LLM সিস্টেমে সবচেয়ে আলোচিত আক্রমণ আর প্রম্পট ইঞ্জিনিয়ারিং দিয়ে সবচেয়ে কম সামলানো হয়। আর্কিটেকচারের উত্তর স্ট্রাকচারাল, লিঙ্গুইস্টিক নয়:
- আউটপুট টাইপড অবজেক্ট, টেক্সট নয়। মডেলের raw টেক্সট Pydantic মডেলে পার্স আর ভ্যালিডেট হয়। অজানা ফিল্ড ড্রপ। Allowed set-এর বাইরের ভ্যালু রিজেক্ট। সফল ইঞ্জেকশন ফ্রি-ফর্ম টেক্সট প্রোডিউস করলেও এই স্টেপে ফেইল, আর কলার পেলোড পায় না,
schema_validation_failedআউটকাম পায়। - সিস্টেম প্রম্পট সার্ভার-সাইড। Edge সিস্টেম প্রম্পট কন্ট্রোল করে না। অপারেটর শুধু user-side ফিল্ড জমা দেয়। সিস্টেম প্রম্পট Workflow মডিউলের সোর্স কোডে, যা Edge থেকে এডিট করা যায় না।
- রিট্রিভাল ফিল্টারড, ট্রাস্টেড নয়। Workflow মডিউল retriever-কে স্পষ্ট
source_filterপাস করে। ফিল্টারের বাইরের সোর্স থেকে চাঙ্ক রিট্রিভই হয় না; মডেল সেগুলো দেখেই না। পাবলিক ডকুমেন্টে বিষাক্ত চাঙ্ক রেস্ট্রিক্টেড ডকুমেন্টের চাঙ্ক লিক করতে পারে না। - Agreement-rate মনিটরিং ড্রিফট ধরে। ইভ্যাল সেট প্রোডাকশন ট্রাফিকের স্যাম্পলে চলে (ডিফল্ট 5%)। মডেলের আউটপুট ইভ্যাল সেটের প্রত্যাশিত উত্তরের সাথে agreement কমতে শুরু করলে তা ড্রিফট সিগন্যাল — আর সফল প্রম্পট-ইঞ্জেকশন ক্যামপেইন লিক হওয়ার আগে ড্রিফট হিসেবে ধরা পড়ে।
- Per-tenant লগ namespace। এক tenant-এর ডেটায় সফল ইঞ্জেকশন অন্য tenant-এর প্রম্পট বা রেসপন্স পড়তে দেয় না। লগ
tenantদিয়ে পার্টিশন।
Agreement-rate মনিটরিং-এর বিস্তারিত আলোচনার জন্য গ্রহণযাত্রা → বিল্ড, Workstream 3 (Observability) দেখো।
মডেল প্রোভিন্যান্স আর সাপ্লাই চেইন¶
মডেল ওয়েট সিস্টেমের সবচেয়ে বড় একক কোড। থার্ড-পার্টি বাইনারি ডিপেন্ডেন্সির মতো শ্রেণীত করো।
- পিনড মডেল ভার্সন। LM Studio host একটা সময়ে ঠিক একটা মডেল লোড করে, আর deploy রেকর্ডে model id, quantization, আর GGUF-এর SHA-256 থাকে।
- প্রতিটি মডেল পরিবর্তনে ফ্রোজেন ইভ্যাল সেট। নতুন মডেল ভার্সন প্রোমোট করলে — একই মডেলের নতুন quantization হলেও — ফ্রোজেন ইভ্যাল সেট রি-রান হয়। Agreement বারের নিচে নামলে প্রোমোশন ব্লক।
- সোর্স allow-list। মডেল ওয়েট একটা থেকে টানা হয়: Hugging Face (org আর repo পিনড), লোকাল মিরর, বা অফলাইন কপি। Air-gapped ডিপ্লয়মেন্ট অফলাইন মিডিয়া থেকে লোড করে।
- রানটাইমে মডেল ডাউনলোড নেই। মডেল host স্টার্টআপে লোড হয়। রিকোয়েস্ট টাইমে phone home করে না। স্টার্টআপে ভার্সন মিসম্যাচ ধরা পড়লে host স্টার্ট করতে রিফিউজ করে।
এই আর্কিটেকচার যার থেকে রক্ষা করে না¶
সীমানা বলা হলো যাতে পাঠক জানে অতিরিক্ত কন্ট্রোল কোথায় লাগাতে হবে।
- LM Studio host-এ শেল থাকা দৃঢ় প্রতিজ্ঞ ইনসাইডার। প্রম্পট, কমপ্লিশন, আর মডেল ওয়েট পড়তে পারে। মিটিগেশন: ফিজিকাল সিকিউরিটি, ডিস্ক এনক্রিপশন, হোস্ট-লেভেল অ্যাকসেস কন্ট্রোল — আর্কিটেকচার নয়।
- GPU বক্সে ফিজিকাল অ্যাকসেস। ড্রাইভ টানতে পারে। মিটিগেশন: ফিজিকাল সিকিউরিটি।
- সাইড-চ্যানেল মডেল এক্সট্র্যাকশন। টাইমিং বা পাওয়ার-অ্যানালিসিস অ্যাকসেস থাকা সম্পদশালী আক্রমণকারী ওয়েট তথ্য এক্সট্র্যাক্ট করতে পারে। এই থ্রেট মডেলের scope-এর বাইরে।
- মডেলের নিজের বাগ। মডেল পক্ষপাতিত, তথ্যত ভুল, বা অনিরাপদ আউটপুট প্রোডিউস করতে পারে। ইভ্যাল সেট আর agreement মনিটরিং দিয়ে ধরা পড়ে; আর্কিটেকচার তা প্রিভেন্ট করতে পারে না।
- অপারেটরের সোশ্যাল ইঞ্জিনিয়ারিং। অপারেটরকে ক্ষতিকারক প্রম্পট জমা দিতে রাজি করানো গেলে কোনো স্কিমা তা থামাতে পারে না। অডিট লগই ট্রেস।
তোমার থ্রেট মডেলে এগুলো থাকলে এই আর্কিটেকচারের ওপরে অতিরিক্ত কন্ট্রোল লাগবে — সাধারণত আলাদা data-loss-prevention স্তর, hardware security module, বা ডেডিকেটেড সিকিউরিটি অপারেশনস টিম সহ সম্পূর্ণ air-gapped ডিপ্লয়মেন্ট।
এই পাতা যা নয়¶
- কমপ্লায়েন্স সার্টিফিকেশন নয়। Local-first নিয়ন্ত্রিত ওয়ার্কলোডের জন্য শক্তিশালী ডিফল্ট, কিন্তু একা তোমার রেগিউলেটর যা চায় তার বদলি নয় (GDPR, HIPAA, Bangladesh Bank ICT গাইডলাইন ইত্যাদি)। অডিট লগ ফিল্ড আর নেটওয়ার্ক প্লেসমেন্ট তোমার কন্ট্রোল ফ্রেমওয়ার্কে ম্যাপ করো।
- অ্যাপ্লিকেশন-স্তর সিকিউরিটির বদলি নয়। অথেনটিকেশন, অথোরাইজেশন, ইনপুট ভ্যালিডেশন, আর রেট লিমিটিং Application স্তরে থাকে, এই পাতার scope-এর বাইরে।
- LM Studio সিকিউরিং গাইড নয়। LM Studio প্রজেক্ট নিজের হার্ডেনিং নোট পাবলিশ করে; এই পাতা ধরে নেয় host তোমার সাধারণ সার্ভার-বেসলাইন প্রসেসে হার্ডেন করা আছে।
আরও দেখো¶
- আর্কিটেকচার ওভারভিউ — পাঁচ-স্তর স্ট্যাক
- স্তরসমূহ — প্রতিটি স্তরের দায়িত্ব
- ডেটা প্রবাহ — কোন সীমানায় কী যায়
- গ্রহণযাত্রা → বিল্ড — অবজারভেবিলিটি আর অন-কল রানবুক
- কেন AI Work Flow for Business? — ডেটা-রেসিডেন্সি আর্গুমেন্ট