Перейти к содержанию

Посты

Не думал, что буду писать подобные посты, но недавняя встреча с заказчиком дала мне понят…

28 сентября 2025 г. в 16:04Max Knyazev is typing…Зеркало Telegram
Изображение поста 1
Не думал, что буду писать подобные посты, но недавняя встреча с заказчиком дала мне понять, что многие даже в рамках IT не различают классы средств защиты, которые используются в процессе безопасной разработки ПО и DevSecOps-философии. Поэтому я решил сделать цикл постов, в которых постараюсь доступным языком объяснить, что такое SAST/DAST/IAST/SCA и многие другие классы решений. Посты будут выходить не подряд, чтобы опытным ребятам не надоело читать про то, что они и так знают. Пожалуй, начнём ❤️

Что такое SAST?

Когда разработчик пишет код, он обычно думает о том, чтобы программа просто выполняла задачу. А о том, чтобы код был безопасным, он, как правило, не задумывается. И тут на сцену выходит SAST — Static Application Security Testing, или по-русски «статический анализ безопасности кода» (и AppSec-инженер, который потом будет триажить всё то, что сканер в коде найдёт)

Дабы не придумывать определение самому, воспользуюсь цитатой:

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

ⓒ Информация с официального сайта Solar


Для чего используется SAST?

Если совсем простым языком, то давайте представим, что у нас есть приложение, которое мы пишем. Это приложение мы разрабатываем с использованием какого-то стека технологий (языки программирования, базы данных и тп). У нас есть доступ к исходному коду этого приложения. SAST как раз анализирует код и ищет в нём уязвимости, после чего формирует отчёт, в котором мы можем посмотреть и понять, где и что в коде стоит исправить, чтобы злоумышленник не смог этим воспользоваться и взломать приложение 🧠

Как это вообще работает?

Представьте, что у вас есть толстая книга с кодом. SAST — это такой умный корректор, который внимательно её перечитывает, но делает это не глазами, а как машина: строит схемы, таблицы и связи

Сначала он превращает текст кода в дерево, где видно, какие функции есть, какие переменные используются, что куда передаётся. Это как схема метро: станции — это функции и куски кода, а линии — связи между ними. Дальше SAST начинает смотреть: «Вот здесь пользователь должен ввести какой-то текст. Куда он дальше идёт?» — и отслеживает весь маршрут этой строки по программе. Если в итоге она попала, например, в SQL-запрос без фильтрации — это красный флаг

У SAST есть база правил и шаблонов: «нельзя хранить пароли в коде», «нельзя открывать файл без проверки пути» и тд. Каждый найденный кусок кода он сравнивает с этими правилами. Не проходит через правило — отражает в отчёте. Если интересно почитать подробнее про устройство SAST, вам сюда

Как можно использовать SAST?

Можно развернуть сканер с веб-интерфейсом и прямо туда закинуть репозиторий проекта. Можно подключить сканер в пайплайн. То есть хочешь вручную добавлять проект — пожалуйста, хочешь автоматизировать процесс — без проблем 🥳

Основные инструменты для реализации SAST

Есть как опенсорсные решения (бесплатные и с открытым исходным кодом), так и коммерческие продукты. В опенсорсе можно отметить Semgrep, CodeQL, SonarQube. Есть и сканеры под конкретные языки, например Bandit для Python

Среди отечественных коммерческих решений можно выделить Solar appScreener, PT Application Inspector и PVS-Studio. Среди западных — Checkmarx, Fortify, Snyk Code. И отечественные, и зарубежные решения представляют собой комплексные инструменты, которые включают не только SAST, но и другие методы анализа (и цена у них за это соответствующая) 🪄

В своей практике я работал с разными инструментами статического анализа кода: это были и решения типа Semgrep, и тот же PT AI (по которому я проходил обучение и сдавал сертификационный экзамен)

P.S. Если этот пост был вам полезен или остались вопросы, напишите об этом в комментариях. Для меня важно понять, насколько вообще есть смысл рассказывать про такие вещи у себя на канале 🤓

#информационная_безопасность #sast
Открыть исходный пост в Telegram

Граф связей

Как эта работа связана с другими

Для этой работы пока не настроено явных связей. Можно открыть общий граф или таймлайн всех работ.

Наведите курсор на линию, чтобы увидеть пояснение связи между работами.

Колёсико мыши меняет масштаб, а сам граф можно перетаскивать как карту.

Пост
100%

Обсуждение

Комментарии

Комментарии доступны только подтверждённым email-подписчикам

Подключиться к обсуждению

Введите ту же почту, которую вы уже использовали для подписки на сайт

Пока нет ни одного комментария