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

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

MISRA C C++

О документе

Что это MISRA C / MISRA C++ — наборы руководящих указаний (guidelines) по применению C и C++ в критичных и встраиваемых системах, выпускаемые консорциумом MISRA (исторически — из автомобильной отрасли). В отличие от CERT, чья отправная точка — безопасность, MISRA исходит из надёжности и предсказуемости: цель — исключить «опасные» и неоднозначно трактуемые конструкции языка, чтобы поведение кода было детерминированным и пригодным для сертификации. В курсе MISRA, как и CERT, маркирует границу SCA: дисциплина кода, которую состав зависимостей не отражает.

MISRA классифицирует указания на mandatory / required / advisory и вводит формализованный механизм deviations — задокументированных отступлений с обоснованием. Это процессное отличие от CERT: соответствие MISRA подразумевает оформленную процедуру отклонений.

Ключевые требования

Зона, которую SCA не закрывает - Подмножество безопасного языка. Запрет опасных/неоднозначных конструкций C/C++ ради предсказуемого поведения. - Категории обязательности. Mandatory нарушать нельзя; required — только через оформленное deviation; advisory — рекомендательно. - Формализованные отклонения (deviations). Любое отступление от required документируется с обоснованием и утверждением — иначе соответствие не заявляется. - Полнота охвата кода. Декларируется, какой код проверяется и какие части исключены (с обоснованием). - Проверяемость инструментом. Соответствие подтверждается статическим анализатором, сертифицированным под MISRA, по исходникам. - Пригодность к сертификации. Результат используется в доказательной базе функциональной безопасности, а не только AppSec.

Что считать evidence

Артефакты соответствия (это НЕ SBOM/VDR) - MISRA compliance report анализатора с разбивкой по mandatory/required/advisory. - Реестр deviations с обоснованием и утверждающей ролью по каждому отступлению от required. - Декларация охвата: какой исходный код проверен, что и почему исключено. - Запись о блокировке сборки при нарушении mandatory-правил в CI. - Тренд соответствия по релизам как доказательство устойчивости процесса.

Чем отличается от CERT CERT приоритизирует по риску безопасности и не требует формальной процедуры отклонений; MISRA строит соответствие вокруг категорий обязательности и оформленных deviations. Для аудита это разные доказательные следы — не смешивать.

CERT vs MISRA как доказательные модели:

Аспект CERT MISRA
Отправная точка Безопасность (эксплуатируемость) Надёжность, предсказуемость
Приоритизация По severity/likelihood По категориям mandatory/required/advisory
Отклонения Без формальной процедуры Оформленные deviations с утверждением
Применение AppSec / устранение дефектов Доказательная база функциональной безопасности

Маппинг на практики и шаблоны

Ограничение

Это учебная карточка Карточка показывает роль MISRA как границы SCA и не воспроизводит сами указания. Точные формулировки правил, их категории и механизм deviations для аудита сверять с официальными изданиями MISRA C / MISRA C++ и регламентами Организации.