Поиск уязвимостей (aft-scanner)#
Инструмент aft-scanner проверяет Flatpak-приложения и среды выполнения на известные уязвимости (CVE). Он опирается на состав ПО сборки и базу определений OVAL и выдаёт сводку с найденными уязвимостями по уровням критичности, сохраняя историю проверок.
Сканировать можно установленные сборки, сборки из локального репозитория и сборки из удалённого репозитория, в том числе когда приложение и его среда выполнения лежат в разных местах.
Из чего состоит раздел#
Цели и источники - что и откуда сканировать: цели, источники, среда выполнения.
Как формируется проверка - как формируется проверка: состав ПО, база определений, уровни и фильтры.
Отчёты и история - отчёты, история, форматы сводки и связь с другими инструментами.
Команды#
scan#
aft-scanner scan [флаги] цель ... - сканировать одну или несколько указанных
целей. Флаг источника относится к следующей за ним цели (см. Цели и источники).
scan-all#
aft-scanner scan-all [флаги] - сканировать все сборки в выбранном источнике,
без перечисления целей.
Справка и версия вызываются флагами --help (или -h, можно с темой scan
или scan-all) и --version (-V).
Как это применяется#
Сканирование установленного приложения запускается по идентификатору:
aft-scanner scan org.gnome.Calculator
Все установленные сборки сканируются разом:
aft-scanner scan-all
Флаги#
--repo=<путь>- сборка из локального репозитория (для следующей цели).--remote=<url>- сборка из удалённого репозитория (для следующей цели).--no-runtime- не сканировать среду выполнения автоматически.--runtime-remote=<url>- принудительно брать среду из указанного адреса.--full-pull- при отсутствии готовых данных в удалённом репозитории выкачать сборку целиком.--oval-dir=<путь>- каталог с базой определений (по умолчанию системный).--severity=<уровни>- какие уровни проверять (по умолчанию все четыре).--fail-on=<уровень>- порог, при котором код возврата становится 1 (по умолчанию critical).--ignore-cve=<список>- исключить уязвимости (повторяемо, через запятую).--ignore-package=<список>- исключить пакеты (повторяемо, через запятую).--output-dir=<путь>- каталог отчётов (по умолчанию./report).--format=<форматы>- форматы сводки (по умолчанию json и text).--verbose(-v),--quiet(-q) - подробность вывода.
Подробно флаги разобраны в блоках Цели и источники, Как формируется проверка и Отчёты и история.
Коды возврата#
0 - не найдено уязвимостей уровня не ниже порога
--fail-on.1 - найдены уязвимости уровня не ниже порога.
2 - техническая ошибка (сборка не найдена, база не загрузилась, состав ПО недоступен и подобное).
3 - некорректные аргументы.
Порог --fail-on (по умолчанию critical) позволяет встроить сканер в конвейер
сборки и блокировать только нужный уровень уязвимостей.