Govulncheck یک ابزار خط فرمان است که از پایگاه داده آسیبپذیری Go برای شناسایی آسیبپذیریهای شناخته شده در کد منبع Go و باینریهای Go استفاده میکند.
تیم امنیتی Go گفت که
Govulncheck، ابزار خط فرمان برای کمک به کاربران زبان برنامهنویسی Go Google در یافتن آسیبپذیریهای شناخته شده در وابستگیهای پروژه، به وضعیت ۱.۰.۰ رسیده است.
Govulncheck که در ۱۳ ژوئیه معرفی شد، میتواند هم کدهای باینری و هم کد منبع را تجزیه و تحلیل کند. با اولویتبندی آسیبپذیریها در عملکردهایی که کد فراخوانی میکند، نویز را کاهش میدهد. Govulncheck توسط پایگاه داده آسیبپذیری Go پشتیبانی میشود، که اطلاعاتی درباره آسیبپذیریهای شناخته شده در ماژولهای عمومی Go ارائه میکند. Govulncheck از تجزیه و تحلیل ایستا کد منبع یا جدول نمادهای باینری استفاده میکند تا گزارشهای خود را فقط به آسیبپذیریهایی محدود کند که میتواند بر یک برنامه خاص تأثیر بگذارد.
برنامهنویسان میتوانند از go install
برای نصب استفاده کنند. ابزار:
gو نصب golang.org/x/vuln/cmd/govulncheck@latest
توسعهدهندهها میتوانند کد منبع را با اجرای Govulncheck در فهرست ماژول تجزیه و تحلیل کنند:
govulncheck ./...
Govulncheck باید با Go 1.18 یا نسخه جدیدتر ساخته شود. Go 1.20 نسخه تولیدی فعلی این زبان است.
Govulncheck با استفاده از یک پیکربندی ساخت خاص، آسیبپذیریها را جستجو میکند. برای کد منبع، پیکربندی نسخه Go است که توسط دستور “go” موجود در مسیر مشخص شده است. برای باینری ها، پیکربندی ساخت همان پیکربندی است که در ساخت باینری استفاده می شود. پیکربندیهای ساخت مختلف ممکن است آسیبپذیریهای شناختهشده متفاوتی داشته باشند.
Govulncheck تعدادی محدودیت دارد:
- Govulncheck اشاره گر تابع و فراخوانی های واسط را به صورت محافظه کارانه تجزیه و تحلیل می کند، که می تواند منجر به مثبت کاذب یا پشته های تماس نادرست شود.
- تماس با توابع انجام شده با استفاده از بسته بازتاب قابل مشاهده نیست.
- از آنجایی که باینری های Go اطلاعات تماس دقیقی ندارند، Govulncheck نمی تواند نمودارهای تماس را برای آسیب پذیری های شناسایی شده نشان دهد. همچنین ممکن است برای کدهایی که در باینری هستند اما قابل دسترسی نیستند، مثبت کاذب گزارش شود.
- هیچ پشتیبانی برای خاموش کردن یافتههای آسیبپذیری وجود ندارد.
- برای باینریهایی که اطلاعات نماد را نمیتوان استخراج کرد، Govulncheck آسیبپذیریها را برای همه ماژولهایی که باینری به آنها وابسته است گزارش میکند.
تیم امنیتی Go ابتدا پشتیبانی از مدیریت آسیبپذیری را در سپتامبر گذشته اعلام کرد و پروژه توسط پایگاه داده آسیبپذیری لنگر انداخته شد.
پست های مرتبط
گلنگ چک کننده آسیب پذیری پرچم آسیب پذیری های Go
گلنگ چک کننده آسیب پذیری پرچم آسیب پذیری های Go
گلنگ چک کننده آسیب پذیری پرچم آسیب پذیری های Go