Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
brakeman — Статический анализатор безопасности уязвимостей для приложений Ruby on Rails | Kitploit
Инструменты/GitHubGitHub/presidentbeef/brakeman
Статический анализСканеры уязвимостейАнализ КодаВеб-безопасностьDevSecOps
GitHubpresidentbeef/brakeman

brakeman

Статический анализатор безопасности уязвимостей для приложений Ruby on Rails

Репозиторий
7.3k773727 дней назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Сайт
Поделиться

Brakeman Logo

Build Status Code Coverage

Brakeman

Brakeman — это инструмент статического анализа, который проверяет приложения Ruby on Rails на наличие уязвимостей безопасности.

Установка

Через RubyGems:

root@kitploit:~
gem install brakeman

Через Bundler:

root@kitploit:~
group :development do
  gem 'brakeman', require: false
end

Через Docker:

root@kitploit:~
docker pull presidentbeef/brakeman

Через Docker со сборкой из исходников:

root@kitploit:~
git clone https://github.com/presidentbeef/brakeman.git
cd brakeman
docker build . -t brakeman

Использование

Локальный запуск

Из корневой директории Rails-приложения:

root@kitploit:~
brakeman

Вне корня Rails:

root@kitploit:~
brakeman /path/to/rails/application

Запуск через Docker

Из корневой директории Rails-приложения:

root@kitploit:~
docker run -v "$(pwd)":/code presidentbeef/brakeman

С более приятной раскраской:

root@kitploit:~
docker run -v "$(pwd)":/code presidentbeef/brakeman --color

Для отчёта в HTML:

root@kitploit:~
docker run -v "$(pwd)":/code presidentbeef/brakeman -o brakeman_results.html

Вне корня Rails (обратите внимание, что выходной файл указывается относительно path/to/rails/application):

root@kitploit:~
docker run -v 'path/to/rails/application':/code presidentbeef/brakeman -o brakeman_results.html

Совместимость

Brakeman должен работать с любой версией Rails от 2.3.x до 8.x.

Brakeman может анализировать код, написанный с использованием синтаксиса Ruby 2.0 и новее, но для запуска требуется как минимум Ruby 3.2.0.

Основные параметры

Полный список опций можно получить командой brakeman --help или посмотреть в файле OPTIONS.md.

Чтобы указать выходной файл для результатов:

root@kitploit:~
brakeman -o output_file

Формат вывода определяется расширением файла или опцией -f. Текущие варианты: text, html, tabs, json, junit, markdown, csv, codeclimate, github, sarif и sonar.

Можно указать несколько выходных файлов:

root@kitploit:~
brakeman -o output.html -o output.json

Чтобы выводить одновременно и в файл, и на консоль, с цветом:

root@kitploit:~
brakeman --color -o /dev/stdout -o output.json

Чтобы подавить информационные предупреждения и выводить только отчёт:

root@kitploit:~
brakeman -q

Обратите внимание: весь вывод Brakeman, кроме отчётов, направляется в stderr, что позволяет легко перенаправить stdout в файл и получить только отчёт.

Чтобы увидеть всю отладочную информацию:

root@kitploit:~
brakeman -d

При желании можно пропустить отдельные проверки. Имя должно быть в правильном регистре. Например, чтобы пропустить поиск маршрутов по умолчанию (DefaultRoutes):

root@kitploit:~
brakeman -x DefaultRoutes

Несколько проверок разделяются запятыми:

root@kitploit:~
brakeman -x DefaultRoutes,Redirect

Чтобы сделать наоборот и запустить только определённый набор тестов:

root@kitploit:~
brakeman -t SQL,ValidationRegex

Если Brakeman работает медленно, попробуйте

root@kitploit:~
brakeman --faster

Это отключит некоторые функции, но, вероятно, будет работать намного быстрее (в настоящее время это эквивалентно --skip-libs --no-branching). ПРЕДУПРЕЖДЕНИЕ: это может привести к тому, что Brakeman пропустит некоторые уязвимости.

По умолчанию Brakeman возвращает ненулевой код завершения, если обнаружены какие-либо предупреждения безопасности или возникли ошибки сканирования. Чтобы отключить это:

root@kitploit:~
brakeman --no-exit-on-warn --no-exit-on-error

Чтобы пропустить определённые файлы или каталоги, которые Brakeman может некорректно обработать, используйте:

root@kitploit:~
brakeman --skip-files file1,/path1/,path2/

Чтобы сравнить результаты сканирования с предыдущим сканированием, используйте опцию вывода JSON, а затем:

root@kitploit:~
brakeman --compare old_report.json

Это выведет JSON с двумя списками: один — исправленные предупреждения, другой — новые предупреждения.

Brakeman будет игнорировать предупреждения, если это настроено. По умолчанию он ищет файл конфигурации в config/brakeman.ignore. Чтобы создать и управлять этим файлом, используйте:

root@kitploit:~
brakeman -I

Если вы хотите временно увидеть игнорируемые предупреждения, не влияя на код завершения, используйте:

root@kitploit:~
brakeman --show-ignored

Информация о предупреждениях

См. warning_types для получения дополнительной информации о предупреждениях, сообщаемых этим инструментом.

Контекст предупреждений

Формат вывода HTML предоставляет фрагмент исходного кода приложения, в котором было вызвано предупреждение. Из-за обработки, выполняемой при поиске уязвимостей, исходный код может не соответствовать сообщённому предупреждению, а номера строк могут немного отличаться. Тем не менее, контекст даёт быстрый взгляд на код, вызвавший предупреждение.

Уровни уверенности

Brakeman присваивает каждому предупреждению уровень уверенности. Это даёт приблизительную оценку того, насколько инструмент уверен, что данное предупреждение действительно является проблемой. Естественно, эти оценки не следует воспринимать как абсолютную истину.

Существует три уровня уверенности:

  • Высокий — либо это простое предупреждение (логическое значение), либо пользовательский ввод, скорее всего, используется небезопасным образом.
  • Средний — обычно указывает на небезопасное использование переменной, но переменная может быть как пользовательским вводом, так и нет.
  • Низкий — как правило, означает, что пользовательский ввод был косвенно использован потенциально небезопасным образом.

Чтобы получать только предупреждения выше заданного уровня уверенности:

root@kitploit:~
brakeman -w3

Переключатель -w принимает число от 1 до 3, где 1 — низкий (все предупреждения), а 3 — высокий (только предупреждения с наибольшей уверенностью).

Файлы конфигурации

Параметры Brakeman можно сохранять и читать из YAML-файлов.

Чтобы упростить процесс написания файла конфигурации, опция -C выводит текущие установленные параметры:

root@kitploit:~
$ brakeman -C --skip-files plugins/
---
:skip_files:
- plugins/

Параметры, переданные в командной строке, имеют приоритет над файлами конфигурации.

Расположение конфигурационных файлов по умолчанию: ./config/brakeman.yml, ~/.brakeman/config.yml и /etc/brakeman/config.yml

Опция -c может использоваться для указания используемого файла конфигурации.

Непрерывная интеграция

Доступен плагин для Jenkins/Hudson.

Для ещё более непрерывного тестирования попробуйте Guard-плагин.

Доступны несколько GitHub Actions.

Сборка

root@kitploit:~
git clone git://github.com/presidentbeef/brakeman.git
cd brakeman
gem build brakeman.gemspec
gem install brakeman*.gem

Кто использует Brakeman?

  • Code Climate
  • GitHub
  • Groupon
  • New Relic
  • Twitter

..и многие другие!

Сайт/Новости

Веб-сайт: http://brakemanscanner.org/

Twitter: https://twitter.com/brakeman

Чат: https://gitter.im/presidentbeef/brakeman

Лицензия

Brakeman предоставляется бесплатно для некоммерческого использования.

См. COPYING для получения подробной информации.

Скачать инструмент