
Библиотека и утилита для запросов CVE, использующие локальное хранилище с прямой синхронизацией с Национальной базой данных уязвимостей.
CVEdb — это еще одна библиотека и утилита для работы с базой данных CVE на Python. Подобных уже много. Зачем создавать еще одну? Большинство существующих библиотек полагаются на сторонний API, например 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)
По умолчанию CVE, загруженные из NIST, сохраняются в базу данных sqlite, хранящуюся в cvedb.db.DEFAULT_DB_PATH, который имеет значение ~/.config/cvedb/cvedb.sqlite. Это можно настроить, передав аргумент db_path в CVEdb.open.
Функция db.data() возвращает экземпляр объекта cvedb.feed.Data, который имеет
множество методов для запроса CVE.
Например:
with CVEdb.open() as db:
for cve in db.data().search("search term"):
print(cve)
Помимо строк, функция data().search(...) принимает любой
объект cvedb.search.SearchQuery.
Национальная база данных уязвимостей NIST находится в процессе перехода на новый REST API. Наборы данных, на которых основан CVEdb, по-прежнему доступны, но неясно, могут ли они быть объявлены устаревшими. Кроме того, NIST ввел ограничение скорости загрузки, что может повлиять на синхронизацию CVEdb. Поэтому CVEdb поставляется с предварительно заполненной базой данных. Таким образом, CVEdb не требует подключения к Интернету после установки, кроме как для загрузки новых определений CVE. Также поведение CVEdb было изменено: вместо автоматической проверки обновлений теперь требуется, чтобы пользователь явно запросил обновление с помощью нового аргумента --update. Поддержка нового REST API отслеживается в этой проблеме GitHub.
CVEdb был создан Trail of Bits. Он распространяется под лицензией GNU Lesser General Public License v3.0. Свяжитесь с нами, если вы ищете исключение из условий. © 2021, Trail of Bits.
База данных CVE, поставляемая с CVEdb, создана и поддерживается NIST и находится в общественном достоянии.