Основные алгоримты по поиску были взяты из проекта IVA (https://github.com/fkie-cad/iva)
- Скачать CPE- и CVE-фиды
- Загрузить их в базу данных
- Найти соответствующий установленному ПО его CPE URI
- По найденному CPE URI осуществить поиск CVE
Инструмент использует СУБД MySQL. Нужно заранее создать базу данных. Настройки БД задаются в файле config.py
Необходимые пакеты устанавливаются из файла requirements.txt с помощью pip:
> pip install -r requirements.txt
Скачивание CPE- и CVE-фидов:
> python download_feeds.py
Инициализировать БД
> python dbcli.py init
Загрузить фиды в БД (~ 30 мин)
> python populate_cpes.py
> python populate_cves.py
Поиск CPE URI. Скрипту передается вендор, продукт и версия
> python cpe_match.py 'Microsoft Corporation' 'Microsoft .NET Framework 4.5.2' '4.5.51209'
Если вендор неизвестен, то можно воспользоваться следующей командой:
> python search_vendor.py 'winamp'
Поиск CVE:
> python cve_match.py 'cpe:2.3:a:microsoft:.net_framework:4.5:*:*:*:*:*:*:*'
Можно частично заполнить базу данных - 5 CPE и 5 CVE.
Для этого надо создать переменную среды TESTING
со значением True
База данных в этому случае используется та, что указана в DB_TEST_NAME
в файле config.py