Статический анализ кода SAST | OTUS
Прямо сейчас идет открытый вебинар «Случайный лес - мощная техника ансамблирования в ML» . Присоединяйтесь!

Статический анализ кода SAST

Практическая трансформация DevOps в DevSecOps потребует применения ряда подходов. Один из них -- SAST.

SAST представляет собой статический анализ кода на наличие уязвимостей, однако это совсем не то же самое, что SonarQube. В случае с SAST проверка осуществляется не только по стилю или паттернам, так как тут анализ производится:

  • по DataFlow;
  • по дереву уязвимостей;
  • по конфигурационным файлам и т. д., то есть мы говорим обо всем, что непосредственно касается кода.

Плюсы очевидны:

1) уязвимости выявляются в коде на раннем этапе разработки, то есть тогда, когда еще нет ни стендов, ни готового инструмента; 2) появляется возможность инкрементального сканирования. Речь идет о сканировании конкретного участка кода, в который были внесены изменения, а также о сканировании только той фичи, которая сейчас в разработке, что в итоге приводит к снижению времени сканирования.

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

Необходимые интеграции

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

  1. Инструмент интеграции: TeamCity, Jenkins, Gitlab CI.
  2. Среда разработки: Visual Studio, Intellij IDEA. При этом разработчику удобнее не погружаться в малопонятный интерфейс, который еще нужно запомнить, а непосредственно на рабочем месте и в своей среде разработки наблюдать все нужные интеграции и уязвимости.
  3. Code review: ручное ревью, SonarQube.
  4. Трекеры отслеживания дефектов: Jira, Bugzilla.

ohn63uz18geydk7x_xho9yxuwtk_1-20219-ffc19d.jpeg

На картинке выше как раз таки и отображены некоторые лучшие представители статического анализа.

Однако важны не инструменты, а процесс, вследствие чего есть ряд Open Source-решений, которые тоже хороши при обкатке процесса:

wceankcprd61fgevndzc_hh3crq_1-20219-eeb1dd.jpeg

Разумеется, SAST Open Source-инструменты не обнаружат много уязвимостей либо сложные DataFlow, однако при построении процесса их не только можно, но и нужно использовать. Все дело в том, что они помогут вам понять, как именно будет выстроен процесс, кто конкретно будет отвечать на баги, а кто составлять отчеты. Таким образом, на начальном этапе построения безопасности кода Open Source-решения -- вполне себе вариант.

По материалам https://habr.com/ru/company/oleg-bunin/blog/448488/.

Хотите знать больше? Добро пожаловать на курс DevSecOps!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто