Cynative؛ ایجنت تحقیق عمیق روی زیرساخت
خلاصهٔ کاملتر
Cynative یه ابزار متنباز خط فرمانه که خودش رو «ایجنت تحقیق عمیق برای زیرساخت» معرفی میکنه. ایدهش اینه که بهجای جستوجو تو چند داشبورد جدا، یه سؤال بپرسی و ابزار همزمان روی مخزن کد، حسابهای ابری و کلاستر Kubernetes دنبال جواب بگرده و همه رو مثل یک سیستم واحد تحلیل کنه. کانکتورهای فعلیش GitHub، GitLab، AWS، GCP، Azure و Kubernetes هستن.
نوع سؤالهایی که براش ساخته شده، بیشتر امنیتی و وضعیتسنجیه: چه منابعی عمومی شدن که نباید، کدوم نقشهای IAM میتونن به ادمین برسن، یا کدوم منبع زنده تو کدهای IaC نیست.
cynative -p "which IAM roles can escalate to admin?"
cynative -p "high-risk cloud permissions, trace each to the PR where it was granted"
cynative "live cloud resources absent from IaC - drift"
نکتهٔ فنی جالبش روش اجراست: بهجای اینکه برای هر منبع یه فراخوانی جدا بزنه، برای هر سؤال کد مینویسه و اون کد رو توی یه سندباکس کوتاهعمر اجرا میکنه. همون کد میتونه با کمک تابعی مثل mapConcurrent روی دهها ریجن و منبع موازی پخش بشه؛ در نتیجه یه سؤال با توکن کمتر و سرعت بیشتر کل استک رو پوشش میده. اسکریپت داخل سندباکس هیچ دسترسی مستقلی به شبکه، فایلسیستم یا پکیج نداره و فقط ابزارهای خود Cynative رو میبینه.
ادعای متمایزکنندهٔ پروژه اینه که برخلاف ترکیب «ایجنت کدنویسی + سرورهای MCP»، اینجا فقطخواندنی بودن یه فیلتر اختیاری نیست بلکه در معماری تعبیه شده. هر عملیات اول به کنشهای IAM موردنیازش تجزیه میشه، بعد مقابل یه سیاست فقطخواندنی — SecurityAudit در AWS، roles/viewer در GCP و Reader در Azure — مجوز میگیره و تازه بعدش اعتبارنامه بهش وصل میشه. برای Kubernetes هم نقش view زندهٔ خود کلاستر ملاکه و دروازه روی هر چیزی که نوشتن تشخیص بده، بسته عمل میکنه.
چند لایهٔ محافظتی دیگه هم دور همین ایده چیده شده: برای هویتهای نقشمحور در AWS، اعتبارنامه از طریق STS دوباره صادر و به سیاست فقطخواندنی محدود میشه تا خود AWS هم مرز رو تحمیل کنه؛ مقصد هر درخواست به سرویس و ریجن نگاشتشده پین میشه و IP نهایی قبل از اتصال بررسی میشه؛ و مقادیر حساس قبل از رفتن خروجی ابزار به سمت مدل، حذف میشن.
هر فراخوانی ابزار هم توی یه لاگ ممیزی JSONL ثبت میشه که پیشفرض روشنه و «بسته عمل میکنه» — یعنی اگه نتونه چیزی رو ثبت کنه، کل اجرا متوقف میشه. مسیر پیشفرضش ~/.cynative/audit.log هست و چرخش و نگهداریش قابل تنظیمه. سازندهها هشدار میدن که آرگومانهای تأیید، عیناً ذخیره میشن و ممکنه مقدار حساس داشته باشن.
اجرا کاملاً محلیه و مدلش رو خودت انتخاب میکنی؛ نصب هم با Homebrew، اسکریپت نصب یا Scoop انجام میشه. پروژه زیر لایسنس Apache-2.0 منتشر شده و برای مشارکت هم روی کانکتور و پرووایدر جدید باز گذاشته شده.
نکات کلیدی:
- یک ایجنت خط فرمان که کد، ابر و رانتایم رو بهعنوان یک سیستم واحد بررسی میکنه
- برای هر سؤال کد تولید و در سندباکس اجرا میکنه تا فراخوانیها موازی پخش بشن
- فقطخواندنی بودن با دروازهٔ کنش و سیاستهای SecurityAudit/roles/viewer/Reader تحمیل میشه
- لاگ ممیزی JSONL بستهعملکننده؛ اگه ثبت نشه، اجرا متوقف میشه
- اجرای کاملاً محلی با مدل دلخواه، تحت لایسنس Apache-2.0




