CVE-Manager

Материал из ALT Linux Wiki

cve-manager - консольная программа для отслеживания уязвимостей программного обеспечения, имеет модульную структуру, написана на Python и C++. Распространяется по лицензии GPLv3.0.

Структура программы

cve-manager состоит из следующих модулей:
- cve-manager.py - диалоговый интерфейс для запуска всех остальных модулей, написан на Python;
- cve-download.py - осуществляет загрузку по https списков CVE и CPE словаря, написан на Python;
- cve-import - осуществляет внесение списка пакетов выбранных репозиториев с сервере basealt, а также списков CVE и CPE словаря в базу данных (БД) MySQL, написан на C++;
- cpe-map.py - осуществляет установление соответствия названий исходных пакетов рассматриваемых репозиториев, расположенных на сервере basealt, и product из CPE словаря, написан на Python;
- cve-fixes.py - извлекает 'Fixes' записи и URL из метаданных всех исходных пакетов рассматриваемых репозиториев, написан на Python, использует gb-x-parse-vulns-from-changelog;
- cve-issue.py - осуществляет установление соответствия между данными, полученными с помощью модулей cve-import, cpe-map.py, cve-fixes.py, cve-fixes.py, а именно - записи в БД вида (<CVE-ID>, <PACKAGE-NAME>, <FIXES>), написана на Python.

Настройка

Параметры cve-manager определяются файлом ini-формата /etc/cve-manager/cve-manager.conf. Данный ini-файл состоит из следующих секций:
1) database, содержащей параметры соединения с базой данных MySQL;
2) branches, содержащей метки о рассмотрении (значение 1) или не рассмотрении (значение 0) соответствующей ветви Sisyphus;
3) paths, в которой указываются пути к корневому каталогу alt-сервера, CSV-файлу со списком уязвимостей Mitre и XML-файлу со списком уязвимостей NVD соответственно.

Использование

Пересоздание всех таблиц БД и импорт всех обозначенных в конфигурационном файле списков пакетов репозиториев и списков уязвимостей:
cve-manager prepare [-v]

Пересоздание структуры БД (без импорта списков):
cve-manager recreate

Импорт списка пакетов:
cve-manager import-packages <space_root_abs_path> [-v]

Импорт списка уязвимостей NVD:
cve-manager import-nvd <xml_file_abs_path>

Импорт списка уязвимостей Mitre:
cve-manager import-mitre <csv_file_abs_path>

ВЫвод списка всех импортированных пакетов:
cve-manager print-packages

Вывод списка импортированных пакетов определённой ветви Sisyphus:
cve-manager print-packages <branch_name>

Параметр -v означает подробный (verbose) вывод.

Ссылки

Проект на git.altlinux.org