توی مطلب امنیت در وایب کد گفتم با هر دیف تولیدشده توسط هوش مصنوعی مثل درخواست پول از یه غریبه رفتار کن. سؤال بعدی اینه: خب چطور چک کنیم؟
Cloudflare یه جواب جدی براش منتشر کرده. این اسکیل همونیه که به گفتهی خودشون هستهی اولیهی سیستم کشف آسیبپذیری داخلیشون بوده و جزئیاتش رو توی بلاگ Cloudflare نوشتن. ریپوش الان بیشتر از ۵۶ هزار ستاره داره و لایسنسش MIT هست.
چطور کار میکنه؟
قشنگترین اصلش به نظرم اینه: ایجنتی که یه مشکل رو پیدا کرده، هیچوقت همونی نیست که تأییدش میکنه. یعنی همون منطق «کد رو کسی بازبینی کنه که ننوشته».
- شناسایی: معماری، مرزهای اعتماد و ورودیهای برنامه رو نقشهبرداری میکنه.
- شکار: چند ایجنت جدا از هم بخشهای مختلف کد رو میگردن و یه دفتر پوشش نگه میدارن که چیزی جا نمونه.
- اعتبارسنجی: هر یافته رو یه ایجنت تازه بررسی میکنه که سعی کنه ردش کنه.
- خروجی ساختیافته: یافتهها به سه دستهی confirmed، needs_validation و rejected تقسیم میشن.
- تأیید مستقل: ادعاهای نهایی یه بار دیگه توسط ایجنتهای تازه چک میشن.
- گزارش: فایل REPORT.md و جزئیات یافتهها ساخته میشه.
نصب و استفاده
با ابزار skills نصبش کن (برای نصب سراسری --global رو اضافه کن):
npx skills add https://github.com/cloudflare/security-audit-skill --skill security-audit
بعد ایجنت رو داخل پروژه باز کن و بگو: security audit this codebase
دو تا نکته رو جدی بگیر. اول، به مدلی نیاز داره که ابزار و سابایجنت موازی رو پشتیبانی کنه. دوم، برای اجرای کد پروژه یه sandbox با شبکهی بسته میخواد؛ بدون اون یافتهها رو در حالت needs_validation نگه میداره. خود Cloudflare هم میگه یه بار اجرا حدود نصف چیزی رو پیدا کرد که چند بار اجرا پیدا کرد، پس یه بار کافی نیست.
برای بازبینی سریعتر هر PR قبل از مرج، پرامپت بازبینی دیف رو داری. اگه دنبال ورکفلوی کامل مهندسی هستی هم اسکیلهای Addy Osmani رو ببین.
امنیت یه مرحلهی آخر کار نیست؛ یه عادته.
