Pull to refresh
123
0
Сергей Васильев @SergVasiliev

Software developer

Send message

.NET: итерируемую в foreach коллекцию изменять нельзя. Или…

Level of difficultyMedium
Reading time4 min
Views9.6K

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

Читать далее

Уязвимость XXE в .NET 6 SDK: с чем боролись…

Level of difficultyMedium
Reading time10 min
Views6.6K


Современный .NET даёт разработчикам защиту от XXE из коробки: парсишь себе XML и не забиваешь голову всякими DTD, сущностями и связанной с ними безопасностью. Разве не прекрасно? Однако жизнь — штука с иронией...


Под катом — разбор по кусочкам XXE из .NET 6 SDK: код, причины дефекта безопасности, фикс.

Читать дальше →

Изучаем подозрительные места в коде AWS SDK для .NET

Level of difficultyEasy
Reading time13 min
Views2.5K

1057_AWS_SDK_NET_ru/image1.png


Сегодня под нашим скальпелем оказался проект AWS SDK для .NET. Мы посмотрим на подозрительные места из исходного кода, разберёмся, что в них происходит, и попробуем воспроизвести некоторые проблемы. Заваривайте кофе и устраивайтесь поудобнее.

Читать дальше →

Уязвимость XSS в приложении ASP.NET: разбираем CVE-2023-24322 в CMS mojoPortal

Reading time9 min
Views2.7K

1054_XSS_mojoPortal_ru/image1.png
В этой статье изучим с разных сторон уязвимость XSS в CMS, написанной на C#. Вспомним теорию, разберёмся, как дефект безопасности выглядит со стороны пользователя и кода, а также поупражняемся в составлении эксплойтов.

Читать дальше →

Снятся ли разработчикам безопасные приложения?

Level of difficultyEasy
Reading time2 min
Views1.2K

1047_DoDevelopersDreamOfSecurity_ru/image1.png


Волнует ли разработчиков безопасность кода? Для меня вопрос открыт. Эта статья — своего рода опрос: хочу собрать мнения как разработчиков, так и специалистов по безопасности.


Поможете?

Читать дальше →

Парсинг string в enum ценой в 50 Гб: разбираем уязвимость CVE-2020-36620

Level of difficultyMedium
Reading time6 min
Views4.6K

1038_CVE_EnumStringValues_ru/image1.png


В этой заметке разберём уязвимость CVE-2020-36620 и посмотрим, как NuGet-пакет для конвертации string в enum может сделать C# приложение уязвимым к DoS-атакам.

Читать дальше →

Изменения в PVS-Studio, о которых полезно знать

Reading time8 min
Views1.3K

1029_ChangesPer3Years_ru/image1.png


В этой статье расскажу о том, что появилось в PVS-Studio за последние три года, и чем это полезно пользователям анализатора. Статья модульная: можно не читать от начала до конца, а посмотреть только те части, которые интересны.

Читать дальше →

Под капотом SAST: как инструменты анализа кода ищут дефекты безопасности

Reading time12 min
Views4.4K

_SAST_Under_The_Hood_ru/image1.png
Сегодня речь о том, как SAST-решения ищут дефекты безопасности. Расскажу, как разные подходы к поиску потенциальных уязвимостей дополняют друг друга, зачем нужен каждый из них и как теория ложится на практику.


Статья написана на основе доклада "Под капотом SAST: как инструменты анализа кода ищут дефекты безопасности" с TechLead Conf 2022. Содержимое адаптировано для читаемости: что-то сокращено, что-то модифицировано.
Читать дальше →

PVS-Studio 7.22: Visual Studio Code, Qt Creator, .NET 7

Reading time3 min
Views1.9K

1016_Release_7_22_ru/image1.png


Вышел новый релиз PVS-Studio — 7.22. В него вошли плагины для Visual Studio Code и Qt Creator, поддержка анализа проектов на .NET 7, доработки механизма Best Warnings, новые диагностики и не только. Подробности описали в этой заметке.

Читать дальше →

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

Reading time13 min
Views5K

1015_NET7_Errors_ru/image1.png


.NET 7 зарелизился. Это хороший повод покопаться в исходниках, чтобы поискать ошибки и странные места. За комментариями по находкам обратимся к самим разработчикам .NET — кому знать код, как не им? Погнали!

Читать дальше →

PVS-Studio: 2 фишки для быстрого старта

Reading time3 min
Views687

1013_2Features_ru/image1.png


В этой заметке расскажу, как легко начать использовать PVS-Studio. Рассмотрим два сценария: когда вы пробуете анализатор впервые и когда внедряете его в проект.

Читать дальше →

PVS-Studio 7.21: GitLab Code Quality, Unreal Engine

Reading time4 min
Views1.4K

1000_Release_7_21_ru/image1.png


Вышел новый релиз PVS-Studio – 7.21. В этой заметке описали основные улучшения анализатора и собрали материалы от нашей команды, вышедшие в последнее время: статьи, опросы и записи докладов с конференций.

Читать дальше →

Сортировки в C#: OrderBy.OrderBy или OrderBy.ThenBy? Разбираемся, что эффективнее и почему

Reading time15 min
Views15K

Предположим, есть задача: нужно отсортировать коллекцию по нескольким ключам. В C# это можно сделать с помощью вызовов OrderBy().OrderBy() или OrderBy().ThenBy(). Но в чём разница между этими вызовами? Чтобы ответить на этот вопрос, придётся покопаться в исходниках.


0991_OrderBy_ThenBy_ru/image1.png


Статья состоит из трёх основных разделов:


  • Предыстория. Для тех, кто любит затравки. История о том, откуда вообще возникла идея провести исследование и изучить, в чём разница между OrderBy().OrderBy() и OrderBy().ThenBy().
  • Сравнение эффективности. Изучаем отличия типов сортировок с точки зрения производительности и потребления памяти.
  • Отличия в поведении. Погружаемся в исходники .NET и разбираемся, из-за чего возникают отличия в эффективности работы рассматриваемых способов сортировки.
Читать дальше →

PVS-Studio 7.20: Unreal Engine, SAST, SCA

Reading time3 min
Views1.5K

0980_Release_7_20_ru/image1.png


В этом пресс-релизе пробуем новый формат: основная информация кратко изложена в одном разделе. Если интересны детали, есть разделы с более подробным описанием. Выбирайте то, что вам ближе.

Читать дальше →

PVS-Studio 7.19: что новенького?

Reading time4 min
Views1.2K

0958_Release_7_19_ru/image1-d83377c0bb97c038f744bf28d7ca8a35.png


Недавно вышла новая версия PVS-Studio – 7.19. В этой заметке расскажем, что нового появилось в анализаторе, какие разделы документации мы улучшили; кроме того — что почитать, посмотреть и… во что поиграть.

Читать дальше →

Зачем нужен статический анализ? Разбираем на примере ошибки из Akka.NET

Reading time2 min
Views4.2K

0940_AkkaNET_Error_ru/image1.png


"Статический анализ нужно использовать регулярно, а не только перед релизами… Чем раньше найдена ошибка, тем дешевле её исправление..." – вы уже слышали это 100 раз. Сегодня ещё раз ответим на вопрос "зачем?". Поможет нам ошибка из проекта Akka.NET.

Читать дальше →

Место SAST в Secure SDLC: 3 причины внедрения в DevSecOps-пайплайн

Reading time7 min
Views2.3K

0937_SAST_In_SSDLC_ru/image1.png


Репутационные и денежные риски, связанные с уязвимостями, огромны. На фоне этого понятен повышенный интерес к безопасности и стремление выстроить цикл безопасной разработки (SSDLC). Сегодня мы поговорим об одном из подходов, используемых в SSDLC, – SAST.

Читать дальше →

PVS-Studio 7.18: обновления и улучшения

Reading time4 min
Views1.2K

0934_Release_7_18_ru/image1.png


Мы выпустили новый релиз PVS-Studio – 7.18. В этой заметке расскажем, как развиваем security-направление, зачем нужна новая система типов в C++ анализаторе, как улучшили анализ кода для embedded-систем и не только.

Читать дальше →

Подозрительные сортировки в Unity, ASP.NET Core и не только

Reading time5 min
Views5K

0928_OrderBy_Errors_ru/image1.png
Есть мнение, что опытные разработчики не допускают простых ошибок. Ошибки сравнения? Разыменования нулевых ссылок? Нет, это точно не про нас… ;) Кстати, а что насчёт ошибок сортировки? Как вы уже поняли из заголовка, с этим тоже есть нюансы.

Читать дальше →

Почему моё приложение при открытии SVG-файла отправляет сетевые запросы?

Reading time8 min
Views16K

0923_SVG_XXE_ru/image1.png


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

Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity

Specialization

Software Developer
C#
.NET
Editorial and proofreading
Public performance
Information Security
Software development
SAST / DAST