问题标签 [brakeman]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3373 浏览

ruby-on-rails - Rails Brakeman 警告:动态渲染路径误报?

我刚刚开始使用 Rails,所以我正在使用Brakeman来了解我的新手代码中的潜在漏洞。show.js.erb它对我的文件中的以下代码发出高度可信的“动态渲染路径”警告:

我实际上预计这是一个问题,所以这并不奇怪。所以我将其更改为以下内容:

尽管我相信代码现在是安全的,但 Brakeman 仍然对此不满意。有没有更惯用的方法来控制基于用户输入的部分渲染?

0 投票
1 回答
1978 浏览

ruby-on-rails - 如何保护 link_to @variable 跨站脚本漏洞

我刚刚开始使用刹车器 gem 来探索我的 rails 应用程序是否存在安全漏洞。

除了几个跨站点脚本警告之外,我已经设法让一切都变得整洁。

这些都有以下共同点:

  • 它们都是 link_to 标签
  • 它们在类、alt 或 title 属性中都有实例变量
  • 实例变量都代表一个包含关联模型的活动记录查询
  • 实例变量都是“可评论的”。这描述了用户生成评论的多态关联,类似于此 Railscast的修订版本。

例如

在哪里

这是我需要关注/采取行动的事情吗?我认为 Rails 3.2 默认会避开这些。

我欢迎提供建议,以帮助我更好地理解这个问题,并确定我应该采取哪些步骤(如果有的话)。

0 投票
1 回答
1218 浏览

ruby-on-rails-3 - 安全重定向到 Rails 中的嵌套资源

我最近将 Brakeman gem 添加到我的 Gemfile 中,并且必须看到,我应该使用

使其更安全。但我正在使用嵌套资源并且不知道具体如何,这是我的控制器中的部分。

我该怎么做,我只看到了 url_for 助手的 only_path 属性。感谢您的帮助!

0 投票
2 回答
2747 浏览

ruby-on-rails - rails 制动器命令 sql 注入

从参数构造订单方法时,如何避免 Rails 中的刹车警告?

我正在努力避免将用户生成的代码直接放入查询中,但制动器仍然警告(中等可信度)这是一个 SQL 注入漏洞。

这是误报吗?如果没有,我该如何纠正这个漏洞?

如果是这样,有没有一种简单的方法可以避免误报?

0 投票
1 回答
823 浏览

ruby-on-rails - 使用 Arel 语法时 Rails Brakeman SQL 注入警告

在我的 Rails 3.2 应用程序中,Brakeman 1.8.3 为模型中的以下代码引发了高置信度 SQL 注入警告:

微博.rb

但是,当我将代码更改为不使用 Arel 语法时,不会引发警告:

这是误报,还是与 Arel 语法或to_sql方法有关……?我不明白在两个示例中执行的实际代码之间有什么区别,这两个示例需要警告。

0 投票
3 回答
2473 浏览

ruby-on-rails - Brakeman:文件名警告中使用的模型属性

我正在设置像“abc_1.pdf”这样的文件名,其中“1”是模型属性的值。但是闸门扫描仪将此视为安全问题。我需要通过引用具有模型属性的文件名来跟踪文件。你能告诉我,解决这个安全问题的正确方法是什么?

谢谢。

0 投票
2 回答
3263 浏览

ruby-on-rails - Ruby on Rails 3.2.13 - Brakeman - 会话秘密不应包含在版本控制中

我已经安装了最新版本的 Brakeman gem 来帮助我提高 Rails 应用程序的安全性。

我在两台服务器上有几个 Rails 应用程序,一个用于开发,另一个用于生产。当我对我的应用程序运行 Brakeman 报告时,它们中的大多数都将 config/initializers/secret_token.rb 标记为具有以下高安全漏洞。

这是我几个月前运行旧版本的 Brakeman 以来第一次看到这个错误。

根据我目前的研究,Rails 在执行rails new appname时会自动生成秘密令牌。直到现在我才意识到这一点。显然 Rails 不保护这个文件,如果我决定将我的任何应用程序移动到 Github,那么在 Github 访问该应用程序的任何人都可以使用该信息。目前我没有上传到 GitHub,但我想了解如何从 config/initializers/secret_token.rb 移动 secure_token 以关闭我的应用程序中的安全漏洞。

我读过的一篇博客文章建议我将秘密令牌注入 ENV 变量。将语句从 config/initializers/secret_token.rb 移动到 config/environment.rb 会解决问题吗?如果是这样,我会将此任务添加到我在 Rails 开发中的任务列表中。

任何帮助,将不胜感激。

0 投票
1 回答
37 浏览

ruby-on-rails-3 - 如何以安全的方式使用多态关联

我有以下代码rmodal创建了一个对象()。

也就是说,类与其他一些类(cmodal, umodal, ccmodal, pmodal, emodal)具有多态关联

的创建rmodal有一个带有隐藏字段的表单,其中包括其类型(cmodalumodal等)和 ID(r_id

以下代码是否足够安全?刹车人目前指出,这条线可能会导致远程代码执行

我猜,因为我正在检查这r_type是可以接受的选择之一,所以它很好。

这是正确的方法吗?它是否足够安全?

0 投票
1 回答
858 浏览

ruby-on-rails - 执行来自 Jenkins 的 rcov 报告、rails stats 报告和制动器警告时出错

我正在使用 Jenkins 进行部署过程,它工作正常。当我尝试获取 rcov 报告 rails stats 报告和刹车警告时。

[ubuntu@xx.xxx.xxx.xx] 执行命令

** [out :: ubuntu@xx.xxx.xxx.xx] 启动独角兽..

命令在 2228 毫秒内完成

发布构建任务:成功

后期构建任务结束:0

错误:发布者 hudson.plugins.brakeman.BrakemanPublisher 由于异常 java.io.FileNotFoundException 中止:/home/kannan/.jenkins/workspace/Publisher Dev/brakeman-output.tabs(没有这样的文件或目录)

正在发布 Rails 统计报告...

构建失败,跳过 rcov 覆盖率报告

构建步骤“发布 Rcov 报告”将构建标记为失败

完成:失败

我应该做些什么

0 投票
1 回答
657 浏览

ruby-on-rails - 这里可以进行 SQL 注入吗?

我在 Rails 应用程序上运行了一个静态代码分析工具(brakeman),它报告了一些我怀疑可能是误报的 SQL 注入漏洞。违规行如下所示:

我想不出一种方法来利用它,但它似乎相当开放,这是否足够安全(这个控制器无论如何都需要管理员访问权限)还是可以被利用?

Ruby 是 2.0.0-p247,Rails 是 4.0.0