我正在使用 Rails 安全扫描器Brakeman,但我想包含我自己的(自定义)安全检查。就像 CheckSQL、CheckCrossSiteScripting
例如:我想确保所有控制器在过滤器之前都有验证身份验证和授权检查。
问题
刹车手中是否有包含我们自己的自定义检查的选项?
如果是怎么办?
我正在使用 Rails 安全扫描器Brakeman,但我想包含我自己的(自定义)安全检查。就像 CheckSQL、CheckCrossSiteScripting
例如:我想确保所有控制器在过滤器之前都有验证身份验证和授权检查。
问题
刹车手中是否有包含我们自己的自定义检查的选项?
如果是怎么办?
EugZol 是正确的,没有关于编写自己的支票的文档。
我建议查看CheckSkipBeforeFilter以了解如何实施查看过滤器的检查。
主要的事情是:
Brakeman::BaseCheck
Brakeman::Checks.add self
run_check
方法--add-checks-path
将 Brakeman 指向您的检查目录Brakeman::WarningCodes::Codes
> 1000(可选)一个警告:
主分支上的代码与上一个版本有很大不同,这会影响检查(希望使它们更容易编写)。所以如果你写了一个新的检查,你可能希望对着master运行。还是等3.1吧。
似乎缺乏关于如何编写自定义规则的文档。不过,您可以使用现有的作为参考编写自己的规则:
https://github.com/presidentbeef/brakeman/tree/master/lib/brakeman/checks
例如,这个迭代项目中的每个控制器并检查它们是否存在某些漏洞:
您可以改写检查 before_filter 的方法。