أداة CVE الثنائية هي أداة مجانية ومفتوحة المصدر لمساعدتك في العثور على الثغرات الأمنية المعروفة في البرامج، وذلك باستخدام بيانات من قائمة قاعدة بيانات الثغرات الوطنية (NVD) الخاصة بنقاط الضعف والتعرضات الشائعة (CVEs) بالإضافة إلى بيانات الثغرات المعروفة من Redhat وOpen Source. قاعدة بيانات الثغرات الأمنية (OSV)، وقاعدة بيانات Gitlab الاستشارية (GAD)، وCurl.
تستخدم أداة CVE Binary Tool واجهة NVD API ولكنها غير معتمدة أو معتمدة من قبل NVD.
تحتوي الأداة على وضعين رئيسيين للتشغيل:
ماسح ضوئي ثنائي يساعدك على تحديد الحزم التي ربما تم تضمينها كجزء من أحد البرامج. هناك 367 لعبة الداما. كان تركيزنا الأولي على المكونات مفتوحة المصدر الشائعة والضعيفة مثل opensl وlippng وlibxml2 وexpat.
أدوات لمسح قوائم المكونات المعروفة بتنسيقات مختلفة، بما في ذلك .csv، والعديد من قوائم حزم توزيع Linux، وماسحات ضوئية لحزم محددة بلغة معينة، والعديد من تنسيقات قائمة مواد البرامج (SBOM).
الغرض منه هو استخدامه كجزء من نظام التكامل المستمر الخاص بك لتمكين فحص الثغرات الأمنية بشكل منتظم وإعطائك إنذارًا مبكرًا بالمشكلات المعروفة في سلسلة التوريد الخاصة بك. ويمكن استخدامه أيضًا لاكتشاف المكونات تلقائيًا وإنشاء SBOMs.
ما الذي تفعله أداة CVE الثنائية عند تشغيلها:
تنزيل بيانات CVE (من NVD وRedhat وOSV وGitlab وCurl).
ويحدث هذا مرة واحدة يوميًا بشكل افتراضي، وليس في كل مرة يتم فيها تشغيل الفحص.
عند التشغيل لأول مرة، قد يستغرق تنزيل جميع البيانات بعض الوقت.
إنشاء/قراءة قائمة المكونات. هناك وضعان للتشغيل:
ينشئ قائمة مكونات (بما في ذلك الإصدارات) باستخدام مجموعة من المدققات الثنائية وقوائم مكونات اللغة (مثل متطلبات python.txt).
اقرأ SBOM (استخدم قائمة المكونات الموجودة بتنسيق قائمة مواد البرامج الموحدة.)
إنشاء قائمة مكافحة التطرف العنيف
يؤدي هذا إلى البحث عن جميع المكونات التي تم العثور عليها أو قراءتها من قائمة المواد الموجودة والإبلاغ عن أي مشكلات معروفة مرتبطة بها
قم بتضمين بيانات الفرز/الإضافية
هناك العديد من الخيارات لإضافة الفرز/الملاحظات، أو المعلومات من التقارير السابقة لتتبع تغير الثغرات الأمنية بمرور الوقت، أو بيانات الإصلاح المعروفة
إنشاء تقرير بتنسيق واحد أو أكثر (console، json، csv، html، pdf)
لمزيد من التفاصيل، راجع وثائقنا أو دليل البدء السريع هذا
أداة CVE الثنائية للبدء السريع / الملف التمهيدي
قائمة المدقق الثنائية
أدوات التحقق الخاصة باللغة
تنسيقات الأرشيف المدعومة
العثور على نقاط الضعف المعروفة باستخدام الماسح الضوئي الثنائي
فحص ملف SBOM بحثًا عن نقاط الضعف المعروفة
توليد SBOM
توليد VEX
فرز نقاط الضعف
استخدام الأداة دون اتصال بالإنترنت
استخدام أداة CVE الثنائية في إجراءات GitHub
تثبيت أداة CVE الثنائية
خيارات الاستخدام الأكثر شعبية
خيارات الإخراج
إعدادات
الكشف التلقائي عن المكونات
متطلبات إضافية
القيود
ردود الفعل والمساهمات
القضايا الأمنية
قائمة الخيارات الكاملة
يمكن تثبيت أداة CVE الثنائية باستخدام النقطة:
نقطة تثبيت cve-bin-tool
إذا كنت ترغب في تجربة أحدث التعليمات البرمجية من cve-bin-tool github أو القيام بالتطوير، فيمكنك أيضًا pip install --user -e .
لتثبيت نسخة محلية من الدليل. تغطي وثائق المساهم كيفية الإعداد للتنمية المحلية بمزيد من التفاصيل.
سيقوم Pip بتثبيت متطلبات python لك، ولكن بالنسبة لبعض أنواع الاستخراج نستخدم مكتبات النظام. إذا كنت تواجه صعوبات في استخراج الملفات، فقد ترغب في الاطلاع على قوائم المتطلبات الإضافية الخاصة بنا لنظامي التشغيل Linux وWindows.
عند الاستخدام الأول (وبشكل افتراضي، مرة واحدة يوميًا) ستقوم الأداة بتنزيل بيانات الثغرات الأمنية من مجموعة من مصادر بيانات الثغرات الأمنية المعروفة. نظرًا لمشاكل الموثوقية مع NVD، اعتبارًا من الإصدار 3.3، سنستخدم مرآة NVD الخاصة بنا على https://cveb.in/ افتراضيًا بدلاً من الاتصال بـ NVD مباشرة. إذا كنت ترغب في الحصول على البيانات مباشرة من خوادم NVD، فيجب عليك توفير NVD_API_KEY الخاص بك لاستخدام واجهة برمجة التطبيقات الخاصة بهم.
إذا كنت تستخدم إصدارًا أقدم من 3.3 ولا يستخدم نسختنا، فيرجى استخدام NVD_API_KEY كما هو موضح أعلاه.
لتشغيل الماسح الضوئي الثنائي على دليل أو ملف:
أداة cve-bin <الدليل/الملف>
ملاحظة : سيستخدم هذا الخيار أيضًا أي أدوات فحص خاصة باللغة للعثور على الثغرات الأمنية المعروفة في المكونات.
افتراضيًا، تفترض الأداة أنك تحاول فحص دليل كامل، ولكن إذا قمت بتزويده بملف واحد بتنسيق .csv أو .json يسرد التبعيات، فسوف يتم التعامل معه باعتباره قائمة مواد. يمكنك أيضًا تحديد ملفات قائمة المواد مباشرة باستخدام خيار --input-file
أو مسح SBOMs باستخدام الإرشادات الموضحة أدناه.
لمسح ملف قائمة مواد البرنامج (SBOM):
cve-bin-tool --sbom <sbom_filetype> --sbom-file <sbom_filename>
أنواع SBOM الصالحة هي SPDX، وCycloneDX، وSWID. يعد فحص أسماء المنتجات داخل ملف SBOM غير حساس لحالة الأحرف.
يوفر دليل كيفية فحص SBOM أمثلة إضافية لمسح SBOM.
بالإضافة إلى فحص SBOMs، يمكن استخدام أداة CVE Binary Tool لإنشاء SBOM من الفحص كما يلي:
cve-bin-tool --sbom-type <sbom_type> --sbom-format <sbom-format> --sbom-output <sbom_filename> <خيارات المسح الأخرى كما هو مطلوب>
أنواع SBOM الصالحة هي SPDX وCycloneDX.
سيتضمن SBOM الذي تم إنشاؤه اسم المنتج والإصدار والمورد (حيثما كان ذلك متاحًا). لم يتم توفير معلومات الترخيص.
يوفر الدليل الإرشادي لإنشاء SBOM أمثلة إضافية لإنشاء SBOM.
بالإضافة إلى مسح VEX، يمكن استخدام أداة CVE الثنائية لإنشاء VEX من الفحص كما يلي:
cve-bin-tool --vex-type <vex_type> --vex-output <vex_filename> <خيارات المسح الأخرى كما هو مطلوب>
أنواع VEX الصالحة هي CSAF، وCycloneDX، وOpenVEX.
يوفر الدليل الإرشادي لإنشاء VEX أمثلة إضافية حول إنشاء VEX.
يمكن استخدام خيار --vex-file
لإضافة بيانات فرز إضافية مثل الملاحظات والتعليقات وما إلى ذلك أثناء مسح الدليل بحيث يعكس الناتج بيانات الفرز هذه ويمكنك توفير وقت إعادة الفرز (الاستخدام: cve-bin-tool --vex-file test.json /path/to/scan
). التنسيق المدعوم هو تنسيق CycloneDX وCSAF وOpenVEX VEX الذي يمكن إنشاؤه باستخدام خيار --vex-output
.
الاستخدام النموذجي:
قم بإنشاء ملف فرز باستخدام cve-bin-tool /path/to/scan --vex-output triage.json
قم بتحرير triage.json باستخدام محرر النصوص المفضل لديك لتوفير معلومات الفرز حول نقاط الضعف المدرجة.
استخدم ملف الفرز هذا لعمليات الفحص المستقبلية كما يلي: cve-bin-tool /path/to/scan --vex-file triage.json
للحصول على دليل استخدام أفضل راجع هذا الرابط.
يجب أن يكون من الممكن مشاركة بيانات الفرز عبر عمليات تشغيل مختلفة لأداة cve-bin-tool أو مع أدوات أخرى تدعم تنسيق CycloneDX VEX وOpenVEX وCSAF. سيكون هذا مفيدًا بشكل خاص للفرق التي تقوم بفحص المنتجات أو الحاويات ذات الصلة، والفرق التي تحتاج إلى استخدام أدوات متعددة لأسباب تتعلق بالامتثال، والشركات التي لديها مجموعة سياسة أمان مركزية توفر إرشادات بشأن فرز الثغرات الأمنية، والمزيد.
يؤدي تحديد خيار --offline
عند تشغيل الفحص إلى ضمان عدم محاولة أداة cve-bin-tool تنزيل أحدث ملفات قاعدة البيانات أو التحقق من وجود إصدار أحدث من الأداة.
لاحظ أنك ستحتاج إلى الحصول على نسخة من بيانات الثغرة الأمنية قبل أن تتمكن الأداة من العمل في وضع عدم الاتصال. يحتوي الدليل الإرشادي غير المتصل بالإنترنت على مزيد من المعلومات حول كيفية إعداد قاعدة البيانات الخاصة بك.
إذا كنت تريد دمج أداة cve-bin-tool كجزء من مسار عمل github الخاص بك، فيمكنك استخدام GitHub Action الرسمي الخاص بأداة cve-bin-tool. العثور على مزيد من التفاصيل هنا. يوفر إجراء GitHub تقارير حول علامة تبويب الأمان، المتوفرة للمشاريع مفتوحة المصدر بالإضافة إلى عملاء GitHub الذين دفعوا مقابل هذا الوصول.
نقدم أيضًا مثالاً لإجراء GitHub إذا كنت ترغب في استخدام الأداة مباشرةً. قد يكون هذا اختيارًا جيدًا للفرق التي ترغب في تخزين التقارير في خزانة الأدلة أو أولئك الذين ليس لديهم إمكانية الوصول إلى علامة التبويب GitHub Security.
توفر أداة CVE الثنائية مخرجات تعتمد على وحدة التحكم بشكل افتراضي. إذا كنت ترغب في توفير تنسيق آخر، يمكنك تحديد هذا واسم الملف في سطر الأوامر باستخدام --format
. التنسيقات الصالحة هي CSV وJSON وJSON2 وconsole وHTML وPDF. يمكن تحديد اسم ملف الإخراج باستخدام علامة --output-file
.
يمكنك أيضًا تحديد تنسيقات إخراج متعددة باستخدام الفاصلة (',') كفاصل:
ملف cve-bin-tool -f csv,json,json2,html -o report
ملاحظة: يجب عدم استخدام المسافات بين الفواصل ('،') وتنسيقات الإخراج.
يمكن أيضًا الإبلاغ عن الثغرات الأمنية التي تم الإبلاغ عنها بتنسيق Vulnerability Exploitability eXchange (VEX) عن طريق تحديد --vex-output
مع النوع المحدد باستخدام خيار سطر الأوامر --vex-type
. يمكن بعد ذلك استخدام ملف VEX الذي تم إنشاؤه كملف --vex-file
لدعم عملية الفرز.
إذا كنت ترغب في استخدام دعم PDF، فستحتاج إلى تثبيت مكتبة reportlab
بشكل منفصل.
إذا كنت تنوي استخدام دعم PDF عند تثبيت cve-bin-tool، فيمكنك تحديده وسيتم تثبيت التقرير المعملي كجزء من تثبيت cve-bin-tool:
أداة تثبيت النقطة cve-bin[PDF]
إذا قمت بالفعل بتثبيت أداة cve-bin-tool، فيمكنك إضافة Reportlab بعد ذلك باستخدام النقطة:
تثبيت النقطة - ترقية Reportlab
لاحظ أنه تم إخراج reportlab من تثبيت أداة cve-bin-tool الافتراضي لأنه يحتوي على CVE معروف مرتبط به (CVE-2020-28463). يستخدم كود cve-bin-tool عوامل التخفيف الموصى بها لتحديد الموارد المضافة إلى ملفات PDF، بالإضافة إلى التحقق من صحة الإدخال الإضافي. يعد هذا CVE غريبًا إلى حد ما لأنه يصف الوظيفة الأساسية لملفات PDF: يمكن تضمين عناصر خارجية، مثل الصور، فيها، وبالتالي يمكن لأي شخص يشاهد ملف PDF تحميل صورة خارجية (على غرار الطريقة التي يمكن أن يؤدي بها عرض صفحة ويب إلى تشغيل الأحمال الخارجية). لا يوجد "إصلاح" متأصل لذلك، فقط عمليات التخفيف حيث يجب على مستخدمي المكتبة التأكد من إضافة العناصر المتوقعة فقط إلى ملفات PDF في وقت الإنشاء.
نظرًا لأن المستخدمين قد لا يرغبون في تثبيت برنامج مع CVE مفتوح وغير قابل للإصلاح مرتبط به، فقد اخترنا جعل دعم PDF متاحًا فقط للمستخدمين الذين قاموا بتثبيت المكتبة بأنفسهم. بمجرد تثبيت المكتبة، سيعمل خيار تقرير PDF.
يمكنك استخدام خيار --config
لتوفير ملف التكوين للأداة. لا يزال بإمكانك تجاوز الخيارات المحددة في ملف التكوين باستخدام وسيطات سطر الأوامر. راجع نماذج ملفات التكوين الخاصة بنا في ملف test/config
تحاول أداة CVE Binary إجراء الكشف التلقائي عن المكونات باستخدام أدوات التحقق الثنائية وقوائم مكونات اللغة المدعومة وطرق استخراج الملفات. الأدوات المدعومة للاكتشاف التلقائي مدرجة أدناه.
تتوفر أدوات التحقق التالية للعثور على المكونات في الملفات الثنائية:
لعبة الداما المتاحة | ||||||
---|---|---|---|---|---|---|
com.accountsservice | com.acpid | apache_http_server | com.apcupsd | apparmor | asn1c | asimp |
النجمة | com.atftp | avahi | أكسل | سحق | ربط | com.binutils |
طائر | البيسون | bluez | boinc | نبات | أخ | التفاف الفقاعة |
com.businessbox | bwm_ng | bzip2 | c_ares | com.capnproto | ceph | شطرنج |
كروني | com.civetweb | كلاماف | تم جمعها | commons_compress | كونمان | com.coreutils |
cpio | صديق حميم | cryptsetup | أكواب | حليقة | السير الذاتية | darkhttpd |
dav1d | davfs2 | com.dbus | com.debianutils | com.dhclient | com.dhcpcd | com.dhcpd |
dlt_daemon | com.dmidecode | com.dnsmasq | عامل ميناء | domoticz | com.dosfstools | الدوت نت |
حمامة | دوكسيجين | com.dpkg | dropbear | e2fsprogs | إد | com.elfutils |
ايماكس | نصوص | com.exfatprogs | exim | exiv2 | f2fs_tools | بدعة2 |
com.fastd | ffmpeg | ملف | فايرفوكس | فلك | com.fluidsynth | com.freeradius |
com.freerdp | فريبيدي | frr | البله | دول مجلس التعاون الخليجي | gdal | gdb |
gdk_pixbuf | Ghostscript | الأعرج | بوابة | عفويا | glibc | gmp |
جنومشيل | gnupg | gnutls | يذهب | com.gpgme | gpsd | graphicsmagick |
grep | اليرقة2 | com.gstreamer | gupnp | com.gvfs | com.gzip | haproxy |
com.harfbuzz | haserl | hdf5 | هيمدال | com.hostapd | hunspell | hwloc |
i2pd | com.icecast | وحدة العناية المركزة | iperf3 | com.ipmitol | ipsec_tools | iptables |
irssi | iucode_tool | com.iwd | جاك2 | jacksondatabind | يانوس | يشب |
jhead | jq | json_c | kbd | com.keeplived | kerberos | com.kexectools |
كودي | kubernetes | ldns | com.lftp | libarchive | libass | libbg |
libcoap | libconfuse | libcurl | libdb | libde265 | libebml | ليبفينت |
libexpat | com.libgcrypt | libgd | libgit2 | libheif | libical | libidn2 |
libinput | libjpeg | libjpeg_turbo | libksba | liblas | libmatroska | libmemcached |
libmicrohttpd | libmodbus | libnss | libopenmpt | libpcap | com.libraw | librsvg |
librsync | libsamplerate | libseccomp | libsndfile | libsolv | libsoup | libsrtp |
lbsh | libssh2 | libtasn1 | libtiff | libtomcrypt | libupnp | libuv |
com.libvips | libvirt | libvncserver | libvorbis | libvpx | libxslt | libyaml |
com.lighttpd | linux_kernel | com.linuxptp | lldpd | com.logrotate | lrzip | لوا |
luajit | lxc | الوشق | lz4 | com.mailx | mariadb | com.mbedtls |
مدادم | com.memcached | com.micropython | com.minetest | mini_httpd | com.minicom | com.minidlna |
com.miniupnpc | com.miniupnpd | موبي | com.modsecurity | مونيت | البعوض | حركة |
mp4v2 | mpg123 | mpv | com.msmtp | استعراض منتصف المدة | com.mupdf | المغفل |
mysql | نانو | nasm | nbd | ncurses | نيون | nessus |
netatalk | netdata | netkit_ftp | netpbm | نبات القراص | nghttp2 | nginx |
ngircd | nmap | العقدة | ntfs_3g | ntp | ntpsec | open_iscsi |
open_vm_tools | openafs | opencv | openjpeg | com.openldap | openc | يفتح |
opensl | openwan | openvpn | p7zip | بانغو | رقعة | pcre |
pcre2 | pcsc_lite | بيرل | PHP | picocom | Pigz | com.pixman |
png | Polarssl_fedora | بوبلر | postgresql | تعادل القوة الشرائية | com.privoxy | procps_ng |
com.proftpd | protobuf_c | com.pspp | pure_ftpd | المعجون | بيثون | كيمو |
com.qpdf | كيو تي | كواجا | رادار2 | radvd | رابتور | راوك |
rdesktop | readline | دورة في الدقيقة | rsync | rsyslog | rtl_433 | com.rtmpdump |
runc | الصدأ | سامبا | sane_backends | com.sdl | فرس البحر | Shadowsocks_libev |
snapd | com.sngrep | شخير | socat | sofia_sip | سبيكس | التوابل |
com.sqlite | squashfs | الحبار | sslh | ستيلاريوم | البجعة القوية | Stunnel |
التخريب | sudo | suricata | سيلفيد | syslogng | sysstat | systemd |
قطران | com.tcpdump | com.tcpreplay | مصطلحات | tesseract | التوفير | thttpd |
طائر الرعد | timescaledb | com.tinyproxy | تور | tpm2_tss | com.traceroute | الانتقال |
بنطلون | com.ttyd | twonky_server | u_boot | udiks | غير مجلد | com.unixodbc |
upx | util_linux | ورنيش | همة | vlc | vorbis_tools | vsftpd |
webkitgtk | wget | com.wireshark | wolfssl | wpa_supplicant | xerces | xml2 |
xscreensaver | com.xwayland | yasm | zabbix | zchunk | zeek | زليب |
znc | zsh | zstandard |
يمكن العثور على جميع أدوات الداما في دليل أدوات الداما، وكذلك الإرشادات الخاصة بكيفية إضافة مدقق جديد. يمكن طلب الدعم لأجهزة الداما الجديدة عبر مشكلات GitHub.
يتوفر عدد من أدوات التحقق للعثور على المكونات الضعيفة في حزم لغات محددة.
لغة | الملفات المدعومة |
---|---|
دارت | pubspec.lock |
يذهب | Go.mod |
جافا | pom.xml ; أرشيفات JAR وWAR وEAR |
جافا سكريبت | package-lock.json ، yarn.lock |
الصدأ | Cargo.lock |
روبي | Gemfile.lock |
ر | renv.lock |
سويفت | Package.resolved |
بايثون | requirements.txt ، PKG-INFO ، METADATA ؛ ملفات .whl و.egg |
بيرل | cpanfile |
يمكن العثور على مزيد من المعلومات حول أدوات التحقق الخاصة باللغة في دليل أداة CVE الثنائية.
تنسيقات الأرشيف التالية مدعومة حاليًا بواسطة المستخرج التلقائي:
تنسيق الأرشيف | امتداد الملف |
---|---|
أَزِيز | .zip، .exe، .jar، .msi، .egg، .whl، .war، .ear |
قطران | .tar، .tgz، .tar.gz، .tar.xz، .tar.bz2 |
ديب | .ديب، .ipk |
دورة في الدقيقة | دورة في الدقيقة |
سيارة أجرة | .كابينة |
apk | .apk |
zst | .zst |
حزمة | .pkg |
لاستخدام المستخرج التلقائي، قد تحتاج إلى الأدوات المساعدة التالية اعتمادًا على نوع تنسيقات الأرشيف المدعومة التي تحتاج إلى استخراجها.
الأدوات المساعدة أدناه مطلوبة لتشغيل مجموعة الاختبار الكاملة على Linux:
file
strings
tar
unzip
rpm2cpio
cpio
ar
cabextract
يتم تثبيت معظمها بشكل افتراضي على العديد من أنظمة Linux، ولكن قد يلزم تثبيت cabextract
و rpm2cpio
على وجه الخصوص.
على أنظمة ويندوز، قد تحتاج إلى:
ar
7z
Expand
pdftotext
تم تثبيت Expand
بشكل افتراضي على Windows، ولكن قد يلزم تثبيت ar
و 7z
. إذا كنت ترغب في تشغيل مجموعة الاختبار الخاصة بنا أو فحص ملف مضغوط zstd، نوصي بتثبيت 7-zip-zstd fork من 7zip. نحن نستخدم حاليًا 7z
لاستخراج ملفات jar
و apk
و msi
و exe
و rpm
. لتثبيت ar
يمكنك تثبيت MinGW (الذي يحتوي على binutils كجزء منه) من هنا وتشغيل ملف .exe الذي تم تنزيله.
إذا تلقيت خطأً بشأن إنشاء المكتبات عند محاولة التثبيت من النقطة، فقد تحتاج إلى تثبيت أدوات إنشاء Windows. تتوفر أدوات إنشاء Windows مجانًا على https://visualstudio.microsoft.com/visual-cpp-build-tools/
إذا حصلت على خطأ أثناء تثبيت brotlipy على نظام التشغيل Windows، فمن المفترض أن يؤدي تثبيت المترجم أعلاه إلى إصلاحه.
مطلوب pdftotext
لتشغيل الاختبارات. (قد لا يحتاجها مستخدمو cve-bin-tool، ومن المحتمل أن يحتاجها المطورون.) أفضل طريقة لتثبيتها على Windows تتضمن استخدام conda (انقر هنا للحصول على مزيد من الإرشادات).
يمكنك التحقق من تكوين CI لدينا لمعرفة إصدارات python التي نختبرها بشكل صريح.
لا يحاول هذا الماسح الضوئي استغلال المشكلات أو فحص الكود بمزيد من التفصيل؛ فهو يبحث فقط عن توقيعات المكتبة وأرقام الإصدارات. على هذا النحو، لا يمكن معرفة ما إذا كان شخص ما قد قام بنقل الإصلاحات إلى إصدار ضعيف، ولن يعمل إذا تم حجب معلومات المكتبة أو الإصدار عن عمد.
من المفترض أن يتم استخدام هذه الأداة كفحص سريع التشغيل وسهل التشغيل تلقائيًا في بيئة غير ضارة بحيث يمكن للمطورين أن يكونوا على دراية بالمكتبات القديمة التي بها مشكلات أمنية تم تجميعها في الثنائيات الخاصة بهم.
لا تضمن الأداة أن أي ثغرات أمنية تم الإبلاغ عنها موجودة فعليًا أو قابلة للاستغلال، كما أنها غير قادرة على العثور على جميع الثغرات الأمنية الحالية مع ضمان.
يمكن للمستخدمين إضافة معلومات الفرز إلى التقارير لوضع علامة على المشكلات كنتائج إيجابية كاذبة، والإشارة إلى أنه تم تخفيف المخاطر من خلال تغييرات التكوين/الاستخدام، وما إلى ذلك.
يمكن إعادة استخدام تفاصيل الفرز في مشاريع أخرى، لذلك، على سبيل المثال، يمكن تطبيق الفرز على صورة أساسية لنظام التشغيل Linux على حاويات متعددة باستخدام تلك الصورة.
لمزيد من المعلومات واستخدام معلومات الفرز مع الأداة، يرجى إلقاء نظرة هنا.
إذا كنت تستخدم إمكانات الماسح الضوئي الثنائي، فكن على دراية بأن لدينا عددًا محدودًا فقط من أدوات التحقق الثنائية (انظر الجدول أعلاه) حتى نتمكن من اكتشاف تلك المكتبات فقط. مساهمات لعبة الداما الجديدة هي موضع ترحيب دائما! يمكنك أيضًا استخدام طريقة بديلة لاكتشاف المكونات (على سبيل المثال، أداة قائمة المواد مثل tern) ثم استخدام القائمة الناتجة كمدخل لأداة cve-bin-tool للحصول على قائمة أكثر شمولاً للثغرات الأمنية.
تستخدم الأداة قاعدة بيانات الثغرات الأمنية من أجل اكتشاف الثغرات الأمنية الحالية، وفي حالة عدم تحديث قاعدة البيانات بشكل متكرر (خاصة إذا تم استخدام الأداة في وضع عدم الاتصال)، فلن تتمكن الأداة من اكتشاف أي ثغرات أمنية تم اكتشافها حديثًا. ومن ثم ينصح بشدة بالحفاظ على تحديث قاعدة البيانات.
لا تضمن الأداة الإبلاغ عن جميع الثغرات الأمنية نظرًا لأن الأداة لا يمكنها الوصول إلا إلى عدد محدود من قواعد بيانات الثغرات الأمنية المتاحة للعامة. نرحب دائمًا بالمساهمات لإدخال مصادر جديدة للبيانات إلى الأداة.
بينما يتم إجراء بعض عمليات التحقق من الصحة على البيانات الموجودة في قاعدة بيانات الثغرات الأمنية، فإن الأداة غير قادرة على تأكيد جودة البيانات أو تصحيح أي تناقضات إذا كانت البيانات غير كاملة أو غير متسقة. قد يؤدي هذا، على سبيل المثال، إلى ظهور بعض تقارير الثغرات الأمنية حيث يتم الإبلاغ عن مدى خطورتها على أنها غير معروفة.
يمكن تقديم طلبات الأخطاء والميزات عبر مشكلات GitHub. انتبه إلى أن هذه المشكلات ليست خاصة، لذا كن حذرًا عند تقديم المخرجات للتأكد من أنك لا تكشف عن مشكلات الأمان في المنتجات الأخرى.
نرحب أيضًا بطلبات السحب عبر git.
يجب على المساهمين الجدد قراءة دليل المساهمين للبدء.
الأشخاص الذين لديهم بالفعل خبرة في المساهمة في المشاريع مفتوحة المصدر قد لا يحتاجون إلى الدليل الكامل ولكن لا يزال يتعين عليهم استخدام قائمة التحقق من طلبات السحب لتسهيل الأمور على الجميع.
يُطلب من المساهمين في أداة CVE الثنائية الالتزام بقواعد سلوك مجتمع Python. يرجى الاتصال بـ Terri إذا كانت لديك مخاوف أو أسئلة تتعلق بقواعد السلوك هذه.
يمكن الإبلاغ عن المشكلات الأمنية المتعلقة بالأداة نفسها إلى فريق الاستجابة للحوادث الأمنية في Intel عبر https://intel.com/security.
إذا اكتشفت أثناء استخدام هذه الأداة مشكلة أمنية تتعلق بكود شخص آخر، فيرجى الكشف عنها بشكل مسؤول للطرف المناسب.
الاستخدام: cve-bin-tool <directory/file to scan>
خيارات: -h, --help في إظهار رسالة المساعدة هذه والخروج -e استبعاد، - استبعاد استبعاد مفصولة بفواصل استبعاد مسار الدليل -V, --version إظهار رقم إصدار البرنامج والخروج --تعطيل التحقق من الإصدار يتخطى التحقق من وجود إصدار جديد --تعطيل التحقق من الصحة يتخطى التحقق من ملفات XML مقابل المخطط - تعمل دون اتصال في وضع غير متصل بالشبكة - إضافة وصف تفصيلي لـ CVE في تقرير بتنسيق csv أو json (لا يوجد تأثير على وحدة التحكم أو html أو pdf) تنزيل بيانات مكافحة التطرف العنيف: الوسائط المتعلقة بمصادر البيانات وتكوين ذاكرة التخزين المؤقت -n {api,api2,json,json-mirror,json-nvd}, --nvd {api,api2,json,json-mirror,json-nvd} اختر طريقة للحصول على قوائم CVE من NVD -u {الآن، يوميًا، أبدًا، الأحدث}، - التحديث {الآن، يوميًا، أبدًا، الأحدث} تحديث الجدول الزمني لمصادر البيانات وقاعدة بيانات الاستغلال (الافتراضي: يوميًا) --nvd-api-key NVD_API_KEY حدد مفتاح NVD API (المستخدم لتحسين حد معدل NVD). اضبط على "لا" لتجاهل أي مفاتيح في البيئة. -d DISABLE_DATA_SOURCE، --disable-data-source DISABLE_DATA_SOURCE قائمة مصادر البيانات مفصولة بفواصل (CURL، EPSS، GAD، NVD، OSV، PURL2CPE، REDHAT، RSD) للتعطيل (الافتراضي: NONE) --استخدام المرآة USE_MIRROR استخدم مرآة لتحديث قاعدة البيانات مدخل: دليل الدليل للمسح -i INPUT_FILE، --input-file INPUT_FILE توفير اسم ملف الإدخال -C التكوين، --التكوين التكوين توفير ملف التكوين -L PACKAGE_LIST، - قائمة الحزمة PACKAGE_LIST تقديم قائمة الحزمة --sbom {spdx، سيكلونيدكس، سويد} تحديد نوع قائمة مواد البرنامج (sbom) (الافتراضي: spdx) --sbom-ملف SBOM_FILE توفير اسم الملف sbom --vex-ملف VEX_FILE توفير اسم ملف تبادل قابلية استغلال الثغرات الأمنية (vex) لمعالجة الفرز الإخراج: -q، - إخراج قمع هادئ -l {تصحيح، معلومات، تحذير، خطأ، حرج}، --log {تصحيح، معلومات، تحذير، خطأ، حرج} مستوى السجل (الافتراضي: معلومات) -o OUTPUT_FILE، --output-file OUTPUT_FILE توفير اسم ملف الإخراج (الافتراضي: الإخراج إلى stdout) --html-الموضوع HTML_THEME توفير دليل موضوع مخصص لتقرير HTML -f {csv,json,json2,console,html,pdf}, --format {csv,json,json2,console,html,pdf} تحديث تنسيق الإخراج (الافتراضي: وحدة التحكم) تحديد تنسيقات إخراج متعددة باستخدام الفاصلة ('،') كفاصل ملاحظة: لا تستخدم مسافات بين الفاصلة ('،') وتنسيقات الإخراج. --إنشاء التكوين {yaml,toml,yaml,toml,toml,yaml} قم بإنشاء ملف التكوين لأداة cve bin بتنسيقات toml وyaml. -c CVSS، --cvss CVSS الحد الأدنى من نقاط CVSS (كعدد صحيح في النطاق من 0 إلى 10) للإبلاغ (الافتراضي: 0) -S {منخفض، متوسط، عالي، حرج}، - الخطورة {منخفض، متوسط، عالي، حرج} الحد الأدنى من خطورة مكافحة التطرف العنيف المطلوب الإبلاغ عنه (الافتراضي: منخفض) --metrics تحقق من وجود مقاييس (على سبيل المثال، EPSS) من السيرة الذاتية التي تم العثور عليها --epss-المئوي EPSS_PERCENTILE يتراوح الحد الأدنى لنسبة epss لـ CVE بين 0 إلى 100 للإبلاغ. تمكين `--المقاييس` تلقائيًا --epss-الاحتمالية EPSS_PROBABILITY يتراوح الحد الأدنى لاحتمال epss لـ CVE بين 0 إلى 100 للإبلاغ. تمكين `--المقاييس` تلقائيًا --no-0-cve-report يصدر تقريرًا فقط عند العثور على CVEs -أ [-]، --الإصلاح المتاح [-] يسرد الإصلاحات المتاحة للحزمة من توزيع Linux -ب [-]، --backport-fix [-] يسرد الإصلاحات ذات النقل الخلفي إذا كانت متوفرة من توزيعة Linux --affected-versions يسرد إصدارات المنتج المتأثرة بـ CVE معين (لتسهيل الترقيات) --sbom-output SBOM_OUTPUT توفير اسم ملف فاتورة المواد (sbom) لإنشاء البرنامج --sbom من النوع {spdx،cyclonedx} تحديد نوع قائمة مواد البرنامج (sbom) المراد إنشاؤها (الافتراضي: spdx) --تنسيق sbom {tag،json،yaml} تحديد تنسيق قائمة مواد البرنامج (sbom) المراد إنشاؤها (الافتراضي: العلامة) إخراج فيكس: الحجج المتعلقة بمستند إخراج Vex. --vex-output VEX_OUTPUT قم بتوفير اسم ملف تبادل (vex) لقابلية استغلال الثغرات الأمنية لإنشاءه --vex من النوع {cyclonedx، csaf، openvex} تحديد نوع تبادل قابلية استغلال الثغرات الأمنية (vex) المراد إنشاؤه (الافتراضي: cyclonedx) - اسم المنتج المنتج --release RELEASE إصدار الإصدار --البائع البائع البائع/المورد للمنتج -rr REVISION_REASON، - سبب المراجعة REVISION_REASON يجب تحديد سبب التحديث إلى مستند vex بين علامتي اقتباس مزدوجتين --filter-triage تصفية السيرة الذاتية بناءً على بيانات الفرز من ملف Vex تقرير الدمج: الحجج المتعلقة بالتقارير المتوسطة والمدمجة -أ [إلحاق]، --إلحاق [إلحاق] حفظ الإخراج كتقرير وسيط بتنسيق json -t TAG، --tag TAG أضف علامة فريدة للتمييز بين التقارير الوسيطة المتعددة -م دمج، --دمج دمج مسار التقارير المتوسطة مفصولة بفواصل للدمج -F مرشح، - مرشح مرشح سلسلة علامات مفصولة بفواصل لتصفية التقارير المتوسطة لعبة الداما: -s تخطي، --تخطي تخطي قائمة مفصولة بفواصل من لعبة الداما لتعطيلها -r RUNS, --runs RUNS قائمة مفصولة بفواصل من أدوات الداما لتمكينها إدارة قواعد البيانات: --import-json IMPORT_JSON استيراد قاعدة البيانات من ملفات json المقطعة بالسنوات --ignore-sig لا تتحقق من توقيع PGP أثناء استيراد بيانات json --خطأ في توقيع السجل عندما لا يتطابق التوقيع، قم بتسجيل الخطأ فقط بدلاً من التوقف (UNSAFE) --تحقق من PGP_PUBKEY_PATH تحقق من علامة PGP أثناء استيراد ملفات json --export-json EXPORT_JSON تصدير قاعدة البيانات كملفات json مقطعة بالسنوات --pgp-sign PGP_PRIVATE_KEY_PATH قم بتسجيل ملفات json المصدرة باستخدام PGP --عبارة المرور عبارة المرور عبارة المرور المطلوبة للتوقيع مع PGP --export تصدير اسم ملف قاعدة بيانات التصدير --import استيراد اسم ملف قاعدة البيانات مآثر: --exploits يتحقق من وجود برمجيات استغلالية من السيرة الذاتية التي تم العثور عليها مهمل: --ملف إدخال الفرز TRIAGE_INPUT_FILE تم استبداله بملف --vex -x، --extract استخراج الملفات المضغوطة تلقائيًا --report يُنتج تقريرًا حتى في حالة عدم وجود CVE لتنسيق الإخراج المعني
لمزيد من المعلومات حول كل هذه الخيارات، يرجى الاطلاع على دليل مستخدم أداة CVE الثنائية.