Отчёт и карта приложения#
Помимо вывода в терминал, анализатор умеет собирать единый HTML-отчёт с интерактивной картой приложения. Отчёт самодостаточен (не требует внешних ресурсов), его можно открыть в любом браузере и переслать.
Единый отчёт#
Отчёт формируется флагом --report:
aft-analyzer org.astra.Chromium --report -v
Каталог отчёта задаётся как значение флага (--report=каталог), по умолчанию
- каталог report. Файл называется по идентификатору приложения.
В отчёте несколько вкладок:
Состав - метаданные приложения (идентификатор, версия, среда выполнения, SDK, команда, источник, архитектура, ветка, размер), состояние подписей GPG и ГОСТ, таблица компонентов из состава ПО, списки бинарников и экспортированных файлов.
Карта - интерактивный граф зависимостей приложения.
Проверки - результаты всех проверок, сгруппированные по категориям, с пояснениями «почему это важно» и «как починить».
D-Bus - имена и интерфейсы D-Bus, найденные в бинарниках.
Уязвимости - таблица CVE; появляется при поиске уязвимостей (см. Форматы вывода и уязвимости).
Карта приложения#
Карта - это интерактивный направленный граф. Узлы - это само приложение, среда выполнения, SDK, исполняемые файлы, библиотеки и пакеты. Рёбра показывают зависимости и их разрешение: какая библиотека нужна, какая найдена, какая отсутствует, что даёт среда выполнения и SDK.
На узлах видно состояние подписи, защищённость ELF и привязанные уязвимости. Переключение вида показывает приложение под разными углами:
Структура - зависимости как они есть.
Целостность - выделение проблем целостности, например записываемых страниц кода или отсутствия защиты.
Защита - раскраска по защищённости ELF (PIE, RELRO, разрешение символов, идентификатор сборки).
Уязвимости - выделение узлов с привязанными CVE по уровню критичности.
Граф снабжён поиском, фильтрами по типу узла и боковой панелью с подробностями выбранного узла; есть легенда по типам узлов и состояниям подписи.