PerspectiveGraph: مسیر حمله رو سر همون PR میبنده
خلاصهٔ کاملتر
تو صفحهٔ این پروژه اومده که PerspectiveGraph یه ابزار متنباز (Apache 2.0) هست که سر هر pull request فقط یه سوال میپرسه: این تغییر یه attack path (یعنی زنجیرهای از قدمها که مهاجم رو از اینترنت، از راه دسترسیهای زیادی، به یه دارایی حساس میرسونه) باز میکنه یا نه؟ ورودیش خروجی همون اسکنرهاییه که الان هم داری اجرا میکنی، یعنی Trivy و Semgrep و Cloud Custodian و Falco، که کنار نقشهٔ واقعی زیرساخت گذاشته میشن.
نکتهٔ اصلی اینه که جواب سر کد ریویو داده میشه، نه ماهها بعد تو production. معیارش هم با اسکنرهای معمولی فرق داره: یه CVE با شدت critical روی سروری که هیچ مسیری بهش نمیرسه بیلد رو قرمز نمیکنه، ولی یه مورد medium روی کانتینری که تازه به دیتابیس production دسترسی پیدا کرده، قرمزش میکنه. راهاندازیش یه اکشن گیتهابه:
- uses: luiacuaniello/perspectivegraph@v1
with:
mode: local
aws-region: eu-west-1
report: trivy.jsonاین گیت سه تا خروجی داره و نکتهش دقیقاً همون سومیه: پاک با کد ۰، «مسیر بحرانی داره» با کد ۱، و «تحلیلنشده» با کد ۲. حالت سوم یعنی اصلاً هیچ تحلیلی انجام نشده (اسکن یا ingest یا SHA اشتباه بوده) و بهصورت پیشفرض بیلد رو میشکنه، چون یه پایپلاین خراب نباید همون تیک سبز پایپلاین سالم رو بگیره. PRهای fork هم چون به سکرتها دسترسی ندارن، همینجا رد میشن.
یه بخش جالب دیگه دستور redteam هست که بدون هیچ دیپلویی و فقط با یه باینری، از خود ارزیاب سیاستهای AWS میپرسه کدوم نقشها میتونن به ادمین برسن. همین مقایسه بود که یه false positive واقعی رو لو داد: موتور نقشی رو escalating میدونست که permissions boundary جلوش رو گرفته بود، و اون باگ حالا بسته شده. کنارش MCP هم پشتیبانی میشه، با هشت ابزار فقطخواندنی که مهمترینشون simulate_fix هست.
نویسنده تو بخش وضعیت پروژه صادقانه میگه چی هنوز ثابت نشده: امتیازهای مسیرها با نتایج واقعیِ اکسپلویتشده کالیبره نشدن، پس باید بهعنوان رتبهبندی خوندشون نه احتمال. بنچمارک CloudGoat تو نسخهٔ v1.11.0 روی چهار سناریو (دوتاش کنترل منفی) precision و recall برابر ۱.۰۰ گرفته، ولی خودش میگه این یه گیت رگرسیونه نه اندازهگیری دقت واقعی. ابزار هم هیچ telemetry جمع نمیکنه.
نکات کلیدی:
- متنباز با لایسنس Apache 2.0 و نسخهٔ فعلی v1.11.0
- ورودیش خروجی Trivy، Semgrep، Cloud Custodian و Falco کنار گراف زیرساخت واقعیه
- سه خروجی گیت: پاک (۰)، مسیر بحرانی (۱) و تحلیلنشده (۲) که پیشفرض بیلد رو میشکنه
- دستور redteam فقطخواندنیه و با دسترسی SecurityAudit کار میکنه
- امتیازهای ریسک هنوز کالیبره نشدن؛ بنچمارک CloudGoat روی ۴ سناریو precision/recall ۱.۰۰ داده




