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

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

🍮 参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍