🕵️ Scanmycode-Ce: Сканирование кода/SAST/Статический анализ/Linting с использованием многих инструментов/сканеров |

🕵️ Scanmycode-Ce: Сканирование кода/SAST/Статический анализ/Linting с использованием многих инструментов/сканеров

Мануал

Scanmycode-Ce – это решение для сканирования кода/SAST/статического анализа/Linting, использующее множество инструментов/сканеров с одним отчетом.

Вы также можете добавить к нему любой инструмент.

В настоящее время он поддерживает множество языков и технических стеков.

Похож на SonarQube, но все же отличается от него.

Чтобы установить его, установите docker и docker-compose, а затем:

Самый быстрый (использовать собранные образы DockerHub).

Если не уверены, используйте этот вариант.

git clone https://github.com/marcinguy/scanmycode-ce.git
cd scanmycode-ce/dockerhub
./start.sh

Перейдите в браузере на:

http://localhost:5000

Зарегистрируйтесь на месте (и войдите в систему при необходимости)

Скрипт содержит 36 шагов по установке.

Под капотом

Progpilot, PMD, Bandit, Brakeman, Gosec, confused, semgrep, trufflehog3, jshint, log4shell через пользовательское правило semgrep и другие(ие). Некоторые были изменены.

В Community Edition нет поддержки GitHub и других плагинов.

Но в остальном все то же самое.

Чем Scanmycode отличается от SonarQube?

Оба используют статический анализ для поиска ошибок и дефектов, но есть несколько отличий.

  • Scanmycode может быть расширен любым инструментом, производящим вывод JSON (любой бинарный файл, на любой технологии/языке/продукте). Это самое большое отличие.
  • Scanmycode является Open Source, SonarQube также предлагает версию с открытым исходным кодом, но ей не хватает возможностей (например, 12 из поддерживаемых языков не доступны в open-source предложении, а более мощные функции потока данных доступны только в платных версиях).
  • Scanmycode поддерживает сканирование только измененных файлов (дифференциальный анализ), SonarQube – нет.
  • Scanmycode также использует semgrep в качестве одного из инструментов (без правил сообщества semgrep, только пользовательские правила Scanmycode)

Ниже приведены преимущества semgrep (также преимущества Scanmycode перед SonarQube):

“Расширение Semgrep с помощью пользовательских правил очень просто, поскольку правила Semgrep выглядят как исходный код, который вы пишете. Написание пользовательских правил в SonarQube ограничено несколькими языками и требует знакомства с Java и абстрактными синтаксическими деревьями (AST)”.

“Semgrep фокусируется на скорости и простоте использования, делая возможным анализ со скоростью до 20K-100K loc/sec на правило. Авторы SonarQube сообщают о примерно 0,4K loc/sec для наборов правил в продакшене.”

Источник: сайт semgrep

Scanmycode основан на QuantifedCode.

QuantifiedCode – это платформа для анализа и автоматизации кода.

Она помогает вам отслеживать проблемы и метрики в ваших программных проектах и может быть легко расширена для поддержки новых типов анализа.

Приложение состоит из нескольких частей:

  • Фронтенд, реализованный в виде приложения React.js
  • Бэкенд, реализованный в виде приложения на Flask, которое предоставляет REST API, потребляемый фронтендом
  • Фоновый рабочий, реализованный с помощью Celery, который выполняет анализ кода

В настоящее время поддерживает: PHP, Java, Scala, Python, Ruby, Javascript, GO, сканирование секретов, путаницу зависимостей, троянские источники, проверки с открытым исходным кодом и проприетарные проверки (всего около 1000 проверок).

Преимущества:

  • Много инструментов, один отчет (унификация)
  • Совместная работа над результатами. Возможность отметить ложноположительные результаты
  •  Можно Включить/выключить каждую отдельную проверку в Checkers
  •  Сейчас 1000 проверок (линтеры, статический анализ кода/сканирование кода)
  • может быть добавлен любой инструмент, выводящий JSON
  • быстрый (проверяет только новый код при повторной проверке)
  • Поддержка Git (HTTPS/TLS и SSH). Для частных репозиториев только SSH.
    все REST API вызываемые (CI/CD интегрируемые)
  • Швейцарский армейский нож/SIEM для сканирования кода
  • 100% прозрачность кода и полный контроль
СКАЧАТЬ
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий