問題タブ [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 の警告: Dynamic Render Path の誤警報?

私は Rails を使い始めたばかりなので、Brakemanを使用して初心者向けコードの潜在的な脆弱性について学習しています。show.js.erbファイル内の次のコードについて、信頼性の高い「動的レンダリング パス」警告が表示されます。

私は実際にこれが問題だと思っていたので、驚くことではありません。そこで、次のように変更しました。

私はコードが安全になったと信じていますが、Brakeman はまだこれに不満を持っています. ユーザー入力に基づいてパーシャルのレンダリングを制御するより慣用的な方法はありますか?

0 投票する
1 に答える
1978 参照

ruby-on-rails - link_to@variableクロスサイトスクリプティングの脆弱性を保護する方法

私は、ブレーキマンジェムを使用して、セキュリティの脆弱性についてRailsアプリを調査し始めました。

いくつかのクロスサイトスクリプティングの警告を除いて、すべてを整頓することができました。

これらはすべて、次の共通点を共有しています。

  • それらはすべてlink_toタグです
  • それらはすべて、クラス、alt、またはtitle属性にインスタンス変数を持っています
  • インスタンス変数はすべて、関連するモデルを含むアクティブなレコードクエリを表します
  • インスタンス変数はすべて「コメント可能」です。これは、このRailscastの改訂版と同様のアプローチで、ユーザーが生成したコメントの多形的な関連付けについて説明しています。

例えば

どこ

これは私が心配する必要がある/行動を起こす必要があるものですか?Rails3.2はデフォルトでこれらをエスケープしていると思いました。

この問題をよりよく理解し、もしあれば、どのような手順を踏むべきかを特定するのに役立つアドバイスを歓迎します。

0 投票する
1 に答える
1218 参照

ruby-on-rails-3 - Railsのネストされたリソースへの安全なリダイレクト

最近、Brakeman gemをGemfileに追加しましたが、使用する必要があることを確認する必要がありました。

それをより安全にするために。しかし、私はネストされたリソースを使用していて、正確な方法がわかりません。これが私のコントローラーからの部分です。

どうすればこれを行うことができますか?url_forヘルパーでonly_path属性のみが表示されました。ご協力いただきありがとうございます!

0 投票する
2 に答える
2747 参照

ruby-on-rails - Rails Brakeman 注文 SQL インジェクション

パラメータから注文メソッドを構築するときにRailsでブレーキマンの警告を回避するにはどうすればよいですか?

私は、ユーザーが生成したコードをクエリに直接挿入しないように懸命に取り組んでいますが、これは SQL インジェクションの脆弱性であるというアラート (確信度は中程度) が依然として発生しています。

これは偽陽性ですか?そうでない場合、脆弱性を修正するにはどうすればよいですか?

もしそうなら、誤検知を避ける簡単な方法はありますか?

0 投票する
1 に答える
823 参照

ruby-on-rails - Arel構文を使用する場合のRailsBrakemanSQLインジェクション警告

Rails 3.2アプリでは、Brakeman 1.8.3により、モデル内の次のコードに対して高信頼性SQLインジェクション警告が発生します。

micropost.rb

ただし、Arel構文を使用しないようにコードを変更しても、警告は発生しません。

これは誤検知ですか、それともArel構文またはto_sqlメソッドと関係がありますか...?警告を正当化する2つの例で実行される実際のコードの違いが何であるかわかりません。

0 投票する
1 に答える
37 参照

ruby-on-rails-3 - 安全な方法でポリモーフィック アソシエーションを使用する方法

オブジェクト(rmodal)を作成する次のコードがあります。

つまり、クラスには他のいくつかのクラス ( cmodalumodalccmodal、)とのポリモーフィックな関連付けがありますpmodalemodal

の作成には、タイプ ( 、など) と ID ( )rmodalを含む非表示フィールドを持つフォームがありますcmodalumodalr_id

次のコードは十分に保護されていますか? Brakeman は現在、この行によってリモート コードが実行される可能性があると指摘しています。

私はr_typeそれが許容できる選択肢の1つであることを確認しているので、それで問題ないと推測しています。

これはこれを行う正しい方法であり、十分に安全ですか?

0 投票する
1 に答える
858 参照

ruby-on-rails - rcov レポート、レール統計レポート、および Jenkins からのブレーキマン警告の実行中にエラーが発生しました

展開プロセスに Jenkins を使用していますが、正常に動作します。rcov レポートを取得しようとすると、レールの統計レポートとブレーキマンの警告が表示されます。

[ubuntu@xx.xxx.xxx.xx] 実行コマンド

** [out :: ubuntu@xx.xxx.xxx.xx] Unicorn を起動しています..

コマンドは 2228ms で終了しました

ビルド後のタスク: 成功

ビルド後のタスクの終了: 0

エラー: パブリッシャー hudson.plugins.brakeman.BrakemanPublisher が例外 java.io.FileNotFoundException により中止されました: /home/kannan/.jenkins/workspace/Publisher Dev/brakeman-output.tabs (そのようなファイルまたはディレクトリはありません)

Rails 統計レポートを公開しています...

ビルドに失敗しました。rcov カバレッジ レポートをスキップします

ビルド ステップ 'Publish Rcov report' でビルドが失敗としてマークされました

終了: 失敗

私はどうしたらいいですか