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

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

Ограничения готовых бинарников

О чём

Предмет проверки — граница binary analysis: что система видит, когда ей подают уже собранный артефакт без сборочного контекста. ТЗ (п. 3.5) требует анализ артефактов сборки, включая архивы (.jar, .rar, .tar, .tar.bz2, .tbz2, .tar.gz, .tgz, .tar.xz, .txz, .war, .zip, .aar, .egg, .hpi, .nupkg, .whl) с рекурсивным анализом заданной глубины. Здесь важно отделить архивы и контейнеры (это работает) от нативных stripped/статически слинкованных исполняемых файлов и .a/.so (это не гарантировано). Случай, когда сборочный контекст есть, но код всё равно не опознаётся, — отдельная тема Статическая линковка и форки.

Что подтверждено

Где проходит граница Архив или образ — это контейнер с метаданными и упакованными пакетами; их система разбирает по структуре. Нативный исполняемый файл, особенно stripped и статически слинкованный, — это непрозрачный вход без манифеста и без сборочного контекста.

Что не подтверждено или ограничено

Риск несоответствия Если в объёме ТЗ под «binary analysis» подразумевается надёжная идентификация компонентов в готовых нативных бинарниках (.a/.so/exe, в т.ч. stripped/статика), это не подтверждено и поставщиком обозначено как нерешённое. Закрывать только сборочным сканом (C C++ build scan make cmake qmake) либо переформулировать термин в ТЗ.

Что проверить на пилоте

Вопросы и приёмочные проверки - Какова точная граница binary analysis: какие форматы дают идентификацию компонента+версии, а какие — только факт наличия файла? - Подать на вход stripped statically-linked ELF и зафиксировать, что система опознаёт, а что нет. - Подать .a и .so без исходников/сборки и проверить распознавание компонентов. - Проверить рекурсивный разбор архивов на заданную глубину (вложенные .jar/.war/.tar.gz) — соответствует ли требованию ТЗ. - Согласовать в ТЗ разделение: «архивы/package artifacts/контейнеры» и «нативные бинарники» — как разные требования с разным статусом.

Связь