Уязвимости обхода пути не найдены в коде Scala - PullRequest
0 голосов
/ 03 декабря 2018

Я пытался сканировать свой код с помощью плагинов SonarQube + FindBugs + FindSecBugs.

Идея состоит в том, чтобы обнаруживать уязвимости в коде, и, как говорится в теме проекта github, он работает со scalahttps://github.com/find-sec-bugs/find-sec-bugs

Я установил плагин, как сказано в документации, и попробовал несколько сканирований, но ничего, связанного с уязвимостями в scala, не происходит.

Итак, чтобы выяснить,код был действительно хорош или произошла неправильная конфигурация в моих настройках SonarQube, я перешел на http://find -sec-bugs.github.io / bugs.htm , я взял один из примеров (Обход потенциального пути), вставил пример кода, и я снова запустил сканер.Он не был найден.

Правило (Безопасность - Обход потенциального пути (чтение файла)) активируется в профиле качества, и, несмотря на то, что это профиль Java, он присваивается проекту, поскольку код вупомянутый пример - Scala.

Я заметил, что все правила, относящиеся к find-sec-bugs, являются java, поэтому мне интересно, не работают ли они на scala или есть что-то еще, что я могу сделатьчтобы заставить его работать.

Заранее спасибо, и дайте мне знать, если вам нужна дополнительная информация, я был бы рад предоставить вам.

1 Ответ

0 голосов
/ 06 декабря 2018

Похоже, что основной причиной этого является то, что шаблоны ошибок Scala явно исключены по ряду причин:

Их множество с архитектурой SonarQube относительно поддержки мультиязычности.Он тесно связан с плагином Sonar-Source.

  • Язык не может иметь одинаковое расширение (https://jira.sonarsource.com/browse/MMF-672)
  • Репозиторий не может содержать правило, которое применяется к нескольким языкам. (Если бы у вас был код только на Scala, основные правила Java не были бы включены, если у вас нет одного Java-файла)
  • Датчик связан с определением языка (зависит от самого популярного плагина, который его объявляет).
  • и т. Д. И т. П.

Источник: https://github.com/spotbugs/sonar-findbugs/issues/108#issuecomment-305909652

Все исключения можно увидеть здесь: https://github.com/spotbugs/sonar-findbugs/commit/526ca6b29fae2684f86b1deba074a4be8a05b67e

В частности, для Scala:

  static exclusions = ['CUSTOM_INJECTION',
                   'SCALA_SENSITIVE_DATA_EXPOSURE',
                   'SCALA_PLAY_SSRF',
                   'SCALA_XSS_TWIRL',
                   'SCALA_XSS_MVC_API',
                   'SCALA_PATH_TRAVERSAL_IN',
                   'SCALA_COMMAND_INJECTION',
                   "SCALA_SQL_INJECTION_SLICK",
                   "SCALA_SQL_INJECTION_ANORM",
                   "PREDICTABLE_RANDOM_SCALA"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...