
Сканер статического анализа командной строки, который обнаруживает критические уязвимости в исходном коде PHP и YAML с помощью пользовательских правил semgrep, с интеграцией с Jira и Slack для конвейеров CI/CD.
SCodeScanner расшифровывается как сканер исходного кода, позволяющий пользователю сканировать исходный код на предмет поиска критических уязвимостей. Основная цель этого сканера — выявлять уязвимости внутри исходного кода до того, как код будет опубликован в продакшене.
Веб-сайт для новых релизов, новых анонсов — https://scodescanner.info/
pip3 install -r requirements.txt python3 scscanner.py --help python3 scscanner.py php --helpSCodeScanner — это полностью открытый инструмент на Python с интерфейсом командной строки для выявления уязвимостей в коде. Он разработан для простоты использования и предоставляет ряд функций, которые отличают его от других инструментов, в том числе:
Меньше ложных срабатываний: SCodeScanner включает флаги, которые помогают исключить ложные срабатывания и сообщать только о подтверждённых уязвимостях.
Пользовательские правила semgrep: SCodeScanner работает с semgrep, но создаёт собственные правила, что помогает избежать ложных срабатываний и сократить время сканирования.
Инструмент на Python с командной строкой: SCodeScanner — это инструмент на Python с интерфейсом командной строки, простой в использовании для людей с любым техническим опытом. В то время как многие инструменты с открытым исходным кодом для выявления уязвимостей имеют графический интерфейс, интерфейс командной строки SCodeScanner упрощает запуск из терминала.
Быстрое сканирование: Правила SCodeScanner предназначены для одновременной проверки нескольких уязвимостей, что приводит к меньшему количеству файлов для обработки правилами и ускоряет процесс сканирования в целом.
Наглядность — SCodeScanner поддерживает интеграцию с JIRA и SLACK, что обеспечивает наглядность выявленных результатов путём отправки файла в группы Slack или создания задачи в Jira.
Возможность отслеживания переменных пользовательского ввода: SCodeScanner может выявлять случаи, когда переменные пользовательского ввода определены в одном файле, но небезопасно используются в другом файле.
Удобочитаемый вывод JSON: SCodeScanner предоставляет результаты в формате JSON, который легко читается и может использоваться для дальнейшего анализа.
SCodeScanner получил 5 CVE за выявление уязвимостей в нескольких плагинах CMS.
--folder: Флаг принимает папку, в которой находится фактический код. Это обязательный флаг.
--file: Если мы хотим отсканировать файл, требуется этот флаг.
--check: Этот флаг запустит удаление ложных срабатываний после выявления уязвимостей. По сути, он проверяет, является ли пользовательский ввод реальным или нет. Флаг также создаёт новый изменённый JSON-файл после удаления всех ложных срабатываний. Однако важно отметить, что инструмент сохранит как оригинальную, так и изменённую версии файлов.
--json: Отвечает за создание файлов JSON в качестве вывода.
-o: Этот флаг создаст текстовый файл с найденными результатами. Цель этого флага — создать удобочитаемый файл, который легко просматривать. Флаг необязательный.
--jira: Отвечает за отправку выходных файлов в экземпляр JIRA. (Необходимо добавить конфигурации внутрь файла config.json.) Флаг необязательный.
--slack: Отвечает за отправку выходных файлов в экземпляры SLACK. (Необходимо добавить конфигурации внутрь файла config.json.) Флаг необязательный.
Скоро появятся некоторые интересные функции.
Я буду рад услышать ваши отзывы об этом инструменте. Открывайте issues, если найдёте что-то. И открывайте PR, если у вас есть что-то.