Dependency-Trackを用いたSBOM管理で、コンポーネント数が10万以上もあると定期的な脆弱性更新チェックが停止してしまい、今回はもう少し軽量のコンテナーをいくつか取り込んでみました。ちゃんと動いています。(当然ではありますが)
実運用で商用のBalckDuckを使うと処理にとても時間がかかって遅いというので不評のようですが、保管しているSBOMデータ量が莫大になると、どんなツールであってもとんでもなく重くはなりますから、やむをえないかなと思います。
次に実務上面倒なのは、CVEがあるのはわかったがそれが本当に自分の対象コンポーネントの中で悪さをするのか(これを到達可能性といいます)を確認しないといけない。原則は、深刻度の大きいものから開発者がしらみつぶしに1件づつ確認すべきですが、なんとか楽したいわけです。
そこでそういう到達可能性をある程度自動チェックしてくれるツールがあって、今回はSnykというフリーのツールでやってみましたところ、まずます抽出してくれます。以下は抜粋ですが、Dependency-Trackで表示されるもののうち本当に侵害につながりそうなのはどれか のあたりをつけるには便利です。但し本当に大変なのは、それがわかったとして、いつどう対処できるのかを誰の責任でやらないといけないのかです。
$ snyk container test debian:latest --file=/home/ubuntu/mnt/var/lib/dpkg/status
Testing debian:latest...
✗ Low severity vulnerability found in zlib/zlib1g
Description: Improper Validation of Specified Quantity in Input
Info: https://lnkd.in/gz9d3EDt
Introduced through: zlib/zlib1g@1:1.3.dfsg+really1.3.1-1+b1, dpkg@1.22.22, apt@3.0.3
From: zlib/zlib1g@1:1.3.dfsg+really1.3.1-1+b1
From: dpkg@1.22.22 > zlib/zlib1g@1:1.3.dfsg+really1.3.1-1+b1
From: apt@3.0.3 > apt/libapt-pkg7.0@3.0.3 > zlib/zlib1g@1:1.3.dfsg+really1.3.1-1+b1
and 1 more...
Image layer: Introduced by your base image (shell)
✗ High severity vulnerability found in attr/libattr1
Description: Link Following
Info: https://lnkd.in/gYzSeQKU
Introduced through: attr/libattr1@1:2.5.2-3, coreutils@9.7-3, shadow/passwd@1:4.17.4-2
From: attr/libattr1@1:2.5.2-3
From: coreutils@9.7-3 > attr/libattr1@1:2.5.2-3
From: shadow/passwd@1:4.17.4-2 > attr/libattr1@1:2.5.2-3
