2023年12月5日火曜日

bundler-audit で Gemfile 内で使っている gem の脆弱性チェックをする

bundler-audit で Gemfile 内で使っている gem の脆弱性チェックをする

概要

過去にtrivyを使って脆弱性スキャンを紹介しました
今回は gem に特化したツールを紹介します

環境

  • macOS 11.7.10
  • Ruby 3.2.2
    • bundler-audit 0.9.1

インストール

  • vim Gemfile
gem 'bundler-audit'
  • bundle config path vendor
  • bundle install

使ってみる

まずは最新の脆弱性情報を取得します

  • bundle exec bundler-audit update
Download ruby-advisory-db ...
Cloning into '/Users/user01/.local/share/ruby-advisory-db'...
remote: Enumerating objects: 11402, done.
remote: Counting objects: 100% (1519/1519), done.
remote: Compressing objects: 100% (349/349), done.
remote: Total 11402 (delta 1237), reused 1228 (delta 1160), pack-reused 9883
Receiving objects: 100% (11402/11402), 1.82 MiB | 8.14 MiB/s, done.
Resolving deltas: 100% (6446/6446), done.
ruby-advisory-db:
  advisories:   827 advisories
  last updated: 2023-11-30 12:36:04 -0800
  commit:       d821bf162550302abd1fa1fe15007f3012b76f32

ローカルにキャッシュされます

あとは実行すれば OK です

  • bundle exec bundler-audit
No vulnerabilities found

と表示された場合は特に脆弱な gem をプロジェクト内で使用していないことになります

更新とスキャンを同時に行う

  • bundle exec bundler-audit check --update

こっちを使ったほうがいいかもです

最後に

あとはこれを CI に追加すれば gem のセキュリティチェックができるようになります
当然ですが CVE ベースなのでゼロデイ攻撃などには対応していません

trivy でもできそうですがすでに bundler-audit を使っている場合はこれで十分かもしれないです

参考サイト

0 件のコメント:

コメントを投稿