MemorySanitizer (MSAN), когда он нужен и как внедрять
По разным оценкам, до 10% уязвимостей в коде на C и C++ являются следствием использования неинициализированной памяти (источники: 1, 2). Задача MemorySanitizer (далее, MSAN) - выявлять использование неинициализированной памяти в коде, то есть мусора, например в блоке кода типа if (uninit_var) {...}. Кроме уязвимостей, неинициализированная память даёт о себе знать при портировании приложения на другую платформу, смене компилятора (или поднятии версии используемого), изменении уровня оптимизации или изменении кода таким образом, что то, что раньше "случайно" инициализировалось нулями, стало инициализироваться мусором.
MSAN не является статическим анализатором, то есть для его работы требуется выполнение кода (нужны тесты/fuzzing/реальная нагрузка). Прежде чем переходить к самому MSAN, сначала разберемся почему недостаточно (или достаточно?) статического анализа, ведь даже компиляторы умеют предупреждать об использовании неинициализированных данных.
Читать далееИсточник: Хабрахабр
Похожие новости
- Распознаем STL-код легко: std::vector
- Есть ли жизнь после Cisco ISE? Распаковка и тест-драйв российского NAC от Eltex в сетевой лаборатории
- ИИ взломали. Кто бы мог подумать?
- DPI, ТСПУ и операторы: архитектура блокировки трафика в России
- Максим Котенков: Мы сделали своё API для семантического анализа — и это убрало 70% рутины при подготовке SEO-ТЗ
- Почему автотесты пропускают изменения в API и как это исправить с Pydantic
- Что сегодня действительно важно в AI: 10 направлений по версии MIT Technology Review
- АЙNET: АЙNET: 30% крупных брендов отказываются от лендингов в пользу чековых ботов, а интерес к промо в Max вырос на 40%
- Как мы написали свой forward-proxy на Go и отказались от VPN для доступа к админкам
- i-Media: 43% потребителей идут на маркетплейсы за эмоциональной подзарядкой, а нейросети вытесняют поисковики: i-Media выпускает обзор digital-рынка за Q1 2026