Я пытаюсь настроить Brakeman для моих проектов Rails, и я хочу, чтобы он игнорировал определенные каталоги и файлы. Я не могу найти способ указать пути для исключения. Кто-нибудь знает возможно ли это?Как заставить Brakeman игнорировать определенные пути
ответ
Вы можете использовать опцию --skip-files
, чтобы игнорировать определенные файлы, но в настоящее время нет поддержки для пропуска всех каталогов. Существует также обратный вариант --only-files
, который делает принимает каталоги. Кроме того, есть опция --skip-libs
, чтобы пропустить только каталог lib
. (Вы должны проверить выход brakeman --help
больше вариантов.)
Однако, если вы действительно хотите, чтобы пропустить весь каталог, вы могли бы сделать что-то вроде
ls app/some/dir/ | paste -s -d , - | xargs brakeman --skip-files
Если вы используете кондуктор в качестве библиотеки, то вы можете передать файлы в :skip_files
:
Brakeman.run(:app_path => "my_app", :skip_files => Dir["my_app/bad/path/*"])
После того, как вы больше разбираетесь в исходном коде, я обнаружил, что Brakeman :: Scanner генерирует объект AppTree, который принимает аргумент skip_files.
Источник здесь: https://github.com/presidentbeef/brakeman/blob/master/lib/brakeman/app_tree.rb#L12
Если посмотреть дальше в этом файле, вы можете увидеть, что каталоги кондуктор смотрит, когда он сканирует. Оказывается, некоторые из моих исключений уже исключены из соображений Бракемана!