😸

OWASP Dependency Check CLIで依存ライブラリの脆弱性をチェックする

2022/07/26に公開

インストール方法とか諸々は以下を参照。

試したバージョンは v7.1.1。

GitHub Actionsで実行したいなーって思ってたので、 GitHub Release からzipを取得、解凍してshellを叩く形で実行してみた。

一応、npmにowasp-dependency-check ってのが公開されているけど、CLIをラップしているだけなのと、 --failOnCVSS オプションが効かずに失敗にならなかったので普通にCLIを使うことにした。

対象とするコードは、 Example Projects – Reactにリンクされていた ahfarmer/calculator を使ってみた。
yarn.lockの最終コミットが4年前とかなので、いい感じに脆弱性が引っかかってくれそう。

$ sh dependency-check/bin/dependency-check.sh --out ./reports --project sample-check --failOnCVSS 9 -f HTML --data=/tmp/dependency-check-data --scan=./calculator/yarn.lock

結果。CVSSが9以上のものが見つかってエラーになった模様。

[INFO] Analysis Started

...

[ERROR]

One or more dependencies were identified with vulnerabilities that have a CVSS score greater than or equal to '9.0':

yarn.lock?ansi-html: 1070006(10.0)
yarn.lock?ansi-regex: 1081346(10.0)
yarn.lock?dns-packet: 1067881(10.0)
yarn.lock?elliptic: 1069331(10.0)
yarn.lock?glob-parent: 1067329(10.0)
yarn.lock?immer: 1068264(10.0), 1067715(10.0), 1067720(10.0)
yarn.lock?json-schema: 1070413(10.0), CVE-2021-3918(9.8)
yarn.lock?lodash.template: 1069553(10.0)
yarn.lock?lodash: 1069477(10.0), 1070117(10.0), 1069724(10.0), 1070247(10.0)
yarn.lock?minimist: 1067342(10.0)
yarn.lock?node-forge: 1070356(10.0), 1070355(10.0)
yarn.lock?nth-check: 1070415(10.0)
yarn.lock?shell-quote: 1075650(10.0), CVE-2021-42740(9.8)
yarn.lock?sshpk: 1069864(10.0)
yarn.lock?tmpl: 1070326(10.0)
yarn.lock?websocket-extensions: 1069395(10.0)

See the dependency-check report for more details.

レポートはこんな感じ↓

GitHub Actionsで実行するには、wgetかなんかでバイナリを取得してunzipしてえいやって実行してレポートはartifactにuploadすればおk

Discussion