fa
Feedback
Бестиарий программирования

Бестиарий программирования

رفتن به کانال در Telegram

Наблюдения за жизнью ошибок в коде. Андрей Карпов. ГОСТ Р 71207-2024, ГОСТ Р 56939-2024, РБПО, Статический анализ кода Канал-дублёр в MAX: https://max.ru/join/3VWTp9apkQvTMSRQ__LGiTQ5NGVBj8p_tOpwlQO6vS8

نمایش بیشتر
1 115
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
-230 روز
آرشیو پست ها
Следующая неделя будет активной. Где, кто и что: Вебинар №1 В понедельник 16 февраля в 16:00 я проведу вебинар: Статический а
Следующая неделя будет активной. Где, кто и что: Вебинар №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 Atlas, предназначенный для работы с результатами анализа кода: просмотра, аналитики, разметки и формирования отчётов для сертификационных лабораторий и ФСТЭК.

Первые опечатки, которые нашёл PVS-Studio в проектах на языке Go 🔥

Большой брат, биг-дата, ИИ... Месяц звонки из "Яндекс для Бизнеса" (на телефоне распознается). Обычно не отвечаем, а сегодня ответили, чтобы отстали уже. Хотели предложить для нашей компании Яндекс.Такси. Которым мы пользуемся сто лет. Вот такая вот подготовительная работа и анализ потенциальный клиентов...

Выражаем благодарность команде отдела сертификационных испытаний АО Центр «Атомзащитаинформ». Отдел провёл испытания статического анализатора кода 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

Бесконечность — не предел! И нашим вебинарам предела нет! 🔥 Друзья, мы рады анонсировать вам новый продукт — PVS-Studio Atla
Бесконечность — не предел! И нашим вебинарам предела нет! 🔥 Друзья, мы рады анонсировать вам новый продукт — PVS-Studio Atlas! Это новая платформа контроля качества кода: просмотр, аналитика, разметка, отчёты для сертификационных лабораторий и ФСТЭК. Мы еще не раз будем говорить об этом. А пока приглашаем вас на вебинар, на котором мы презентуем PVS-Studio Atlas и расскажем про него подробнее! 🗓11 февраля в 16:00 Регистрация доступна по ссылке 🔗 #вебинар #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. Поиск у
Даже немного не верится, но мы добрались до двух последних процессов ГОСТ Р 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. Такие ошибки
Буду рад присланным идеям диагностических правил статического анализатора для языков 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)
P.S. Анализатор PVS-Studio внимательнее не только меня, но и LLM (см. комментарий на habr)

Мы иногда во внутреннем чате обмениваемся фрагментами кода с неочевидными ошибками, которые обнаруживаются с помощью PVS-Stud
Мы иногда во внутреннем чате обмениваемся фрагментами кода с неочевидными ошибками, которые обнаруживаются с помощью 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 :)