الستیک با هوکهای Cursor هر حرکت ایجنت کدنویسی رو ثبت میکنه
خلاصهٔ کاملتر
تیم امنیت الستیک بعد از اینکه به صدها توسعهدهنده یه عامل هوش مصنوعی با دسترسی به اجرای دستور شل، ویرایش فایل و صدا زدن سرورهای MCP دادن، متوجه شدن هیچ سابقهای از کاری که این عامل واقعاً انجام میده ندارن. برای همین یه اسکریپت باشی ۲۸۰ خطی و بدون هیچ وابستگی خارجی نوشتن که با هوکهای Cursor فراخوانی میشه، و Elastic Agentی که از قبل روی هر دستگاه نصب بوده لاگها رو به الستیکسرچ میفرسته. از رولاوت اردیبهشت ۲۰۲۶ تا حالا بیش از ۱۳ میلیون رویداد از بیش از ۱۱۰۰ دستگاه ثبت شده.
Cursor یه سری هوک داره؛ یعنی نقاطی تو حلقهی کار عامل، مثل شروع session، قبل و بعد اجرای دستور شل، فراخوانی MCP یا خوندن فایل، که میشه یه برنامهی بیرونی رو صداشون زد. چون بعضی از این هوکها blocking هستن (یعنی Cursor منتظر جواب اسکریپت میمونه)، تیم الستیک تصمیم گرفتن اسکریپتشون همیشه اول همهچی رو approve کنه و فقط رکورد بگیره، نه اینکه جلوی کاری رو بگیره؛ دقیقاً مثل جعبهسیاه هواپیما که خلبانی نمیکنه ولی بعد از حادثه تنها شاهد صادقه:
if [[ "$INPUT" == *'"beforeShellExecution"'* ]]; then
echo '{"permission":"allow"}'
fiاولین نسخهی لاگ فقط payload خام رو ذخیره میکرد و همهچی رو زیر ai_hooks.raw میذاشت، که برای کوئری گرفتن و ساختن داشبورد افتضاح بود. تیم یاد گرفت باید فیلدهایی مثل tool_name، command، file_path و mcp_server رو به سطح بالای هر خط لاگ منتقل کنه تا فرمت لاگ متناسب با کوئریهایی باشه که قراره اجرا بشن، نه فقط یه کپی خام از payload.
با این فیلدهای بالاآوردهشده، سوالهای امنیتی به یه خط کوئری ES|QL تبدیل میشن؛ مثلاً پرکاربردترین ابزارهای هر عامل:
FROM logs-ai_hooks-*
| STATS calls = COUNT(*) BY ai_hooks.tool_name
| SORT calls DESC
| LIMIT 10
تو کل ناوگان، خوندن فایل تقریباً چهار برابر اجرای دستور شل بود؛ برخلاف تصور اولیه که فکر میکردن شل غالبه، چون بیشتر کار یه عامل کدنویسی شناخت کدبیس خودته، نه اجرای دستور. بیش از ۳۰۰ سرور MCP مجزا هم شناسایی شد که ۸۶٪شون فقط توسط یکی دو نفر استفاده میشد.
برای حریم خصوصی، تیم فقط متادیتا -- دستور، مسیر فایل، اسم ابزار -- رو ثبت میکنه، نه محتوای فایل یا پرامپت و پاسخ مدل، و دسترسی به فیلدهای ai_hooks رو با کنترل دسترسی سطحفیلد فقط به تیم خودشون محدود کردن. به گفتهی نویسنده، این سیستم tamper-evident ـه نه tamper-proof: یه کاربر ادمین میتونه هوک رو حذف کنه، برای همین کنارش باید از ابزاری مثل osquery برای پیدا کردن دستگاههایی که Cursor دارن ولی هیچ رویدادی نمیفرستن هم استفاده کرد.
نکات کلیدی:
- از رولاوت اردیبهشت ۲۰۲۶ تا حالا بیش از ۱۳ میلیون رویداد از بیش از ۱۱۰۰ دستگاه و نزدیک ۹۰۰ کاربر ثبت شده.
- اسکریپت جمعآوری فقط ۲۸۰ خط بش بدون وابستگی خارجیه؛ یه پورت پاورشل برای ویندوز هم داره.
- طراحی fail-open: اگه ثبت لاگ خطا بده، فقط یه خط لاگ از دست میره، نه اینکه کار عامل قفل بشه.
- تو کل ناوگان، خوندن فایل تقریباً ۴ برابر اجرای دستور شل اتفاق افتاده.
- بیش از ۳۰۰ سرور MCP مجزا شناسایی شده که ۸۶٪شون رو فقط ۱ یا ۲ نفر استفاده میکردن.




