প্রকল্প সম্পর্কে
Agent Interlock হলো একটি Python 3.11 ফ্রেমওয়ার্ক (Apache-2.0) যা এজেন্ট-টু-এজেন্ট ইন্টারঅ্যাকশনের ক্ষেত্রে সেফটি-ইঞ্জিনিয়ারিংয়ের ইন্টারলক ধারণাটি প্রয়োগ করে। ActorSpec ম্যানিফেস্টের মাধ্যমে অ্যাক্টরদের ঘোষণা করা হয়, প্রতিটি অ্যাক্টরের সারফেস একটি SDK বা প্রক্সি দিয়ে র্যাপ করা হয় এবং তাদের মধ্যকার যোগাযোগ পর্যবেক্ষণ, বিচার এবং ব্লক করা হয় যাতে শুধুমাত্র ঘোষিত লিঙ্কগুলোই সংযুক্ত হতে পারে।
এই প্রজেক্টটি একটি MCP টুল গেটওয়ের ওপর কেন্দ্রিত। M1 থেকে M9 পর্যন্ত থ্রেটগুলো—টুল পয়জনিং, রাগ পুল, টুল শ্যাডোয়িং, পয়জন্ড টুল পাবলিশ, কনফিউজড ডেপুটি বা টোকেন পাসথ্রু, MCP সার্ভার টু হোস্ট কম্প্রোমাইজ, এজেন্ট-কনফিগ ডিসকভারি বা মডিফিকেশন, ক্রেডেনশিয়াল হার্ভেস্টিং এবং ডেটা এক্সফিলট্রেশন—ডেটা-ফ্লো লেভেলে হ্যান্ডেল করা হয়, যার প্রতিটির জন্য QUARANTINE, BLOCK, HOLD, CHALLENGE বা SANITIZE-এর মতো ডিফল্ট ভারডিক্ট রয়েছে। এনফোর্সমেন্ট পর্যায়ক্রমে OBSERVE থেকে SHADOW এবং তারপর ENFORCE-এ উন্নীত করা হয়, এবং ENFORCE-এ উন্নীত হওয়ার জন্য দুটি স্বাক্ষরিত অনুমোদনের প্রয়োজন হয়। তিনটি এনফোর্সমেন্ট পয়েন্টের পেছনে ২৯টি চেকের একটি একক Check টেবিল থাকে, যার প্রতিটিতে নিজস্ব প্রোফাইল থাকে: MCP গেটওয়েতে ২১টি চেক, SDK-তে ১৯টি এবং A2A ব্রোকারে ১৭টি। README-তে স্পষ্টভাবে উল্লেখ করা হয়েছে যে মেকানিজমটি শেয়ার করা হলেও কভারেজ এক নয়, এবং ব্রোকারের কোনো ইগ্রেস, ভলিউম বা টেইন্ট কন্ট্রোল নেই।
এর উপাদানগুলোর মধ্যে রয়েছে SDK (define_actor, connect, wrap), একটি রানটাইম যা ইন্টার-অ্যাক্টর কমিউনিকেশন ইন্টারসেপ্ট করে, একটি অর্কেস্ট্রেটর যা A2A, MCP এবং হিউম্যান ট্রান্সপোর্টের মাধ্যমে ভেরিফাইড টাস্ক DAG-গুলো এক্সিকিউট করে, একটি A2A ব্রোকার যা প্রি-এনফোর্সমেন্টের সাথে এজেন্ট কার্ড এবং টাস্ক হ্যান্ডেল করে, একটি অ্যাপেন্ড-অনলি লেজার যা রিকোয়েস্ট, ভারডিক্ট, অ্যাকশন এবং আউটকাম ইভেন্টগুলো আলাদাভাবে রেকর্ড করে, ডিজাইন, রানটাইম এবং অ্যাটাক পাথের জন্য গ্রাফ ভিউ, আর্কিটেকচার এডিটিং এবং ম্যানিফেস্ট এক্সপোর্টের জন্য একটি বক্স-বেসড Studio ওয়েব UI, একটি Anthropic Tool Runner অ্যাডাপ্টার এবং একটি ইন্টারলক ভেরিফাই কমান্ড যা ফ্রেমওয়ার্কের ফিক্সচারের পরিবর্তে প্রজেক্টের নিজস্ব গার্ডেড টুলগুলোর বিপরীতে নয়টি L1 সিনারিও রান করে।
অন্যান্য প্রমাণিত ক্ষেত্রগুলোর মধ্যে রয়েছে আর্কিটেকচার ডাইজেস্টের সাথে যুক্ত MCP JSON-RPC tools/list, tools/call এবং list-changed এনফোর্সমেন্ট; সেশন বাইন্ডিং সহ একটি Streamable HTTP JSON/SSE ক্লায়েন্ট; MCP OAuth ডিসকভারি, PKCE S256, RFC 7662 ইন্ট্রোস্পেকশন, ঐচ্ছিক JWKS/JWT ভেরিফিকেশন এবং লুপব্যাক কনসেন্ট; আর্টিফ্যাক্ট পিনিং, স্বাক্ষরিত স্যান্ডবক্স অ্যাটেস্টেশন এবং Bubblewrap লঞ্চ প্ল্যান সহ একটি stdio JSONL ক্লায়েন্ট; পাবলিশারদের জন্য স্বাক্ষরিত প্রোভেন্যান্স অ্যাডমিশন; আর্কিটেকচার ম্যানিফেস্ট থেকে কম্পাইল করা প্রতি-ডেস্টিনেশন ইগ্রেস গার্ড; PostgreSQL পার্টিশনিং, session_user-ভিত্তিক FORCE RLS এবং ইভেন্ট ও ট্রেস HTTP API সহ একটি অ্যাপেন্ড-অনলি লেজার অ্যাডাপ্টার; OTLP/HTTP JSON ইনজেস্ট; স্বাক্ষরিত অডিট সিঙ্ক; মাল্টি-এজেন্ট এজ-এর জন্য ডিজাইন-ভার্সেস-রানটাইম ড্রিফট রিকনসিলিয়েশন; ডিরেকশনাল ইন্টারনাল/এক্সটারনাল ট্রাস্ট বাউন্ডারি; এবং .invalid অ্যাড্রেস ব্যবহার করে ডিটারমিনিস্টিক ফিক্সচার সহ একটি ফেক-ডেটা এন্ড-টু-এন্ড সিনারিও স্যুট।
রেফারেন্স কোরে কোনো এক্সটারনাল রানটাইম ডিপেন্ডেন্সি নেই, তবে PostgreSQL এবং Anthropic ইন্টিগ্রেশন ঐচ্ছিক এক্সট্রা হিসেবে রয়েছে। README-তে স্পষ্টভাবে বলা হয়েছে যে কী কী সরবরাহ করা হয়নি: কোনো LangGraph বা Claude Agent SDK অ্যাডাপ্টার নেই, কোনো সাইডকার প্রক্সি নেই, সার্ভার-সাইড MCP কানেক্টর ইন্টারসেপশন স্কোপের বাইরে রাখা হয়েছে কারণ সেই টুলগুলো প্রোভাইডারের সাইডে এক্সিকিউট হয়, একটি একসেপ্টেন্স ইভ্যালুয়েটর যা শুধুমাত্র স্ট্রাকচারাল, এবং একটি ম্যানিফেস্ট পার্সার যা এখনও কিছু ফিল্ড এবং সাইড-ইফেক্ট অ্যাকশন ড্রপ করে। এটি আরও রেকর্ড করে যে SDK গেটওয়ের অ্যাপ্রুভাল API-তে পৌঁছাতে পারে না, তাই একটি র্যাপড টুল থেকে এক্সটারনাল রাইট SDK থেকে অনুমোদনের পরিবর্তে ফেইল ক্লোজড হয়। Sigstore, KMS/HSM, আইডেন্টিটি প্রোভাইডার, রিয়েল ইগ্রেস সাইডকার, TLS এবং ডিস্ট্রিবিউটেড রেট লিমিটিং-এর মতো প্রকৃত এক্সটারনাল-ইন্টিগ্রেশন কাজগুলো বাকি হিসেবে তালিকাভুক্ত করা হয়েছে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.