Инструмент для получения, преобразования и хранения данных об уязвимостях из различных источников.
Поддерживаемые источники данных:
Альпийский (https://secdb.alpinelinux.org)
Amazon (https://alas.aws.amazon.com/AL2/alas.rss и https://alas.aws.amazon.com/AL2022/alas.rss)
Debian (https://security-tracker.debian.org/tracker/data/json и https://salsa.debian.org/security-tracker-team/security-tracker/raw/master/data/DSA/list)
Рекомендации по безопасности GitHub (https://api.github.com/graphql)
ПНВ (https://services.nvd.nist.gov/rest/json/cves/2.0)
Oracle (https://linux.oracle.com/security/oval)
RedHat (https://www.redhat.com/security/data/oval)
SLES (https://ftp.suse.com/pub/projects/security/oval)
Ubuntu (https://launchpad.net/ubuntu-cve-tracker)
Вольфи (https://packages.wolfi.dev)
С пипом:
pip установить туннель
С докером:
запуск докера --rm -it -v $(pwd)/data:/data -v $(pwd)/.vunnel.yaml:/.vunnel.yaml ghcr.io/anchore/vunnel:latest запустить НВД
Где:
объем data
сохраняет обработанные данные на хосте
.vunnel.yaml
использует конфигурацию хост-приложения (если присутствует)
вы можете поменять latest
на конкретную версию (так же, как теги git)
Полный список доступных тегов см. в пакете vunnel.
Перечислите доступных поставщиков данных об уязвимостях:
$ vunnel list alpine amazon chainguard debian github mariner nvd oracle rhel sles ubuntu wolfi
Загрузите и обработайте провайдера:
$ vunnel run wolfi 2023-01-04 13:42:58 root [INFO] running wolfi provider 2023-01-04 13:42:58 wolfi [INFO] downloading Wolfi secdb https://packages.wolfi.dev/os/security.json 2023-01-04 13:42:59 wolfi [INFO] wrote 56 entries 2023-01-04 13:42:59 wolfi [INFO] recording workspace state
Вы увидите обработанные данные об уязвимостях в локальном каталоге ./data
$ tree data data └── wolfi ├── checksums ├── metadata.json ├── input │ └── secdb │ └── os │ └── security.json └── results └── wolfi:rolling ├── CVE-2016-2781.json ├── CVE-2017-8806.json ├── CVE-2018-1000156.json └── ...
Примечание. Чтобы получить более подробный вывод, используйте -v
, -vv
или -vvv
(например, vunnel -vv run wolfi
).
Удалите существующие входные и результирующие данные для одного или нескольких поставщиков:
$ vunnel clear wolfi 2023-01-04 13:48:31 root [INFO] clearing wolfi provider state
Пример конфигурационного файла для изменения поведения приложения:
# .vunnel.yamlroot: ./processed-datalog: уровень: Traceproviders: wolfi: request_timeout: 125 время выполнения: существующий_вход: сохранить существующие_результаты: удалить перед записью on_error: действие: сбой ввода: сохранить результаты: сохранить retry_count: 3 retry_delay: 10
Используйте vunnel config
, чтобы получить лучшее представление обо всех возможных вариантах конфигурации.
Да, вы можете! Дополнительную информацию см. в документации поставщика.
Этот инструмент «направляет» данные об уязвимостях в одно место для облегчения обработки... скажем «воронку данных об уязвимостях» в 100 раз достаточно быстро, и в конечном итоге она превратится в «вуннел» :).