LoginSignup
0
2

More than 5 years have passed since last update.

bundler-audit の警告を無視するための、シンプルな方法

Posted at

bundler-audit は、Gemfile(.lock)で指定されている gem から脆弱性があるものを指摘してくれるツールです。特にCIで使うと効果的です。

出力例:

$ bundler-audit
Name: actionpack
Version: 3.2.10
Advisory: OSVDB-91452
Criticality: Medium
URL: http://www.osvdb.org/show/osvdb/91452
Title: XSS vulnerability in sanitize_css in Action Pack
Solution: upgrade to ~> 2.3.18, ~> 3.1.12, >= 3.2.13

bundler-audit の何が問題か?

rubocopのように、特定の警告を非表示にする機能が無いことです。

脆弱性の中には「プロジェクトでの使い方では発現しない」「新バージョンには互換性がない」などで、修正しない/できないものもあるので、そっとしておいて欲しいもの。

どうやって解決したか?

あらかじめ、bundler-audit の出力をファイルに保存し、CI時に出力と比較すれば良いのです。

$ bundler-audit check > expected-bundler-audit-output.txt
$ git commit -m "..." expected-bundler-audit-output.txt

CI時:

$ bundler-audit update
$ diff <(bundler-audit check) expected-bundler-audit-output.txt

期待結果と差がある(≒ 新たな脆弱性が発見された)場合は diff が 1 で終わるのでCIが失敗します。

なお、bundler-audit が出力のフォーマットを変えた場合にも失敗しますが、その場合は諦めて bundler-auditを更新して、expected-bundler-audit-output.txt を作り直します。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2