zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

28
active users

#static_analysis

0 posts0 participants0 posts today

Поиск потенциальных уязвимостей в коде, часть 2: практика

В прошлый раз мы ознакомились с общими подходами в поиске уязвимостей безопасности в приложениях. В этот раз спустимся ближе к земле и посмотрим на то, как мы реализовали эти механизмы в нашем статическом анализаторе для Java.

habr.com/ru/companies/pvs-stud

ХабрПоиск потенциальных уязвимостей в коде, часть 2: практикаВ прошлый раз мы ознакомились с общими подходами в поиске уязвимостей безопасности в приложениях. В этот раз спустимся ближе к земле и посмотрим на то, как мы реализовали эти механизмы в нашем...

Вторая часть исследования Nau Engine

Во второй части нашей трилогии об игровом движке Nau Engine мы обсудим важные аспекты оптимизации и повышения производительности. Наша цель — выявить проблемы, которые могут повлиять на эффективность и стабильность игр, созданных с использованием Nau Engine.

habr.com/ru/companies/pvs-stud

++

ХабрВторая часть исследования Nau EngineВо второй части нашей трилогии об игровом движке Nau Engine мы обсудим важные аспекты оптимизации и повышения производительности. Наша цель — выявить проблемы, которые могут повлиять на эффективность...

Первая часть исследования Nau Engine

Этой статьёй мы начинаем трилогию об игровом движке Nau Engine. В первой части мы сосредоточимся на его функциональности, уделяя особое внимание трём ключевым блокам ошибок: проблемам с памятью, копипасте и логическим ошибкам.

habr.com/ru/companies/pvs-stud

++

ХабрПервая часть исследования Nau EngineЭтой статьёй мы начинаем трилогию об игровом движке Nau Engine. В первой части мы сосредоточимся на его функциональности, уделяя особое внимание трём ключевым блокам ошибок: проблемам с памятью,...

Распределённая сборка Unreal Engine проектов с помощью Horde и UBA

Распараллелить сборку большого проекта на несколько компьютеров? Легко! Разбираемся, как использовать Unreal Horde — новый инструмент внутри Unreal Engine 5.5. В том числе посмотрим, как с его помощью запустить анализ PVS-Studio.

habr.com/ru/companies/pvs-stud

ХабрРаспределённая сборка Unreal Engine проектов с помощью Horde и UBAРаспараллелить сборку большого проекта на несколько компьютеров? Легко! Разбираемся, как использовать Unreal Horde — новый инструмент внутри Unreal Engine 5.5. В том числе мы посмотрим, как с его...

PPSSPP или всё же psp? Смотрим баги в коде из прошлого

В мире видеоигр эмуляторы стали настоящей находкой для поклонников классических проектов. PPSSPP — один из самых популярных эмуляторов для PlayStation Portable (PSP), который позволяет нам вновь окунуться в атмосферу любимых игр, но уже на современных устройствах. Однако чтобы играть без сбоев и лагов, нужно убедиться, что код эмулятора хорошо написан.

habr.com/ru/companies/pvs-stud

++

ХабрPPSSPP или всё же psp? Смотрим баги в коде из прошлогоВ мире видеоигр эмуляторы стали настоящей находкой для поклонников классических проектов. PPSSPP — один из самых популярных эмуляторов для PlayStation Portable (PSP), который позволяет нам вновь...

Ошибки и подозрительные места в исходниках .NET 9

Каждый год выходит новая версия .NET, и .NET 9 не стал исключением. Как и в прошлый раз, мы попробуем свои силы в поиске ошибок в исходном коде .NET. Погнали копаться в исходниках!

habr.com/ru/companies/pvs-stud

#

ХабрОшибки и подозрительные места в исходниках .NET 9Каждый год выходит новая версия .NET, и .NET 9 не стал исключением. Как и в прошлый раз, мы попробуем свои силы в поиске ошибок в исходном коде .NET. Погнали копаться в исходниках! Наша команда, как и...

pg-index-health – статический анализ структуры PostgreSQL баз данных

С 2019 года я занимаюсь разработкой open source инструмента под названием pg-index-health, который позволяет анализировать структуру БД и находить потенциальные проблемы. Все эти годы pg-index-health эволюционировал и развивался. За 2024 год мне при поддержке нескольких контрибьюторов удалось решить большинство остававшихся «детских болячек» и довести проект до состояния, когда он готов к масштабной экспансии. В этой статье я хочу подробно рассказать об идеях, которые стоят за этим инструментом, и как его использовать в ваших проектах.

habr.com/ru/articles/871546/

Хабрpg-index-health – статический анализ структуры PostgreSQL баз данныхПривет, Хабр! С 2019 года я занимаюсь разработкой open source инструмента под названием pg-index-health , который позволяет анализировать структуру БД и находить потенциальные проблемы. В одной из...

Поиск потенциальных уязвимостей в коде, часть 1: теория

Риски наличия уязвимостей безопасности всем известны: нарушение работы приложения, потеря данных или их конфиденциальности. В этой статье мы посмотрим на наглядных примерах фундаментальную сторону подхода, при котором уязвимости можно находить ещё на этапе разработки.

habr.com/ru/companies/pvs-stud

ХабрПоиск потенциальных уязвимостей в коде, часть 1: теорияРиски наличия уязвимостей безопасности всем известны: нарушение работы приложения, потеря данных или их конфиденциальности. В этой статье мы посмотрим на наглядных примерах фундаментальную сторону...

Гадание на пяти строчках: о чем молчит программа

Забудьте о призраках, настоящая угроза кроется в повседневных вещах, таких как static_cast, который может неожиданно лишить вас безопасности, и assert, стремительно исчезающий в релизной сборке. Добро пожаловать в мир ловушек, созданных собственными руками!

habr.com/ru/companies/pvs-stud

++

ХабрГадание на пяти строчках: о чем молчит программаЗабудьте о призраках, настоящая угроза кроется в повседневных вещах, таких как static_cast, который может неожиданно лишить вас безопасности, и assert, стремительно исчезающий в релизной сборке. Добро...

IaC и DevSecOps: выбираем лучшие инструменты анализа и защиты инфраструктурного кода

Привет, читатели Habr! С вами Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. Сегодня мы вновь будем говорить об особенностях статического сканирования, но на этот раз переключим фокус с программного кода на код инфраструктурный. Частично этот вопрос обсуждался в статье нашего коллеги про безопасность контейнеризированных приложений в DevSecOps. В этой статье будут рассмотрены краткие теоретические сведения о подходе “Инфрастуркутра как кодˮ, место безопасности IaC в цикле DevSecOps, методы статического анализа конфигурационных файлов и ключевые особенности работы с инструментом KICS.

habr.com/ru/companies/swordfis

ХабрIaC и DevSecOps: выбираем лучшие инструменты анализа и защиты инфраструктурного кодаПривет, читатели Habr! С вами Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. Сегодня мы вновь будем говорить об особенностях  статического...
#iac#devsecops#kics

Игровое поле экспериментов: какие ошибки могут подстерегать программиста при создании эмулятора

Создание эмулятора для игр Xbox 360 на ПК — задача не из простых, и на каждом шагу можно столкнуться с коварными багами. Сегодня рассмотрим типичные проблемы, которые можно обнаружить при разработке, на примере проекта Xenia.

habr.com/ru/companies/pvs-stud

++

ХабрИгровое поле экспериментов: какие ошибки могут подстерегать программиста при создании эмулятораСоздание эмулятора для игр Xbox 360 на ПК — задача не из простых, и на каждом шагу можно столкнуться с коварными багами. Сегодня рассмотрим типичные проблемы, которые можно обнаружить при разработке,...

[Перевод] CISQ. Исследование анализа качества ПО 2020 — часть 1

Консорциум по качеству информации и программного обеспечения (CISQ) запустил опрос «Состояние отрасли» - первое комплексное исследование анализа качества программного обеспечения. В этой статье перевод части результатов опроса - раздела "Инженерия". Во второй части будет перевод оставшихся двух разделов - "Системные интеграторы", "Управление поставщиками".

habr.com/ru/articles/853810/

ХабрCISQ. Исследование анализа качества ПО 2020 — часть 1В этой статье перевод части результатов опроса - раздела "Инженерия". Во второй части будет перевод оставшихся двух разделов - "Системные интеграторы", "Управление поставщиками". --------------------...

Поймай уязвимость своими руками: пользовательские аннотации C# кода

Думаю, для многих не секрет, что уязвимости в проекте могут оказать на него крайне негативное влияние. Существует ряд способов по борьбе с уязвимостями, начиная с ручного поиска и заканчивая использованием специализированных инструментов. Об одном из таких инструментов пойдёт речь в статье.

habr.com/ru/companies/pvs-stud

#

ХабрПоймай уязвимость своими руками: пользовательские аннотации C# кодаДумаю, для многих не секрет, что уязвимости в проекте могут оказать на него крайне негативное влияние. Существует ряд способов по борьбе с уязвимостями, начиная с ручного поиска и заканчивая...

Пользовательские аннотации кода для PVS-Studio

Как часто ваш статический анализатор не справляется с пониманием нюансов исходного кода? Наверняка это происходит чаще, чем хотелось бы. В этой статье мы расскажем о том, как мы с этим боролись, а именно о нашем новом механизме пользовательских аннотаций.

habr.com/ru/companies/pvs-stud

ХабрПользовательские аннотации кода для PVS-StudioКак часто ваш статический анализатор не справляется с пониманием нюансов исходного кода? Наверняка это происходит чаще, чем хотелось бы. В этой статье мы расскажем о том, как мы с этим боролись, а...

Какие ваши доказательства? Объясняем разработчику отчёты SCA на пальцах. Часть 2

Привет, Habr! С вами вновь Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. Сегодня мы продолжим наш нелегкий путь в получении Evidence для SBOM. В первой части статьи мы разобрались, что же такое Evidence с точки зрения SBOM. Описали, что представляет собой граф свойств кода, на базе которого происходят все операции нарезки, и рассмотрели срезы использования. Сегодня мы поговорим про срезы достижимости и срезы потоков данных. И, самое главное, разберем, как всё это превращается в расширенный SBOM с вхождениями. Приятного чтения!

habr.com/ru/companies/swordfis

ХабрКакие ваши доказательства? Объясняем разработчику отчёты SCA на пальцах. Часть 2Привет, Habr! С вами вновь Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. Сегодня мы продолжим наш нелегкий путь в получении Evidence для...

Стилистический Анализатор: Синхронизация порядка объявлений и определений функций

У нас в организации есть обязательное правило оформления исходников, которое звучит так: Порядок объявления С-функций должен совпадать с порядком определения С-функций. В этом тексте представлен алгоритм работы консольной программы, которая автоматически выявляет нарушения этого странного правила.

habr.com/ru/articles/844436/

ХабрСтилистический Анализатор: Синхронизация порядка объявлений и определений функцийПролог У нас в организации есть правило оформления исходников, которое звучит так: Порядок объявления функций должен совпадать с порядком определения функций. В чем проблема? Понятное дело, что это...
#ctags#awk#gawk

Секреты успешного SCA: использование режима evinse в cdxgen. Часть I

Привет, читатели Habr! С вами Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. Сегодня мы расскажем про еще один инструмент, встречающийся в построении процессов Software Composition Analysis (SCA) — сdxgen . Он, как и популярный сканер Trivy, разбирает файлы манифестов, бинарные и другие файлы для извлечения информации о внешних компонентах, используемых в проекте. Кстати, о Trivy мы писали в одной из наших предыдущих статей, заходите почитать . Главным объектом нашего анализа стал новый и очень интересный режим работы cdxgen под названием evinse, представленный авторами в 2023 году. Evinse по исходному коду предоставляет расширенную информацию об evidence — свидетельства присутствия компонента в исходном коде. На момент написания статьи cdxgen является единственной Open Source-утилитой, которая обладает подобной функциональностью. Мы опишем математику, используемую "под капотом", и объясним, почему решили интегрировать результаты работы режима в наших продуктах. Статья получилась достаточно объемной, поэтому мы решили разделить её на две части. В первой мы рассмотрим, что представляет собой объект Evidence с точки зрения SBOM. Опишем базовые математические понятия, которые необходимы для понимания работы утилиты evinse в части построения расширенного SBOM. Здесь же рассмотрим первый вид нарезки использования. Во второй части статьи мы поговорим про остальные виды нарезок — срезы потоков данных и достижимости. Разберем, наконец-то, как из них получается SBOM. Итак, погнали!

habr.com/ru/companies/swordfis

ХабрСекреты успешного SCA: использование режима evinse в cdxgen. Часть IПривет, читатели Habr! С вами Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. Сегодня мы расскажем про еще один инструмент, встречающийся в...
#cdxgen#evinse#SCA

Берём под контроль TODO-шки в коде php

Проблема со сложностью управления TODO/FIXME комментариями в коде очень стара. Ей больше 50 лет. Дошло до того, что в некоторых проектах начали запрещать их со словами: “или исправь сразу или не создавай мусор”. Вот о том как можно автоматизировать управление ими и превратить из мусора в полезный инструмент мы и поговорим.

habr.com/ru/articles/832994/

ХабрБерём под контроль TODO-шки в коде phpПроблема со сложностью управления TODO/FIXME комментариями в коде очень стара. Ей больше 50 лет. Дошло до того, что в некоторых проектах начали запрещать их со словами: “или исправь сразу или не...

Сколько UB в моём компиляторе?

У C и C++ программистов две головные боли в плане ошибок: утечки памяти и неопределённое поведение. И как вы догадались из названия, речь пойдёт о неопределённом поведении. И каком-то "моём" компиляторе. Если точнее, то о наборе компиляторов и инструментах для их разработки, а именно LLVM. Почему "моём"? Потому что мы очень любим Clang, входящий в состав LLVM, и пользуемся им на постоянной основе.

habr.com/ru/companies/pvs-stud

++

ХабрСколько UB в моём компиляторе?У C и C++ программистов две головные боли в плане ошибок: утечки памяти и неопределённое поведение. И как вы догадались из названия, речь пойдёт о неопределённом поведении. И каком-то "моём"...

Какие ошибки есть в коде LLVM?

LLVM — open-source проект с огромной кодовой базой. Лучший из лучших, если говорить о качестве кода, учитывая его размеры и открытость. Ведь кому, как не разработчикам инструментов для компиляторов, лучше знать о возможностях языка и правильном их использовании. Их код всегда на высоте, а найти ошибки в нём всегда вызов для нашего анализатора, который мы принимаем.

habr.com/ru/companies/pvs-stud

++

ХабрКакие ошибки есть в коде LLVM?LLVM — open-source проект с огромной кодовой базой. Лучший из лучших, если говорить о качестве кода, учитывая его размеры и открытость. Ведь кому, как не разработчикам инструментов для компиляторов,...