OWASP Dependency-Check
ライブラリのスキャン
Log4Shellの通称で有名になっている脆弱性。
Apacheプロジェクトの Log4jというオープンソースライブラリで、致命的な欠陥が見つかったと大騒ぎ。
脆弱性の深刻度を評価するCVSSのスコアでは、最大値となる10.0(緊急レベル)を記録。
Webアプリケーションを作成する場合、このような外部のライブラリを使用することは多い。最新を使用しておけば間違いないのでしょうが、開発者側からすると、バージョン変更により、アプリケーションのテストが必要になり、変更に消極的になり、放置されやすい。
OWASP Dependency-Check
OWASP Dependency-Checkを使うと、ある程度自動でやってくれる。
という5つの形態で提供されている。
以下のプラグインもあるらしい。
- Jenkins Plugin
- SBT Plugin
- lein-dependency-check
手っ取り早く、Commnad Lineツールを試してみる。
Commnad Line
からZipファイルをダウンロード。
Windowsの場合、binフォルダにある、dependency-check.batを実行。
いろいろパラメーターはあるが、
-s (スキャンしたいフォルダ)
を指定すれば、スキャンが開始される。
初回実行時は、NVDから脆弱性情報を取得する。
2002年から取得しています。
dataフォルダにnvdcacheというフォルダがあり、そこに年度ごとにファイルが作成される。中を見ると、JSON形式で脆弱性情報が収集されている。
データベースとして結合されているようです。
1分ちょっとでレポートが出力されます。
スクリプトを使用して、見やすいレポートです。
現在、Javaと.NETに関して対応しており、実験的にPython, Ruby, PHP (composer),Node.jsでも可、のようです。
使用しているライブラリが一覧になるだけでも十分に価値を感じてしまう。