brakeman と Jenkins は相性がいいのです

Rails アプリケーションのセキュリティチェックができる brakeman という gem がよかった。この gem を使って構築された http://rails-brakeman.com/ を見るとだいたいどんな感じかわかるですよ。

まだまだ brakeman 初心者だけど、以下のような点がよいと思った。

  • gem なので簡単にインストールできる
  • 静的解析ツールなので、Rails アプリのソースと brakeman だけあれば使える
  • Jenkins の plugin が既にあって CI もお手軽

Jenkins で設定可能という所が最高。サーバを起動しないといけないツールと比べて敷居が低く、継続的な実行が自動化しやすい。

一方、そうでもない点。

  • 何かを実行する訳ではないため、「具体的に様々な入力を試してみる」事ができない*1
  • つまり警告 0 でも完璧な訳じゃない

「具体的に様々な入力〜」については他のツールに軍配が上がると思うけど、導入のし易さからいってセットアップしない手はないと思った。たとえ、単体テストを書いてないとしても(ま、そんな事しませんよね)、CI 体験で使ってみるという流れもいいかもしれない。

brakeman(ブレーキマン)という事はいい感じに Rails が停車する(納品やサービスインする)ための重要な役割という事だろうか。いかにもいいツールっぽくて素敵。(最初 breakman だと思ってたけど


自分でもまだそんなにしっかり使ってる訳ではないので(知り合って 2 日目)、後は Jenkins 様に何か怒られてみてからかなぁ。

*1:なので、例えば文字コードを悪用したブラウザ固有の XSS なんかは防げない気がしてます