Пиков / КАПО
Как читать авторский курс и нормативные материалы

Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.

blint

Для чего

blint — анализатор бинарных файлов (ELF, PE, Mach-O), который извлекает их свойства безопасности и состав напрямую из исполняемого файла, без исходников и пакетного менеджера. Помимо проверки флагов защиты (PIE, RELRO, NX, canary) он умеет собирать SBOM по символам, импортируемым библиотекам и встроенным метаданным — это закрывает слепую зону, где обычные генераторы по манифестам ничего не видят.

Как применяют

Проверка свойств бинаря и генерация SBOM по нему:

blint -i ./build/app -o ./out
blint sbom -i ./build/app -o sbom.cdx.json

В отчёте — таблица hardening-флагов и список обнаруженных зависимостей/символов. SBOM выдаётся в CycloneDX и фиксирует найденные библиотеки как компоненты с эвристическими координатами.

Флаг Что значит «Плохой» сигнал
NX неисполняемый стек no
PIE позиционно-независимый код no
RELRO защита GOT/PLT partial / no
Canary стековый канарейка no

Два инструмента в одном файле blint совмещает аудит свойств безопасности бинаря (hardening) и инвентаризацию его состава. Для C/C++ это часто единственный способ хоть что-то увидеть, когда SBOM по манифестам пуст.

Сильные стороны

Ограничения

Stripped-бинарь почти ничего не отдаёт Полнота SBOM напрямую зависит от наличия символов. Если бинарь собран с strip, blint видит крайне мало, а координаты компонентов эвристические — это оценка, а не доказанный состав.

Offline / on-premise

Полностью офлайн: анализ идёт по локальному файлу, сеть не нужна. Подходит для закрытого контура, где собранные C/C++-артефакты нужно инвентаризировать без обращения к внешним реестрам.

Связанные темы

М09 C/C++ legacy · М05 Инструменты генерации SBOM · П22. ELF dynamic dependencies · П23. Статическая линковка как слепая зона · ldd readelf LIEF · cdxgen · CycloneDX