کِلا پاترول - Claw Patrol: فایروال متنباز Deno برای کنترل agent های هوش مصنوعی
حدود ۵ دقیقه مطالعه
دینو (Deno) (همون شرکتی که Ryan Dahl، خالق Node.js، رهبریش میکنه) یه ابزار جدید متنباز منتشر کرده به اسم Claw Patrol؛ یه فایروال امنیتی که بین agent های هوش مصنوعی و زیرساخت واقعی (دیتابیس، Kubernetes، سرورها) میشینه و دقیقاً کنترل میکنه که هر agent چه کاری مجازه انجام بده.
داستان از کجا شروع شد
Deno برای سرویس هاستینگش (Deno Deploy)، از agent های مبتنی بر مدلهایی مثل Claude Opus برای رسیدگی خودکار به incident های production استفاده میکنه؛ agent هایی که به PostgreSQL، Kubernetes، ClickHouse، AWS، گیتهاب، و Slack دسترسی write دارن. این agent ها تونستن بخش قابلتوجهی از incident هایی که قبلاً نیاز به دخالت انسان داشتن رو خودکار حل کنن. ولی همین سطح از دسترسی، یه ریسک فاجعهبار هم به همراه داره: اگه یه agent قربانی prompt injection بشه یا رفتار غیرمنتظرهای نشون بده، همون دسترسی میتونه به فاجعه تبدیل بشه.
طبق صحبتهای Ryan Dahl تو کنفرانس AI Engineer، فلسفهی پشت Claw Patrol اینه: agent رو باید مثل یه نرمافزار کاملاً نامعتمد در نظر گرفت، مهم نیست مدل زیرینش چقدر «همسو» به نظر برسه. راهحلهای موجود (ACL، ابزارهای MCP، LLM gateway، HTTP proxy، credential vault، sandbox کردن پروسه) هر کدوم یهجای کار میلنگن، مخصوصاً وقتی پای پروتکلهای غیر-HTTP مثل PostgreSQL یا spawn کردن subprocess وسط بیاد.
چطور کار میکنه
Claw Patrol یه gateway است که ترافیک agent رو از طریق تونل WireGuard یا Tailscale میگیره، TLS رو terminate میکنه، و بعد پروتکل داخلی رو parse میکنه؛ نه فقط HTTP، بلکه SQL، Kubernetes API، و SSH هم پشتیبانی میشن. برای هر پروتکل، gateway یه سری «fact» سطح-wire استخراج میکنه: برای Postgres/ClickHouse، فعل SQL و اسم جدول؛ برای Kubernetes، resource/verb/namespace؛ برای HTTP، method/path/header/body.
این fact ها بعد در برابر قوانینی که با HCL (همون زبون تنظیمات HashiCorp) نوشتی، سنجیده میشن:
rule "k8s-no-secrets" {
endpoint = k8s-prod
condition = "k8s.resource == 'secrets'"
verdict = "deny"
reason = "Secret values must not leave the cluster via the agent"
}
نتیجهی هر ارزیابی میتونه allow، deny، یا یه زنجیرهی پیچیدهتر شامل داور LLM یا تأیید انسانی (مثلاً از طریق Slack) باشه؛ یعنی برای عملیات پرریسک مثل kubectl delete pod، میشه درخواست رو متوقف کرد تا یه انسان تأییدش کنه.
مدیریت credential ها
یکی از نکات کلیدی طراحی اینه که credential های واقعی هیچوقت رو خود agent نمیشینن. Agent فقط یه placeholder میفرسته، و این gateway است که موقع عبور دادن ترافیک، توکن واقعی رو جایگزینش میکنه. یعنی حتی اگه agent کامل کنترل بشه یا لاگش لو بره، خود secret ها هیچوقت در معرض دید agent قرار نمیگیرن.
سه مدل استقرار
طبق ریپازیتوری رسمی گیتهاب، Claw Patrol سه شکل مختلف استقرار داره:
clawpatrol run: یه تونل مخصوص هر پروسه باز میکنه (رو لینوکس با netns، رو مک با NetworkExtension)؛ فقط ترافیک همون دستور wrapشده از gateway عبور میکنه.clawpatrol join: یه تونل WireGuard کامل بالا میاره که کل ترافیک host رو مسیر میده.clawpatrol gateway: خود proxy است؛ یه باینری تکی که HCL config رو لود میکنه و کلاینتها رو میپذیره.
میتونی هرکدوم از این سه شکل رو بسته به نیازت انتخاب کنی؛ لازم نیست همیشه کل host رو مسیر بدی.
چطور همین الان امتحانش کنیم
پروژه زیر لایسنس MIT منتشر شده و از طریق اسکریپت نصب خود پروژه یا از سورس (که نیاز به Go و Node.js داره) قابل بیلده. برای شروع:
# نصب سریع
curl -fsSL https://clawpatrol.dev/install.sh | sh
# یا از سورس (نیاز به Go و Node.js)
git clone https://github.com/denoland/clawpatrol
cd clawpatrol && make
بعد از نصب، یه فایل HCL برای قوانینت مینویسی (مثلاً بلاک کردن DROP TABLE رو یه دیتابیس خاص، یا نیاز به تأیید انسانی برای حذف پاد رو Kubernetes production)، و agent ت رو طوری تنظیم میکنی که ترافیکش از یکی از سه مسیر بالا عبور کنه. ابزار همچنین یه دستور clawpatrol test هم داره که میتونی قوانینت رو در برابر یه سری fixture (رکورد شده از دشبورد یا نوشتهشدهی دستی) تو CI تست کنی؛ اگه یه تغییر قانون، نتیجهی یه fixture رو عوض کنه، تست fail میشه و diff نشونت میده.
نکتهی مهم: هنوز alpha است
خود Deno صراحتاً اعلام کرده که Claw Patrol فعلاً alpha software است. پشتیبانی پروتکلها دقیقاً به اندازهی نیاز خود Deno گسترشه، نه بیشتر؛ اگه پروتکل خاصی میخوای که پشتیبانی نمیشه، باید یا خودت کدش رو اضافه کنی (مستندات کافی برای این کار هست)، یا از تیم Deno درخواست کنی. شرکت هم صراحتاً از جامعه خواسته که الگوهای قانوننویسی واقعی، پروتکلهای موردنیاز بعدی، و باگهای مسیر نصب رو گزارش بدن.
جمعبندی
اگه داری agent هایی میسازی که دسترسی نوشتنی به زیرساخت واقعی (دیتابیس، کلاستر، سرویسهای ابری) دارن، Claw Patrol یه لایهی امنیتی جدی و متنباز ارائه میده که فراتر از یه HTTP proxy ساده عمل میکنه؛ مخصوصاً به این خاطر که پروتکلهای غیر-HTTP رو هم میفهمه و credential های واقعی رو از دید خود agent مخفی نگه میداره. ولی چون هنوز alpha است، برای استفادهی production جدی، بهتره اول رو یه محیط تست یا staging امتحانش کنی و منتظر بلوغ بیشتر پروژه بمونی.
