【发布时间】:2013-10-04 19:05:31
【问题描述】:
我正在尝试为我的 Rails 项目配置 Brakeman,我希望它忽略某些目录和文件。我找不到指定要排除的路径的选项。有谁知道这是否可行?
【问题讨论】:
标签: ruby-on-rails ruby options brakeman
我正在尝试为我的 Rails 项目配置 Brakeman,我希望它忽略某些目录和文件。我找不到指定要排除的路径的选项。有谁知道这是否可行?
【问题讨论】:
标签: ruby-on-rails ruby options brakeman
现在支持跳过整个目录。见https://www.rubydoc.info/gems/brakeman/4.3.1
brakeman --skip-files file1,/path1/,path2/
【讨论】:
您可以使用--skip-files 选项忽略特定文件,但目前不支持跳过整个目录。还有一个相反的选项--only-files 确实接受目录。此外,还有--skip-libs 选项可以只跳过lib 目录。 (您应该查看brakeman --help 的输出以获取更多选项。)
但是,如果你真的想跳过整个目录,你可以这样做
ls app/some/dir/ | paste -s -d , - | xargs brakeman --skip-files
如果您使用 Brakeman 作为库,那么您可以传递 :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
如果您进一步查看该文件,您还可以看到 Brakeman 在扫描时查看的目录。事实证明,我的一些例外已经被 Brakeman 的聪明才智排除了!
【讨论】: