Brakeman Railsのセキュリティチェックを行うためのGem


presidentbeef/brakeman - GitHub』は、
Railsのセキュリティの問題点等をコマンド1つでチェックしてくれるGemです。
企業等のサイト開発などでも気軽に使えるのでぜひ試してみてください。


🚌 サンプル

こんな感じでコマンドひとつでアプリケーションのセキュリティをチェックしてくれます。

bundle exec brakeman
+BRAKEMAN REPORT+
Application path: /path/to/rails_app
Rails version: 4.2.5
Brakeman version: 3.1.4
Started at 2016-01-18 23:46:28 +0900
Duration: 0.805318 seconds
Checks run: BasicAuth, ContentTag, CreateWith, CrossSiteScripting, DefaultRoutes, Deserialize, DetailedExceptions, DigestDoS, EscapeFunction, Evaluation, Execute, FileAccess, FileDisclosure, FilterSkipping, ForgerySetting, HeaderDoS, I18nXSS, JRubyXML, JSONEncoding, JSONParsing, LinkTo, LinkToHref, MailTo, MassAssignment, ModelAttrAccessible, ModelAttributes, ModelSerialize, NestedAttributes, NumberToCurrency, QuoteTableName, Redirect, RegexDoS, Render, RenderDoS, RenderInline, ResponseSplitting, SQL, SQLCVEs, SSLVerify, SafeBufferManipulation, SanitizeMethods, SelectTag, SelectVulnerability, Send, SendFile, SessionManipulation, SessionSettings, SimpleFormat, SingleQuotes, SkipBeforeFilter, StripTags, SymbolDoSCVE, TranslateBug, UnsafeReflection, ValidationRegex, WithoutProtection, XMLDoS, YAMLParsing
+SUMMARY+
+-------------------+-------+
| Scanned/Reported | Total |
+-------------------+-------+
| Controllers | 6 |
| Models | 5 |
| Templates | 26 |
| Errors | 0 |
| Security Warnings | 0 (0) |
+-------------------+-------+

結果はファイルやjsonで出力できますし、JenkinsなどのCIなどと連携して出力させることもできます。

ちなみに、『Jenkinsのプラグイン』はこちらです。



🐰 Gemインストール

Gemfileに以下を追加して、bundle installを実行。

# Gemfile
group :development do
# セキュリティチェック
gem 'brakeman', require: false
end

😼 application.jsの変更

あとは次のコマンドを実行するだけ。

bundle exec brakeman

これで安心して仕事を進められそうです!

🎃 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)