bundler-audit
バンドラー オーディット(セキュリティ)
意味 Gemの脆弱性チェックツール
bundler-auditとは?
bundler-auditは、Rubyプロジェクトで使用されているGemの既知の脆弱性をチェックするためのセキュリティツールです。Gemfileとその依存関係を分析し、セキュリティ上の問題がある場合に警告を出します。
bundler-auditの具体的な使い方
基本的な脆弱性チェック
# bundler-auditのインストール
gem install bundler-audit
# プロジェクトディレクトリで実行
bundle audit check --update
👇出力結果
Updating ruby-advisory-db ...
Updating to 7f51e2df0e0e22b99cca866e89e3a0fe0c991eaf...
Name: actionpack
Version: 3.2.10
Advisory: CVE-2020-8164
Criticality: High
URL: https://groups.google.com/forum/#!topic/rubyonrails-security/f6ioe4sdpbY
Title: Possible Strong Parameters Bypass in ActionPack
Solution: upgrade to ~> 5.2.4.3, >= 6.0.3.1
Unpatched versions found!
この例では、まずbundler-auditをインストールし、次にプロジェクトディレクトリで実行します。--updateオプションを使用して、最新の脆弱性データベースを使用してチェックを行います。
脆弱性の修正
# 脆弱性のあるGemをアップデート
bundle update actionpack
# 再度チェックを実行
bundle audit check --update
👇出力結果
Updating ruby-advisory-db ...
Updating to 7f51e2df0e0e22b99cca866e89e3a0fe0c991eaf...
No vulnerabilities found
この例では、検出された脆弱性のあるGemをアップデートし、再度bundler-auditを実行して脆弱性が解消されたことを確認します。
CI/CDパイプラインでの使用
#!/bin/bash
# CIスクリプトの一部として
bundle audit check --update
if [ $? -ne 0 ]; then
echo "脆弱性が見つかりました。修正してください。"
exit 1
else
echo "脆弱性は見つかりませんでした。"
exit 0
fi
👇出力結果
脆弱性は見つかりませんでした。
この例では、CI/CDパイプラインでbundler-auditを使用する方法を示しています。脆弱性が見つかった場合、ビルドを失敗させることで、セキュリティ問題を早期に発見し対応することができます。
bundler-auditに関するよくある質問
bundler-auditが学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyのbundler-auditやOpenSSL、sanitize、escape_html、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
Rubyを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!