Бестиарий программирования
الذهاب إلى القناة على Telegram
Наблюдения за жизнью ошибок в коде. Андрей Карпов. ГОСТ Р 71207-2024, ГОСТ Р 56939-2024, РБПО, Статический анализ кода Канал-дублёр в MAX: https://max.ru/join/3VWTp9apkQvTMSRQ__LGiTQ5NGVBj8p_tOpwlQO6vS8
إظهار المزيد1 115
المشتركون
لا توجد بيانات24 ساعات
لا توجد بيانات7 أيام
-230 أيام
أرشيف المشاركات
Следующая неделя будет активной. Где, кто и что:
Вебинар №1
В понедельник 16 февраля в 16:00 я проведу вебинар: Статический анализ кода в методическом документе ЦБ РФ "Профиль защиты". Регистрация.
В конце 2025 года ЦБ РФ разослал в информационном письме новый методический документом "Профиль защиты прикладного программного обеспечения автоматизированных систем и приложений кредитных организаций и некредитных финансовых организаций". Документ был обновлён с учётом ГОСТ Р 56939-2024. Для меня интересным является обновление разделов, посвящённых статическому анализу кода. Эти изменения и рассмотрим.
Вебинар №2
28-м вебинаром "Системы с конструктивной информационной безопасностью" мы (кажется:) завершаем цикл "Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024" :)) Начало как обычно в среду 18.02.2026 в 16:00. Регистрация.
ТБ-Форум
18—20 февраля мы будем со стендом на ТБ Форум 2026. Приходите общаться и задавать вопросы.
Клуб С++ разработчиков
19 февраля 2026 в 18:30 в Кампусе ЦУ пройдёт очередная встреча Клуба С++ разработчиков. Регистрация.
В ходе бонусного вебинара команда PVS-Studio представила новый продукт — PVS-Studio Atlas, предназначенный для работы с результатами анализа кода: просмотра, аналитики, разметки и формирования отчётов для сертификационных лабораторий и ФСТЭК.
Большой брат, биг-дата, ИИ...
Месяц звонки из "Яндекс для Бизнеса" (на телефоне распознается). Обычно не отвечаем, а сегодня ответили, чтобы отстали уже.
Хотели предложить для нашей компании Яндекс.Такси. Которым мы пользуемся сто лет.
Вот такая вот подготовительная работа и анализ потенциальный клиентов...
Выражаем благодарность команде отдела сертификационных испытаний АО Центр «Атомзащитаинформ». Отдел провёл испытания статического анализатора кода PVS-Studio и составил краткое ревью. Лаборатория считает целесообразным рассматривать PVS-Studio как SAST-средство, пригодное для встраивания в цикл разработки для выявления опечаток, логических ошибок, мёртвого кода и потенциальных уязвимостей. В частном порядке вы можете ознакомиться с отзывом, написав нам в поддержку.
Из недостатков отмечено ограничение по языкам. На данный момент продукт поддерживает только C, C++, C#, Java. Однако, забегая вперёд, могу сказать, что уже ведётся разработка по поддержке JavaScript, TypeScript и Go. Весной мы планируем организовать программу раннего доступа (EAP).
СВД Встраиваемые Системы приглашает 13 февраля / 12.00 на экспертный вебинар по разработке ПО с требованиями функциональной безопасности — без мистики, только проверенные методологии, стандарты и практика.
P.S. Мы сотрудничаем c СВД Встраиваемые Системы и благодарны им за отзыв, оставленный в конце 2025 года.
Компания FuncSafety, с которой мы делали совместный вебинар, запустила канал, посвященный Функциональной Безопасности: https://t.me/funcsafety
Repost from PVS-Studio: поиск ошибок в коде
Бесконечность — не предел! И нашим вебинарам предела нет! 🔥
Друзья, мы рады анонсировать вам новый продукт — PVS-Studio Atlas!
Это новая платформа контроля качества кода: просмотр, аналитика, разметка, отчёты для сертификационных лабораторий и ФСТЭК.
Мы еще не раз будем говорить об этом. А пока приглашаем вас на вебинар, на котором мы презентуем PVS-Studio Atlas и расскажем про него подробнее!
🗓11 февраля в 16:00
Регистрация доступна по ссылке 🔗
#вебинар #PVS_Studio
Repost from PVS-Studio: поиск ошибок в коде
Вы думали, цикл закончился?! Нет, мы продолжаем! 🔥
Не могли вас оставить без бонусных вебинаров в рамках цикла "Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024". Поэтому приглашаем на вебинар "Безопасность frontend-приложений: особенности, угрозы и анализаторы класса FAST (Frontend Application Security Testing)".
Все frontend-приложения (личные кабинеты, онлайн-банки, маркетплейсы, сайты, лендинги и другие) выполняются в браузере пользователя - традиционной "слепой" зоне для безопасности. Поговорим об актуальных угрозах, крупнейших инцидентах, построим модель угроз и рассмотрим, как применение анализатора класса FAST (Frontend Application Security Testing) снижает риски и делает frontend-приложения безопасными. Обсудим, почему классические анализаторы имеют низкую достоверность для frontend-приложений, и как использовать FAST-анализатор в процессах РБПО по ГОСТ Р 56939-2024.
Встречаемся 4 февраля в 16:00 🗓
Регистрация доступна по ссылке 🔗
#вебинар
Если хотите дополнительно послушать про выравнивания данных и пообщаться с автором приведённых ранее статей, то приходите 19 февраля в кампус ЦУ на встречу клуба "Сплошные плюсы".
Приглашаю зарегистрироваться на митап от Центрального университета и PVS-Studio. г. Москва, ул. Гашека, 7, стр. 1. Начало в 18:30.
Доклады:
1. Тихий враг или молчаливый союзник: Коротко о выравнивании в C++
2. Разработка решения для расчета метрик графа в Single Node
Даже немного не верится, но мы добрались до двух последних процессов ГОСТ Р 56939-2024!
Записи вебинаров:
Вебинар 24. Поиск уязвимостей в программном обеспечении при эксплуатации
Вебинар 25. Обеспечение безопасности при выводе программного обеспечения из эксплуатации
Другие записи можно найти на странице "Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024".
Однако, нам сложно остановиться :) Поэтому вас ждёт ещё несколько дополнительных встреч. Уже запланировано:
• 04.02.2026 в 16:00 по МСК - Безопасность frontend-приложений: особенности, угрозы и анализаторы класса FAST (Frontend Application Security Testing)
• 11.02.2026 в 16:00 по МСК - PVS-Studio Atlas — новая платформа контроля качества кода
Даже немного не верится, но мы добрались до двух последних процессов ГОСТ Р 56939-2024!
Записи вебинаров:
Вебинар 24. Поиск уязвимостей в программном обеспечении при эксплуатации.Вебинар 25. Обеспечение безопасности при выводе программного обеспечения из эксплуатации.
Все предыдущие записи можно найти на странице "Вокруг РБПО за 25 вебинаров: ГОСТ Р 56939-2024".
Однако, остановиться нам сложно :) Поэтому вас ждёт ещё несколько дополнительных встреч. Из уже запланированного, это:
04.02.2026 в 16:00 по МСК - Безопасность frontend-приложений: особенности, угрозы и анализаторы класса FAST (Frontend Application Security Testing)
11.02.2026 в 16:00 по МСК - PVS-Studio Atlas — новая платформа контроля качества кода
Буду рад присланным идеям диагностических правил статического анализатора для языков Go, JavaScript, TypeScript. Такие ошибки, как деления на 0, не интересны. С ними и так всё понятно. Интересны разновидности опечаток (в духе забытого throw), паттерны неправильного использования функций и т.п. Заранее спасибо.
Обновлённое подробное описание PVS-Studio на начало 2026 года с точки зрения
• ГОСТ Р 71207—2024 — Статический анализ программного обеспечения,
• ГОСТ Р 56939—2024 — РБПО,
• приказа ФСТЭК №117,
• и т.д.
P.S. Команда PVS-Studio будет со стендом на ТБ Форум 2026 (18—20 февраля 2026, МВЦ "Крокус Экспо", павильон 2, зал 10). Я там тоже буду. Приходите задавать вопросы на тему публикации, стандартов и вообще.
Продолжаем цикл вебинаров по РБПО. Хотя скорее уже заканчиваем, так как осталось рассмотреть два процесса. Дополнительно будет пара бонусных вебинаров, но всё равно марафон подходит к завершению.
Сегодня 21.01 в 16:00 ждём вас на "Процесс 24. Поиск уязвимостей в программном обеспечении при эксплуатации". Смотреть записи прошедших вебинаров и участвовать в новых.
P.S. Скоро возобновляем встречи клуба С++ программистов в Москве "Сплошные плюсы". Приглашаем докладчиков. Контакт для тех кто хочет что-то рассказать на тему C++: Волкова Дарья - Telegram: @daryavolkovaa
P.S. Анализатор PVS-Studio внимательнее не только меня, но и LLM (см. комментарий на habr)
Мы иногда во внутреннем чате обмениваемся фрагментами кода с неочевидными ошибками, которые обнаруживаются с помощью PVS-Studio в каком-нибудь открытом проекте. Мол, кто быстро сообразит, что не так с кодом?
Вчера коллега поделился вот таким фрагментом кода из проекта SereneDB:
template <typename T>
struct NumericParameter : public Parameter {
using ValueType = T;
....
std::string name() const override {
if constexpr (std::is_same_v<ValueType, int16_t>) {
return "int16";
} else if constexpr (std::is_same_v<ValueType, uint16_t>) {
return "uint16";
} else if constexpr (std::is_same_v<ValueType, int32_t>) {
return "int32";
} else if constexpr (std::is_same_v<ValueType, uint32_t>) {
return "uint32";
} else if constexpr (std::is_same_v<ValueType, int64_t>) {
return "int64";
} else if constexpr (std::is_same_v<ValueType, uint64_t>) {
return "uint64";
} else if constexpr (std::is_same_v<ValueType, size_t>) {
return "size";
} else if constexpr (std::is_same_v<ValueType, double>) {
return "double";
} else {
static_assert("unsupported ValueType");
}
}
....
};
Признаюсь честно, я два раза прочитал этот фрагмент, но так и не увидел ошибку. И засчитал себе поражение. Раз так, думаю, это достойно публикации в канал, чтобы и вы могли испытать свою внимательность :)
Ответ:
Анализатор PVS-Studio выдаёт предупреждение V591 Non-void function should return a value. parameters.h 222
На первый взгляд предупреждение странное и смахивает на ложное срабатывание, ведь не может быть, что функция закончила работу, не вернув значение с помощью оператора return. Если выбирается ветка else, то там static_assert, и код просто не должен скомпилироваться. Во всех остальных случаях есть return "что-то";.
Но есть нюанс!
Ещё раз посмотрите на эту строчку:
static_assert("unsupported ValueType");
static_assert используется неправильно: пропущен bool-constexpr. Вернее, строковый литерал неявно конвертируется в значение true, и static_assert никогда не прервёт компиляцию. В итоге else-ветка функции ничего не возвращает, и её поведение будет не определено для всех специализаций NumericParameter, кроме указанных ранее в цепочке if constexpr.
Правильный вариант:
static_assert(false, "unsupported ValueType");Узнал из поста в TG канале Swordfish Security.
В самом конце 2026 года информационным письмом №ИН-017-56/118 Банк России опубликовал обновленный методический документ "Профиль защиты прикладного программного обеспечения автоматизированных систем и приложений кредитных организаций и некредитных финансовых организаций".
Кто о чём, а мне больше всего интересно отсылки к РБПО, статическому анализу кода и соответствующим стандартам. Пересечений большое.
Во-первых, описываемый процесс разработки безопасного ПО адаптирован под ГОСТ 56939-2024.
Документ обновлен, в том числе с учётом практики применения "ГОСТ Р 56939-2024. Национальный стандарт Российской Федерации. Защита информации. Разработка безопасного программного обеспечения. Общие требования".Во-вторых, прописано необходимость использования статических анализаторов кода, что логично, т.к. это 10-й процесс ГОСТ 56939-2024. При этом, хотя я не нашёл в документе упоминание ГОСТ Р 71207-2024 "Статический анализ программного обеспечения", он оказал влияние и видны заимствования оттуда. Например, говорится, что инструменты статического анализа должны реализовывать следующие методы анализа:
- внутрипроцедурный анализ потоков данных и управления; - межпроцедурный и межмодульный контекстно-чувствительный анализ потока данных; - чувствительный к путям выполнения анализ потоков данных и управления; - межпроцедурный и межмодульный контекстно-чувствительный анализ помеченных данных; - анализ программы на синтаксическом уровне.Это ровно то, что перечисляется в разделе 7.4. ГОСТ Р 71207-2024, кроме пункта "межпроцедурный и межмодульный контекстно-чувствительный анализ помеченных данных". Но про это сказано другими словами:
Статический анализ кода проводится с использованием автоматизированных средств и направлен на идентификацию потенциально опасных фрагментов кода, в том числе: а) вызовов функциональных объектов (функций, методов, процедур) с передачей им в качестве аргументов данных, вводимых пользователем или принимаемых из внешних источников;В общем, ГОСТ Р 56939-2024 и ГОСТ Р 71207-2024 будут всё активнее влиять на подходы к разработке ПО. Уместно, ещё вспомнить и приказ ФСТЭК №177. P.S. Хотите организовывать статический анализ по ГОСТ – используйте PVS-Studio :)
