ТОП бесплатных инструментов для статического анализа кода

Дата: 11.02.2021. Автор: Игорь Б. Категории: Статьи по информационной безопасности
ТОП бесплатных инструментов для статического анализа кода

В этой статье будет приведен список популярных инструментов для статического анализа кода. Читатели познакомятся с их отличительными свойствами и полезными функциями.

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

Brakeman

  • Предмет анализа: Ruby.
  • Необходимые компоненты: Ruby и Gem. Установка компонентов с помощью команды «gem install Brakeman».
  • Как использовать инструмент: команда «brakeman application_path».
  • Комментарий: это лучшая программа для статического анализа кода Ruby. Она ориентирована на анализ так называемых «on rails» приложений.

NodeJsScan

  • Предмет анализа: NodeJs.
  • Необходимые компоненты: для работы инструмента нужен только Python.
  • Как использовать инструмент: команда «python NodeJsScan.py -d <dir>».
  • Комментарий: этот сканер определяет множество ложных срабатываний. Он получает периодические обновления от разработчиков.

RIPS                                            

  • Предмет анализа: PHP.
  • Необходимые компоненты: для работы инструмента нужен только PHP.
  • Как использовать инструмент: RIPS – это веб-приложение, написанное на PHP. Пользователю нужно установить Apache HTTP и запустить программу.
  • Комментарий: это прекрасный сканер. Он способен обнаружить множество возможных проблем. К сожалению, его новая версия не является бесплатной, поэтому при желании использовать данную программу человеку придется приобрести ее платную версию.

Findbugs

  • Предмет анализа: Java.
  • Необходимые компоненты: для работы инструмента нужен Java SE.
  • Как использовать инструмент: необходимо открыть приложение jar и выбрать папку для анализа исходного кода.
  • Комментарий: Findbugs – это сканер общего назначения. Он способен обнаружить разные ошибки и недочеты в коде. В частности, программа имеет встроенный модуль безопасности, который может найти проблемы, связанные с уязвимостью, такие как возможность атак XSS и SQLi.

Microsoft FxCop

  • Предмет анализа: .Net.
  • Необходимые компоненты: для работы инструмента нужен .Net.
  • Как использовать инструмент: человек открывает приложение и выбирает файлы exe или dll.
  • Комментарий: это хороший сканер, он способен обнаружить большинство уязвимостей. Программа будет анализировать скомпилированные файлы. Если у пользователя уже есть код, ему нужно будет его скомпилировать.

JsHint

  • Предмет анализа: JavaScript.
  • Необходимые компоненты: для работы инструмента нужен .NodeJs. Чтобы установить его, пользователь вводит команду «npm install -g jshint».
  • Как использовать инструмент: команда «jshint application_path».
  • Комментарий: сканер обнаруживает множество ошибок. Он способен найти «плохой код», который часто отвечает за неисправную работу или ложные срабатывания (LOL).

CodeCrawler

  • Предмет анализа: C#.
  • Необходимые компоненты: для работы инструмента нужен .Net.
  • Как использовать инструмент: пользователь открывает папку приложения с исходным кодом.
  • Комментарий: сканер обнаруживает множество ложных срабатываний.

YASCA

  • Предмет анализа: Net, Java, C/C++, HTML, JavaScript, ASP, ColdFusion, PHP, COBOL.
  • Необходимые компоненты: для работы инструмента нужен msi.
  • Как использовать инструмент: команда «yasca.exe application_path».
  • Комментарий: это многоязычный сканер. Он обнаруживает большое количество ложных срабатываний, а также способен найти неточности в коде.

Visual Code Grepper

  • Предмет анализа: C++, C#, VB, PHP, Java и PL/SQL.
  • Необходимые компоненты: для работы инструмента нужен msi.
  • Как использовать инструмент: пользователь открывает приложение и выбирает исходный код.
  • Комментарий: это многоязычный сканер. Он способен обнаружить много ложных срабатываний, но меньше, чем тот же YASCA.

Graudit (Only Linux)

  • Предмет анализа: ASP, JSP, Perl, PHP, Python.
  • Необходимые компоненты: ничего не нужно – пользователь скачивает приложение и начинает сканирование.
  • Как использовать инструмент: команда «graudit application_path».
  • Комментарий: этот сканер использует базу данных, основанную на регулярных выражениях. Его самое большое преимущество заключается в том, что приложение можно легко настроить для поиска пользовательских проблем. Используя имеющуюся базу данных по умолчанию, пользователь обнаруживает много ложных срабатываний, хотя некоторые реальные проблемы не всегда могут быть выявлены.

Code Warrior (Only Linux)

  • Предмет анализа: C, C#, PHP, Java, Ruby, ASP, JavaScript.
  • Необходимые компоненты: пользователь скачивает программу и скомпилирует код.
  • Как использовать инструмент: человек открывает приложение и выбирает исходный код.
  • Комментарий: Как и RIPS, этот сканер является веб-приложением. Однако пользователю не нужен Apache, достаточно запустить сам сканер, и браузер автоматически откроется. Затем человек выбирает исходный код. Программа способна обнаружить много проблем и ложных срабатываний.

Автор переведенной статьи: Maxpower.

Игорь Б

Об авторе Игорь Б

Автор на портале cisoclub.ru. Добавляйте ваш материал на сайт в разделе "Разместить публикацию".
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *