導入
Brakeman はセキュリティ スキャナであり、静的分析を利用して Rails アプリケーションのセキュリティ脆弱性を検出します。アプリケーションのソース コードを直接スキャンするため、この便利なセキュリティ ツールを使用するためにアプリケーション スタック全体をセットアップする必要がなくなります。スキャン後、特定されたすべてのセキュリティ問題のレポートが作成されます。利点
いつでも実行 Brakeman に必要なのはソース コードだけであり、それ (Brakeman) は開発のどの段階でも実行できるため、rails で新しいアプリケーションを生成し、Brakeman を使用してすぐにスキャンできます。 より良いカバレッジ これにより、アプリケーションの範囲がさらに広がります。まだ「公開」されていない可能性のあるページをチェックし、悪用可能になる前にセキュリティの脆弱性も発見します。 スピード 「ブラック ボックス」Web サイト スキャナよりもはるかに高速であり、非常に大規模なアプリケーションのスキャンに数分しかかからないことからも明らかです。制限事項
偽陽性 やや疑わしいため、多くの「誤検知」を引き起こすリスクがあります。 異常な構成 「典型的な」Rails セットアップを前提としています。アプリの一部が通常の Rails アプリケーション レイアウトに当てはまらない場合、スキャン中にその部分が見逃される可能性が高くなります。 全知ではないのか Brakeman はコード内で起こっていることをすべて理解することはできません。場合によっては、合理的な推測を行うだけの場合もあります。何かを見逃してしまうかもしれません。それは物事を誤解するかもしれません。しかし、それは最善を尽くします。問題については、以下を確認してください。 https://github.com/presidentbeef/brakeman/issuesブレーキマンのインストール
ジェムのインストールジェムインストールブレーキマン
Brakeman ジェムは署名されるようになりました。つまり、ジェムの内容は次の方法で検証できます。 公開ブレーキマン証明書。 gem を検証するには、以下の証明書を「信頼できる」ものとして含めます。 # ブレーキマン
gem cert --add <(curl -Ls https://raw.github.com/presidentbeef/brakeman/master/brakeman-public_cert.pem)
# Ruby_parser など
gem cert --add <(curl -Ls http://www.zenspider.com/~ryan/gem-public_cert.pem)
#マルチjson
gem cert --add <(curl -Ls https://raw.githubusercontent.com/intridea/multi_json/master/certs/rwz.pem)
検証します:
gem install Brakeman -P MediumSecurity
バンドラー
Brakeman は Gemfile に追加できます。
gem "ブレーキマン"、:require => false
gitクローン
git clone git://github.com/presidentbeef/brakeman.git cd Brakeman gem build Brakeman.gemspec gem install Brakeman-*.gem
ランニングブレーキマン
Ruby アプリケーションのルート ディレクトリでオプションを指定せずに実行してください。cd your_rails_app/ブレーキマン
アプリケーションをスキャンし、出力をレポートとしてコマンド ラインに提供します。あるいは、オプションとしてパスを Brakeman に提供することもできます。
ブレーキマン your_rails_app
さらに具体的に言えば、
ブレーキマン -p your_rails_app
参考文献
ブレーキマンスキャナー: https://brakemanscanner.org/docs/ ギットハブ: https://github.com/presidentbeef/brakeman ルビージェム: https://rubygems.org/gems/brakeman/versions/3.3.2 レールキャスト: http://railscasts.com/episodes/358-brakeman最新のアップデートを購読する
関連記事