From aec110679892504f0592ee7787e3e254c5a6c674 Mon Sep 17 00:00:00 2001 From: Christian Kotzbauer Date: Fri, 17 Jun 2022 19:55:14 +0200 Subject: [PATCH] test: unit-tests and refactoring Signed-off-by: Christian Kotzbauer --- .github/workflows/test.yml | 8 +- Makefile | 3 + go.mod | 4 +- go.sum | 58 +- internal/vuln/daemon/daemon.go | 19 +- .../grype/fixtures/clean-alpine-sbom.json | 3107 +++++++++++++++++ .../fixtures/vulnerable-alpine-sbom.json | 3093 ++++++++++++++++ internal/vuln/grype/grype.go | 17 +- internal/vuln/grype/grype_test.go | 123 + internal/vuln/kubernetes/kubernetes.go | 15 +- internal/vuln/source/git/git_source.go | 13 +- .../source/kubernetes/kubernetes_source.go | 7 +- internal/vuln/target/json_target.go | 4 +- 13 files changed, 6366 insertions(+), 105 deletions(-) create mode 100644 internal/vuln/grype/fixtures/clean-alpine-sbom.json create mode 100644 internal/vuln/grype/fixtures/vulnerable-alpine-sbom.json create mode 100644 internal/vuln/grype/grype_test.go diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b75c61d..b1b67e3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,8 +35,12 @@ jobs: - name: Build binary run: make build -# - name: Unit tests -# run: make test + - name: Unit tests + run: make test + + - uses: codecov/codecov-action@v3 + with: + files: cover.out - name: Build image uses: docker/build-push-action@v3 diff --git a/Makefile b/Makefile index 4620e22..df68b46 100644 --- a/Makefile +++ b/Makefile @@ -14,3 +14,6 @@ fmt: # Run go vet against code vet: go vet ./... + +test: + go test $(shell go list ./...) -coverprofile cover.out diff --git a/go.mod b/go.mod index 92434d9..7bea992 100644 --- a/go.mod +++ b/go.mod @@ -8,10 +8,10 @@ require ( github.com/sirupsen/logrus v1.8.1 github.com/spf13/cobra v1.4.0 github.com/spf13/viper v1.12.0 + github.com/stretchr/testify v1.7.2 gopkg.in/yaml.v3 v3.0.1 k8s.io/api v0.24.1 k8s.io/apimachinery v0.24.1 - k8s.io/client-go v0.24.1 ) require ( @@ -188,7 +188,6 @@ require ( github.com/sigstore/sigstore v1.2.1-0.20220424143412-3d41663116d5 // indirect github.com/soheilhy/cmux v0.1.5 // indirect github.com/spdx/tools-golang v0.2.0 // indirect - github.com/stretchr/testify v1.7.2 // indirect github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect github.com/tent/canonical-json-go v0.0.0-20130607151641-96e4ba3a7613 // indirect github.com/thales-e-security/pool v0.0.2 // indirect @@ -251,6 +250,7 @@ require ( gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gorm.io/gorm v1.23.3 // indirect + k8s.io/client-go v0.24.1 // indirect k8s.io/klog/v2 v2.60.1 // indirect k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect diff --git a/go.sum b/go.sum index f1e8892..fbedd26 100644 --- a/go.sum +++ b/go.sum @@ -232,18 +232,12 @@ github.com/anchore/go-version v1.2.2-0.20210903204242-51efa5b487c4 h1:rmZG77uXgE github.com/anchore/go-version v1.2.2-0.20210903204242-51efa5b487c4/go.mod h1:Bkc+JYWjMCF8OyZ340IMSIi2Ebf3uwByOk6ho4wne1E= github.com/anchore/grype v0.38.0 h1:wBWgZiA5y+SlrBOoWP087x5N2OnXEaJo92Bf/9xk1gI= github.com/anchore/grype v0.38.0/go.mod h1:vQYMuMIs6JXXRUOpYMw2vsyA0I7Ap+lNB6Az6zWcCLA= -github.com/anchore/grype v0.39.0 h1:bct298n6ij9QIR1M+oJ1kH3odUSoHmeEayXN+gMx370= -github.com/anchore/grype v0.39.0/go.mod h1:VBnbIC1UjW4Lx5cQl4ujiIayNZH4nBsar/OeQsqai9Y= github.com/anchore/packageurl-go v0.1.1-0.20220428202044-a072fa3cb6d7 h1:kDrYkTSM9uIxaX/P9s0F4nKYNM+hnSgLJdLpqvsaQ/g= github.com/anchore/packageurl-go v0.1.1-0.20220428202044-a072fa3cb6d7/go.mod h1:Blo6OgJNiYF41ufcgHKkbCKF2MDOMlrqhXv/ij6ocR4= -github.com/anchore/sqlite v1.4.6-0.20220607210448-bcc6ee5c4963 h1:vrf2PYH77vqVJoNR15ZuFJ63qwBMqrmGIt/7VsBhLF8= -github.com/anchore/sqlite v1.4.6-0.20220607210448-bcc6ee5c4963/go.mod h1:AVRyXOUP0hTz9Cb8OlD1XnwA8t4lBPfTuwPHmEUuiLc= github.com/anchore/stereoscope v0.0.0-20220518185348-c97a3c6ffc67 h1:nbcYgEEv9CLnuKg/8ExvXDiEpCA9pwZcyyraZyBE+aw= github.com/anchore/stereoscope v0.0.0-20220518185348-c97a3c6ffc67/go.mod h1:yoCLUZY0k/pYLNIy0L80p2Ko0PKVNXm8rHtgxp4OiSc= github.com/anchore/syft v0.46.3 h1:TKD14BrLiLrWamQI2r46v1Rhl2khNlQXzomhTmkqQ4Y= github.com/anchore/syft v0.46.3/go.mod h1:7H/MkAj2uV4cD08e1MB04m3IJp8oGRJ9Y9CDfGRc94U= -github.com/anchore/syft v0.47.0 h1:ER/c3hIqE/f23REZcoz88NJYyrpWjgmKojPwtlRBlVU= -github.com/anchore/syft v0.47.0/go.mod h1:7R9U/NZu+VCBFNolgp+g4UfSkxq4U0c1ruq8/7GHZTY= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andybalholm/brotli v1.0.1/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= @@ -438,7 +432,6 @@ github.com/containerd/imgcrypt v1.1.4/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= github.com/containerd/stargz-snapshotter/estargz v0.10.0/go.mod h1:aE5PCyhFMwR8sbrErO5eM2GcvkyXTTJremG883D4qF0= -github.com/containerd/stargz-snapshotter/estargz v0.10.1 h1:hd1EoVjI2Ax8Cr64tdYqnJ4i4pZU49FkEf5kU8KxQng= github.com/containerd/stargz-snapshotter/estargz v0.10.1/go.mod h1:aE5PCyhFMwR8sbrErO5eM2GcvkyXTTJremG883D4qF0= github.com/containerd/stargz-snapshotter/estargz v0.11.4 h1:LjrYUZpyOhiSaU7hHrdR82/RBoxfGWSaC0VeSSMXqnk= github.com/containerd/stargz-snapshotter/estargz v0.11.4/go.mod h1:7vRJIcImfY8bpifnMjt+HTJoQxASq7T28MYbP15/Nf0= @@ -471,8 +464,8 @@ github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfc github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -504,19 +497,16 @@ github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/ github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli v20.10.10+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli v20.10.11+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/cli v20.10.12+incompatible h1:lZlz0uzG+GH+c0plStMUdF/qk3ppmgnswpR5EbqzVGA= github.com/docker/cli v20.10.12+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M= github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/distribution v2.8.0+incompatible h1:l9EaZDICImO1ngI+uTifW+ZYvvz7fKISBAKpg+MbWbY= github.com/docker/distribution v2.8.0+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.10+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.11+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v20.10.12+incompatible h1:CEeNmFM0QZIsJCZKMkZx0ZcahTiewkrgiwfYD+dfl1U= github.com/docker/docker v20.10.12+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE= github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= @@ -954,8 +944,6 @@ github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= github.com/google/go-containerregistry v0.7.0/go.mod h1:2zaoelrL0d08gGbpdP3LqyUuBmhWbpD6IOe2s9nLS2k= github.com/google/go-containerregistry v0.7.1-0.20211118220127-abdc633f8305/go.mod h1:6cMIl1RfryEiPzBE67OgtZdEiLWz4myqCQIiBMy3CsM= -github.com/google/go-containerregistry v0.8.1-0.20220209165246-a44adc326839 h1:7PunQZxMao2q43If8gKj1JFRzapmhgny9NWwXY4PGa4= -github.com/google/go-containerregistry v0.8.1-0.20220209165246-a44adc326839/go.mod h1:cwx3SjrH84Rh9VFJSIhPh43ovyOp3DCWgY3h8nWmdGQ= github.com/google/go-containerregistry v0.9.0 h1:5Ths7RjxyFV0huKChQTgY6fLzvHhZMpLTFNja8U0/0w= github.com/google/go-containerregistry v0.9.0/go.mod h1:9eq4BnSufyT1kHNffX+vSXVonaJ7yaIOulrKZejMxnQ= github.com/google/go-github/v28 v28.1.1/go.mod h1:bsqJWQX05omyWVmc00nEUql9mhQyv38lDZ8kPZcQVoM= @@ -1044,7 +1032,6 @@ github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75/go.mod h1:g2644b0 github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= @@ -1257,7 +1244,6 @@ github.com/julz/importas v0.0.0-20210419104244-841f0c0fe66d/go.mod h1:oSFU2R4XK/ github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= @@ -1276,8 +1262,6 @@ github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdY github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.14.2 h1:S0OHlFk/Gbon/yauFJ4FfJJF5V0fc5HbBTJazi28pRw= -github.com/klauspost/compress v1.14.2/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.4 h1:1kn4/7MepF/CHmYub99/nNX8az0IJjfSOU/jbnTVfqQ= github.com/klauspost/compress v1.15.4/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= @@ -1288,8 +1272,6 @@ github.com/knqyf263/go-apk-version v0.0.0-20200609155635-041fdbb8563f h1:GvCU5GX github.com/knqyf263/go-apk-version v0.0.0-20200609155635-041fdbb8563f/go.mod h1:q59u9px8b7UTj0nIjEjvmTWekazka6xIt6Uogz5Dm+8= github.com/knqyf263/go-deb-version v0.0.0-20190517075300-09fca494f03d h1:X4cedH4Kn3JPupAwwWuo4AzYp16P0OyLO9d7OnMZc/c= github.com/knqyf263/go-deb-version v0.0.0-20190517075300-09fca494f03d/go.mod h1:o8sgWoz3JADecfc/cTYD92/Et1yMqMy0utV1z+VaZao= -github.com/knqyf263/go-rpmdb v0.0.0-20220530130908-5101b033fa0d h1:SNPC2ZhI2bBLPAeBP06JARFkA/zRe/JqK2kdzUZgbx0= -github.com/knqyf263/go-rpmdb v0.0.0-20220530130908-5101b033fa0d/go.mod h1:RhAXC1yCwbXDy6J0yluNF7i4kVCJrsx6s2tfvM6hJVk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -1391,7 +1373,6 @@ github.com/mattn/go-shellwords v1.0.10/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lL github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.10/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -1453,7 +1434,6 @@ github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2J github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= -github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc= github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -1829,8 +1809,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI= @@ -1959,7 +1939,6 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zalando/go-keyring v0.1.0/go.mod h1:RaxNwUITJaHVdQ0VC7pELPZ3tOWn13nr0gZMZEhpVU0= github.com/zalando/go-keyring v0.1.1/go.mod h1:OIC+OZ28XbmwFxU/Rp9V7eKzZjamBJwRzC8UFJH9+L8= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -2271,7 +2250,6 @@ golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211020060615-d418f374d309/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211111160137-58aab5ef257a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -2280,7 +2258,6 @@ golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220105145211-5b0dc2dfae98/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127074510-2fabfed7e28f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -2455,7 +2432,6 @@ golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211013075003-97ac67df715c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2471,11 +2447,9 @@ golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220405052023-b1e9470b6e64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c h1:aFV+BgZ4svzjfabn8ERpuB4JI4N6/rdy1iusx77G3oU= golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2632,7 +2606,6 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.6/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= -golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -2927,8 +2900,6 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/gorm v1.23.3 h1:jYh3nm7uLZkrMVfA8WVNjDZryKfr7W+HTlInVgKFJAg= gorm.io/gorm v1.23.3/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/gorm v1.23.5 h1:TnlF26wScKSvknUC/Rn8t0NLLM22fypYBlvj1+aH6dM= -gorm.io/gorm v1.23.5/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= @@ -2980,7 +2951,6 @@ k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19V k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= knative.dev/pkg v0.0.0-20220325200448-1f7514acd0c2 h1:dJ1YKQ1IvCfxtYqS1dHm18VT153ntHi5uJsFVv7oxfc= knative.dev/pkg v0.0.0-20220325200448-1f7514acd0c2/go.mod h1:5xt0nzCwxvQ2N4w71smY7pYm5nVrQ8qnRsMinSLVpio= -lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v3 v3.33.6/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= modernc.org/cc/v3 v3.33.9/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= @@ -2998,12 +2968,7 @@ modernc.org/cc/v3 v3.35.17/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g modernc.org/cc/v3 v3.35.18/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= modernc.org/cc/v3 v3.35.20/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= modernc.org/cc/v3 v3.35.22/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g= -modernc.org/cc/v3 v3.35.24 h1:vlCqjhVwX15t1uwlMPpOpNRC7JTjMZ9lT9DYHKQTFuA= modernc.org/cc/v3 v3.35.24/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/cc/v3 v3.36.0 h1:0kmRkTmqNidmu3c7BNDSdVHCxXCkWLmWmCIVX4LUboo= -modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= -modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= modernc.org/ccgo/v3 v3.9.5/go.mod h1:umuo2EP2oDSBnD3ckjaVUXMrmeAw8C8OSICVa0iFf60= modernc.org/ccgo/v3 v3.10.0/go.mod h1:c0yBmkRFi7uW4J7fwx/JiijwOjeAeR2NoSaRVFPmjMw= modernc.org/ccgo/v3 v3.11.0/go.mod h1:dGNposbDp9TOZ/1KBxghxtUp/bzErD0/0QW4hhSaBMI= @@ -3048,15 +3013,10 @@ modernc.org/ccgo/v3 v3.15.12/go.mod h1:VFePOWoCd8uDGRJpq/zfJ29D0EVzMSyID8LCMWYbX modernc.org/ccgo/v3 v3.15.14/go.mod h1:144Sz2iBCKogb9OKwsu7hQEub3EVgOlyI8wMUPGKUXQ= modernc.org/ccgo/v3 v3.15.15/go.mod h1:z5qltXjU4PJl0pE5nhYQCvA9DhPHiWsl5GWl89+NSYE= modernc.org/ccgo/v3 v3.15.16/go.mod h1:XbKRMeMWMdq712Tr5ECgATYMrzJ+g9zAZEj2ktzBe24= -modernc.org/ccgo/v3 v3.15.17 h1:svaDk4rfh7XQPBwkqzjKK8bta/vK4VVL3JP6ZLbcr0w= modernc.org/ccgo/v3 v3.15.17/go.mod h1:bofnFkpRFf5gLY+mBZIyTW6FEcp26xi2lgOFk2Rlvs0= -modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= -modernc.org/ccgo/v3 v3.16.6 h1:3l18poV+iUemQ98O3X5OMr97LOqlzis+ytivU4NqGhA= -modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= modernc.org/ccorpus v1.11.1/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= -modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.9.8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= modernc.org/libc v1.9.11/go.mod h1:NyF3tsA5ArIjJ83XB0JlqhjTabTCHm9aX4XMPHyQn0Q= modernc.org/libc v1.11.0/go.mod h1:2lOfPmj7cz+g1MrPNmX65QCzVxgNq2C5o0jdLY2gAYg= @@ -3105,11 +3065,6 @@ modernc.org/libc v1.14.10/go.mod h1:y1MtIWhwpJFpLYm6grAThtuXJKEsY6xkdZmXbRngIdo= modernc.org/libc v1.14.11/go.mod h1:l5/Mz/GrZwOqzwRHA3abgSCnSeJzzTl+Ify0bAwKbAw= modernc.org/libc v1.14.12 h1:pUBZTYoISfbb4pCf4PECENpbvwDBxeKc+/dS9LyOWFM= modernc.org/libc v1.14.12/go.mod h1:fJdoe23MHu2ruPQkFPPqCpToDi5cckzsbmkI6Ez0LqQ= -modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= -modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= -modernc.org/libc v1.16.7/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= -modernc.org/libc v1.16.8 h1:Ux98PaOMvolgoFX/YwusFOHBnanXdGRmWgI8ciI2z4o= -modernc.org/libc v1.16.8/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= @@ -3120,22 +3075,13 @@ modernc.org/memory v1.0.5/go.mod h1:B7OYswTRnfGg+4tDH1t1OeUNnsy2viGTdME4tzd+IjM= modernc.org/memory v1.0.6/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.0.7 h1:UE3cxTRFa5tfUibAV7Jqq8P7zRY0OlJg+yWVIIaluEE= modernc.org/memory v1.0.7/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/memory v1.1.1 h1:bDOL0DIDLQv7bWhP3gMvIrnoFw+Eo6F7a2QK9HPDiFU= -modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/sqlite v1.15.2 h1:Es0SrEJUQHH7rt6uC/Zh2gHQ0AUhgB+F2RQqpXf3MNs= modernc.org/sqlite v1.15.2/go.mod h1:2P9bWfawhYMpYsBELqKREE+LFZo4uPApOuqszlZ7QX8= -modernc.org/sqlite v1.17.3 h1:iE+coC5g17LtByDYDWKpR6m2Z9022YrSh3bumwOnIrI= -modernc.org/sqlite v1.17.3/go.mod h1:10hPVYar9C0kfXuTWGz8s0XtB8uAGymUy51ZzStYe3k= -modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= modernc.org/tcl v1.11.2/go.mod h1:BRzgpajcGdS2qTxniOx9c/dcxjlbA7p12eJNmiriQYo= -modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= -modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.3.2/go.mod h1:PEU2oK2OEA1CfzDTd+8E908qEXhC9s0MfyKp5LZsd+k= -modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= mvdan.cc/gofumpt v0.1.1/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= diff --git a/internal/vuln/daemon/daemon.go b/internal/vuln/daemon/daemon.go index 64dd178..8e3e9fc 100644 --- a/internal/vuln/daemon/daemon.go +++ b/internal/vuln/daemon/daemon.go @@ -66,7 +66,10 @@ func (c *CronService) runBackgroundService() { scanItems = append(scanItems, s.LoadScanItems()...) } - gr, err := grype.New() + gr, err := grype.New( + viper.GetString(vuln.ConfigKeyGrypeConfigFile), + viper.GetString(vuln.ConfigKeyMinSeverity), + viper.GetBool(vuln.ConfigKeyOnlyFixed)) if err != nil { c.printNextExecution() @@ -102,11 +105,18 @@ func initSources(sourceKeys []string) []source.Source { var err error if sa == "git" { - s := git.NewGitSource() + workingTree := viper.GetString(vuln.ConfigKeyGitWorkingTree) + workPath := viper.GetString(vuln.ConfigKeyGitPath) + repository := viper.GetString(vuln.ConfigKeyGitRepository) + branch := viper.GetString(vuln.ConfigKeyGitBranch) + token := viper.GetString(vuln.ConfigKeyGitAccessToken) + s := git.NewGitSource(workingTree, workPath, repository, branch, token) err = s.ValidateConfig() sources = append(sources, s) } else if sa == "kubernetes" { - s := kubernetes.NewKubernetesSource() + namespaceLabelSelector := viper.GetString(vuln.ConfigKeyNamespaceLabelSelector) + podLabelSelector := viper.GetString(vuln.ConfigKeyPodLabelSelector) + s := kubernetes.NewKubernetesSource(namespaceLabelSelector, podLabelSelector) err = s.ValidateConfig() sources = append(sources, s) } else { @@ -133,7 +143,8 @@ func initTargets(targetKeys []string) []target.Target { var t target.Target if ta == "json" { - t = target.NewJsonTarget() + reportsDir := viper.GetString(vuln.ConfigKeyReportsDir) + t = target.NewJsonTarget(reportsDir) } else if ta == "metrics" { t = target.NewMetricTarget() } else { diff --git a/internal/vuln/grype/fixtures/clean-alpine-sbom.json b/internal/vuln/grype/fixtures/clean-alpine-sbom.json new file mode 100644 index 0000000..966d013 --- /dev/null +++ b/internal/vuln/grype/fixtures/clean-alpine-sbom.json @@ -0,0 +1,3107 @@ +{ + "artifacts": [ + { + "id": "f94c5d5ad004b804", + "name": "alpine-baselayout", + "version": "3.2.0-r20", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:alpine-baselayout:alpine-baselayout:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine-baselayout:alpine_baselayout:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_baselayout:alpine-baselayout:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_baselayout:alpine_baselayout:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine-baselayout:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine_baselayout:3.2.0-r20:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/alpine-baselayout@3.2.0-r20?arch=x86_64&upstream=alpine-baselayout&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "alpine-baselayout", + "originPackage": "alpine-baselayout", + "maintainer": "Natanael Copa ", + "version": "3.2.0-r20", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://git.alpinelinux.org/cgit/aports/tree/main/alpine-baselayout", + "description": "Alpine base dir structure and init scripts", + "size": 11127, + "installedSize": 348160, + "pullDependencies": "alpine-baselayout-data=3.2.0-r20 /bin/sh so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1llRjFBOH6crFgn44TLpVDNItCjU=", + "gitCommitOfApkPort": "9ecba8a514827daf64521008306fb137b498ebf5", + "files": [ + { + "path": "/dev" + }, + { + "path": "/dev/pts" + }, + { + "path": "/dev/shm" + }, + { + "path": "/etc" + }, + { + "path": "/etc/motd", + "digest": { + "algorithm": "sha1", + "value": "Q1XmduVVNURHQ27TvYp1Lr5TMtFcA=" + } + }, + { + "path": "/etc/apk" + }, + { + "path": "/etc/conf.d" + }, + { + "path": "/etc/crontabs" + }, + { + "path": "/etc/crontabs/root", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "600", + "digest": { + "algorithm": "sha1", + "value": "Q1vfk1apUWI4yLJGhhNRd0kJixfvY=" + } + }, + { + "path": "/etc/init.d" + }, + { + "path": "/etc/modprobe.d" + }, + { + "path": "/etc/modprobe.d/aliases.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1WUbh6TBYNVK7e4Y+uUvLs/7viqk=" + } + }, + { + "path": "/etc/modprobe.d/blacklist.conf", + "digest": { + "algorithm": "sha1", + "value": "Q14TdgFHkTdt3uQC+NBtrntOnm9n4=" + } + }, + { + "path": "/etc/modprobe.d/i386.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1pnay/njn6ol9cCssL7KiZZ8etlc=" + } + }, + { + "path": "/etc/modprobe.d/kms.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1ynbLn3GYDpvajba/ldp1niayeog=" + } + }, + { + "path": "/etc/modules-load.d" + }, + { + "path": "/etc/network" + }, + { + "path": "/etc/network/if-down.d" + }, + { + "path": "/etc/network/if-post-down.d" + }, + { + "path": "/etc/network/if-pre-up.d" + }, + { + "path": "/etc/network/if-up.d" + }, + { + "path": "/etc/opt" + }, + { + "path": "/etc/periodic" + }, + { + "path": "/etc/periodic/15min" + }, + { + "path": "/etc/periodic/daily" + }, + { + "path": "/etc/periodic/hourly" + }, + { + "path": "/etc/periodic/monthly" + }, + { + "path": "/etc/periodic/weekly" + }, + { + "path": "/etc/profile.d" + }, + { + "path": "/etc/profile.d/README", + "digest": { + "algorithm": "sha1", + "value": "Q135OWsCzzvnB2fmFx62kbqm1Ax1k=" + } + }, + { + "path": "/etc/profile.d/color_prompt.sh.disabled", + "digest": { + "algorithm": "sha1", + "value": "Q11XM9mde1Z29tWMGaOkeovD/m4uU=" + } + }, + { + "path": "/etc/profile.d/locale.sh", + "digest": { + "algorithm": "sha1", + "value": "Q1S8j+WW71mWxfVy8ythqU7HUVoBw=" + } + }, + { + "path": "/etc/sysctl.d" + }, + { + "path": "/home" + }, + { + "path": "/lib" + }, + { + "path": "/lib/firmware" + }, + { + "path": "/lib/mdev" + }, + { + "path": "/lib/modules-load.d" + }, + { + "path": "/lib/sysctl.d" + }, + { + "path": "/lib/sysctl.d/00-alpine.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1HpElzW1xEgmKfERtTy7oommnq6c=" + } + }, + { + "path": "/media" + }, + { + "path": "/media/cdrom" + }, + { + "path": "/media/floppy" + }, + { + "path": "/media/usb" + }, + { + "path": "/mnt" + }, + { + "path": "/opt" + }, + { + "path": "/proc" + }, + { + "path": "/root", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "700" + }, + { + "path": "/run" + }, + { + "path": "/sbin" + }, + { + "path": "/sbin/mkmntdirs", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1+f8Hjd+dkHS03O6ZZaIw7mb8nLM=" + } + }, + { + "path": "/srv" + }, + { + "path": "/sys" + }, + { + "path": "/tmp", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "1777" + }, + { + "path": "/usr" + }, + { + "path": "/usr/lib" + }, + { + "path": "/usr/lib/modules-load.d" + }, + { + "path": "/usr/local" + }, + { + "path": "/usr/local/bin" + }, + { + "path": "/usr/local/lib" + }, + { + "path": "/usr/local/share" + }, + { + "path": "/usr/sbin" + }, + { + "path": "/usr/share" + }, + { + "path": "/usr/share/man" + }, + { + "path": "/usr/share/misc" + }, + { + "path": "/var" + }, + { + "path": "/var/run", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q11/SNZz/8cK2dSKK+cJpVrZIuF4Q=" + } + }, + { + "path": "/var/cache" + }, + { + "path": "/var/cache/misc" + }, + { + "path": "/var/empty", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "555" + }, + { + "path": "/var/lib" + }, + { + "path": "/var/lib/misc" + }, + { + "path": "/var/local" + }, + { + "path": "/var/lock" + }, + { + "path": "/var/lock/subsys" + }, + { + "path": "/var/log" + }, + { + "path": "/var/mail" + }, + { + "path": "/var/opt" + }, + { + "path": "/var/spool" + }, + { + "path": "/var/spool/mail", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1dzbdazYZA2nTzSIG3YyNw7d4Juc=" + } + }, + { + "path": "/var/spool/cron" + }, + { + "path": "/var/spool/cron/crontabs", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1OFZt+ZMp7j0Gny0rqSKuWJyqYmA=" + } + }, + { + "path": "/var/tmp", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "1777" + } + ] + } + }, + { + "id": "fd4eac957249f9", + "name": "alpine-baselayout-data", + "version": "3.2.0-r20", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:alpine-baselayout-data:alpine-baselayout-data:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine-baselayout-data:alpine_baselayout_data:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_baselayout_data:alpine-baselayout-data:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_baselayout_data:alpine_baselayout_data:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine-baselayout:alpine-baselayout-data:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine-baselayout:alpine_baselayout_data:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_baselayout:alpine-baselayout-data:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_baselayout:alpine_baselayout_data:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine-baselayout-data:3.2.0-r20:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine_baselayout_data:3.2.0-r20:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/alpine-baselayout-data@3.2.0-r20?arch=x86_64&upstream=alpine-baselayout&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "alpine-baselayout-data", + "originPackage": "alpine-baselayout", + "maintainer": "Natanael Copa ", + "version": "3.2.0-r20", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://git.alpinelinux.org/cgit/aports/tree/main/alpine-baselayout", + "description": "Alpine base dir structure and init scripts", + "size": 11455, + "installedSize": 73728, + "pullDependencies": "alpine-baselayout-data=3.2.0-r20", + "pullChecksum": "Q1sboUEnyV+bt26L3Nbb/SQi1JAmE=", + "gitCommitOfApkPort": "9ecba8a514827daf64521008306fb137b498ebf5", + "files": [ + { + "path": "/etc" + }, + { + "path": "/etc/fstab", + "digest": { + "algorithm": "sha1", + "value": "Q11Q7hNe8QpDS531guqCdrXBzoA/o=" + } + }, + { + "path": "/etc/group", + "digest": { + "algorithm": "sha1", + "value": "Q13K+olJg5ayzHSVNUkggZJXuB+9Y=" + } + }, + { + "path": "/etc/hostname", + "digest": { + "algorithm": "sha1", + "value": "Q16nVwYVXP/tChvUPdukVD2ifXOmc=" + } + }, + { + "path": "/etc/hosts", + "digest": { + "algorithm": "sha1", + "value": "Q1BD6zJKZTRWyqGnPi4tSfd3krsMU=" + } + }, + { + "path": "/etc/inittab", + "digest": { + "algorithm": "sha1", + "value": "Q1TsthbhW7QzWRe1E/NKwTOuD4pHc=" + } + }, + { + "path": "/etc/modules", + "digest": { + "algorithm": "sha1", + "value": "Q1toogjUipHGcMgECgPJX64SwUT1M=" + } + }, + { + "path": "/etc/mtab", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1kiljhXXH1LlQroHsEJIkPZg2eiw=" + } + }, + { + "path": "/etc/passwd", + "digest": { + "algorithm": "sha1", + "value": "Q1TchuuLUfur0izvfZQZxgN/LJhB8=" + } + }, + { + "path": "/etc/profile", + "digest": { + "algorithm": "sha1", + "value": "Q1F3DgXUP+jNZDknmQPPb5t9FSfDg=" + } + }, + { + "path": "/etc/protocols", + "digest": { + "algorithm": "sha1", + "value": "Q1omKlp3vgGq2ZqYzyD/KHNdo8rDc=" + } + }, + { + "path": "/etc/services", + "digest": { + "algorithm": "sha1", + "value": "Q19WLCv5ItKg4MH7RWfNRh1I7byQc=" + } + }, + { + "path": "/etc/shadow", + "ownerUid": "0", + "ownerGid": "42", + "permissions": "640", + "digest": { + "algorithm": "sha1", + "value": "Q1ltrPIAW2zHeDiajsex2Bdmq3uqA=" + } + }, + { + "path": "/etc/shells", + "digest": { + "algorithm": "sha1", + "value": "Q1ojm2YdpCJ6B/apGDaZ/Sdb2xJkA=" + } + }, + { + "path": "/etc/sysctl.conf", + "digest": { + "algorithm": "sha1", + "value": "Q14upz3tfnNxZkIEsUhWn7Xoiw96g=" + } + } + ] + } + }, + { + "id": "3f53edc3b14056c3", + "name": "alpine-keys", + "version": "2.4-r1", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "MIT" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:alpine-keys:alpine-keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine-keys:alpine_keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_keys:alpine-keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_keys:alpine_keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine-keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine_keys:2.4-r1:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/alpine-keys@2.4-r1?arch=x86_64&upstream=alpine-keys&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "alpine-keys", + "originPackage": "alpine-keys", + "maintainer": "Natanael Copa ", + "version": "2.4-r1", + "license": "MIT", + "architecture": "x86_64", + "url": "https://alpinelinux.org", + "description": "Public keys for Alpine Linux packages", + "size": 13359, + "installedSize": 159744, + "pullDependencies": "", + "pullChecksum": "Q1FBfIjtsEmvuqoNXpShXDcm/mjzE=", + "gitCommitOfApkPort": "aab68f8c9ab434a46710de8e12fb3206e2930a59", + "files": [ + { + "path": "/etc" + }, + { + "path": "/etc/apk" + }, + { + "path": "/etc/apk/keys" + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1OvCFSO94z97c80mIDCxqGkh2Og4=" + } + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1v7YWZYzAWoclaLDI45jEguI7YN0=" + } + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1NnGuDsdQOx4ZNYfB3N97eLyGPkI=" + } + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1lZlTESNrelWTNkL/oQzmAU8a99A=" + } + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1WNW6Sy87HpJ3IdemQy8pju33Kms=" + } + }, + { + "path": "/usr" + }, + { + "path": "/usr/share" + }, + { + "path": "/usr/share/apk" + }, + { + "path": "/usr/share/apk/keys" + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1OvCFSO94z97c80mIDCxqGkh2Og4=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1v7YWZYzAWoclaLDI45jEguI7YN0=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1BTqS+H/UUyhQuzHwiBl47+BTKuU=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1NnGuDsdQOx4ZNYfB3N97eLyGPkI=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1Oaxdcsa6AYoPdLi0U4lO3J2we18=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1yPq+su65ksNox3uXB+DR7P18+QU=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1MpZDNX0LeLHvSOwVUyXiXx11NN0=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1glCQ/eJbvA5xqcswdjFrWv5Fnk0=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1XUdDEoNTtjlvrS+iunk6ziFgIpU=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1lZlTESNrelWTNkL/oQzmAU8a99A=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1WNW6Sy87HpJ3IdemQy8pju33Kms=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1I9Dy6hryacL2YWXg+KlE6WvwEd4=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1NSnsgmcMbU4g7j5JaNs0tVHpHVA=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1VaMBBk4Rxv6boPLKF+I085Q8y2E=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q13hJBMHAUquPbp5jpAPFjQI2Y1vQ=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1V/a5P9pKRJb6tihE3e8O6xaPgLU=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q13wLJrcKQajql5a1p9Q45U+ZXENA=" + } + }, + { + "path": "/usr/share/apk/keys/aarch64" + }, + { + "path": "/usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q17j9nWJkQ+wfIuVQzIFrmFZ7fSOc=" + } + }, + { + "path": "/usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1snr+Q1UbfHyCr/cmmtVvMIS7SGs=" + } + }, + { + "path": "/usr/share/apk/keys/armhf" + }, + { + "path": "/usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1U9QtsdN+rYZ9Zh76EfXy00JZHMg=" + } + }, + { + "path": "/usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1bC+AdQ0qWBTmefXiI0PvmYOJoVQ=" + } + }, + { + "path": "/usr/share/apk/keys/armv7" + }, + { + "path": "/usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1U9QtsdN+rYZ9Zh76EfXy00JZHMg=" + } + }, + { + "path": "/usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1xbIVu7ScwqGHxXGwI22aSe5OdUY=" + } + }, + { + "path": "/usr/share/apk/keys/mips64" + }, + { + "path": "/usr/share/apk/keys/mips64/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1hCZdFx+LvzbLtPs753je78gEEBQ=" + } + }, + { + "path": "/usr/share/apk/keys/ppc64le" + }, + { + "path": "/usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1t21dhCLbTJmAHXSCeOMq/2vfSgo=" + } + }, + { + "path": "/usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1PS9zNIPJanC8qcsc5qarEWqhV5Q=" + } + }, + { + "path": "/usr/share/apk/keys/riscv64" + }, + { + "path": "/usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1NVPbZavaXpsItFwQYDWbpor7yYE=" + } + }, + { + "path": "/usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1U6tfuKRy5J8C6iaKPMZaT/e8tbA=" + } + }, + { + "path": "/usr/share/apk/keys/s390x" + }, + { + "path": "/usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1sjbV2r2w0Ih2vwdzC4Jq6UI7cMQ=" + } + }, + { + "path": "/usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1l09xa7RnbOIC1dI9FqbaCfS/GXY=" + } + }, + { + "path": "/usr/share/apk/keys/x86" + }, + { + "path": "/usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1Ii51i7Nrc4uft14HhqugaUqdH64=" + } + }, + { + "path": "/usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1Y49eVxhpvftbQ3yAdvlLfcrPLTU=" + } + }, + { + "path": "/usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1HjdvcVkpBZzr1aSe3p7oQfAtm/E=" + } + }, + { + "path": "/usr/share/apk/keys/x86_64" + }, + { + "path": "/usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1Ii51i7Nrc4uft14HhqugaUqdH64=" + } + }, + { + "path": "/usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1AUFY+fwSBTcrYetjT7NHvafrSQc=" + } + }, + { + "path": "/usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1qKA23VzMUDle+Dqnrr5Kz+Xvty4=" + } + } + ] + } + }, + { + "id": "9bb9cb82a4ce72b1", + "name": "apk-tools", + "version": "2.12.9-r3", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:apk-tools:apk-tools:2.12.9-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk-tools:apk_tools:2.12.9-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk_tools:apk-tools:2.12.9-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk_tools:apk_tools:2.12.9-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk:apk-tools:2.12.9-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk:apk_tools:2.12.9-r3:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/apk-tools@2.12.9-r3?arch=x86_64&upstream=apk-tools&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "apk-tools", + "originPackage": "apk-tools", + "maintainer": "Natanael Copa ", + "version": "2.12.9-r3", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://gitlab.alpinelinux.org/alpine/apk-tools", + "description": "Alpine Package Keeper - package manager for alpine", + "size": 120745, + "installedSize": 307200, + "pullDependencies": "musl>=1.2 ca-certificates-bundle so:libc.musl-x86_64.so.1 so:libcrypto.so.1.1 so:libssl.so.1.1 so:libz.so.1", + "pullChecksum": "Q1VFFFWMKjB9aRkehIATc5kwgAhlU=", + "gitCommitOfApkPort": "34d90ac8388e88126893f5d27ea35d304e65e5ab", + "files": [ + { + "path": "/etc" + }, + { + "path": "/etc/apk" + }, + { + "path": "/etc/apk/keys" + }, + { + "path": "/etc/apk/protected_paths.d" + }, + { + "path": "/lib" + }, + { + "path": "/lib/libapk.so.3.12.0", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1kVeagJvcGMIKp8ijGOxaZD08ONs=" + } + }, + { + "path": "/sbin" + }, + { + "path": "/sbin/apk", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1P1oUBG/VMMhnndf2fBXsZXBjHVE=" + } + }, + { + "path": "/var" + }, + { + "path": "/var/cache" + }, + { + "path": "/var/cache/misc" + }, + { + "path": "/var/lib" + }, + { + "path": "/var/lib/apk" + } + ] + } + }, + { + "id": "7c2aa27c30c5de7b", + "name": "busybox", + "version": "1.35.0-r13", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:busybox:busybox:1.35.0-r13:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/busybox@1.35.0-r13?arch=x86_64&upstream=busybox&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "busybox", + "originPackage": "busybox", + "maintainer": "Sören Tempel ", + "version": "1.35.0-r13", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://busybox.net/", + "description": "Size optimized toolbox of many common UNIX utilities", + "size": 506043, + "installedSize": 958464, + "pullDependencies": "so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1ZsG5DDUmlPVaWIsLjIVbZVBFVGY=", + "gitCommitOfApkPort": "0c56dbbc237a3a32501c73338cfffcbeb31674ac", + "files": [ + { + "path": "/bin" + }, + { + "path": "/bin/busybox", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1i+X5ZGu6ULc4xcIZBPnSVdBA0bU=" + } + }, + { + "path": "/bin/sh", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1pcfTfDNEbNKQc2s1tia7da05M8Q=" + } + }, + { + "path": "/etc" + }, + { + "path": "/etc/securetty", + "digest": { + "algorithm": "sha1", + "value": "Q1mB95Hq2NUTZ599RDiSsj9w5FrOU=" + } + }, + { + "path": "/etc/udhcpd.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1EgLFjj67ou3eMqp4m3r2ZjnQ7QU=" + } + }, + { + "path": "/etc/logrotate.d" + }, + { + "path": "/etc/logrotate.d/acpid", + "digest": { + "algorithm": "sha1", + "value": "Q1TylyCINVmnS+A/Tead4vZhE7Bks=" + } + }, + { + "path": "/etc/network" + }, + { + "path": "/etc/network/if-down.d" + }, + { + "path": "/etc/network/if-post-down.d" + }, + { + "path": "/etc/network/if-post-up.d" + }, + { + "path": "/etc/network/if-pre-down.d" + }, + { + "path": "/etc/network/if-pre-up.d" + }, + { + "path": "/etc/network/if-up.d" + }, + { + "path": "/etc/network/if-up.d/dad", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "775", + "digest": { + "algorithm": "sha1", + "value": "Q1ORf+lPRKuYgdkBBcKoevR1t60Q4=" + } + }, + { + "path": "/sbin" + }, + { + "path": "/tmp", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "1777" + }, + { + "path": "/usr" + }, + { + "path": "/usr/sbin" + }, + { + "path": "/usr/share" + }, + { + "path": "/usr/share/udhcpc" + }, + { + "path": "/usr/share/udhcpc/default.script", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1t9vir/ZrX3nbSIYT9BDLWZenkVQ=" + } + }, + { + "path": "/var" + }, + { + "path": "/var/cache" + }, + { + "path": "/var/cache/misc" + }, + { + "path": "/var/lib" + }, + { + "path": "/var/lib/udhcpd" + } + ] + } + }, + { + "id": "461d8f29b121da62", + "name": "ca-certificates-bundle", + "version": "20211220-r0", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "MPL-2.0", + "AND", + "MIT" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:ca-certificates-bundle:ca-certificates-bundle:20211220-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:ca-certificates-bundle:ca_certificates_bundle:20211220-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:ca_certificates_bundle:ca-certificates-bundle:20211220-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:ca_certificates_bundle:ca_certificates_bundle:20211220-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:ca-certificates:ca-certificates-bundle:20211220-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:ca-certificates:ca_certificates_bundle:20211220-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:ca_certificates:ca-certificates-bundle:20211220-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:ca_certificates:ca_certificates_bundle:20211220-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:ca:ca-certificates-bundle:20211220-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:ca:ca_certificates_bundle:20211220-r0:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/ca-certificates-bundle@20211220-r0?arch=x86_64&upstream=ca-certificates&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "ca-certificates-bundle", + "originPackage": "ca-certificates", + "maintainer": "Natanael Copa ", + "version": "20211220-r0", + "license": "MPL-2.0 AND MIT", + "architecture": "x86_64", + "url": "https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/", + "description": "Pre generated bundle of Mozilla certificates", + "size": 119758, + "installedSize": 221184, + "pullDependencies": "", + "pullChecksum": "Q1Y6JMDLyD6AZfUFV64PdXSKLsaX8=", + "gitCommitOfApkPort": "16988f3c77f035072956655194770e15cbc61257", + "files": [ + { + "path": "/etc" + }, + { + "path": "/etc/ssl" + }, + { + "path": "/etc/ssl/cert.pem", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1Nj6gTBdkZpTFW/obJGdpfvK0StA=" + } + }, + { + "path": "/etc/ssl/certs" + }, + { + "path": "/etc/ssl/certs/ca-certificates.crt", + "digest": { + "algorithm": "sha1", + "value": "Q1m2cJofoNZtCCK41yvjTgX4K7dvs=" + } + } + ] + } + }, + { + "id": "ededb9e6ff708347", + "name": "libc-utils", + "version": "0.7.2-r3", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "BSD-2-Clause", + "AND", + "BSD-3-Clause" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:libc-utils:libc-utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc-utils:libc_utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc_utils:libc-utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc_utils:libc_utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc:libc-utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc:libc_utils:0.7.2-r3:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/libc-utils@0.7.2-r3?arch=x86_64&upstream=libc-dev&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "libc-utils", + "originPackage": "libc-dev", + "maintainer": "Natanael Copa ", + "version": "0.7.2-r3", + "license": "BSD-2-Clause AND BSD-3-Clause", + "architecture": "x86_64", + "url": "https://alpinelinux.org", + "description": "Meta package to pull in correct libc", + "size": 1480, + "installedSize": 4096, + "pullDependencies": "musl-utils", + "pullChecksum": "Q1O4GFJRvHz95tPjO84qpEvkNVwDw=", + "gitCommitOfApkPort": "60424133be2e79bbfeff3d58147a22886f817ce2", + "files": [] + } + }, + { + "id": "2f460756f640a2ed", + "name": "libcrypto1.1", + "version": "1.1.1o-r0", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "OpenSSL" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:libcrypto1.1:libcrypto1.1:1.1.1o-r0:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/libcrypto1.1@1.1.1o-r0?arch=x86_64&upstream=openssl&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "libcrypto1.1", + "originPackage": "openssl", + "maintainer": "Timo Teras ", + "version": "1.1.1o-r0", + "license": "OpenSSL", + "architecture": "x86_64", + "url": "https://www.openssl.org/", + "description": "Crypto library from openssl", + "size": 1212701, + "installedSize": 2772992, + "pullDependencies": "so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1Dbj6khXAK5cV3H2N2lIHmpHC8QM=", + "gitCommitOfApkPort": "80367105780451813f9fb5633e82c261ee009a80", + "files": [ + { + "path": "/etc" + }, + { + "path": "/etc/ssl" + }, + { + "path": "/etc/ssl/ct_log_list.cnf", + "digest": { + "algorithm": "sha1", + "value": "Q1olh8TpdAi2QnTl4FK3TjdUiSwTo=" + } + }, + { + "path": "/etc/ssl/ct_log_list.cnf.dist", + "digest": { + "algorithm": "sha1", + "value": "Q1olh8TpdAi2QnTl4FK3TjdUiSwTo=" + } + }, + { + "path": "/etc/ssl/openssl.cnf", + "digest": { + "algorithm": "sha1", + "value": "Q1wGuxVEOK9iGLj1i8D3BSBnT7MJA=" + } + }, + { + "path": "/etc/ssl/openssl.cnf.dist", + "digest": { + "algorithm": "sha1", + "value": "Q1wGuxVEOK9iGLj1i8D3BSBnT7MJA=" + } + }, + { + "path": "/etc/ssl/certs" + }, + { + "path": "/etc/ssl/misc" + }, + { + "path": "/etc/ssl/misc/CA.pl", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1IACevKhK93GYBHp96Ie26jgZ17s=" + } + }, + { + "path": "/etc/ssl/misc/tsget", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q13NVgfr7dQUuGYxur0tNalH6EIjU=" + } + }, + { + "path": "/etc/ssl/misc/tsget.pl", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q11O8fGnxrbKcZo4DgU47mN59NnZg=" + } + }, + { + "path": "/etc/ssl/private" + }, + { + "path": "/lib" + }, + { + "path": "/lib/libcrypto.so.1.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1ST1InIo2/uXkOfZU55xRDmKgYdE=" + } + }, + { + "path": "/usr" + }, + { + "path": "/usr/lib" + }, + { + "path": "/usr/lib/libcrypto.so.1.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1T2si+c7ts7sgDxQYve4B3i1Dgo0=" + } + }, + { + "path": "/usr/lib/engines-1.1" + }, + { + "path": "/usr/lib/engines-1.1/afalg.so", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q17BvPttqsGvUl7b/AlcC+upWHhU0=" + } + }, + { + "path": "/usr/lib/engines-1.1/capi.so", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1yD5Rf4ArQ6h9OiwuKNOEo0sN6k8=" + } + }, + { + "path": "/usr/lib/engines-1.1/padlock.so", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q19KEysZMRxwIyXCQJo45z6Tl9zNU=" + } + } + ] + } + }, + { + "id": "ae8c1b04995ae93", + "name": "libssl1.1", + "version": "1.1.1o-r0", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "OpenSSL" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:libssl1.1:libssl1.1:1.1.1o-r0:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/libssl1.1@1.1.1o-r0?arch=x86_64&upstream=openssl&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "libssl1.1", + "originPackage": "openssl", + "maintainer": "Timo Teras ", + "version": "1.1.1o-r0", + "license": "OpenSSL", + "architecture": "x86_64", + "url": "https://www.openssl.org/", + "description": "SSL shared libraries", + "size": 213137, + "installedSize": 540672, + "pullDependencies": "so:libc.musl-x86_64.so.1 so:libcrypto.so.1.1", + "pullChecksum": "Q1q2s18pXHMvE66AQ7HcAnSxP0xeE=", + "gitCommitOfApkPort": "80367105780451813f9fb5633e82c261ee009a80", + "files": [ + { + "path": "/lib" + }, + { + "path": "/lib/libssl.so.1.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1JJpJbPFfuyXtnNkMVpgvG86Y51A=" + } + }, + { + "path": "/usr" + }, + { + "path": "/usr/lib" + }, + { + "path": "/usr/lib/libssl.so.1.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q18j35pe3yp6HOgMih1wlGP1/mm2c=" + } + } + ] + } + }, + { + "id": "ec1d619a28263eb0", + "name": "musl", + "version": "1.2.3-r0", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "MIT" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:musl:musl:1.2.3-r0:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/musl@1.2.3-r0?arch=x86_64&upstream=musl&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "musl", + "originPackage": "musl", + "maintainer": "Timo Teräs ", + "version": "1.2.3-r0", + "license": "MIT", + "architecture": "x86_64", + "url": "https://musl.libc.org/", + "description": "the musl c library (libc) implementation", + "size": 383304, + "installedSize": 622592, + "pullDependencies": "", + "pullChecksum": "Q1aCu0LmUDoAFSOX49uHvkYC1WasQ=", + "gitCommitOfApkPort": "ee13d43a53938d8a04ba787b9423f3270a3c14a7", + "files": [ + { + "path": "/lib" + }, + { + "path": "/lib/ld-musl-x86_64.so.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1ZZqflKEvStJz4SXV0SDMi3wOtM0=" + } + }, + { + "path": "/lib/libc.musl-x86_64.so.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q17yJ3JFNypA4mxhJJr0ou6CzsJVI=" + } + } + ] + } + }, + { + "id": "b703a8e4e90dd6dc", + "name": "musl-utils", + "version": "1.2.3-r0", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "MIT", + "BSD", + "GPL2+" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:musl-utils:musl-utils:1.2.3-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:musl-utils:musl_utils:1.2.3-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:musl_utils:musl-utils:1.2.3-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:musl_utils:musl_utils:1.2.3-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:musl:musl-utils:1.2.3-r0:*:*:*:*:*:*:*", + "cpe:2.3:a:musl:musl_utils:1.2.3-r0:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/musl-utils@1.2.3-r0?arch=x86_64&upstream=musl&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "musl-utils", + "originPackage": "musl", + "maintainer": "Timo Teräs ", + "version": "1.2.3-r0", + "license": "MIT BSD GPL2+", + "architecture": "x86_64", + "url": "https://musl.libc.org/", + "description": "the musl c library (libc) implementation", + "size": 36938, + "installedSize": 135168, + "pullDependencies": "scanelf so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1VVfxM3uSO0X38HWpj1LN0E61fxo=", + "gitCommitOfApkPort": "ee13d43a53938d8a04ba787b9423f3270a3c14a7", + "files": [ + { + "path": "/sbin" + }, + { + "path": "/sbin/ldconfig", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1Kja2+POZKxEkUOZqwSjC6kmaED4=" + } + }, + { + "path": "/usr" + }, + { + "path": "/usr/bin" + }, + { + "path": "/usr/bin/getconf", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1hRQA0bFX/Ywt3mbD6NpV9BIbPrU=" + } + }, + { + "path": "/usr/bin/getent", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1khbUz6GBU8iiQ3oV6Ln2hlXf4/0=" + } + }, + { + "path": "/usr/bin/iconv", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1H1QpYQDkdYIK2LLGv3m6qjpLyAY=" + } + }, + { + "path": "/usr/bin/ldd", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1yFAhGggmL7ERgbIA7KQxyTzf3ks=" + } + } + ] + } + }, + { + "id": "7514a98b23f9928c", + "name": "scanelf", + "version": "1.3.4-r0", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:scanelf:scanelf:1.3.4-r0:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/scanelf@1.3.4-r0?arch=x86_64&upstream=pax-utils&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "scanelf", + "originPackage": "pax-utils", + "maintainer": "Natanael Copa ", + "version": "1.3.4-r0", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities", + "description": "Scan ELF binaries for stuff", + "size": 36745, + "installedSize": 94208, + "pullDependencies": "so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1Gcqe+ND8DFOlhM3R0o5KyZjR2oE=", + "gitCommitOfApkPort": "d7ae612a3cc5f827289d915783b4cbf8c7207947", + "files": [ + { + "path": "/usr" + }, + { + "path": "/usr/bin" + }, + { + "path": "/usr/bin/scanelf", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1YPb72qHJJvTH6mJkN9DuExFQQh8=" + } + } + ] + } + }, + { + "id": "281d128ab12de2d5", + "name": "ssl_client", + "version": "1.35.0-r13", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:ssl-client:ssl-client:1.35.0-r13:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl-client:ssl_client:1.35.0-r13:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl_client:ssl-client:1.35.0-r13:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl_client:ssl_client:1.35.0-r13:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl:ssl-client:1.35.0-r13:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl:ssl_client:1.35.0-r13:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/ssl_client@1.35.0-r13?arch=x86_64&upstream=busybox&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "ssl_client", + "originPackage": "busybox", + "maintainer": "Sören Tempel ", + "version": "1.35.0-r13", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://busybox.net/", + "description": "EXternal ssl_client for busybox wget", + "size": 5007, + "installedSize": 28672, + "pullDependencies": "so:libc.musl-x86_64.so.1 so:libcrypto.so.1.1 so:libssl.so.1.1", + "pullChecksum": "Q1OMXCzz8+XIkhSoAbBmVEPrmWKRk=", + "gitCommitOfApkPort": "0c56dbbc237a3a32501c73338cfffcbeb31674ac", + "files": [ + { + "path": "/usr" + }, + { + "path": "/usr/bin" + }, + { + "path": "/usr/bin/ssl_client", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1C6qA8RFt5eagesbaqu4plc6Ctyc=" + } + } + ] + } + }, + { + "id": "5d594c861402c5a6", + "name": "zlib", + "version": "1.2.12-r1", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + ], + "licenses": [ + "Zlib" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:zlib:zlib:1.2.12-r1:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/zlib@1.2.12-r1?arch=x86_64&upstream=zlib&distro=alpine-3.16.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "zlib", + "originPackage": "zlib", + "maintainer": "Natanael Copa ", + "version": "1.2.12-r1", + "license": "Zlib", + "architecture": "x86_64", + "url": "https://zlib.net/", + "description": "A compression/decompression Library", + "size": 53330, + "installedSize": 110592, + "pullDependencies": "so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1/uqp2EhUUGWFZvyCfd2oq7g4YwY=", + "gitCommitOfApkPort": "6754a9005594de4243aad9b2744546971078c6c7", + "files": [ + { + "path": "/lib" + }, + { + "path": "/lib/libz.so.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1+aBjyJ7dmLatVkyqCNnAChlDZh8=" + } + }, + { + "path": "/lib/libz.so.1.2.12", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q166T7ZUU3mha9/Q7xuZVZjur71IA=" + } + } + ] + } + } + ], + "artifactRelationships": [ + { + "parent": "fd4eac957249f9", + "child": "d6619dbb4e61e3c0", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "34652d52c9fb00b5", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "39891ab304a213fc", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "bfc2aa115a951a54", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "553aec7c6069cb08", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "1be04f1ec64e9bb4", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "40630faf2d642f6c", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "2a8cf40862dbc1be", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "622aa7366ad0fbc7", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "437715b51b138ddc", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "25bbc6aa234cf1c3", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "95795b9537822e0c", + "type": "contains" + }, + { + "parent": "fd4eac957249f9", + "child": "2d5fdaec9f2e690b", + "type": "contains" + }, + { + "parent": "ec1d619a28263eb0", + "child": "b831fee3b1cee969", + "type": "contains" + }, + { + "parent": "ec1d619a28263eb0", + "child": "b831fee3b1cee969", + "type": "contains" + }, + { + "parent": "7c2aa27c30c5de7b", + "child": "49a04f1051377d09", + "type": "contains" + }, + { + "parent": "7c2aa27c30c5de7b", + "child": "49a04f1051377d09", + "type": "contains" + }, + { + "parent": "7c2aa27c30c5de7b", + "child": "c2eb8b585052a5dd", + "type": "contains" + }, + { + "parent": "7c2aa27c30c5de7b", + "child": "a90e4a178cc65318", + "type": "contains" + }, + { + "parent": "7c2aa27c30c5de7b", + "child": "2d852d9983f2fa0e", + "type": "contains" + }, + { + "parent": "7c2aa27c30c5de7b", + "child": "60347dd8baf4dd58", + "type": "contains" + }, + { + "parent": "7c2aa27c30c5de7b", + "child": "451556da451d900a", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "6479cf8f20110b56", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "65ecaf67bf594e5e", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "70135c61f9c337dd", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "4b50c7fd1fd1e4de", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "5ef3a94c503884a9", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "fabc80c03bfd27f2", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "f6204a7466a28c0a", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "1cd619b7a6569c95", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "f17961b4abca2ba9", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "8309ebd150159b28", + "type": "contains" + }, + { + "parent": "f94c5d5ad004b804", + "child": "2c5c6bf75c819ff7", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "fe3f34130a7bcd76", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "76d630b9cc3554e6", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "85a9368e6acad7b0", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "6177e794853e88b0", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "c8612356c5be2818", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "31de17975c268ba6", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "5414ea87afc93102", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "278182d9fca2d539", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "c540f9de475e1c99", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "4c141bfc6e0b2012", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "7df5f700660d0243", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "31de17975c268ba6", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "1752b5d750ddd7da", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "360a542e08c76041", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "da4590830834806c", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "3b0a229c128c0953", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "3921a8b08aa03711", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "f18286a4b143f834", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "d6525ff1962e06b5", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "cf4d207d69c391ce", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "17a1130bb9bafdbe", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "cf9983158e29fea8", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "5414ea87afc93102", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "a43c4f1f468d4ed5", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "4c141bfc6e0b2012", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "d6525ff1962e06b5", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "4c141bfc6e0b2012", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "cf9983158e29fea8", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "da4590830834806c", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "1752b5d750ddd7da", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "cf4d207d69c391ce", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "3b0a229c128c0953", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "a43c4f1f468d4ed5", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "360a542e08c76041", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "17a1130bb9bafdbe", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "278182d9fca2d539", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "c540f9de475e1c99", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "f18286a4b143f834", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "278182d9fca2d539", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "7df5f700660d0243", + "type": "contains" + }, + { + "parent": "3f53edc3b14056c3", + "child": "3921a8b08aa03711", + "type": "contains" + }, + { + "parent": "461d8f29b121da62", + "child": "67aa15114e4e875f", + "type": "contains" + }, + { + "parent": "461d8f29b121da62", + "child": "67aa15114e4e875f", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "5ddafe7b9147fe01", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "d4e2f6ec43904e17", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "198b60a97c5a8090", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "7328030e9d09f13", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "7328030e9d09f13", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "48d96c6850fcaa9d", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "14174d893b86fd07", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "828f2ded53bdf928", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "eb0c8c365e9fb81d", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "c52122ce854884b8", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "91b5f6690e50a4d7", + "type": "contains" + }, + { + "parent": "2f460756f640a2ed", + "child": "828f2ded53bdf928", + "type": "contains" + }, + { + "parent": "ae8c1b04995ae93", + "child": "554f4cfe9c8c31e9", + "type": "contains" + }, + { + "parent": "ae8c1b04995ae93", + "child": "554f4cfe9c8c31e9", + "type": "contains" + }, + { + "parent": "281d128ab12de2d5", + "child": "1a3ef8624212d79a", + "type": "contains" + }, + { + "parent": "5d594c861402c5a6", + "child": "6f4aaf35d43340ca", + "type": "contains" + }, + { + "parent": "5d594c861402c5a6", + "child": "6f4aaf35d43340ca", + "type": "contains" + }, + { + "parent": "9bb9cb82a4ce72b1", + "child": "4a8201a3811cedf", + "type": "contains" + }, + { + "parent": "9bb9cb82a4ce72b1", + "child": "7436791df0832720", + "type": "contains" + }, + { + "parent": "7514a98b23f9928c", + "child": "43a5c50dd597eaa7", + "type": "contains" + }, + { + "parent": "b703a8e4e90dd6dc", + "child": "6837b971cfedb307", + "type": "contains" + }, + { + "parent": "b703a8e4e90dd6dc", + "child": "52a7c636152c066f", + "type": "contains" + }, + { + "parent": "b703a8e4e90dd6dc", + "child": "e358c9fd2854eaf4", + "type": "contains" + }, + { + "parent": "b703a8e4e90dd6dc", + "child": "5d0201cc52b4452f", + "type": "contains" + }, + { + "parent": "b703a8e4e90dd6dc", + "child": "30eb90b045fc242b", + "type": "contains" + } + ], + "files": [ + { + "id": "49a04f1051377d09", + "location": { + "path": "/bin/busybox", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "fe3f34130a7bcd76", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "76d630b9cc3554e6", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "85a9368e6acad7b0", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "6177e794853e88b0", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "c8612356c5be2818", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "6479cf8f20110b56", + "location": { + "path": "/etc/crontabs/root", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "d6619dbb4e61e3c0", + "location": { + "path": "/etc/fstab", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "34652d52c9fb00b5", + "location": { + "path": "/etc/group", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "39891ab304a213fc", + "location": { + "path": "/etc/hostname", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "bfc2aa115a951a54", + "location": { + "path": "/etc/hosts", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "553aec7c6069cb08", + "location": { + "path": "/etc/inittab", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "c2eb8b585052a5dd", + "location": { + "path": "/etc/logrotate.d/acpid", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "65ecaf67bf594e5e", + "location": { + "path": "/etc/modprobe.d/aliases.conf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "70135c61f9c337dd", + "location": { + "path": "/etc/modprobe.d/blacklist.conf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "4b50c7fd1fd1e4de", + "location": { + "path": "/etc/modprobe.d/i386.conf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "5ef3a94c503884a9", + "location": { + "path": "/etc/modprobe.d/kms.conf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "1be04f1ec64e9bb4", + "location": { + "path": "/etc/modules", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "fabc80c03bfd27f2", + "location": { + "path": "/etc/motd", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "a90e4a178cc65318", + "location": { + "path": "/etc/network/if-up.d/dad", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "40630faf2d642f6c", + "location": { + "path": "/etc/passwd", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "2a8cf40862dbc1be", + "location": { + "path": "/etc/profile", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "f6204a7466a28c0a", + "location": { + "path": "/etc/profile.d/README", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "1cd619b7a6569c95", + "location": { + "path": "/etc/profile.d/color_prompt.sh.disabled", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "f17961b4abca2ba9", + "location": { + "path": "/etc/profile.d/locale.sh", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "622aa7366ad0fbc7", + "location": { + "path": "/etc/protocols", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "2d852d9983f2fa0e", + "location": { + "path": "/etc/securetty", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "437715b51b138ddc", + "location": { + "path": "/etc/services", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "25bbc6aa234cf1c3", + "location": { + "path": "/etc/shadow", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "95795b9537822e0c", + "location": { + "path": "/etc/shells", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "67aa15114e4e875f", + "location": { + "path": "/etc/ssl/certs/ca-certificates.crt", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "5ddafe7b9147fe01", + "location": { + "path": "/etc/ssl/ct_log_list.cnf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "d4e2f6ec43904e17", + "location": { + "path": "/etc/ssl/ct_log_list.cnf.dist", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "198b60a97c5a8090", + "location": { + "path": "/etc/ssl/misc/CA.pl", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "7328030e9d09f13", + "location": { + "path": "/etc/ssl/misc/tsget.pl", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "48d96c6850fcaa9d", + "location": { + "path": "/etc/ssl/openssl.cnf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "14174d893b86fd07", + "location": { + "path": "/etc/ssl/openssl.cnf.dist", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "2d5fdaec9f2e690b", + "location": { + "path": "/etc/sysctl.conf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "60347dd8baf4dd58", + "location": { + "path": "/etc/udhcpd.conf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "b831fee3b1cee969", + "location": { + "path": "/lib/ld-musl-x86_64.so.1", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "4a8201a3811cedf", + "location": { + "path": "/lib/libapk.so.3.12.0", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "828f2ded53bdf928", + "location": { + "path": "/lib/libcrypto.so.1.1", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "554f4cfe9c8c31e9", + "location": { + "path": "/lib/libssl.so.1.1", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "6f4aaf35d43340ca", + "location": { + "path": "/lib/libz.so.1.2.12", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "8309ebd150159b28", + "location": { + "path": "/lib/sysctl.d/00-alpine.conf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "7436791df0832720", + "location": { + "path": "/sbin/apk", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "6837b971cfedb307", + "location": { + "path": "/sbin/ldconfig", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "2c5c6bf75c819ff7", + "location": { + "path": "/sbin/mkmntdirs", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "52a7c636152c066f", + "location": { + "path": "/usr/bin/getconf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "e358c9fd2854eaf4", + "location": { + "path": "/usr/bin/getent", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "5d0201cc52b4452f", + "location": { + "path": "/usr/bin/iconv", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "30eb90b045fc242b", + "location": { + "path": "/usr/bin/ldd", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "43a5c50dd597eaa7", + "location": { + "path": "/usr/bin/scanelf", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "1a3ef8624212d79a", + "location": { + "path": "/usr/bin/ssl_client", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "eb0c8c365e9fb81d", + "location": { + "path": "/usr/lib/engines-1.1/afalg.so", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "c52122ce854884b8", + "location": { + "path": "/usr/lib/engines-1.1/capi.so", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "91b5f6690e50a4d7", + "location": { + "path": "/usr/lib/engines-1.1/padlock.so", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "278182d9fca2d539", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "c540f9de475e1c99", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "4c141bfc6e0b2012", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "7df5f700660d0243", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "31de17975c268ba6", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "1752b5d750ddd7da", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "360a542e08c76041", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "da4590830834806c", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "3b0a229c128c0953", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "3921a8b08aa03711", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "f18286a4b143f834", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "d6525ff1962e06b5", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "cf4d207d69c391ce", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "17a1130bb9bafdbe", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "cf9983158e29fea8", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "5414ea87afc93102", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "a43c4f1f468d4ed5", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + }, + { + "id": "451556da451d900a", + "location": { + "path": "/usr/share/udhcpc/default.script", + "layerID": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d" + } + } + ], + "source": { + "type": "image", + "target": { + "userInput": "alpine:3.16.0", + "imageID": "sha256:e66264b98777e12192600bf9b4d663655c98a090072e1bab49e233d7531d1294", + "manifestDigest": "sha256:29abcd0bdc941ba53702219a4c7285a25d156bd0da93d7dec71187efacb22789", + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "tags": [ + "alpine:3.16.0" + ], + "imageSize": 5524281, + "layers": [ + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:24302eb7d9085da80f016e7e4ae55417e412fb7e0a8021e95e3b60c67cde557d", + "size": 5524281 + } + ], + "manifest": "eyJzY2hlbWFWZXJzaW9uIjoyLCJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiY29uZmlnIjp7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuY29udGFpbmVyLmltYWdlLnYxK2pzb24iLCJzaXplIjoxNDcyLCJkaWdlc3QiOiJzaGEyNTY6ZTY2MjY0Yjk4Nzc3ZTEyMTkyNjAwYmY5YjRkNjYzNjU1Yzk4YTA5MDA3MmUxYmFiNDllMjMzZDc1MzFkMTI5NCJ9LCJsYXllcnMiOlt7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLCJzaXplIjo1ODExMjAwLCJkaWdlc3QiOiJzaGEyNTY6MjQzMDJlYjdkOTA4NWRhODBmMDE2ZTdlNGFlNTU0MTdlNDEyZmI3ZTBhODAyMWU5NWUzYjYwYzY3Y2RlNTU3ZCJ9XX0=", + "config": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iXSwiQ21kIjpbIi9iaW4vc2giXSwiSW1hZ2UiOiJzaGEyNTY6ZjllZTNhMzgwMGU4ZWVjMWQ4ZDdmYjc2OTA2ZGQ1ODU5NDk4YjEyZDI3YTAyNThiM2RmMzViY2E5ZmE4YTg2NyIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpudWxsLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOm51bGx9LCJjb250YWluZXIiOiI0OTMyMGFiNDcwMTM0NWM2MTNkMjY2ZDJiM2NmMmZmMDI2NWM1NTNkNDYzZjkwNjFlNDc5YjZjOGVmODM5YTFmIiwiY29udGFpbmVyX2NvbmZpZyI6eyJIb3N0bmFtZSI6IjQ5MzIwYWI0NzAxMyIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iXSwiQ21kIjpbIi9iaW4vc2giLCItYyIsIiMobm9wKSAiLCJDTUQgW1wiL2Jpbi9zaFwiXSJdLCJJbWFnZSI6InNoYTI1NjpmOWVlM2EzODAwZThlZWMxZDhkN2ZiNzY5MDZkZDU4NTk0OThiMTJkMjdhMDI1OGIzZGYzNWJjYTlmYThhODY3IiwiVm9sdW1lcyI6bnVsbCwiV29ya2luZ0RpciI6IiIsIkVudHJ5cG9pbnQiOm51bGwsIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6e319LCJjcmVhdGVkIjoiMjAyMi0wNS0yM1QxOToxOTozMS45NzA5NjcxNzRaIiwiZG9ja2VyX3ZlcnNpb24iOiIyMC4xMC4xMiIsImhpc3RvcnkiOlt7ImNyZWF0ZWQiOiIyMDIyLTA1LTIzVDE5OjE5OjMwLjQxMzI5MDE4N1oiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQUREIGZpbGU6OGU4MTExNjM2ODY2OWVkM2RkMzYxYmM4OThkNjFiZmYyNDlmNTI0MTM5YTIzOWZkYWYzZWM0Njg2OWEzOTkyMSBpbiAvICJ9LHsiY3JlYXRlZCI6IjIwMjItMDUtMjNUMTk6MTk6MzEuOTcwOTY3MTc0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgQ01EIFtcIi9iaW4vc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX1dLCJvcyI6ImxpbnV4Iiwicm9vdGZzIjp7InR5cGUiOiJsYXllcnMiLCJkaWZmX2lkcyI6WyJzaGEyNTY6MjQzMDJlYjdkOTA4NWRhODBmMDE2ZTdlNGFlNTU0MTdlNDEyZmI3ZTBhODAyMWU5NWUzYjYwYzY3Y2RlNTU3ZCJdfX0=", + "repoDigests": [ + "alpine@sha256:686d8c9dfa6f3ccfc8230bc3178d23f84eeaf7e457f36f271ab1acc53015037c" + ], + "architecture": "amd64", + "os": "linux" + } + }, + "distro": { + "prettyName": "Alpine Linux v3.16", + "name": "Alpine Linux", + "id": "alpine", + "versionID": "3.16.0", + "homeURL": "https://alpinelinux.org/", + "bugReportURL": "https://gitlab.alpinelinux.org/alpine/aports/-/issues" + }, + "descriptor": { + "name": "syft", + "version": "0.46.3", + "configuration": { + "configPath": "", + "verbosity": 0, + "quiet": false, + "output": [ + "json" + ], + "file": "", + "check-for-app-update": true, + "anchore": { + "host": "", + "path": "", + "dockerfile": "", + "overwrite-existing-image": false, + "import-timeout": 30 + }, + "dev": { + "profile-cpu": false, + "profile-mem": false + }, + "log": { + "structured": false, + "level": "warning", + "file-location": "" + }, + "package": { + "cataloger": { + "enabled": true, + "scope": "Squashed" + }, + "search-unindexed-archives": false, + "search-indexed-archives": true + }, + "file-metadata": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + }, + "digests": [ + "sha256" + ] + }, + "file-classification": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + } + }, + "file-contents": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + }, + "skip-files-above-size": 1048576, + "globs": [] + }, + "secrets": { + "cataloger": { + "enabled": false, + "scope": "AllLayers" + }, + "additional-patterns": {}, + "exclude-pattern-names": [], + "reveal-values": false, + "skip-files-above-size": 1048576 + }, + "registry": { + "insecure-skip-tls-verify": false, + "insecure-use-http": false, + "auth": [] + }, + "exclude": [], + "attest": { + "key": "", + "cert": "", + "noUpload": false, + "force": false, + "recursive": false, + "replace": false, + "fulcioUrl": "https://fulcio.sigstore.dev", + "fulcio_identity_token": "", + "insecure_skip_verify": false, + "rekorUrl": "https://rekor.sigstore.dev", + "oidcIssuer": "https://oauth2.sigstore.dev/auth", + "oidcClientId": "sigstore", + "OIDCRedirectURL": "" + }, + "platform": "" + } + }, + "schema": { + "version": "3.2.3", + "url": "https://raw.githubusercontent.com/anchore/syft/main/schema/json/schema-3.2.3.json" + } +} diff --git a/internal/vuln/grype/fixtures/vulnerable-alpine-sbom.json b/internal/vuln/grype/fixtures/vulnerable-alpine-sbom.json new file mode 100644 index 0000000..cb2fa98 --- /dev/null +++ b/internal/vuln/grype/fixtures/vulnerable-alpine-sbom.json @@ -0,0 +1,3093 @@ +{ + "artifacts": [ + { + "id": "9f527213f4d2a873", + "name": "alpine-baselayout", + "version": "3.2.0-r18", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:alpine-baselayout:alpine-baselayout:3.2.0-r18:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine-baselayout:alpine_baselayout:3.2.0-r18:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_baselayout:alpine-baselayout:3.2.0-r18:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_baselayout:alpine_baselayout:3.2.0-r18:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine-baselayout:3.2.0-r18:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine_baselayout:3.2.0-r18:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/alpine-baselayout@3.2.0-r18?arch=x86_64&upstream=alpine-baselayout&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "alpine-baselayout", + "originPackage": "alpine-baselayout", + "maintainer": "Natanael Copa ", + "version": "3.2.0-r18", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://git.alpinelinux.org/cgit/aports/tree/main/alpine-baselayout", + "description": "Alpine base dir structure and init scripts", + "size": 21101, + "installedSize": 413696, + "pullDependencies": "/bin/sh so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1EymS6rAgmGs7XYhqdyEoiWgEZ6A=", + "gitCommitOfApkPort": "dfa1379357a321e638feef1cd8d55ab03d020f45", + "files": [ + { + "path": "/dev" + }, + { + "path": "/dev/pts" + }, + { + "path": "/dev/shm" + }, + { + "path": "/etc" + }, + { + "path": "/etc/fstab", + "digest": { + "algorithm": "sha1", + "value": "Q11Q7hNe8QpDS531guqCdrXBzoA/o=" + } + }, + { + "path": "/etc/group", + "digest": { + "algorithm": "sha1", + "value": "Q13K+olJg5ayzHSVNUkggZJXuB+9Y=" + } + }, + { + "path": "/etc/hostname", + "digest": { + "algorithm": "sha1", + "value": "Q16nVwYVXP/tChvUPdukVD2ifXOmc=" + } + }, + { + "path": "/etc/hosts", + "digest": { + "algorithm": "sha1", + "value": "Q1BD6zJKZTRWyqGnPi4tSfd3krsMU=" + } + }, + { + "path": "/etc/inittab", + "digest": { + "algorithm": "sha1", + "value": "Q1TsthbhW7QzWRe1E/NKwTOuD4pHc=" + } + }, + { + "path": "/etc/modules", + "digest": { + "algorithm": "sha1", + "value": "Q1toogjUipHGcMgECgPJX64SwUT1M=" + } + }, + { + "path": "/etc/motd", + "digest": { + "algorithm": "sha1", + "value": "Q1XmduVVNURHQ27TvYp1Lr5TMtFcA=" + } + }, + { + "path": "/etc/mtab", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1kiljhXXH1LlQroHsEJIkPZg2eiw=" + } + }, + { + "path": "/etc/passwd", + "digest": { + "algorithm": "sha1", + "value": "Q1TchuuLUfur0izvfZQZxgN/LJhB8=" + } + }, + { + "path": "/etc/profile", + "digest": { + "algorithm": "sha1", + "value": "Q1VmHPWPjjvz4oCsbmYCUB4uWpSkc=" + } + }, + { + "path": "/etc/protocols", + "digest": { + "algorithm": "sha1", + "value": "Q1omKlp3vgGq2ZqYzyD/KHNdo8rDc=" + } + }, + { + "path": "/etc/services", + "digest": { + "algorithm": "sha1", + "value": "Q19WLCv5ItKg4MH7RWfNRh1I7byQc=" + } + }, + { + "path": "/etc/shadow", + "ownerUid": "0", + "ownerGid": "42", + "permissions": "640", + "digest": { + "algorithm": "sha1", + "value": "Q1ltrPIAW2zHeDiajsex2Bdmq3uqA=" + } + }, + { + "path": "/etc/shells", + "digest": { + "algorithm": "sha1", + "value": "Q1ojm2YdpCJ6B/apGDaZ/Sdb2xJkA=" + } + }, + { + "path": "/etc/sysctl.conf", + "digest": { + "algorithm": "sha1", + "value": "Q14upz3tfnNxZkIEsUhWn7Xoiw96g=" + } + }, + { + "path": "/etc/apk" + }, + { + "path": "/etc/conf.d" + }, + { + "path": "/etc/crontabs" + }, + { + "path": "/etc/crontabs/root", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "600", + "digest": { + "algorithm": "sha1", + "value": "Q1vfk1apUWI4yLJGhhNRd0kJixfvY=" + } + }, + { + "path": "/etc/init.d" + }, + { + "path": "/etc/modprobe.d" + }, + { + "path": "/etc/modprobe.d/aliases.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1WUbh6TBYNVK7e4Y+uUvLs/7viqk=" + } + }, + { + "path": "/etc/modprobe.d/blacklist.conf", + "digest": { + "algorithm": "sha1", + "value": "Q14TdgFHkTdt3uQC+NBtrntOnm9n4=" + } + }, + { + "path": "/etc/modprobe.d/i386.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1pnay/njn6ol9cCssL7KiZZ8etlc=" + } + }, + { + "path": "/etc/modprobe.d/kms.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1ynbLn3GYDpvajba/ldp1niayeog=" + } + }, + { + "path": "/etc/modules-load.d" + }, + { + "path": "/etc/network" + }, + { + "path": "/etc/network/if-down.d" + }, + { + "path": "/etc/network/if-post-down.d" + }, + { + "path": "/etc/network/if-pre-up.d" + }, + { + "path": "/etc/network/if-up.d" + }, + { + "path": "/etc/opt" + }, + { + "path": "/etc/periodic" + }, + { + "path": "/etc/periodic/15min" + }, + { + "path": "/etc/periodic/daily" + }, + { + "path": "/etc/periodic/hourly" + }, + { + "path": "/etc/periodic/monthly" + }, + { + "path": "/etc/periodic/weekly" + }, + { + "path": "/etc/profile.d" + }, + { + "path": "/etc/profile.d/README", + "digest": { + "algorithm": "sha1", + "value": "Q135OWsCzzvnB2fmFx62kbqm1Ax1k=" + } + }, + { + "path": "/etc/profile.d/color_prompt.sh.disabled", + "digest": { + "algorithm": "sha1", + "value": "Q10wL23GuSCVfumMRgakabUI6EsSk=" + } + }, + { + "path": "/etc/profile.d/locale.sh", + "digest": { + "algorithm": "sha1", + "value": "Q1S8j+WW71mWxfVy8ythqU7HUVoBw=" + } + }, + { + "path": "/etc/sysctl.d" + }, + { + "path": "/home" + }, + { + "path": "/lib" + }, + { + "path": "/lib/firmware" + }, + { + "path": "/lib/mdev" + }, + { + "path": "/lib/modules-load.d" + }, + { + "path": "/lib/sysctl.d" + }, + { + "path": "/lib/sysctl.d/00-alpine.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1HpElzW1xEgmKfERtTy7oommnq6c=" + } + }, + { + "path": "/media" + }, + { + "path": "/media/cdrom" + }, + { + "path": "/media/floppy" + }, + { + "path": "/media/usb" + }, + { + "path": "/mnt" + }, + { + "path": "/opt" + }, + { + "path": "/proc" + }, + { + "path": "/root", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "700" + }, + { + "path": "/run" + }, + { + "path": "/sbin" + }, + { + "path": "/sbin/mkmntdirs", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1qjkdyRJcYblGC6RMqUR4Bdb5g10=" + } + }, + { + "path": "/srv" + }, + { + "path": "/sys" + }, + { + "path": "/tmp", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "1777" + }, + { + "path": "/usr" + }, + { + "path": "/usr/lib" + }, + { + "path": "/usr/lib/modules-load.d" + }, + { + "path": "/usr/local" + }, + { + "path": "/usr/local/bin" + }, + { + "path": "/usr/local/lib" + }, + { + "path": "/usr/local/share" + }, + { + "path": "/usr/sbin" + }, + { + "path": "/usr/share" + }, + { + "path": "/usr/share/man" + }, + { + "path": "/usr/share/misc" + }, + { + "path": "/var" + }, + { + "path": "/var/run", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q11/SNZz/8cK2dSKK+cJpVrZIuF4Q=" + } + }, + { + "path": "/var/cache" + }, + { + "path": "/var/cache/misc" + }, + { + "path": "/var/empty", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "555" + }, + { + "path": "/var/lib" + }, + { + "path": "/var/lib/misc" + }, + { + "path": "/var/local" + }, + { + "path": "/var/lock" + }, + { + "path": "/var/lock/subsys" + }, + { + "path": "/var/log" + }, + { + "path": "/var/mail" + }, + { + "path": "/var/opt" + }, + { + "path": "/var/spool" + }, + { + "path": "/var/spool/mail", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1dzbdazYZA2nTzSIG3YyNw7d4Juc=" + } + }, + { + "path": "/var/spool/cron" + }, + { + "path": "/var/spool/cron/crontabs", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1OFZt+ZMp7j0Gny0rqSKuWJyqYmA=" + } + }, + { + "path": "/var/tmp", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "1777" + } + ] + } + }, + { + "id": "1a72ca3b88e1b67e", + "name": "alpine-keys", + "version": "2.4-r1", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "MIT" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:alpine-keys:alpine-keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine-keys:alpine_keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_keys:alpine-keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine_keys:alpine_keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine-keys:2.4-r1:*:*:*:*:*:*:*", + "cpe:2.3:a:alpine:alpine_keys:2.4-r1:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/alpine-keys@2.4-r1?arch=x86_64&upstream=alpine-keys&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "alpine-keys", + "originPackage": "alpine-keys", + "maintainer": "Natanael Copa ", + "version": "2.4-r1", + "license": "MIT", + "architecture": "x86_64", + "url": "https://alpinelinux.org", + "description": "Public keys for Alpine Linux packages", + "size": 13362, + "installedSize": 159744, + "pullDependencies": "", + "pullChecksum": "Q1kDF2stKo3e/RumlA8ZrRfCwdSv8=", + "gitCommitOfApkPort": "aab68f8c9ab434a46710de8e12fb3206e2930a59", + "files": [ + { + "path": "/etc" + }, + { + "path": "/etc/apk" + }, + { + "path": "/etc/apk/keys" + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1OvCFSO94z97c80mIDCxqGkh2Og4=" + } + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1v7YWZYzAWoclaLDI45jEguI7YN0=" + } + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1NnGuDsdQOx4ZNYfB3N97eLyGPkI=" + } + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1lZlTESNrelWTNkL/oQzmAU8a99A=" + } + }, + { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1WNW6Sy87HpJ3IdemQy8pju33Kms=" + } + }, + { + "path": "/usr" + }, + { + "path": "/usr/share" + }, + { + "path": "/usr/share/apk" + }, + { + "path": "/usr/share/apk/keys" + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1OvCFSO94z97c80mIDCxqGkh2Og4=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1v7YWZYzAWoclaLDI45jEguI7YN0=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1BTqS+H/UUyhQuzHwiBl47+BTKuU=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1NnGuDsdQOx4ZNYfB3N97eLyGPkI=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1Oaxdcsa6AYoPdLi0U4lO3J2we18=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1yPq+su65ksNox3uXB+DR7P18+QU=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1MpZDNX0LeLHvSOwVUyXiXx11NN0=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1glCQ/eJbvA5xqcswdjFrWv5Fnk0=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1XUdDEoNTtjlvrS+iunk6ziFgIpU=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1lZlTESNrelWTNkL/oQzmAU8a99A=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1WNW6Sy87HpJ3IdemQy8pju33Kms=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1I9Dy6hryacL2YWXg+KlE6WvwEd4=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1NSnsgmcMbU4g7j5JaNs0tVHpHVA=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1VaMBBk4Rxv6boPLKF+I085Q8y2E=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q13hJBMHAUquPbp5jpAPFjQI2Y1vQ=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q1V/a5P9pKRJb6tihE3e8O6xaPgLU=" + } + }, + { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "digest": { + "algorithm": "sha1", + "value": "Q13wLJrcKQajql5a1p9Q45U+ZXENA=" + } + }, + { + "path": "/usr/share/apk/keys/aarch64" + }, + { + "path": "/usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q17j9nWJkQ+wfIuVQzIFrmFZ7fSOc=" + } + }, + { + "path": "/usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1snr+Q1UbfHyCr/cmmtVvMIS7SGs=" + } + }, + { + "path": "/usr/share/apk/keys/armhf" + }, + { + "path": "/usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1U9QtsdN+rYZ9Zh76EfXy00JZHMg=" + } + }, + { + "path": "/usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1bC+AdQ0qWBTmefXiI0PvmYOJoVQ=" + } + }, + { + "path": "/usr/share/apk/keys/armv7" + }, + { + "path": "/usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1U9QtsdN+rYZ9Zh76EfXy00JZHMg=" + } + }, + { + "path": "/usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1xbIVu7ScwqGHxXGwI22aSe5OdUY=" + } + }, + { + "path": "/usr/share/apk/keys/mips64" + }, + { + "path": "/usr/share/apk/keys/mips64/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1hCZdFx+LvzbLtPs753je78gEEBQ=" + } + }, + { + "path": "/usr/share/apk/keys/ppc64le" + }, + { + "path": "/usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1t21dhCLbTJmAHXSCeOMq/2vfSgo=" + } + }, + { + "path": "/usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1PS9zNIPJanC8qcsc5qarEWqhV5Q=" + } + }, + { + "path": "/usr/share/apk/keys/riscv64" + }, + { + "path": "/usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1NVPbZavaXpsItFwQYDWbpor7yYE=" + } + }, + { + "path": "/usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1U6tfuKRy5J8C6iaKPMZaT/e8tbA=" + } + }, + { + "path": "/usr/share/apk/keys/s390x" + }, + { + "path": "/usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1sjbV2r2w0Ih2vwdzC4Jq6UI7cMQ=" + } + }, + { + "path": "/usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1l09xa7RnbOIC1dI9FqbaCfS/GXY=" + } + }, + { + "path": "/usr/share/apk/keys/x86" + }, + { + "path": "/usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1Ii51i7Nrc4uft14HhqugaUqdH64=" + } + }, + { + "path": "/usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1Y49eVxhpvftbQ3yAdvlLfcrPLTU=" + } + }, + { + "path": "/usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1HjdvcVkpBZzr1aSe3p7oQfAtm/E=" + } + }, + { + "path": "/usr/share/apk/keys/x86_64" + }, + { + "path": "/usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1Ii51i7Nrc4uft14HhqugaUqdH64=" + } + }, + { + "path": "/usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1AUFY+fwSBTcrYetjT7NHvafrSQc=" + } + }, + { + "path": "/usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1qKA23VzMUDle+Dqnrr5Kz+Xvty4=" + } + } + ] + } + }, + { + "id": "1c6e057c6965bdd6", + "name": "apk-tools", + "version": "2.12.7-r3", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:apk-tools:apk-tools:2.12.7-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk-tools:apk_tools:2.12.7-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk_tools:apk-tools:2.12.7-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk_tools:apk_tools:2.12.7-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk:apk-tools:2.12.7-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:apk:apk_tools:2.12.7-r3:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/apk-tools@2.12.7-r3?arch=x86_64&upstream=apk-tools&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "apk-tools", + "originPackage": "apk-tools", + "maintainer": "Natanael Copa ", + "version": "2.12.7-r3", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://gitlab.alpinelinux.org/alpine/apk-tools", + "description": "Alpine Package Keeper - package manager for alpine", + "size": 120377, + "installedSize": 311296, + "pullDependencies": "musl>=1.2 ca-certificates-bundle so:libc.musl-x86_64.so.1 so:libcrypto.so.1.1 so:libssl.so.1.1 so:libz.so.1", + "pullChecksum": "Q13fPd+FRXaLwyNklVn+quFWDyknM=", + "gitCommitOfApkPort": "1ac3c1bb29eeff083c621cf6b27ad12ab93cb73a", + "files": [ + { + "path": "/etc" + }, + { + "path": "/etc/apk" + }, + { + "path": "/etc/apk/keys" + }, + { + "path": "/etc/apk/protected_paths.d" + }, + { + "path": "/lib" + }, + { + "path": "/lib/libapk.so.3.12.0", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1S5DL6DFOmjjNxAGNssfj4nUi8XU=" + } + }, + { + "path": "/sbin" + }, + { + "path": "/sbin/apk", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1O1pBUB2kTM/LqL8d0T98CEbZYqw=" + } + }, + { + "path": "/var" + }, + { + "path": "/var/cache" + }, + { + "path": "/var/cache/misc" + }, + { + "path": "/var/lib" + }, + { + "path": "/var/lib/apk" + } + ] + } + }, + { + "id": "2e32896982ce9587", + "name": "busybox", + "version": "1.34.1-r3", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:busybox:busybox:1.34.1-r3:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/busybox@1.34.1-r3?arch=x86_64&upstream=busybox&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "busybox", + "originPackage": "busybox", + "maintainer": "Natanael Copa ", + "version": "1.34.1-r3", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://busybox.net/", + "description": "Size optimized toolbox of many common UNIX utilities", + "size": 500579, + "installedSize": 946176, + "pullDependencies": "so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1oAjRcfdHXkV5YB3yqCyKwRRIiD8=", + "gitCommitOfApkPort": "2493d4c71a0bd6bbccf8a966c0a9cb25d17882a3", + "files": [ + { + "path": "/bin" + }, + { + "path": "/bin/busybox", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1xtqpR5y3/5LGDVH1kmkft71ThT8=" + } + }, + { + "path": "/bin/sh", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1pcfTfDNEbNKQc2s1tia7da05M8Q=" + } + }, + { + "path": "/etc" + }, + { + "path": "/etc/securetty", + "digest": { + "algorithm": "sha1", + "value": "Q1mB95Hq2NUTZ599RDiSsj9w5FrOU=" + } + }, + { + "path": "/etc/udhcpd.conf", + "digest": { + "algorithm": "sha1", + "value": "Q1EgLFjj67ou3eMqp4m3r2ZjnQ7QU=" + } + }, + { + "path": "/etc/logrotate.d" + }, + { + "path": "/etc/logrotate.d/acpid", + "digest": { + "algorithm": "sha1", + "value": "Q1TylyCINVmnS+A/Tead4vZhE7Bks=" + } + }, + { + "path": "/etc/network" + }, + { + "path": "/etc/network/if-down.d" + }, + { + "path": "/etc/network/if-post-down.d" + }, + { + "path": "/etc/network/if-post-up.d" + }, + { + "path": "/etc/network/if-pre-down.d" + }, + { + "path": "/etc/network/if-pre-up.d" + }, + { + "path": "/etc/network/if-up.d" + }, + { + "path": "/etc/network/if-up.d/dad", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "775", + "digest": { + "algorithm": "sha1", + "value": "Q1ORf+lPRKuYgdkBBcKoevR1t60Q4=" + } + }, + { + "path": "/sbin" + }, + { + "path": "/tmp", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "1777" + }, + { + "path": "/usr" + }, + { + "path": "/usr/sbin" + }, + { + "path": "/usr/share" + }, + { + "path": "/usr/share/udhcpc" + }, + { + "path": "/usr/share/udhcpc/default.script", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1t9vir/ZrX3nbSIYT9BDLWZenkVQ=" + } + }, + { + "path": "/var" + }, + { + "path": "/var/cache" + }, + { + "path": "/var/cache/misc" + }, + { + "path": "/var/lib" + }, + { + "path": "/var/lib/udhcpd" + } + ] + } + }, + { + "id": "9bb0a989e24e7661", + "name": "ca-certificates-bundle", + "version": "20191127-r7", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "MPL-2.0", + "AND", + "MIT" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:ca-certificates-bundle:ca-certificates-bundle:20191127-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:ca-certificates-bundle:ca_certificates_bundle:20191127-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:ca_certificates_bundle:ca-certificates-bundle:20191127-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:ca_certificates_bundle:ca_certificates_bundle:20191127-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:ca-certificates:ca-certificates-bundle:20191127-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:ca-certificates:ca_certificates_bundle:20191127-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:ca_certificates:ca-certificates-bundle:20191127-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:ca_certificates:ca_certificates_bundle:20191127-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:ca:ca-certificates-bundle:20191127-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:ca:ca_certificates_bundle:20191127-r7:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/ca-certificates-bundle@20191127-r7?arch=x86_64&upstream=ca-certificates&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "ca-certificates-bundle", + "originPackage": "ca-certificates", + "maintainer": "Natanael Copa ", + "version": "20191127-r7", + "license": "MPL-2.0 AND MIT", + "architecture": "x86_64", + "url": "https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/", + "description": "Pre generated bundle of Mozilla certificates", + "size": 124726, + "installedSize": 233472, + "pullDependencies": "", + "pullChecksum": "Q1IAKpBYM7zucdVHSzbIt1m0yAfOA=", + "gitCommitOfApkPort": "670bf5a8cc5bc605eede8ca2fd55b50a5c9f8660", + "files": [ + { + "path": "/etc" + }, + { + "path": "/etc/ssl" + }, + { + "path": "/etc/ssl/cert.pem", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1Nj6gTBdkZpTFW/obJGdpfvK0StA=" + } + }, + { + "path": "/etc/ssl/certs" + }, + { + "path": "/etc/ssl/certs/ca-certificates.crt", + "digest": { + "algorithm": "sha1", + "value": "Q1yxhc/Gjt/YEWliIZBXQz/RBrszU=" + } + } + ] + } + }, + { + "id": "e87a79fdaecaabd2", + "name": "libc-utils", + "version": "0.7.2-r3", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "BSD-2-Clause", + "AND", + "BSD-3-Clause" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:libc-utils:libc-utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc-utils:libc_utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc_utils:libc-utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc_utils:libc_utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc:libc-utils:0.7.2-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:libc:libc_utils:0.7.2-r3:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/libc-utils@0.7.2-r3?arch=x86_64&upstream=libc-dev&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "libc-utils", + "originPackage": "libc-dev", + "maintainer": "Natanael Copa ", + "version": "0.7.2-r3", + "license": "BSD-2-Clause AND BSD-3-Clause", + "architecture": "x86_64", + "url": "https://alpinelinux.org", + "description": "Meta package to pull in correct libc", + "size": 1485, + "installedSize": 4096, + "pullDependencies": "musl-utils", + "pullChecksum": "Q1eY3j67V/Pij0CAgHRpNfIToJlyI=", + "gitCommitOfApkPort": "60424133be2e79bbfeff3d58147a22886f817ce2", + "files": [] + } + }, + { + "id": "873ddd0587a8ac17", + "name": "libcrypto1.1", + "version": "1.1.1l-r7", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "OpenSSL" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:libcrypto1.1:libcrypto1.1:1.1.1l-r7:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/libcrypto1.1@1.1.1l-r7?arch=x86_64&upstream=openssl&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "libcrypto1.1", + "originPackage": "openssl", + "maintainer": "Timo Teras ", + "version": "1.1.1l-r7", + "license": "OpenSSL", + "architecture": "x86_64", + "url": "https://www.openssl.org/", + "description": "Crypto library from openssl", + "size": 1207585, + "installedSize": 2740224, + "pullDependencies": "so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1KsBvLeWBvZ6Q2do9oyZ6WZYba8Q=", + "gitCommitOfApkPort": "d206261d3031d1f359370a5f7c363d8623a1487f", + "files": [ + { + "path": "/etc" + }, + { + "path": "/etc/ssl1.1" + }, + { + "path": "/etc/ssl1.1/cert.pem", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1OeUyODYWe2hBwBm0qws2oDW/WQc=" + } + }, + { + "path": "/etc/ssl1.1/certs", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1NoBF7RMIiT9fCXLj/mbDh+pnL9o=" + } + }, + { + "path": "/etc/ssl1.1/ct_log_list.cnf", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1a7VPR85wruXFmNFZE/DBa0Pyzq0=" + } + }, + { + "path": "/etc/ssl1.1/ct_log_list.cnf.dist", + "digest": { + "algorithm": "sha1", + "value": "Q1olh8TpdAi2QnTl4FK3TjdUiSwTo=" + } + }, + { + "path": "/etc/ssl1.1/openssl.cnf", + "digest": { + "algorithm": "sha1", + "value": "Q1wGuxVEOK9iGLj1i8D3BSBnT7MJA=" + } + }, + { + "path": "/etc/ssl1.1/openssl.cnf.dist", + "digest": { + "algorithm": "sha1", + "value": "Q1wGuxVEOK9iGLj1i8D3BSBnT7MJA=" + } + }, + { + "path": "/etc/ssl1.1/private" + }, + { + "path": "/lib" + }, + { + "path": "/lib/libcrypto.so.1.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1kgBibm0fbG1iF5bCBoT4dK4E9i8=" + } + }, + { + "path": "/usr" + }, + { + "path": "/usr/lib" + }, + { + "path": "/usr/lib/libcrypto.so.1.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1T2si+c7ts7sgDxQYve4B3i1Dgo0=" + } + }, + { + "path": "/usr/lib/engines-1.1" + }, + { + "path": "/usr/lib/engines-1.1/afalg.so", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1UYa1ErnZY+pBFIs/MTwb+EIVYXY=" + } + }, + { + "path": "/usr/lib/engines-1.1/capi.so", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1hp5rlQUQnMhQ4v7gYxJt9m2i1Zw=" + } + }, + { + "path": "/usr/lib/engines-1.1/padlock.so", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1xVdwenLzcBgvdiYkoFsci6MlWSg=" + } + } + ] + } + }, + { + "id": "484b9eacc3ccdd48", + "name": "libretls", + "version": "3.3.4-r2", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "ISC", + "AND", + "(BSD-3-Clause", + "OR", + "MIT)" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:libretls:libretls:3.3.4-r2:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/libretls@3.3.4-r2?arch=x86_64&upstream=libretls&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "libretls", + "originPackage": "libretls", + "maintainer": "Ariadne Conill ", + "version": "3.3.4-r2", + "license": "ISC AND (BSD-3-Clause OR MIT)", + "architecture": "x86_64", + "url": "https://git.causal.agency/libretls/", + "description": "port of libtls from libressl to openssl", + "size": 29183, + "installedSize": 86016, + "pullDependencies": "ca-certificates-bundle so:libc.musl-x86_64.so.1 so:libcrypto.so.1.1 so:libssl.so.1.1", + "pullChecksum": "Q1UQjutTNeqKQgMlKQyyZFnumOg3c=", + "gitCommitOfApkPort": "670bf5a8cc5bc605eede8ca2fd55b50a5c9f8660", + "files": [ + { + "path": "/usr" + }, + { + "path": "/usr/lib" + }, + { + "path": "/usr/lib/libtls.so.2", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1nNEC9T/t6W+Ecm0DxqMUnRvcT6k=" + } + }, + { + "path": "/usr/lib/libtls.so.2.0.3", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1/KAM0XSmA+YShex9ZKehdaf+mjw=" + } + } + ] + } + }, + { + "id": "7d62dc5b1a20803f", + "name": "libssl1.1", + "version": "1.1.1l-r7", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "OpenSSL" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:libssl1.1:libssl1.1:1.1.1l-r7:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/libssl1.1@1.1.1l-r7?arch=x86_64&upstream=openssl&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "libssl1.1", + "originPackage": "openssl", + "maintainer": "Timo Teras ", + "version": "1.1.1l-r7", + "license": "OpenSSL", + "architecture": "x86_64", + "url": "https://www.openssl.org/", + "description": "SSL shared libraries", + "size": 213157, + "installedSize": 540672, + "pullDependencies": "so:libc.musl-x86_64.so.1 so:libcrypto.so.1.1", + "pullChecksum": "Q1N9b+1WSISp1N+g+5q6zxC5pdT0U=", + "gitCommitOfApkPort": "d206261d3031d1f359370a5f7c363d8623a1487f", + "files": [ + { + "path": "/lib" + }, + { + "path": "/lib/libssl.so.1.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1+Ag6uPJPHSS73wDuRa+xUVZaWTE=" + } + }, + { + "path": "/usr" + }, + { + "path": "/usr/lib" + }, + { + "path": "/usr/lib/libssl.so.1.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q18j35pe3yp6HOgMih1wlGP1/mm2c=" + } + } + ] + } + }, + { + "id": "20dc20cbb6dbea6", + "name": "musl", + "version": "1.2.2-r7", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "MIT" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:musl:musl:1.2.2-r7:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/musl@1.2.2-r7?arch=x86_64&upstream=musl&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "musl", + "originPackage": "musl", + "maintainer": "Timo Teräs ", + "version": "1.2.2-r7", + "license": "MIT", + "architecture": "x86_64", + "url": "https://musl.libc.org/", + "description": "the musl c library (libc) implementation", + "size": 383152, + "installedSize": 622592, + "pullDependencies": "", + "pullChecksum": "Q1Deb0jNytkrjPW4N/eKLZ43BwOlw=", + "gitCommitOfApkPort": "bf5bbfdbf780092f387b7abe401fbfceda90c84d", + "files": [ + { + "path": "/lib" + }, + { + "path": "/lib/ld-musl-x86_64.so.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q12adwqQOjo9dFl+VJD2Ecd901vhE=" + } + }, + { + "path": "/lib/libc.musl-x86_64.so.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q17yJ3JFNypA4mxhJJr0ou6CzsJVI=" + } + } + ] + } + }, + { + "id": "35c3680577fae0df", + "name": "musl-utils", + "version": "1.2.2-r7", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "MIT", + "BSD", + "GPL2+" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:musl-utils:musl-utils:1.2.2-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:musl-utils:musl_utils:1.2.2-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:musl_utils:musl-utils:1.2.2-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:musl_utils:musl_utils:1.2.2-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:musl:musl-utils:1.2.2-r7:*:*:*:*:*:*:*", + "cpe:2.3:a:musl:musl_utils:1.2.2-r7:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/musl-utils@1.2.2-r7?arch=x86_64&upstream=musl&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "musl-utils", + "originPackage": "musl", + "maintainer": "Timo Teräs ", + "version": "1.2.2-r7", + "license": "MIT BSD GPL2+", + "architecture": "x86_64", + "url": "https://musl.libc.org/", + "description": "the musl c library (libc) implementation", + "size": 36723, + "installedSize": 143360, + "pullDependencies": "scanelf so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1P50cfJiSsHoqsYRTyOEOlJiLn3o=", + "gitCommitOfApkPort": "bf5bbfdbf780092f387b7abe401fbfceda90c84d", + "files": [ + { + "path": "/sbin" + }, + { + "path": "/sbin/ldconfig", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1Kja2+POZKxEkUOZqwSjC6kmaED4=" + } + }, + { + "path": "/usr" + }, + { + "path": "/usr/bin" + }, + { + "path": "/usr/bin/getconf", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1Mi21BTcLtN9cYPV07P0awHyT6XU=" + } + }, + { + "path": "/usr/bin/getent", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1nZmDKKFQ2vooItNDLBleT8x7OMA=" + } + }, + { + "path": "/usr/bin/iconv", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1Q8TOOd5Tm2PtkO5EoowvhvGCIJ4=" + } + }, + { + "path": "/usr/bin/ldd", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1yFAhGggmL7ERgbIA7KQxyTzf3ks=" + } + } + ] + } + }, + { + "id": "f2d426372356602d", + "name": "scanelf", + "version": "1.3.3-r0", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:scanelf:scanelf:1.3.3-r0:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/scanelf@1.3.3-r0?arch=x86_64&upstream=pax-utils&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "scanelf", + "originPackage": "pax-utils", + "maintainer": "Natanael Copa ", + "version": "1.3.3-r0", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities", + "description": "Scan ELF binaries for stuff", + "size": 36830, + "installedSize": 94208, + "pullDependencies": "so:libc.musl-x86_64.so.1", + "pullChecksum": "Q11/dZDkUIcKT3lnHCNpsxtbsHNJo=", + "gitCommitOfApkPort": "86b3d4fbb0a760febf3476f9a58abf8d0f728d5c", + "files": [ + { + "path": "/usr" + }, + { + "path": "/usr/bin" + }, + { + "path": "/usr/bin/scanelf", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1sFe54RbdfT4CNimYm41D1Dv+Nsg=" + } + } + ] + } + }, + { + "id": "38bc092600723894", + "name": "ssl_client", + "version": "1.34.1-r3", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "GPL-2.0-only" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:ssl-client:ssl-client:1.34.1-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl-client:ssl_client:1.34.1-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl_client:ssl-client:1.34.1-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl_client:ssl_client:1.34.1-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl:ssl-client:1.34.1-r3:*:*:*:*:*:*:*", + "cpe:2.3:a:ssl:ssl_client:1.34.1-r3:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/ssl_client@1.34.1-r3?arch=x86_64&upstream=busybox&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "ssl_client", + "originPackage": "busybox", + "maintainer": "Natanael Copa ", + "version": "1.34.1-r3", + "license": "GPL-2.0-only", + "architecture": "x86_64", + "url": "https://busybox.net/", + "description": "EXternal ssl_client for busybox wget", + "size": 4711, + "installedSize": 28672, + "pullDependencies": "so:libc.musl-x86_64.so.1 so:libtls.so.2", + "pullChecksum": "Q1KgMIw8nvX1hxPUkROpGS24yUf4M=", + "gitCommitOfApkPort": "2493d4c71a0bd6bbccf8a966c0a9cb25d17882a3", + "files": [ + { + "path": "/usr" + }, + { + "path": "/usr/bin" + }, + { + "path": "/usr/bin/ssl_client", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q15ueF/P/EmAVVmUJ1PXBAkpCAX7c=" + } + } + ] + } + }, + { + "id": "50d3560550c47774", + "name": "zlib", + "version": "1.2.11-r3", + "type": "apk", + "foundBy": "apkdb-cataloger", + "locations": [ + { + "path": "/lib/apk/db/installed", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + ], + "licenses": [ + "Zlib" + ], + "language": "", + "cpes": [ + "cpe:2.3:a:zlib:zlib:1.2.11-r3:*:*:*:*:*:*:*" + ], + "purl": "pkg:alpine/zlib@1.2.11-r3?arch=x86_64&upstream=zlib&distro=alpine-3.15.0", + "metadataType": "ApkMetadata", + "metadata": { + "package": "zlib", + "originPackage": "zlib", + "maintainer": "Natanael Copa ", + "version": "1.2.11-r3", + "license": "Zlib", + "architecture": "x86_64", + "url": "https://zlib.net/", + "description": "A compression/decompression Library", + "size": 51742, + "installedSize": 110592, + "pullDependencies": "so:libc.musl-x86_64.so.1", + "pullChecksum": "Q1WBo+57JldlVe0iVt2n8IP6+vNGE=", + "gitCommitOfApkPort": "388a4fb3640f8ccbd18e105df3ad741dca4247e1-dirty", + "files": [ + { + "path": "/lib" + }, + { + "path": "/lib/libz.so.1", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "777", + "digest": { + "algorithm": "sha1", + "value": "Q1a2H8hP24ryCAGf8fnc1Nha9IIHc=" + } + }, + { + "path": "/lib/libz.so.1.2.11", + "ownerUid": "0", + "ownerGid": "0", + "permissions": "755", + "digest": { + "algorithm": "sha1", + "value": "Q1M4OHLUYhvHolqgMB0Tc3kElK7qA=" + } + } + ] + } + } + ], + "artifactRelationships": [ + { + "parent": "20dc20cbb6dbea6", + "child": "e322847d6485c76d", + "type": "contains" + }, + { + "parent": "20dc20cbb6dbea6", + "child": "e322847d6485c76d", + "type": "contains" + }, + { + "parent": "2e32896982ce9587", + "child": "988a54d89f5c4c09", + "type": "contains" + }, + { + "parent": "2e32896982ce9587", + "child": "988a54d89f5c4c09", + "type": "contains" + }, + { + "parent": "2e32896982ce9587", + "child": "cd1c702a19149d7d", + "type": "contains" + }, + { + "parent": "2e32896982ce9587", + "child": "be5355441673f6dc", + "type": "contains" + }, + { + "parent": "2e32896982ce9587", + "child": "e7d6b30bf31f933a", + "type": "contains" + }, + { + "parent": "2e32896982ce9587", + "child": "e6d162458c0b30b0", + "type": "contains" + }, + { + "parent": "2e32896982ce9587", + "child": "d5ee1ce0839cb21a", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "2eaa15c5fc625ebe", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "a53373020dfa8bb4", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "2c0eaf2a7d7dbad", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "f3ee626693308800", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "38605c90f707fb90", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "60fa740c32339374", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "420fa6f3289d6ee6", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "ae2cba512a3f4065", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "24d0f8d913cd9906", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "d41a5f82a774a6a1", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "dc65dbf355556024", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "b3a5f05adcd1cf82", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "b499705c36475f74", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "2e3613b244458b5a", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "64b20ab568341372", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "84fd54b3f2a2e825", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "32701f6d1e056c29", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "5e12c5188eeb9cb3", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "9ab25fdcabefa4ac", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "18d9a7fcef583aeb", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "93b858998f2c7034", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "fb021b79aa9cd553", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "82fda88ae28dd50", + "type": "contains" + }, + { + "parent": "9f527213f4d2a873", + "child": "13d6d27618d264f7", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "8ec9dcf9b3d1d7ce", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "39dcc03ca17480ca", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "4d646d694b6380fc", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "395f72182f48f77c", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "496698ff67ca49fc", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "66756a275982c586", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "187efc434122356a", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "add734ec170033bd", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "59d943ecba7b9db1", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "27d8de5355fdb7ba", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "ff0560ee36b984a7", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "66756a275982c586", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "2c8a8c151837aa6e", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "79cc1d44454e11b9", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "abfd85d1b45289dc", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "56080e31fd12fe67", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "7803dc5a1a496765", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "ccc2b3e76affde68", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "3562d93285c5a3c5", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "57149f915867bf12", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "2363acec0a71a382", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "2dac0f0b0463195c", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "187efc434122356a", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "f059a81847acaad9", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "27d8de5355fdb7ba", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "3562d93285c5a3c5", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "27d8de5355fdb7ba", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "2dac0f0b0463195c", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "abfd85d1b45289dc", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "2c8a8c151837aa6e", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "57149f915867bf12", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "56080e31fd12fe67", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "f059a81847acaad9", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "79cc1d44454e11b9", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "2363acec0a71a382", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "add734ec170033bd", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "59d943ecba7b9db1", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "ccc2b3e76affde68", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "add734ec170033bd", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "ff0560ee36b984a7", + "type": "contains" + }, + { + "parent": "1a72ca3b88e1b67e", + "child": "7803dc5a1a496765", + "type": "contains" + }, + { + "parent": "9bb0a989e24e7661", + "child": "b7cfa7f53a05225f", + "type": "contains" + }, + { + "parent": "9bb0a989e24e7661", + "child": "b7cfa7f53a05225f", + "type": "contains" + }, + { + "parent": "873ddd0587a8ac17", + "child": "b7cfa7f53a05225f", + "type": "contains" + }, + { + "parent": "873ddd0587a8ac17", + "child": "d1029b42eed49dbe", + "type": "contains" + }, + { + "parent": "873ddd0587a8ac17", + "child": "5f7354d1f6e1cdce", + "type": "contains" + }, + { + "parent": "873ddd0587a8ac17", + "child": "1a7b85af7f458360", + "type": "contains" + }, + { + "parent": "873ddd0587a8ac17", + "child": "a00e69b6cf4b0ef0", + "type": "contains" + }, + { + "parent": "873ddd0587a8ac17", + "child": "4862e08252039e5", + "type": "contains" + }, + { + "parent": "873ddd0587a8ac17", + "child": "f57c06db35618298", + "type": "contains" + }, + { + "parent": "873ddd0587a8ac17", + "child": "ba1b2107c3063563", + "type": "contains" + }, + { + "parent": "873ddd0587a8ac17", + "child": "a00e69b6cf4b0ef0", + "type": "contains" + }, + { + "parent": "7d62dc5b1a20803f", + "child": "a64a40d78e73f3bd", + "type": "contains" + }, + { + "parent": "7d62dc5b1a20803f", + "child": "a64a40d78e73f3bd", + "type": "contains" + }, + { + "parent": "484b9eacc3ccdd48", + "child": "81250f1630c1a804", + "type": "contains" + }, + { + "parent": "484b9eacc3ccdd48", + "child": "81250f1630c1a804", + "type": "contains" + }, + { + "parent": "38bc092600723894", + "child": "711694a1725d661e", + "type": "contains" + }, + { + "parent": "50d3560550c47774", + "child": "bfd3d0235da50adb", + "type": "contains" + }, + { + "parent": "50d3560550c47774", + "child": "bfd3d0235da50adb", + "type": "contains" + }, + { + "parent": "1c6e057c6965bdd6", + "child": "5f14b5421fba85af", + "type": "contains" + }, + { + "parent": "1c6e057c6965bdd6", + "child": "d72447617fa2b70c", + "type": "contains" + }, + { + "parent": "f2d426372356602d", + "child": "7516f5d905deb6db", + "type": "contains" + }, + { + "parent": "35c3680577fae0df", + "child": "d59e19c68624688f", + "type": "contains" + }, + { + "parent": "35c3680577fae0df", + "child": "757b30be1d3baa0b", + "type": "contains" + }, + { + "parent": "35c3680577fae0df", + "child": "780fcf6f56cca2e0", + "type": "contains" + }, + { + "parent": "35c3680577fae0df", + "child": "ab2d028a906db5df", + "type": "contains" + }, + { + "parent": "35c3680577fae0df", + "child": "8e69e89855b5ae0f", + "type": "contains" + } + ], + "files": [ + { + "id": "988a54d89f5c4c09", + "location": { + "path": "/bin/busybox", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "8ec9dcf9b3d1d7ce", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "39dcc03ca17480ca", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "4d646d694b6380fc", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "395f72182f48f77c", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "496698ff67ca49fc", + "location": { + "path": "/etc/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "2eaa15c5fc625ebe", + "location": { + "path": "/etc/crontabs/root", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "a53373020dfa8bb4", + "location": { + "path": "/etc/fstab", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "2c0eaf2a7d7dbad", + "location": { + "path": "/etc/group", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "f3ee626693308800", + "location": { + "path": "/etc/hostname", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "38605c90f707fb90", + "location": { + "path": "/etc/hosts", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "60fa740c32339374", + "location": { + "path": "/etc/inittab", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "cd1c702a19149d7d", + "location": { + "path": "/etc/logrotate.d/acpid", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "420fa6f3289d6ee6", + "location": { + "path": "/etc/modprobe.d/aliases.conf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "ae2cba512a3f4065", + "location": { + "path": "/etc/modprobe.d/blacklist.conf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "24d0f8d913cd9906", + "location": { + "path": "/etc/modprobe.d/i386.conf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "d41a5f82a774a6a1", + "location": { + "path": "/etc/modprobe.d/kms.conf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "dc65dbf355556024", + "location": { + "path": "/etc/modules", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "b3a5f05adcd1cf82", + "location": { + "path": "/etc/motd", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "be5355441673f6dc", + "location": { + "path": "/etc/network/if-up.d/dad", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "b499705c36475f74", + "location": { + "path": "/etc/passwd", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "2e3613b244458b5a", + "location": { + "path": "/etc/profile", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "64b20ab568341372", + "location": { + "path": "/etc/profile.d/README", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "84fd54b3f2a2e825", + "location": { + "path": "/etc/profile.d/color_prompt.sh.disabled", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "32701f6d1e056c29", + "location": { + "path": "/etc/profile.d/locale.sh", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "5e12c5188eeb9cb3", + "location": { + "path": "/etc/protocols", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "e7d6b30bf31f933a", + "location": { + "path": "/etc/securetty", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "9ab25fdcabefa4ac", + "location": { + "path": "/etc/services", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "18d9a7fcef583aeb", + "location": { + "path": "/etc/shadow", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "93b858998f2c7034", + "location": { + "path": "/etc/shells", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "b7cfa7f53a05225f", + "location": { + "path": "/etc/ssl/certs/ca-certificates.crt", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "d1029b42eed49dbe", + "location": { + "path": "/etc/ssl1.1/ct_log_list.cnf.dist", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "5f7354d1f6e1cdce", + "location": { + "path": "/etc/ssl1.1/openssl.cnf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "1a7b85af7f458360", + "location": { + "path": "/etc/ssl1.1/openssl.cnf.dist", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "fb021b79aa9cd553", + "location": { + "path": "/etc/sysctl.conf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "e6d162458c0b30b0", + "location": { + "path": "/etc/udhcpd.conf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "e322847d6485c76d", + "location": { + "path": "/lib/ld-musl-x86_64.so.1", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "5f14b5421fba85af", + "location": { + "path": "/lib/libapk.so.3.12.0", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "a00e69b6cf4b0ef0", + "location": { + "path": "/lib/libcrypto.so.1.1", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "a64a40d78e73f3bd", + "location": { + "path": "/lib/libssl.so.1.1", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "bfd3d0235da50adb", + "location": { + "path": "/lib/libz.so.1.2.11", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "82fda88ae28dd50", + "location": { + "path": "/lib/sysctl.d/00-alpine.conf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "d72447617fa2b70c", + "location": { + "path": "/sbin/apk", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "d59e19c68624688f", + "location": { + "path": "/sbin/ldconfig", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "13d6d27618d264f7", + "location": { + "path": "/sbin/mkmntdirs", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "757b30be1d3baa0b", + "location": { + "path": "/usr/bin/getconf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "780fcf6f56cca2e0", + "location": { + "path": "/usr/bin/getent", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "ab2d028a906db5df", + "location": { + "path": "/usr/bin/iconv", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "8e69e89855b5ae0f", + "location": { + "path": "/usr/bin/ldd", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "7516f5d905deb6db", + "location": { + "path": "/usr/bin/scanelf", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "711694a1725d661e", + "location": { + "path": "/usr/bin/ssl_client", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "4862e08252039e5", + "location": { + "path": "/usr/lib/engines-1.1/afalg.so", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "f57c06db35618298", + "location": { + "path": "/usr/lib/engines-1.1/capi.so", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "ba1b2107c3063563", + "location": { + "path": "/usr/lib/engines-1.1/padlock.so", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "81250f1630c1a804", + "location": { + "path": "/usr/lib/libtls.so.2.0.3", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "add734ec170033bd", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "59d943ecba7b9db1", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "27d8de5355fdb7ba", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "ff0560ee36b984a7", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "66756a275982c586", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "2c8a8c151837aa6e", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "79cc1d44454e11b9", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "abfd85d1b45289dc", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "56080e31fd12fe67", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "7803dc5a1a496765", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "ccc2b3e76affde68", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "3562d93285c5a3c5", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "57149f915867bf12", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "2363acec0a71a382", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "2dac0f0b0463195c", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "187efc434122356a", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "f059a81847acaad9", + "location": { + "path": "/usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + }, + { + "id": "d5ee1ce0839cb21a", + "location": { + "path": "/usr/share/udhcpc/default.script", + "layerID": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759" + } + } + ], + "source": { + "type": "image", + "target": { + "userInput": "alpine:3.15.0", + "imageID": "sha256:c059bfaa849c4d8e4aecaeb3a10c2d9b3d85f5165c66ad3a4d937758128c4d18", + "manifestDigest": "sha256:a3f8ca28888378e4880b3f73504c78278a9038dccf906760a1afd4a08c81c1c1", + "mediaType": "application/vnd.docker.distribution.manifest.v2+json", + "tags": [ + "alpine:3.15.0" + ], + "imageSize": 5580949, + "layers": [ + { + "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", + "digest": "sha256:8d3ac3489996423f53d6087c81180006263b79f206d3fdec9e66f0e27ceb8759", + "size": 5580949 + } + ], + "manifest": "eyJzY2hlbWFWZXJzaW9uIjoyLCJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiY29uZmlnIjp7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuY29udGFpbmVyLmltYWdlLnYxK2pzb24iLCJzaXplIjoxNDcxLCJkaWdlc3QiOiJzaGEyNTY6YzA1OWJmYWE4NDljNGQ4ZTRhZWNhZWIzYTEwYzJkOWIzZDg1ZjUxNjVjNjZhZDNhNGQ5Mzc3NTgxMjhjNGQxOCJ9LCJsYXllcnMiOlt7Im1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuaW1hZ2Uucm9vdGZzLmRpZmYudGFyLmd6aXAiLCJzaXplIjo1ODY2NDk2LCJkaWdlc3QiOiJzaGEyNTY6OGQzYWMzNDg5OTk2NDIzZjUzZDYwODdjODExODAwMDYyNjNiNzlmMjA2ZDNmZGVjOWU2NmYwZTI3Y2ViODc1OSJ9XX0=", + "config": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iXSwiQ21kIjpbIi9iaW4vc2giXSwiSW1hZ2UiOiJzaGEyNTY6Yjc0NzUzNGFlMjlkMDhjMGM4NGNjNDMyNmNhZjA0ZTg3M2M2ZDAyYmI2N2NkOWM3NjQ0YmUyYjRmYThkMmYzMSIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpudWxsLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOm51bGx9LCJjb250YWluZXIiOiI0MjkyZThlZDJlZjJiNmRjNGJiYWY4ZTFjZGEwY2I1Zjk1Yjk2YWRjNGFhMmRhM2QxNTE4MWI1NGQwN2EwYjM0IiwiY29udGFpbmVyX2NvbmZpZyI6eyJIb3N0bmFtZSI6IjQyOTJlOGVkMmVmMiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iXSwiQ21kIjpbIi9iaW4vc2giLCItYyIsIiMobm9wKSAiLCJDTUQgW1wiL2Jpbi9zaFwiXSJdLCJJbWFnZSI6InNoYTI1NjpiNzQ3NTM0YWUyOWQwOGMwYzg0Y2M0MzI2Y2FmMDRlODczYzZkMDJiYjY3Y2Q5Yzc2NDRiZTJiNGZhOGQyZjMxIiwiVm9sdW1lcyI6bnVsbCwiV29ya2luZ0RpciI6IiIsIkVudHJ5cG9pbnQiOm51bGwsIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6e319LCJjcmVhdGVkIjoiMjAyMS0xMS0yNFQyMDoxOTo0MC40ODMzNjc1NDZaIiwiZG9ja2VyX3ZlcnNpb24iOiIyMC4xMC43IiwiaGlzdG9yeSI6W3siY3JlYXRlZCI6IjIwMjEtMTEtMjRUMjA6MTk6NDAuMTk5NzAwOTQ2WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSBBREQgZmlsZTo5MjMzZjZmMjIzN2Q3OTY1OWE5NTIxZjdlMzkwZGYyMTdjZWM0OWYxYThhYTNhMTIxNDdiYmNhMTk1NmFjZGI5IGluIC8gIn0seyJjcmVhdGVkIjoiMjAyMS0xMS0yNFQyMDoxOTo0MC40ODMzNjc1NDZaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBDTUQgW1wiL2Jpbi9zaFwiXSIsImVtcHR5X2xheWVyIjp0cnVlfV0sIm9zIjoibGludXgiLCJyb290ZnMiOnsidHlwZSI6ImxheWVycyIsImRpZmZfaWRzIjpbInNoYTI1Njo4ZDNhYzM0ODk5OTY0MjNmNTNkNjA4N2M4MTE4MDAwNjI2M2I3OWYyMDZkM2ZkZWM5ZTY2ZjBlMjdjZWI4NzU5Il19fQ==", + "repoDigests": [ + "alpine@sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300" + ], + "architecture": "amd64", + "os": "linux" + } + }, + "distro": { + "prettyName": "Alpine Linux v3.15", + "name": "Alpine Linux", + "id": "alpine", + "versionID": "3.15.0", + "homeURL": "https://alpinelinux.org/", + "bugReportURL": "https://bugs.alpinelinux.org/" + }, + "descriptor": { + "name": "syft", + "version": "0.46.3", + "configuration": { + "configPath": "", + "verbosity": 0, + "quiet": false, + "output": [ + "json" + ], + "file": "", + "check-for-app-update": true, + "anchore": { + "host": "", + "path": "", + "dockerfile": "", + "overwrite-existing-image": false, + "import-timeout": 30 + }, + "dev": { + "profile-cpu": false, + "profile-mem": false + }, + "log": { + "structured": false, + "level": "warning", + "file-location": "" + }, + "package": { + "cataloger": { + "enabled": true, + "scope": "Squashed" + }, + "search-unindexed-archives": false, + "search-indexed-archives": true + }, + "file-metadata": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + }, + "digests": [ + "sha256" + ] + }, + "file-classification": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + } + }, + "file-contents": { + "cataloger": { + "enabled": false, + "scope": "Squashed" + }, + "skip-files-above-size": 1048576, + "globs": [] + }, + "secrets": { + "cataloger": { + "enabled": false, + "scope": "AllLayers" + }, + "additional-patterns": {}, + "exclude-pattern-names": [], + "reveal-values": false, + "skip-files-above-size": 1048576 + }, + "registry": { + "insecure-skip-tls-verify": false, + "insecure-use-http": false, + "auth": [] + }, + "exclude": [], + "attest": { + "key": "", + "cert": "", + "noUpload": false, + "force": false, + "recursive": false, + "replace": false, + "fulcioUrl": "https://fulcio.sigstore.dev", + "fulcio_identity_token": "", + "insecure_skip_verify": false, + "rekorUrl": "https://rekor.sigstore.dev", + "oidcIssuer": "https://oauth2.sigstore.dev/auth", + "oidcClientId": "sigstore", + "OIDCRedirectURL": "" + }, + "platform": "" + } + }, + "schema": { + "version": "3.2.3", + "url": "https://raw.githubusercontent.com/anchore/syft/main/schema/json/schema-3.2.3.json" + } +} diff --git a/internal/vuln/grype/grype.go b/internal/vuln/grype/grype.go index e2ea7b9..6234d40 100644 --- a/internal/vuln/grype/grype.go +++ b/internal/vuln/grype/grype.go @@ -13,11 +13,9 @@ import ( "github.com/anchore/grype/grype/vulnerability" "github.com/anchore/syft/syft/pkg/cataloger" "github.com/ckotzbauer/libk8soci/pkg/oci" - "github.com/ckotzbauer/vulnerability-operator/internal/vuln" "github.com/ckotzbauer/vulnerability-operator/internal/vuln/kubernetes" "github.com/ckotzbauer/vulnerability-operator/internal/vuln/source" "github.com/sirupsen/logrus" - "github.com/spf13/viper" "gopkg.in/yaml.v3" ) @@ -27,14 +25,16 @@ type Grype struct { kubeClient *kubernetes.KubeClient config grypeConfig relatedEntries map[string]string + onlyFixed bool + minSeverity string + grypeConfigFile string } type grypeConfig struct { Ignore []match.IgnoreRule `yaml:"ignore"` } -func New() (Grype, error) { - grypeConfigFile := viper.GetString(vuln.ConfigKeyGrypeConfigFile) +func New(grypeConfigFile, minSeverity string, onlyFixed bool) (Grype, error) { grypeCfg := grypeConfig{} if grypeConfigFile != "" { @@ -83,13 +83,13 @@ func New() (Grype, error) { } func (s *Grype) ScanItem(item source.ScanItem) ([]Vulnerability, error) { - if sbom, ok := item.(*source.Sbom); ok { + if sbom, ok := item.(source.Sbom); ok { err := os.WriteFile("/tmp/sbom", []byte(sbom.Sbom), 0640) if err != nil { logrus.WithError(err).Error("SBOM could not be saved") return []Vulnerability{}, err } - } else if img, ok := item.(*source.Image); ok { + } else if img, ok := item.(source.Image); ok { err := oci.SaveImage("/tmp/image.tar.gz", img.Image) if err != nil { logrus.WithError(fmt.Errorf("failed to save image: %w", err)).Error() @@ -167,8 +167,7 @@ func (s *Grype) buildVulnerabilities(matches match.Matches, imageID string) []Vu } func (s *Grype) filterVulnerabilities(allVulns []Vulnerability) []Vulnerability { - onlyFixed := viper.GetBool(vuln.ConfigKeyOnlyFixed) - minSeverity := vulnerability.ParseSeverity(viper.GetString(vuln.ConfigKeyMinSeverity)) + minSeverity := vulnerability.ParseSeverity(s.minSeverity) vulns := make([]Vulnerability, 0) @@ -179,7 +178,7 @@ func (s *Grype) filterVulnerabilities(allVulns []Vulnerability) []Vulnerability sev := vulnerability.ParseSeverity(v.Severity) if sev >= minSeverity && v.Installed != "" { - if onlyFixed { + if s.onlyFixed { if v.FixState == string(v3.FixedState) { vulns = append(vulns, v) } diff --git a/internal/vuln/grype/grype_test.go b/internal/vuln/grype/grype_test.go new file mode 100644 index 0000000..5fd4f73 --- /dev/null +++ b/internal/vuln/grype/grype_test.go @@ -0,0 +1,123 @@ +package grype_test + +import ( + "fmt" + "os" + "testing" + + libk8s "github.com/ckotzbauer/libk8soci/pkg/kubernetes" + "github.com/ckotzbauer/libk8soci/pkg/oci" + "github.com/ckotzbauer/vulnerability-operator/internal/vuln/grype" + "github.com/ckotzbauer/vulnerability-operator/internal/vuln/source" + "github.com/stretchr/testify/assert" +) + +type testData struct { + testType string + imageID string + expected []vulnerabilitySlim +} + +type vulnerabilitySlim struct { + id string + name string + group string + severity string +} + +func testSbomVulnerabilities(t *testing.T, testType, imageID string, expected []vulnerabilitySlim) { + g, err := grype.New("", "medium", false) + assert.NoError(t, err) + + b, _ := os.ReadFile(fmt.Sprintf("fixtures/%s-alpine-sbom.json", testType)) + vulnerabilities, err := g.ScanItem(source.Sbom{Sbom: string(b), ImageID: imageID}) + assert.NoError(t, err) + vulnSlim := convertVulns(vulnerabilities) + + assert.ElementsMatch(t, expected, vulnSlim) +} + +func testImageVulnerabilities(t *testing.T, imageID string, expected []vulnerabilitySlim) { + g, err := grype.New("", "medium", false) + assert.NoError(t, err) + + vulnerabilities, err := g.ScanItem(source.Image{KubeImage: libk8s.KubeImage{Image: oci.RegistryImage{ImageID: imageID}}}) + assert.NoError(t, err) + vulnSlim := convertVulns(vulnerabilities) + + assert.ElementsMatch(t, expected, vulnSlim) +} + +func convertVulns(vulnerabilities []grype.Vulnerability) []vulnerabilitySlim { + vulnSlim := make([]vulnerabilitySlim, 0) + for _, v := range vulnerabilities { + vulnSlim = append(vulnSlim, vulnerabilitySlim{ + id: v.ID, + name: v.Package, + group: v.Type, + severity: v.Severity, + }) + } + + return vulnSlim +} + +func TestGrypeSbom(t *testing.T) { + tests := []testData{ + { + testType: "vulnerable", + imageID: "alpine:3.15.0", + expected: []vulnerabilitySlim{ + {id: "CVE-2022-28391", name: "busybox", group: "apk", severity: "Critical"}, + {id: "CVE-2021-4160", name: "libcrypto1.1", group: "apk", severity: "Medium"}, + {id: "CVE-2022-0778", name: "libcrypto1.1", group: "apk", severity: "High"}, + {id: "CVE-2022-0778", name: "libretls", group: "apk", severity: "High"}, + {id: "CVE-2021-4160", name: "libssl1.1", group: "apk", severity: "Medium"}, + {id: "CVE-2022-0778", name: "libssl1.1", group: "apk", severity: "High"}, + {id: "CVE-2022-28391", name: "ssl_client", group: "apk", severity: "Critical"}, + {id: "CVE-2018-25032", name: "zlib", group: "apk", severity: "High"}, + }, + }, + { + testType: "clean", + imageID: "alpine:3.16.0", + expected: []vulnerabilitySlim{}, + }, + } + + for _, v := range tests { + t.Run(fmt.Sprintf("test-sbom-%s", v.testType), func(t *testing.T) { + testSbomVulnerabilities(t, v.testType, v.imageID, v.expected) + }) + } +} + +func TestGrypeImage(t *testing.T) { + tests := []testData{ + { + testType: "vulnerable", + imageID: "alpine:3.15.0", + expected: []vulnerabilitySlim{ + {id: "CVE-2022-28391", name: "busybox", group: "apk", severity: "Critical"}, + {id: "CVE-2021-4160", name: "libcrypto1.1", group: "apk", severity: "Medium"}, + {id: "CVE-2022-0778", name: "libcrypto1.1", group: "apk", severity: "High"}, + {id: "CVE-2022-0778", name: "libretls", group: "apk", severity: "High"}, + {id: "CVE-2021-4160", name: "libssl1.1", group: "apk", severity: "Medium"}, + {id: "CVE-2022-0778", name: "libssl1.1", group: "apk", severity: "High"}, + {id: "CVE-2022-28391", name: "ssl_client", group: "apk", severity: "Critical"}, + {id: "CVE-2018-25032", name: "zlib", group: "apk", severity: "High"}, + }, + }, + { + testType: "clean", + imageID: "alpine:3.16.0", + expected: []vulnerabilitySlim{}, + }, + } + + for _, v := range tests { + t.Run(fmt.Sprintf("test-image-%s", v.testType), func(t *testing.T) { + testImageVulnerabilities(t, v.imageID, v.expected) + }) + } +} diff --git a/internal/vuln/kubernetes/kubernetes.go b/internal/vuln/kubernetes/kubernetes.go index 9d79076..132d054 100644 --- a/internal/vuln/kubernetes/kubernetes.go +++ b/internal/vuln/kubernetes/kubernetes.go @@ -84,18 +84,7 @@ func (client *KubeClient) getOwner(pod corev1.Pod) owner { if ownerKind == "ReplicaSet" { rs, _ := client.Client.Client.AppsV1().ReplicaSets(pod.Namespace).Get(ctx, ownerName, meta.GetOptions{}) ownerKind, ownerName = getOwnerKindAndName(rs.OwnerReferences) - if ownerKind == "Deployment" { - dep, _ := client.Client.Client.AppsV1().Deployments(pod.Namespace).Get(ctx, ownerName, meta.GetOptions{}) - return owner{kind: "Deployment", name: dep.Name} - } else { - return owner{kind: ownerKind, name: ownerName} - } - } else if ownerKind == "StatefulSet" { - sts, _ := client.Client.Client.AppsV1().StatefulSets(pod.Namespace).Get(ctx, ownerName, meta.GetOptions{}) - return owner{kind: "StatefulSet", name: sts.Name} - } else if ownerKind == "DaemonSet" { - ds, _ := client.Client.Client.AppsV1().DaemonSets(pod.Namespace).Get(ctx, ownerName, meta.GetOptions{}) - return owner{kind: "DaemonSet", name: ds.Name} + return owner{kind: ownerKind, name: ownerName} } else if ownerKind == "Job" { job, _ := client.Client.Client.BatchV1().Jobs(pod.Namespace).Get(ctx, ownerName, meta.GetOptions{}) ownerKind, ownerName = getOwnerKindAndName(job.OwnerReferences) @@ -105,7 +94,7 @@ func (client *KubeClient) getOwner(pod corev1.Pod) owner { return owner{kind: ownerKind, name: ownerName} } } else if ownerKind != "" { - // A CRD-Operator created the pod + // A StatefulSet, DaemonSet or CRD-Operator created the pod return owner{kind: ownerKind, name: ownerName} } else { // Single pod without owner diff --git a/internal/vuln/source/git/git_source.go b/internal/vuln/source/git/git_source.go index 006aaa2..3768bd0 100644 --- a/internal/vuln/source/git/git_source.go +++ b/internal/vuln/source/git/git_source.go @@ -9,7 +9,6 @@ import ( "github.com/ckotzbauer/vulnerability-operator/internal/vuln" "github.com/ckotzbauer/vulnerability-operator/internal/vuln/source" "github.com/sirupsen/logrus" - "github.com/spf13/viper" ) type GitSource struct { @@ -21,14 +20,8 @@ type GitSource struct { sboms []source.ScanItem } -func NewGitSource() *GitSource { - workingTree := viper.GetString(vuln.ConfigKeyGitWorkingTree) - workPath := viper.GetString(vuln.ConfigKeyGitPath) - repository := viper.GetString(vuln.ConfigKeyGitRepository) - branch := viper.GetString(vuln.ConfigKeyGitBranch) - - gitAccount := New(viper.GetString(vuln.ConfigKeyGitAccessToken)) - +func NewGitSource(workingTree, workPath, repository, branch, token string) *GitSource { + gitAccount := New(token) return &GitSource{ workingTree: workingTree, workPath: workPath, @@ -62,7 +55,7 @@ func (g *GitSource) ValidateConfig() error { func (g *GitSource) Initialize() { g.gitAccount.PrepareRepository( g.repository, g.workingTree, - viper.GetString(vuln.ConfigKeyGitBranch)) + g.branch) } func (g *GitSource) LoadScanItems() []source.ScanItem { diff --git a/internal/vuln/source/kubernetes/kubernetes_source.go b/internal/vuln/source/kubernetes/kubernetes_source.go index 77bbd05..dbd42ea 100644 --- a/internal/vuln/source/kubernetes/kubernetes_source.go +++ b/internal/vuln/source/kubernetes/kubernetes_source.go @@ -1,11 +1,9 @@ package kubernetes import ( - "github.com/ckotzbauer/vulnerability-operator/internal/vuln" "github.com/ckotzbauer/vulnerability-operator/internal/vuln/kubernetes" "github.com/ckotzbauer/vulnerability-operator/internal/vuln/source" "github.com/sirupsen/logrus" - "github.com/spf13/viper" ) type KubernetesSource struct { @@ -14,10 +12,7 @@ type KubernetesSource struct { podLabelSelector string } -func NewKubernetesSource() *KubernetesSource { - namespaceLabelSelector := viper.GetString(vuln.ConfigKeyNamespaceLabelSelector) - podLabelSelector := viper.GetString(vuln.ConfigKeyPodLabelSelector) - +func NewKubernetesSource(namespaceLabelSelector, podLabelSelector string) *KubernetesSource { return &KubernetesSource{ images: []source.ScanItem{}, namespaceLabelSelector: namespaceLabelSelector, diff --git a/internal/vuln/target/json_target.go b/internal/vuln/target/json_target.go index 55c2747..6d9047e 100644 --- a/internal/vuln/target/json_target.go +++ b/internal/vuln/target/json_target.go @@ -7,7 +7,6 @@ import ( "github.com/ckotzbauer/vulnerability-operator/internal/vuln" "github.com/ckotzbauer/vulnerability-operator/internal/vuln/grype" - "github.com/spf13/viper" ) type JsonTarget struct { @@ -15,8 +14,7 @@ type JsonTarget struct { reportsDir string } -func NewJsonTarget() *JsonTarget { - reportsDir := viper.GetString(vuln.ConfigKeyReportsDir) +func NewJsonTarget(reportsDir string) *JsonTarget { return &JsonTarget{vulns: []grype.Vulnerability{}, reportsDir: reportsDir} }