
مكتبة وأداة استعلام CVE تستخدم مخزنًا محليًا يتزامن مباشرةً مع قاعدة بيانات الثغرات الوطنية.
CVEdb هي مكتبة وأداة أخرى بلغة Python للتعامل مع قاعدة بيانات CVEs. هناك الكثير من المكتبات المتاحة بالفعل. لماذا إنشاء مكتبة أخرى؟ تعتمد معظم المكتبات الموجودة على واجهة برمجة تطبيقات تابعة لجهة خارجية مثل cve.circl.lu، والتي يمكنها وقد تقيّد الاستخدام، أو تتطلب تسجيلًا، و/أو تتطلب اتصالًا بالإنترنت. بعض المكتبات ضخمة، وتتضمن واجهات ويب للبحث.
ميزات CVEdb:
مزايا CVEdb المضادة:
$ pip3 install cvedb
$ cvedb --help
from cvedb.db import CVEdb
with CVEdb.open() as db:
for cve in db.data():
print(cve)
بشكل افتراضي، يتم حفظ CVEs التي تم تنزيلها من NIST في قاعدة بيانات sqlite مخزنة في cvedb.db.DEFAULT_DB_PATH، وهي
مضبوطة على ~/.config/cvedb/cvedb.sqlite. يمكن تخصيص ذلك عن طريق تمرير وسيط db_path إلى CVEdb.open.
تُرجع الدالة db.data() مثيلًا لكائن cvedb.feed.Data، والذي يحتوي على
طرق عديدة للاستعلام عن CVEs.
على سبيل المثال:
with CVEdb.open() as db:
for cve in db.data().search("search term"):
print(cve)
بالإضافة إلى قبول السلاسل النصية، تقبل الدالة data().search(...) أي
كائن cvedb.search.SearchQuery.
إن قاعدة بيانات الثغرات الوطنية NIST في طور الانتقال إلى واجهة برمجة تطبيقات REST جديدة. لا تزال مجموعات البيانات التي
يُبنى عليها CVEdb متاحة، ولكن من غير الواضح ما إذا كانت قد تُهمل. أيضًا، بدأت NIST في تقييد
معدل التنزيلات، مما قد يؤثر على مزامنة CVEdb. لذلك، يأتي CVEdb
مُعبأً مسبقًا بقاعدة بيانات. وبالتالي، لا يتطلب CVEdb
أي اتصال بالإنترنت بعد تثبيته، سوى لتنزيل تعريفات CVE الجديدة. أيضًا، تم تغيير سلوك
CVEdb من التحقق التلقائي من التحديثات عند الحاجة إلى مطالبة المستخدم صراحةً بطلب
تحديث باستخدام الوسيط الجديد --update. يتم تتبع دعم واجهة برمجة التطبيقات REST الجديدة في
هذه المشكلة على GitHub.
تم إنشاء CVEdb بواسطة Trail of Bits. وهي مرخصة بموجب رخصة جنو العمومية الصغرى الإصدار 3.0. تواصل معنا إذا كنت تبحث عن استثناء للشروط. © 2021, Trail of Bits.
قاعدة بيانات CVE المرفقة مع CVEdb تم إنشاؤها وصيانتها بواسطة NIST وهي مُتاحة في المجال العام.