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

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

Билет 11

Теоретический вопрос

Сравните динамическую и статическую линковку с точки зрения восстановления состава ПО. Почему динамическая зависимость (.so) видна и доказуема — через DT_NEEDED в ELF, readelf -d, ldd, — а статическая (.a) становится слепой зоной: компонент физически вшит в бинарь и исчезает из SBOM? Объясните, почему «сканер ничего не нашёл» для статически слинкованного бинаря — это не отсутствие зависимостей, а отсутствие доказательств.

Практический вопрос

Мини-кейс Дан один исполняемый файл. Нужно перечислить его сторонние компоненты. Снимите динамические зависимости и объясните, почему статически вшитая библиотека (например, своя сборка zlib через .a) в этот список не попадёт и что нужно сделать, чтобы её зафиксировать.

readelf -d ./app | grep NEEDED      # динамика: DT_NEEDED
ldd ./app                            # разрешённые .so
# для .a-вшитого кода ELF-анализ молчит — нужен build-scan/LIEF

Что должен показать ответ

Опорные материалы