Посты
Не думал, что буду писать подобные посты, но недавняя встреча с заказчиком дала мне понят…
28 сентября 2025 г. в 16:04•Max Knyazev is typing…Зеркало Telegram

Не думал, что буду писать подобные посты, но недавняя встреча с заказчиком дала мне понять, что многие даже в рамках IT не различают классы средств защиты, которые используются в процессе безопасной разработки ПО и DevSecOps-философии. Поэтому я решил сделать цикл постов, в которых постараюсь доступным языком объяснить, что такое SAST/DAST/IAST/SCA и многие другие классы решений. Посты будут выходить не подряд, чтобы опытным ребятам не надоело читать про то, что они и так знают. Пожалуй, начнём ❤️
Что такое SAST?
Когда разработчик пишет код, он обычно думает о том, чтобы программа просто выполняла задачу. А о том, чтобы код был безопасным, он, как правило, не задумывается. И тут на сцену выходит SAST — Static Application Security Testing, или по-русски «статический анализ безопасности кода» (и AppSec-инженер, который потом будет триажить всё то, что сканер в коде найдёт)
Дабы не придумывать определение самому, воспользуюсь цитатой:
Для чего используется 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Что такое 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