Отчёт и карта приложения

Отчёт и карта приложения#

Помимо вывода в терминал, анализатор умеет собирать единый 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 по уровню критичности.

Граф снабжён поиском, фильтрами по типу узла и боковой панелью с подробностями выбранного узла; есть легенда по типам узлов и состояниям подписи.