عرضه ابزارهای اسکن کد بر روی گیت‌هاب

هفته گذشته گیت‌هاب سرویس اسکن کد را برای همه توسعه‌دهندگان متن‌باز و تجاری راه‌اندازی کرده بود. اکنون گیت‌هاب 10 ابزار را به ویژگی اسکن کد اضافه کرده است.

 عرضه ابزارهای اسکن کد بر روی گیت‌هاب

هفته گذشته گیت‌هاب سرویس اسکن کد را برای همه توسعه‌دهندگان متن‌باز و تجاری راه‌اندازی کرده بود. اکنون گیت‌هاب 10 ابزار را به ویژگی اسکن کد اضافه کرده است.

قابلیت «اسکن کد» (code scan) که از ماه مه در فاز بتا ارائه شده بود، یک هفته پیش در دسترس عموم قرار گرفت. اسکن کد گیت‌هاب بر پایه CodeQL (Code Query Language) کار می‌کند. چندی پیش مایکروسافت (به عنوان شرکت مادر گیت‌هاب) شرکت Semmle را خریداری کرد و CodeQL که محصول این شرکت بود را به گیت‌هاب اضافه کرد. CodeQL یک موتور تحلیل کد معنایی است که به کاربر امکان می‌دهد روی کد، کوئری (پرسش) اجرا کند، همان طور که می‌توان روی یک پایگاه داده کوئری اجرا کرد.

به طور کلی، ویژگی اسکن کد گیت‌هاب، قابل گسترش است و می‌توان ابزارهای مختلف را به آن اضافه کرد. امکان افزودن ابزارهای شخص ثالث به اسکن کد، به سازمان‌ها اجازه می‌دهد این ویژگی را برای تیم‌های خود سفارشی سازی کنند. قابلیت توسعه اسکن کد از API آن نشئت می‌گیرد که می‌تواند نتایج اسکن را در یک فرمت استاندارد واحد (SARIF)، از ابزارهای مختلف دریافت کند. اکنون گیت‌هاب 10 ابزار شخص ثالث اسکن کد را به ویژگی اسکن کد اضافه کرده است تا به توسعه‌دهندگان اجازه دهد قبل از کامیت کردن کد، آسیب‌پذیری‌های آن را برطرف کنند.

این ابزارهای شخص ثالث برای کاربردهایی مثل تحلیل کد ایستا و آموزش امنیتی توسعه‌دهندگان قابل استفاده هستند. این ابزارها عبارت اند از:

  • Checkmarx
  • Codacy
  • CodeScan
  • DefenseCode ThunderScan
  • Fortify on Demand
  • Muse
  • Secure Code Warrior
  • Synopsys Intelligent Security Scan
  • Veracode Static Analysis
  • Xanitizer

گیت‌هاب نتایج اسکن ابزارها را بررسی می‌کند و اگر هشدار تکراری وجود داشته باشد، آن را حذف می‌کند. سپس هشدارها را جمع‌آوری می‌کند و آنها را به ابزارهایی که هشدار را تولید کرده‌اند نسبت می‌دهد.

«نتایج در فرمت SARIF قالب‌بندی و در برگه GitHub Security Alerts بارگذاری می‌شوند. سپس هشدارها به ازای ابزارها جمع‌آوری می‌شوند و گیت‌هاب می‌تواند هشدارها را رهگیری و موارد تکراری را حذف کند. این به توسعه‌دهنده‌ها اجازه می‌دهد برای هر کدام از پروژه‌های گیت‌هابشان از ابزار مورد انتخاب خود استفاده کنند و همه این‌ها درون خود گیت‌هاب اتفاق می‌افتد»

می‌توانید ابزارهای اسکن را با کمک اپ‌های گیت‌هاب (GitHub Actions) یا عملیات گیت‌هاب (GitHub Apps) طوری تنظیم کنید که ابزار، با وقوع یک رویداد خاص (مثل درخواست واکشی یا pull request) اجرا شود. برای شروع می‌توانید به فروشگاه گیت‌هاب بروید و به اپ‌ها و عملیات نگاهی بیندازید. همچنین می‌توانید به برگه Security در مخزن خود بروید و یک جریان کاری را پیکربندی کنید.

به گفته گیت‌هاب در فاز بتا بیش از 1.4 میلیون اسکن روی بیش از 12 هزار مخزن انجام شده که به کشف 20 هزار آسیب‌پذیری منجر شده است.

منابع: GitHub Blog و ZDNet

 

کلمات کلیدی