VulnerableCode؛ دیتابیسِ بازِ آسیبپذیریِ پکیجها
خلاصهٔ کاملتر
VulnerableCode یه دیتابیس از آسیبپذیریِ پکیجهای نرمافزاریه که با یه رابطِ وب و API در دسترسه و اطلاعاتشو از منابعِ عمومیِ بالادست و پاییندست جمع میکنه؛ یعنی هم پکیجهایی که یه آسیبپذیری روشون اثر داره و هم پکیجهایی که اون آسیبپذیری رو وصله میکنن. یه نمونهی عمومی ازش هست و پروژه ابزارِ ساختِ نمونهی اختصاصی رو هم میده.
به گفتهی سازندهها، فلسفهی کار اینه که داده و ابزارِ آسیبپذیریِ نرمافزارِ متنباز، خودشون هم باید آزاد و متنباز باشن. اونا میگن دیتابیسهای آسیبپذیری بهطورِ سنتی تجاری و بسته بودن، پر از دادهی کمارزش که سیگنالِ اشتباهِ زیاد تولید میکنه و بازبینیِ کارشناسیِ سنگین میخواد.
تفاوتِ اصلیِ VulnerableCode با بقیه اینه که بهجای اینکه اول آسیبپذیری رو محور کنه، اول پکیج رو محور میکنه. برای همین از Package URL یا بهاختصار PURL بهعنوانِ شناسهی طبیعیِ هر پکیج استفاده میکنه؛ همین باعث میشه پیدا کردنِ یه پکیج و اینکه آسیبپذیره یا نه خیلی سادهتر بشه.
طبقِ این صفحه، PURL که اولش برای ScanCode و همین VulnerableCode طراحی شده بود، حالا به یه استانداردِ رایج برای مدیریتِ آسیبپذیری و ارجاع به پکیجها تبدیل شده. پشتِ صحنهی این پروژه هم پشتهی Python، Django، PostgreSQL، nginx و Docker قرار داره.
پروژه با لایسنسِ Apache-2.0 منتشر شده (و دادههای مرجعش با CC-BY-SA-4.0) و از حمایتهای برنامهی NGI و بنیادِ NLnet، کمیسیونِ اروپا، Google و چند شرکتِ دیگه بهره برده. در مجموع، این ابزار برای تیمهایی که میخوان زنجیرهی وابستگیِ نرمافزارشونو از نظرِ امنیتی رصد کنن، یه گزینهی باز و مستقله.
نکات کلیدی:
- دیتابیسِ آزاد و متنبازِ آسیبپذیریِ پکیجها با رابطِ وب و API
- رویکردِ «اول پکیج» با تکیه بر شناسهی استانداردِ PURL
- پشتهی فنی: Python، Django، PostgreSQL، nginx و Docker
- لایسنسِ Apache-2.0 و یه نمونهی عمومیِ آماده بههمراهِ امکانِ میزبانیِ اختصاصی




