From 41eaa78ae004c913e547c6d0da26cb9a307b891d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Sep 2023 14:09:44 +0300 Subject: [PATCH 001/338] chore(deps): bump github.com/aws/aws-sdk-go from 1.44.273 to 1.45.3 (#5126) Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.273 to 1.45.3. - [Release notes](https://github.com/aws/aws-sdk-go/releases) - [Commits](https://github.com/aws/aws-sdk-go/compare/v1.44.273...v1.45.3) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 873bcf869ebe..bd6ce0de3cf7 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917 github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230830063136-fe986af3f10f - github.com/aws/aws-sdk-go v1.44.273 + github.com/aws/aws-sdk-go v1.45.3 github.com/aws/aws-sdk-go-v2 v1.21.0 github.com/aws/aws-sdk-go-v2/config v1.18.38 github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0 diff --git a/go.sum b/go.sum index 4ec357cf7c4c..7bb82561382f 100644 --- a/go.sum +++ b/go.sum @@ -364,8 +364,8 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3d github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.44.273 h1:CX8O0gK+cGrgUyv7bgJ6QQP9mQg7u5mweHdNzULH47c= -github.com/aws/aws-sdk-go v1.44.273/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.45.3 h1:Q8BksXg2ZUu2dCbA62+UCEtfvqsW8EO4tzt2IVeYAws= +github.com/aws/aws-sdk-go v1.45.3/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.16.16/go.mod h1:SwiyXi/1zTUZ6KIAmLK5V5ll8SiURNUYOqTerZPaF9k= github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= github.com/aws/aws-sdk-go-v2 v1.17.5/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= From 120ac68b5bb3119cbb23381d12ca1b0dceb92ed4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Sep 2023 23:16:13 +0300 Subject: [PATCH 002/338] chore(deps): bump easimon/maximize-build-space from 7 to 8 (#5105) Bumps [easimon/maximize-build-space](https://github.com/easimon/maximize-build-space) from 7 to 8. - [Release notes](https://github.com/easimon/maximize-build-space/releases) - [Changelog](https://github.com/easimon/maximize-build-space/blob/master/CHANGELOG.md) - [Commits](https://github.com/easimon/maximize-build-space/compare/v7...v8) --- updated-dependencies: - dependency-name: easimon/maximize-build-space dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/reusable-release.yaml | 2 +- .github/workflows/test.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index ac37a7938184..59396a7479ba 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -27,7 +27,7 @@ jobs: contents: read # Not required for public repositories, but for clarity steps: - name: Maximize build space - uses: easimon/maximize-build-space@v7 + uses: easimon/maximize-build-space@v8 with: root-reserve-mb: 35840 # The Go cache (`~/.cache/go-build` and `~/go/pkg`) requires a lot of storage space. remove-android: 'true' diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index a656a7adf7ad..b9a5f9396cdb 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -157,7 +157,7 @@ jobs: DOCKER_CLI_EXPERIMENTAL: "enabled" steps: - name: Maximize build space - uses: easimon/maximize-build-space@v7 + uses: easimon/maximize-build-space@v8 with: root-reserve-mb: 35840 # The Go cache (`~/.cache/go-build` and `~/go/pkg`) requires a lot of storage space. remove-android: 'true' From a9c2c74c551578ca745364ad551d9646e7aaa56a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Sep 2023 23:17:29 +0300 Subject: [PATCH 003/338] chore(deps): bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 (#5103) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.6.0 to 3.7.0. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v3.6.0...v3.7.0) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index b9a5f9396cdb..aa1df8fbb64e 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -41,7 +41,7 @@ jobs: if: matrix.operating-system == 'ubuntu-latest' - name: Lint - uses: golangci/golangci-lint-action@v3.6.0 + uses: golangci/golangci-lint-action@v3.7.0 with: version: v1.52 args: --deadline=30m From 48cbf45534155b6be1dc467a4e30564acb2bb2e4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Sep 2023 16:47:33 +0300 Subject: [PATCH 004/338] chore(deps): bump github.com/cyphar/filepath-securejoin (#5143) Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.2.3 to 0.2.4. - [Release notes](https://github.com/cyphar/filepath-securejoin/releases) - [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.2.3...v0.2.4) --- updated-dependencies: - dependency-name: github.com/cyphar/filepath-securejoin dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index bd6ce0de3cf7..3a5251fbcf10 100644 --- a/go.mod +++ b/go.mod @@ -210,7 +210,7 @@ require ( github.com/containerd/typeurl/v2 v2.1.1 // indirect github.com/cpuguy83/dockercfg v0.3.1 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect - github.com/cyphar/filepath-securejoin v0.2.3 // indirect + github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/dlclark/regexp2 v1.4.0 // indirect diff --git a/go.sum b/go.sum index 7bb82561382f..55ad04a40672 100644 --- a/go.sum +++ b/go.sum @@ -702,8 +702,9 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= -github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= From ccc6d7cb2cd29da0c4b4e051c8c5b71527c7321c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Sep 2023 17:04:16 +0300 Subject: [PATCH 005/338] chore(deps): bump sigstore/cosign-installer (#5104) Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from a5d81fb6bdbcbb3d239e864d6552820420254494 to 4a861528be5e691840a69536975ada1d4c30349d. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/a5d81fb6bdbcbb3d239e864d6552820420254494...4a861528be5e691840a69536975ada1d4c30349d) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/reusable-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index 59396a7479ba..9f5c1e4b974a 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -36,7 +36,7 @@ jobs: remove-haskell: 'true' - name: Cosign install - uses: sigstore/cosign-installer@a5d81fb6bdbcbb3d239e864d6552820420254494 + uses: sigstore/cosign-installer@4a861528be5e691840a69536975ada1d4c30349d - name: Set up QEMU uses: docker/setup-qemu-action@v2 From c7516011b5bcad11cedf163ff8be301f0aef9074 Mon Sep 17 00:00:00 2001 From: Srishanth <111244831+Tallapelly@users.noreply.github.com> Date: Sun, 10 Sep 2023 14:22:19 +0530 Subject: [PATCH 006/338] Update filtering.md (#5131) --- docs/docs/configuration/filtering.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/configuration/filtering.md b/docs/docs/configuration/filtering.md index c247052d00a5..a3d08daa897d 100644 --- a/docs/docs/configuration/filtering.md +++ b/docs/docs/configuration/filtering.md @@ -68,7 +68,7 @@ Total: 527 (UNKNOWN: 0, LOW: 276, MEDIUM: 83, HIGH: 158, CRITICAL: 10) !!! tip To skip all unfixed vulnerabilities, you can use the `--ignore-unfixed` flag . - It is a shorthand of `-ignore-status affected,will_not_fix,fix_deferred,end_of_life`. + It is a shorthand of `--ignore-status affected,will_not_fix,fix_deferred,end_of_life`. It displays "fixed" vulnerabilities only. ```bash @@ -515,4 +515,4 @@ resource "google_container_cluster" "one_off_test" { } ``` -[^1]: license name is used as id for `.trivyignore.yaml` files \ No newline at end of file +[^1]: license name is used as id for `.trivyignore.yaml` files From 19539722e0328db39cc8b066c016c80573014e2e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Sep 2023 15:57:56 +0300 Subject: [PATCH 007/338] chore(deps): bump github.com/CycloneDX/cyclonedx-go (#5102) Bumps [github.com/CycloneDX/cyclonedx-go](https://github.com/CycloneDX/cyclonedx-go) from 0.7.2-0.20230625092137-07e2f29defc3 to 0.7.2. - [Release notes](https://github.com/CycloneDX/cyclonedx-go/releases) - [Changelog](https://github.com/CycloneDX/cyclonedx-go/blob/master/.goreleaser.yml) - [Commits](https://github.com/CycloneDX/cyclonedx-go/commits/v0.7.2) --- updated-dependencies: - dependency-name: github.com/CycloneDX/cyclonedx-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3a5251fbcf10..9732e87338b3 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.1 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1 github.com/BurntSushi/toml v1.3.2 - github.com/CycloneDX/cyclonedx-go v0.7.2-0.20230625092137-07e2f29defc3 + github.com/CycloneDX/cyclonedx-go v0.7.2 github.com/GoogleCloudPlatform/docker-credential-gcr v2.0.5+incompatible github.com/Masterminds/sprig/v3 v3.2.3 github.com/NYTimes/gziphandler v1.1.1 diff --git a/go.sum b/go.sum index 55ad04a40672..b89b36a7da5f 100644 --- a/go.sum +++ b/go.sum @@ -237,8 +237,8 @@ github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbi github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/CycloneDX/cyclonedx-go v0.7.2-0.20230625092137-07e2f29defc3 h1:NqeV+ZMqpcosu0Xg2VW14Ru9ayBs/toe2oihS7sN6Xo= -github.com/CycloneDX/cyclonedx-go v0.7.2-0.20230625092137-07e2f29defc3/go.mod h1:fGXSp1lCDfMQ8KR1EjxT4ewc5HHhGczRF2pWhLSWohs= +github.com/CycloneDX/cyclonedx-go v0.7.2 h1:kKQ0t1dPOlugSIYVOMiMtFqeXI2wp/f5DBIdfux8gnQ= +github.com/CycloneDX/cyclonedx-go v0.7.2/go.mod h1:K2bA+324+Og0X84fA8HhN2X066K7Bxz4rpMQ4ZhjtSk= github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= github.com/GoogleCloudPlatform/docker-credential-gcr v2.0.5+incompatible h1:juIaKLLVhqzP55d8x4cSVgwyQv76Z55/fRv/UBr2KkQ= github.com/GoogleCloudPlatform/docker-credential-gcr v2.0.5+incompatible/go.mod h1:BB1eHdMLYEFuFdBlRMb0N7YGVdM5s6Pt0njxgvfbGGs= From ed49609a7331da464d49af918733c2ee2b2e1fb2 Mon Sep 17 00:00:00 2001 From: Katsuya Miyachi Date: Mon, 11 Sep 2023 00:08:09 +0900 Subject: [PATCH 008/338] fix(fs): assign the absolute path to be inspected to ROOTPATH when filesystem (#5158) --- pkg/report/sarif.go | 6 ++++++ pkg/report/writer.go | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/pkg/report/sarif.go b/pkg/report/sarif.go index e942f94b13ad..7fb2424ed30b 100644 --- a/pkg/report/sarif.go +++ b/pkg/report/sarif.go @@ -4,6 +4,7 @@ import ( "fmt" "html" "io" + "path/filepath" "regexp" "strings" @@ -46,6 +47,7 @@ type SarifWriter struct { Version string run *sarif.Run locationCache map[string][]location + Target string } type sarifData struct { @@ -135,6 +137,10 @@ func (sw *SarifWriter) Write(report types.Report) error { "repoDigests": report.Metadata.RepoDigests, } } + if sw.Target != "" { + absPath, _ := filepath.Abs(sw.Target) + rootPath = fmt.Sprintf("file://%s/", absPath) + } ruleIndexes := map[string]int{} for _, res := range report.Results { diff --git a/pkg/report/writer.go b/pkg/report/writer.go index f31d9324f277..80fe63980f28 100644 --- a/pkg/report/writer.go +++ b/pkg/report/writer.go @@ -16,6 +16,8 @@ import ( "github.com/aquasecurity/trivy/pkg/report/spdx" "github.com/aquasecurity/trivy/pkg/report/table" "github.com/aquasecurity/trivy/pkg/types" + + ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" ) const ( @@ -75,9 +77,14 @@ func Write(report types.Report, option flag.Options) error { return xerrors.Errorf("failed to initialize template writer: %w", err) } case types.FormatSarif: + target := "" + if report.ArtifactType == ftypes.ArtifactFilesystem { + target = option.Target + } writer = &SarifWriter{ Output: output, Version: option.AppVersion, + Target: target, } case types.FormatCosignVuln: writer = predicate.NewVulnWriter(output, option.AppVersion) From 7c68d4a7ecf4def588fe1dc3e6a40a4d1940dc75 Mon Sep 17 00:00:00 2001 From: "k.goto" <24818752+go-to-k@users.noreply.github.com> Date: Mon, 11 Sep 2023 18:18:56 +0900 Subject: [PATCH 009/338] docs: add image-scanner-with-trivy for ecosystem (#5159) --- docs/ecosystem/ide.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/ecosystem/ide.md b/docs/ecosystem/ide.md index 5c13d44449b1..f92aaf94c0f8 100644 --- a/docs/ecosystem/ide.md +++ b/docs/ecosystem/ide.md @@ -54,3 +54,13 @@ Web application that allows to load a Trivy report in json format and displays t A trivy pre-commit hook that runs a `trivy fs` in your git repo before commiting, preventing you from commiting secrets in the first place. 👉 Get it at: + +## AWS CDK + +[The AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/) is an open-source software development framework to define cloud infrastructure in code and provision it through AWS CloudFormation. + +### image-scanner-with-trivy (Community) + +A CDK Construct Library to scan an image with trivy in CDK codes. + +👉 Get it at: From ad1dc6327ab20b9f5ab10c539814abcd4cde8b52 Mon Sep 17 00:00:00 2001 From: Nikita Pivkin Date: Tue, 12 Sep 2023 13:57:40 +0700 Subject: [PATCH 010/338] docs: add 'Signature Verification' guide (#4731) * add 'Signature Verification' guide * add gpg signature verification doc --------- Signed-off-by: knqyf263 Co-authored-by: knqyf263 --- .../getting-started/signature-verification.md | 99 +++++++++++++++++++ mkdocs.yml | 1 + 2 files changed, 100 insertions(+) create mode 100644 docs/getting-started/signature-verification.md diff --git a/docs/getting-started/signature-verification.md b/docs/getting-started/signature-verification.md new file mode 100644 index 000000000000..1443b4586c6f --- /dev/null +++ b/docs/getting-started/signature-verification.md @@ -0,0 +1,99 @@ +# Signature Verification + +## Verifying a Cosign signature +All binaries and container images are signed by [Cosign](https://github.com/sigstore/cosign). + +You need the following tool: + +- [Cosign](https://docs.sigstore.dev/cosign/installation/) + +### Verifying signed container images +1. Use the following command for keyless [verification](https://docs.sigstore.dev/cosign/verify/): + ```shell + cosign verify aquasec/trivy: \ + --certificate-identity-regexp 'https://github\.com/aquasecurity/trivy/\.github/workflows/.+' \ + --certificate-oidc-issuer "https://token.actions.githubusercontent.com" + ``` + +2. You should get the following output + ```shell + Verification for index.docker.io/aquasec/trivy:latest -- + The following checks were performed on each of these signatures: + - The cosign claims were validated + - Existence of the claims in the transparency log was verified offline + - The code-signing certificate was verified using trusted certificate authority certificates + + .... + ``` + +### Verifying signed binaries + +1. Download the required tarball, associated signature and certificate files +2. Use the following command for keyless verification: + ```shell + cosign verify-blob \ + --certificate \ + --signature \ + --certificate-identity-regexp 'https://github\.com/aquasecurity/trivy/\.github/workflows/.+' \ + --certificate-oidc-issuer "https://token.actions.githubusercontent.com" + ``` +3. You should get the following output + ``` + Verified OK + ``` + +For example: + +```shell +$ wget "https://github.com/aquasecurity/trivy/releases/download/v0.45.0/trivy_0.45.0_Linux-32bit.tar.gz" +$ wget "https://github.com/aquasecurity/trivy/releases/download/v0.45.0/trivy_0.45.0_Linux-32bit.tar.gz.pem" +$ wget "https://github.com/aquasecurity/trivy/releases/download/v0.45.0/trivy_0.45.0_Linux-32bit.tar.gz.sig" +$ cosign verify-blob trivy_0.45.0_Linux-32bit.tar.gz \ + --certificate trivy_0.45.0_Linux-32bit.tar.gz.pem \ + --signature trivy_0.45.0_Linux-32bit.tar.gz.sig \ + --certificate-identity-regexp 'https://github\.com/aquasecurity/trivy/\.github/workflows/.+' \ + --certificate-oidc-issuer "https://token.actions.githubusercontent.com" + +Vetified OK +``` + +## Verifying a GPG signature + +RPM and Deb packages are also signed by GPG. + +### Verifying RPM + +The public key downloaded [here](https://aquasecurity.github.io/trivy-repo/rpm/public.key). + +1. Download the public key + ```shell + curl https://aquasecurity.github.io/trivy-repo/rpm/public.key \ + --output pub.key + ``` +2. Import the key + ```shell + rpm --import pub.key + ``` +3. Verify that the key has been imported + ```shell + rpm -q --queryformat "%{SUMMARY}\n" $(rpm -q gpg-pubkey) + ``` + You should get the following output + ```shell + gpg(trivy) + ``` + +4. Download the required binary + ```shell + curl -L https://github.com/aquasecurity/trivy/releases/download//.rpm \ + --output trivy.rpm + ``` +5. Check the binary with the following command + ```shell + rpm -K trivy.rpm + ``` + You should get the following output + ```shell + trivy.rpm: digests signatures OK + ``` + diff --git a/mkdocs.yml b/mkdocs.yml index 334ea52a4d70..c3e84f5f9162 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -10,6 +10,7 @@ nav: - Getting Started: - Overview: index.md - Installation: getting-started/installation.md + - Signature Verification: getting-started/signature-verification.md - FAQ: getting-started/faq.md - Tutorials: - Overview: tutorials/overview.md From 9a49a3773786c5376d139771bc895b541bcfd0b4 Mon Sep 17 00:00:00 2001 From: chenk Date: Tue, 12 Sep 2023 10:21:44 +0300 Subject: [PATCH 011/338] chore: bump trivy-kubernetes-latest (#5161) Signed-off-by: chenk --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9732e87338b3..32285a44efba 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/aquasecurity/tml v0.6.1 github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917 github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 - github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230830063136-fe986af3f10f + github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230911060854-ffb3af75d485 github.com/aws/aws-sdk-go v1.45.3 github.com/aws/aws-sdk-go-v2 v1.21.0 github.com/aws/aws-sdk-go-v2/config v1.18.38 diff --git a/go.sum b/go.sum index b89b36a7da5f..3c4aef09b426 100644 --- a/go.sum +++ b/go.sum @@ -348,8 +348,8 @@ github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917 h1:MQd7h7yUy github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917/go.mod h1:WJ5Qnk5ZNGWvks07GOZe2IOsuXrPfSC5c8hYGOGfrsU= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 h1:0eS+V7SXHgqoT99tV1mtMW6HL4HdoB9qGLMCb1fZp8A= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728/go.mod h1:Ldya37FLi0e/5Cjq2T5Bty7cFkzUDwTcPeQua+2M8i8= -github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230830063136-fe986af3f10f h1:KOB3oGBjP+usI88PzDehhJ0AUWoKUCs7wBspcxBAF00= -github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230830063136-fe986af3f10f/go.mod h1:e1RaMcs2R/C+eP1Pi7JyhDB7Qn1PNRg5rTVwuJL7AiE= +github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230911060854-ffb3af75d485 h1:+SIGN5TwSfifdXGjlpTD4R7krTxAQrm4KRPCRe1oiWQ= +github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230911060854-ffb3af75d485/go.mod h1:e1RaMcs2R/C+eP1Pi7JyhDB7Qn1PNRg5rTVwuJL7AiE= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= From 9ebc25d88bc4df62e50a1b8bef203625902d2879 Mon Sep 17 00:00:00 2001 From: Nikita Pivkin Date: Thu, 14 Sep 2023 13:10:09 +0700 Subject: [PATCH 012/338] test: validate SPDX with the JSON schema (#5124) * test: validate SPDX with the JSON schema * use the SPDX schema version based on the document version * additionally validate the document using spdx --- integration/integration_test.go | 31 +++++++++++++++++++++++-------- integration/repo_test.go | 2 +- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/integration/integration_test.go b/integration/integration_test.go index 11e5a431d977..8f4ca3bc3dd2 100644 --- a/integration/integration_test.go +++ b/integration/integration_test.go @@ -6,6 +6,7 @@ import ( "context" "encoding/json" "flag" + "fmt" "io" "net" "os" @@ -19,6 +20,7 @@ import ( "github.com/samber/lo" spdxjson "github.com/spdx/tools-golang/json" "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdxlib" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/xeipuuv/gojsonschema" @@ -34,6 +36,8 @@ import ( var update = flag.Bool("update", false, "update golden files") +const SPDXSchema = "https://raw.githubusercontent.com/spdx/spdx-spec/development/v%s/schemas/spdx-schema.json" + func initDB(t *testing.T) string { fixtureDir := filepath.Join("testdata", "fixtures", "db") entries, err := os.ReadDir(fixtureDir) @@ -210,9 +214,26 @@ func compareCycloneDX(t *testing.T, wantFile, gotFile string) { assert.Equal(t, want, got) // Validate CycloneDX output against the JSON schema - schemaLoader := gojsonschema.NewReferenceLoader(got.JSONSchema) - documentLoader := gojsonschema.NewGoLoader(got) + validateReport(t, got.JSONSchema, got) +} + +func compareSPDXJson(t *testing.T, wantFile, gotFile string) { + want := readSpdxJson(t, wantFile) + got := readSpdxJson(t, gotFile) + assert.Equal(t, want, got) + + SPDXVersion, ok := strings.CutPrefix(want.SPDXVersion, "SPDX-") + assert.True(t, ok) + + assert.NoError(t, spdxlib.ValidateDocument(got)) + // Validate SPDX output against the JSON schema + validateReport(t, fmt.Sprintf(SPDXSchema, SPDXVersion), got) +} + +func validateReport(t *testing.T, schema string, report any) { + schemaLoader := gojsonschema.NewReferenceLoader(schema) + documentLoader := gojsonschema.NewGoLoader(report) result, err := gojsonschema.Validate(schemaLoader, documentLoader) require.NoError(t, err) @@ -223,9 +244,3 @@ func compareCycloneDX(t *testing.T, wantFile, gotFile string) { assert.True(t, valid, strings.Join(errs, "\n")) } } - -func compareSpdxJson(t *testing.T, wantFile, gotFile string) { - want := readSpdxJson(t, wantFile) - got := readSpdxJson(t, gotFile) - assert.Equal(t, want, got) -} diff --git a/integration/repo_test.go b/integration/repo_test.go index c554881e3101..d0921cdd6740 100644 --- a/integration/repo_test.go +++ b/integration/repo_test.go @@ -492,7 +492,7 @@ func TestRepository(t *testing.T) { case types.FormatCycloneDX: compareCycloneDX(t, tt.golden, outputFile) case types.FormatSPDXJSON: - compareSpdxJson(t, tt.golden, outputFile) + compareSPDXJson(t, tt.golden, outputFile) case types.FormatJSON: compareReports(t, tt.golden, outputFile, tt.override) default: From ecee79403e0b16cbc0532611f7cacc624589f4c5 Mon Sep 17 00:00:00 2001 From: chenk Date: Thu, 14 Sep 2023 09:12:48 +0300 Subject: [PATCH 013/338] fix(k8s): kbom support addons labels (#5178) * feat: kbom support addons label Signed-off-by: chenk * feat: kbom support addons label Signed-off-by: chenk --------- Signed-off-by: chenk --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 32285a44efba..b6c6185d7866 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/aquasecurity/tml v0.6.1 github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917 github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 - github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230911060854-ffb3af75d485 + github.com/aquasecurity/trivy-kubernetes v0.5.7 github.com/aws/aws-sdk-go v1.45.3 github.com/aws/aws-sdk-go-v2 v1.21.0 github.com/aws/aws-sdk-go-v2/config v1.18.38 diff --git a/go.sum b/go.sum index 3c4aef09b426..954813f54250 100644 --- a/go.sum +++ b/go.sum @@ -348,8 +348,8 @@ github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917 h1:MQd7h7yUy github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917/go.mod h1:WJ5Qnk5ZNGWvks07GOZe2IOsuXrPfSC5c8hYGOGfrsU= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 h1:0eS+V7SXHgqoT99tV1mtMW6HL4HdoB9qGLMCb1fZp8A= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728/go.mod h1:Ldya37FLi0e/5Cjq2T5Bty7cFkzUDwTcPeQua+2M8i8= -github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230911060854-ffb3af75d485 h1:+SIGN5TwSfifdXGjlpTD4R7krTxAQrm4KRPCRe1oiWQ= -github.com/aquasecurity/trivy-kubernetes v0.5.7-0.20230911060854-ffb3af75d485/go.mod h1:e1RaMcs2R/C+eP1Pi7JyhDB7Qn1PNRg5rTVwuJL7AiE= +github.com/aquasecurity/trivy-kubernetes v0.5.7 h1:+tIrSnIkvweL+cuK0SSiYxF8EvKT3Xk1iuE9EWduV+c= +github.com/aquasecurity/trivy-kubernetes v0.5.7/go.mod h1:e1RaMcs2R/C+eP1Pi7JyhDB7Qn1PNRg5rTVwuJL7AiE= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= From bd0accd8a0152a123200ca88e1adc9d76500718d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Sep 2023 09:17:08 +0300 Subject: [PATCH 014/338] chore(deps): bump github.com/spf13/viper from 1.15.0 to 1.16.0 (#5093) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.15.0 to 1.16.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.15.0...v1.16.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 6 +++--- go.sum | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/go.mod b/go.mod index b6c6185d7866..9af3b287dba4 100644 --- a/go.mod +++ b/go.mod @@ -85,7 +85,7 @@ require ( github.com/spf13/cast v1.5.1 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.15.0 + github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.4 github.com/testcontainers/testcontainers-go v0.23.0 github.com/testcontainers/testcontainers-go/modules/localstack v0.21.0 @@ -317,7 +317,7 @@ require ( github.com/opencontainers/selinux v1.11.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/owenrumney/squealer v1.1.1 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect @@ -336,7 +336,7 @@ require ( github.com/shibumi/go-pathspec v1.3.0 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/skeema/knownhosts v1.1.1 // indirect - github.com/spf13/afero v1.9.3 // indirect + github.com/spf13/afero v1.9.5 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect diff --git a/go.sum b/go.sum index 954813f54250..e0193d0176e6 100644 --- a/go.sum +++ b/go.sum @@ -1471,8 +1471,8 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI= @@ -1604,8 +1604,8 @@ github.com/spdx/tools-golang v0.5.0/go.mod h1:kkGlrSXXfHwuSzHQZJRV3aKu9ZXCq/MSf2 github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= @@ -1629,8 +1629,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -1650,6 +1650,7 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= @@ -1804,7 +1805,6 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= From 81240cf08093122c144b1c00a1b7d9536e5b87a8 Mon Sep 17 00:00:00 2001 From: Paternity Leave Date: Thu, 14 Sep 2023 09:19:59 +0300 Subject: [PATCH 015/338] chore: auto-close issues (#5177) * chore: auto close issues Signed-off-by: knqyf263 * chore: add state_reason * docs: add a warning message about issues Signed-off-by: knqyf263 --------- Signed-off-by: knqyf263 --- .github/workflows/auto-close-issue.yaml | 46 +++++++++++++++++++++++++ docs/community/contribute/issue.md | 5 ++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/auto-close-issue.yaml diff --git a/.github/workflows/auto-close-issue.yaml b/.github/workflows/auto-close-issue.yaml new file mode 100644 index 000000000000..679b34bb1232 --- /dev/null +++ b/.github/workflows/auto-close-issue.yaml @@ -0,0 +1,46 @@ +name: Auto-close issues + +on: + issues: + types: [opened] + +jobs: + close_issue: + runs-on: ubuntu-latest + steps: + - name: Close issue if user does not have write or admin permissions + uses: actions/github-script@v6 + with: + script: | + // Get the issue creator's username + const issueCreator = context.payload.issue.user.login; + + // Check the user's permissions for the repository + const repoPermissions = await github.rest.repos.getCollaboratorPermissionLevel({ + owner: context.repo.owner, + repo: context.repo.repo, + username: issueCreator + }); + + const permission = repoPermissions.data.permission; + + // If the user does not have write or admin permissions, leave a comment and close the issue + if (permission !== 'write' && permission !== 'admin') { + const commentBody = "Please see https://aquasecurity.github.io/trivy/latest/community/contribute/issue/"; + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.issue.number, + body: commentBody + }); + + await github.rest.issues.update({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.issue.number, + state: 'closed', + state_reason: 'not_planned' + }); + + console.log(`Issue #${context.payload.issue.number} closed because ${issueCreator} does not have sufficient permissions.`); + } \ No newline at end of file diff --git a/docs/community/contribute/issue.md b/docs/community/contribute/issue.md index e686f616e0b4..c402f73b9cfc 100644 --- a/docs/community/contribute/issue.md +++ b/docs/community/contribute/issue.md @@ -1,4 +1,7 @@ # Issues Thank you for taking interest in contributing to Trivy! -Trivy uses [GitHub Discussion](./discussion.md) for bug reports, feature requests, and questions. \ No newline at end of file +Trivy uses [GitHub Discussion](./discussion.md) for bug reports, feature requests, and questions. + +!!! warning + Issues created by non-maintainers will be immediately closed. \ No newline at end of file From daae88287b033e583fec1496a0661970166917d4 Mon Sep 17 00:00:00 2001 From: Paternity Leave Date: Fri, 15 Sep 2023 23:58:10 +0300 Subject: [PATCH 016/338] fix(purl): handle rust types (#5186) Signed-off-by: knqyf263 --- pkg/purl/purl.go | 2 ++ pkg/purl/purl_test.go | 29 +++++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/pkg/purl/purl.go b/pkg/purl/purl.go index 2ab2e4e49c5c..d54d2dffd795 100644 --- a/pkg/purl/purl.go +++ b/pkg/purl/purl.go @@ -375,6 +375,8 @@ func purlType(t string) string { return packageurl.TypeConan case ftypes.Pub: return TypeDart // TODO: replace with packageurl.TypeDart once they add it. + case ftypes.RustBinary, ftypes.Cargo: + return packageurl.TypeCargo case os.Alpine: return TypeAPK case os.Debian, os.Ubuntu: diff --git a/pkg/purl/purl_test.go b/pkg/purl/purl_test.go index defd24a309e8..4c3688237d7a 100644 --- a/pkg/purl/purl_test.go +++ b/pkg/purl/purl_test.go @@ -185,10 +185,15 @@ func TestNewPackageURL(t *testing.T) { name: "hex package", typ: ftypes.Hex, pkg: ftypes.Package{ - ID: "bunt@0.2.0", - Name: "bunt", - Version: "0.2.0", - Locations: []ftypes.Location{{StartLine: 2, EndLine: 2}}, + ID: "bunt@0.2.0", + Name: "bunt", + Version: "0.2.0", + Locations: []ftypes.Location{ + { + StartLine: 2, + EndLine: 2, + }, + }, }, want: purl.PackageURL{ PackageURL: packageurl.PackageURL{ @@ -247,6 +252,22 @@ func TestNewPackageURL(t *testing.T) { }, }, }, + { + name: "rust binary", + typ: ftypes.RustBinary, + pkg: ftypes.Package{ + ID: "abomonation@0.7.3", + Name: "abomonation", + Version: "0.7.3", + }, + want: purl.PackageURL{ + PackageURL: packageurl.PackageURL{ + Type: packageurl.TypeCargo, + Name: "abomonation", + Version: "0.7.3", + }, + }, + }, { name: "os package", typ: os.RedHat, From 49680dc8812cc0c2aaa127c26c53c850415a257a Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Mon, 18 Sep 2023 14:07:56 +0600 Subject: [PATCH 017/338] fix link (#5203) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 58880f4e08d8..1db2353bb1fc 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,7 @@ Please ensure to abide by our [Code of Conduct][code-of-conduct] during all inte [Installation]:https://aquasecurity.github.io/trivy/latest/getting-started/installation/ [Ecosystem]: https://aquasecurity.github.io/trivy/latest/ecosystem/ -[Scanning Coverage]: https://aquasecurity.github.io/trivy/latest/getting-started/coverage/ +[Scanning Coverage]: https://aquasecurity.github.io/trivy/latest/docs/coverage/ [alpine]: https://ariadne.space/2021/06/08/the-vulnerability-remediation-lifecycle-of-alpine-containers/ [rego]: https://www.openpolicyagent.org/docs/latest/#rego From 2e6662060e0b21ad0fd62615f227fd966e4551ae Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Mon, 18 Sep 2023 19:51:12 +0600 Subject: [PATCH 018/338] ci: auto apply labels (#5200) * add label for mage file. Create workflow. * fix typo * setup go and aqua tools * set fetch-depth == 1 --- .github/workflows/auto-update-labels.yaml | 30 +++++++++++++++++++++++ magefiles/magefile.go | 6 +++++ 2 files changed, 36 insertions(+) create mode 100644 .github/workflows/auto-update-labels.yaml diff --git a/.github/workflows/auto-update-labels.yaml b/.github/workflows/auto-update-labels.yaml new file mode 100644 index 000000000000..273e0f1629f0 --- /dev/null +++ b/.github/workflows/auto-update-labels.yaml @@ -0,0 +1,30 @@ +name: Auto-update labels +on: + push: + paths: + - 'misc/triage/labels.yaml' + branches: + - main + +jobs: + deploy: + name: Auto-update labels + runs-on: ubuntu-latest + steps: + - name: Checkout main + uses: actions/checkout@v3.6.0 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + + - name: Install aqua tools + uses: aquaproj/aqua-installer@v2.1.2 + with: + aqua_version: v1.25.0 + + - name: update labels + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: mage label \ No newline at end of file diff --git a/magefiles/magefile.go b/magefiles/magefile.go index 44d12c1c8bb4..ada94c878b31 100644 --- a/magefiles/magefile.go +++ b/magefiles/magefile.go @@ -357,6 +357,12 @@ func Clean() error { return nil } +// Label updates labels +func Label() error { + mg.Deps(Tool{}.Labeler) + return sh.RunV("labeler", "apply", "misc/triage/labels.yaml", "-l", "5") +} + type Docs mg.Namespace // Serve launches MkDocs development server to preview the documentation page From eea3320d83c240f7e7bf9e4cece4197e39b868ff Mon Sep 17 00:00:00 2001 From: Nikita Pivkin Date: Tue, 19 Sep 2023 13:24:11 +0700 Subject: [PATCH 019/338] docs: update info about license scanning in Yarn projects (#5207) --- docs/docs/coverage/language/nodejs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/coverage/language/nodejs.md b/docs/docs/coverage/language/nodejs.md index bd86a24da74d..1489c459cd7d 100644 --- a/docs/docs/coverage/language/nodejs.md +++ b/docs/docs/coverage/language/nodejs.md @@ -7,7 +7,7 @@ The following scanners are supported. | Artifact | SBOM | Vulnerability | License | | -------- | :---: | :-----------: | :-----: | | npm | ✓ | ✓ | ✓ | -| Yarn | ✓ | ✓ | - | +| Yarn | ✓ | ✓ | ✓ | | pnpm | ✓ | ✓ | - | The following table provides an outline of the features Trivy offers. From 37af52994725014109dad4ad648b12b7735e747b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Freire=20Riob=C3=B3?= <45098297+javierfreire@users.noreply.github.com> Date: Wed, 20 Sep 2023 16:19:21 +0200 Subject: [PATCH 020/338] fix(purl): skip local Go packages (#5190) * fix(purl): trim a final slash * fix(purl): skip local Go packages * fix(purl): a few improvements --- pkg/purl/purl.go | 7 +++ pkg/purl/purl_test.go | 16 +++++ pkg/sbom/spdx/marshal.go | 6 +- pkg/sbom/spdx/marshal_test.go | 112 ++++++++++++++++++++++++++++++++++ 4 files changed, 140 insertions(+), 1 deletion(-) diff --git a/pkg/purl/purl.go b/pkg/purl/purl.go index d54d2dffd795..92887bb534e5 100644 --- a/pkg/purl/purl.go +++ b/pkg/purl/purl.go @@ -194,6 +194,9 @@ func NewPackageURL(t string, metadata types.Metadata, pkg ftypes.Package) (Packa namespace, name = parseComposer(name) case packageurl.TypeGolang: namespace, name = parseGolang(name) + if name == "" { + return PackageURL{PackageURL: *packageurl.NewPackageURL("", "", "", "", nil, "")}, nil + } case packageurl.TypeNPM: namespace, name = parseNpm(name) case packageurl.TypeSwift: @@ -310,6 +313,10 @@ func parseMaven(pkgName string) (string, string) { // ref. https://github.com/package-url/purl-spec/blob/a748c36ad415c8aeffe2b8a4a5d8a50d16d6d85f/PURL-TYPES.rst#golang func parseGolang(pkgName string) (string, string) { + // The PURL will be skipped when the package name is a local path, since it can't identify a software package. + if strings.HasPrefix(pkgName, "./") || strings.HasPrefix(pkgName, "../") { + return "", "" + } name := strings.ToLower(pkgName) return parsePkgName(name) } diff --git a/pkg/purl/purl_test.go b/pkg/purl/purl_test.go index 4c3688237d7a..dac5edd0decd 100644 --- a/pkg/purl/purl_test.go +++ b/pkg/purl/purl_test.go @@ -181,6 +181,22 @@ func TestNewPackageURL(t *testing.T) { }, }, }, + { + name: "golang package with a local path", + typ: ftypes.GoModule, + pkg: ftypes.Package{ + Name: "./private_repos/cnrm.googlesource.com/cnrm/", + Version: "(devel)", + }, + want: purl.PackageURL{ + PackageURL: packageurl.PackageURL{ + Type: "", + Namespace: "", + Name: "", + Version: "", + }, + }, + }, { name: "hex package", typ: ftypes.Hex, diff --git a/pkg/sbom/spdx/marshal.go b/pkg/sbom/spdx/marshal.go index 1444d228f69a..e9793c80663b 100644 --- a/pkg/sbom/spdx/marshal.go +++ b/pkg/sbom/spdx/marshal.go @@ -325,7 +325,11 @@ func (m *Marshaler) pkgToSpdxPackage(t, pkgDownloadLocation string, class types. if err != nil { return spdx.Package{}, xerrors.Errorf("failed to parse purl (%s): %w", pkg.Name, err) } - pkgExtRefs := []*spdx.PackageExternalReference{purlExternalReference(packageURL.String())} + + var pkgExtRefs []*spdx.PackageExternalReference + if packageURL.Type != "" { + pkgExtRefs = []*spdx.PackageExternalReference{purlExternalReference(packageURL.String())} + } var attrTexts []string attrTexts = appendAttributionText(attrTexts, PropertyPkgID, pkg.ID) diff --git a/pkg/sbom/spdx/marshal_test.go b/pkg/sbom/spdx/marshal_test.go index a0e9e0c21ded..2efdde8cfa65 100644 --- a/pkg/sbom/spdx/marshal_test.go +++ b/pkg/sbom/spdx/marshal_test.go @@ -836,6 +836,118 @@ func TestMarshaler_Marshal(t *testing.T) { }, }, }, + { + name: "go library local", + inputReport: types.Report{ + SchemaVersion: report.SchemaVersion, + ArtifactName: "go-artifact", + ArtifactType: ftypes.ArtifactFilesystem, + Results: types.Results{ + { + Target: "artifact", + Class: types.ClassLangPkg, + Type: ftypes.GoBinary, + Packages: []ftypes.Package{ + { + Name: "./private_repos/cnrm.googlesource.com/cnrm/", + Version: "(devel)", + }, + { + Name: "golang.org/x/crypto", + Version: "v0.0.1", + }, + }, + }, + }, + }, + wantSBOM: &spdx.Document{ + SPDXVersion: spdx.Version, + DataLicense: spdx.DataLicense, + SPDXIdentifier: "DOCUMENT", + DocumentName: "go-artifact", + DocumentNamespace: "http://aquasecurity.github.io/trivy/filesystem/go-artifact-3ff14136-e09f-4df9-80ea-000000000001", + CreationInfo: &spdx.CreationInfo{ + Creators: []common.Creator{ + { + Creator: "aquasecurity", + CreatorType: "Organization", + }, + { + Creator: "trivy-0.38.1", + CreatorType: "Tool", + }, + }, + Created: "2021-08-25T12:20:30Z", + }, + Packages: []*spdx.Package{ + { + PackageSPDXIdentifier: spdx.ElementID("Package-9164ae38c5cdf815"), + PackageDownloadLocation: "NONE", + PackageName: "./private_repos/cnrm.googlesource.com/cnrm/", + PackageVersion: "(devel)", + PackageLicenseConcluded: "NONE", + PackageLicenseDeclared: "NONE", + PrimaryPackagePurpose: tspdx.PackagePurposeLibrary, + PackageSupplier: &spdx.Supplier{Supplier: tspdx.PackageSupplierNoAssertion}, + }, + { + PackageName: "go-artifact", + PackageSPDXIdentifier: "Filesystem-e340f27468b382be", + PackageDownloadLocation: "NONE", + PackageAttributionTexts: []string{ + "SchemaVersion: 2", + }, + PrimaryPackagePurpose: tspdx.PackagePurposeSource, + }, + { + PackageSPDXIdentifier: spdx.ElementID("Application-6666b83a5d554671"), + PackageDownloadLocation: "NONE", + PackageName: "gobinary", + PackageSourceInfo: "artifact", + PrimaryPackagePurpose: tspdx.PackagePurposeApplication, + }, + { + PackageSPDXIdentifier: spdx.ElementID("Package-8451f2bc8e1f45aa"), + PackageDownloadLocation: "NONE", + PackageName: "golang.org/x/crypto", + PackageVersion: "v0.0.1", + PackageLicenseConcluded: "NONE", + PackageLicenseDeclared: "NONE", + PackageExternalReferences: []*spdx.PackageExternalReference{ + { + Category: tspdx.CategoryPackageManager, + RefType: tspdx.RefTypePurl, + Locator: "pkg:golang/golang.org/x/crypto@v0.0.1", + }, + }, + PrimaryPackagePurpose: tspdx.PackagePurposeLibrary, + PackageSupplier: &spdx.Supplier{Supplier: tspdx.PackageSupplierNoAssertion}, + }, + }, + Relationships: []*spdx.Relationship{ + { + RefA: spdx.DocElementID{ElementRefID: "DOCUMENT"}, + RefB: spdx.DocElementID{ElementRefID: "Filesystem-e340f27468b382be"}, + Relationship: "DESCRIBES", + }, + { + RefA: spdx.DocElementID{ElementRefID: "Filesystem-e340f27468b382be"}, + RefB: spdx.DocElementID{ElementRefID: "Application-6666b83a5d554671"}, + Relationship: "CONTAINS", + }, + { + RefA: spdx.DocElementID{ElementRefID: "Application-6666b83a5d554671"}, + RefB: spdx.DocElementID{ElementRefID: "Package-9164ae38c5cdf815"}, + Relationship: "CONTAINS", + }, + { + RefA: spdx.DocElementID{ElementRefID: "Application-6666b83a5d554671"}, + RefB: spdx.DocElementID{ElementRefID: "Package-8451f2bc8e1f45aa"}, + Relationship: "CONTAINS", + }, + }, + }, + }, } for _, tc := range testCases { From 44656f285323491a72a37e6a90a203059d891253 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Fri, 22 Sep 2023 13:44:39 +0300 Subject: [PATCH 021/338] refactor: use defined types (#5225) * refactor: replace string with defined types Signed-off-by: knqyf263 * chore: add gci Signed-off-by: knqyf263 * fix(purl): not confuse trivy type with purl type Signed-off-by: knqyf263 * test: fix cyclonedx fixture Signed-off-by: knqyf263 * fix(template): cast TargetType to string Signed-off-by: knqyf263 * chore: bump TinyGo to v0.29.0 Signed-off-by: knqyf263 * test: change license to licence Signed-off-by: knqyf263 * use `analyzer.TypeGoMod` for gomod analyzer * ignore `licence` for misspell linter --------- Signed-off-by: knqyf263 Co-authored-by: DmitriyLewen --- .golangci.yaml | 15 +- aqua.yaml | 2 +- contrib/html.tpl | 2 +- pkg/cache/remote_test.go | 3 +- pkg/cloud/aws/commands/run_test.go | 8 +- pkg/cloud/report/convert_test.go | 9 +- pkg/cloud/report/resource.go | 3 +- pkg/cloud/report/result.go | 4 +- pkg/cloud/report/service.go | 3 +- pkg/cloud/report/service_test.go | 12 +- pkg/commands/app.go | 1 - pkg/compliance/report/report.go | 3 +- pkg/compliance/report/report_test.go | 3 +- pkg/compliance/spec/compliance_test.go | 3 +- pkg/detector/library/compare/maven/compare.go | 3 +- pkg/detector/library/detect.go | 2 +- pkg/detector/library/driver.go | 2 +- pkg/detector/library/driver_test.go | 2 +- pkg/detector/ospkg/alma/alma.go | 2 +- pkg/detector/ospkg/alma/alma_test.go | 23 +- pkg/detector/ospkg/alpine/alpine.go | 2 +- pkg/detector/ospkg/alpine/alpine_test.go | 50 +- pkg/detector/ospkg/amazon/amazon.go | 5 +- pkg/detector/ospkg/amazon/amazon_test.go | 37 +- pkg/detector/ospkg/chainguard/chainguard.go | 5 +- .../ospkg/chainguard/chainguard_test.go | 44 +- pkg/detector/ospkg/debian/debian.go | 2 +- pkg/detector/ospkg/debian/debian_test.go | 16 +- pkg/detector/ospkg/detect.go | 41 +- pkg/detector/ospkg/mariner/mariner.go | 2 +- pkg/detector/ospkg/oracle/oracle.go | 2 +- pkg/detector/ospkg/oracle/oracle_test.go | 37 +- pkg/detector/ospkg/photon/photon.go | 2 +- pkg/detector/ospkg/photon/photon_test.go | 16 +- pkg/detector/ospkg/redhat/redhat.go | 7 +- pkg/detector/ospkg/redhat/redhat_test.go | 12 +- pkg/detector/ospkg/rocky/rocky.go | 2 +- pkg/detector/ospkg/rocky/rocky_test.go | 23 +- pkg/detector/ospkg/suse/suse.go | 10 +- pkg/detector/ospkg/suse/suse_test.go | 16 +- pkg/detector/ospkg/ubuntu/ubuntu.go | 2 +- pkg/detector/ospkg/ubuntu/ubuntu_test.go | 30 +- pkg/detector/ospkg/wolfi/wolfi.go | 2 +- pkg/detector/ospkg/wolfi/wolfi_test.go | 44 +- pkg/fanal/analyzer/analyzer.go | 4 +- pkg/fanal/analyzer/analyzer_test.go | 42 +- .../analyzer/config/azurearm/azurearm_test.go | 3 +- pkg/fanal/analyzer/config/config_test.go | 3 +- pkg/fanal/analyzer/imgconf/apk/apk.go | 3 +- pkg/fanal/analyzer/imgconf/apk/apk_test.go | 6 +- pkg/fanal/analyzer/language/analyze.go | 10 +- pkg/fanal/analyzer/language/analyze_test.go | 26 +- .../language/dart/pub/pubspec_test.go | 10 +- .../analyzer/language/dotnet/nuget/nuget.go | 1 - .../analyzer/language/elixir/mix/mix_test.go | 10 +- pkg/fanal/analyzer/language/golang/mod/mod.go | 2 +- .../analyzer/language/golang/mod/mod_test.go | 5 +- .../analyzer/language/java/gradle/lockfile.go | 4 +- .../analyzer/language/java/jar/jar_test.go | 3 +- pkg/fanal/analyzer/language/java/pom/pom.go | 1 - .../analyzer/language/java/pom/pom_test.go | 3 +- .../analyzer/language/nodejs/yarn/yarn.go | 2 +- .../language/php/composer/composer.go | 2 +- .../language/php/composer/composer_test.go | 10 +- .../analyzer/language/rust/cargo/cargo.go | 5 +- .../language/rust/cargo/cargo_test.go | 10 +- .../language/swift/cocoapods/cocoapods.go | 4 +- .../swift/cocoapods/cocoapods_test.go | 5 +- .../analyzer/language/swift/swift/swift.go | 4 +- .../language/swift/swift/swift_test.go | 10 +- pkg/fanal/analyzer/licensing/license.go | 2 +- pkg/fanal/analyzer/os/alpine/alpine.go | 10 +- pkg/fanal/analyzer/os/alpine/alpine_test.go | 6 +- .../analyzer/os/amazonlinux/amazonlinux.go | 15 +- .../os/amazonlinux/amazonlinux_test.go | 17 +- pkg/fanal/analyzer/os/const.go | 63 -- pkg/fanal/analyzer/os/debian/debian.go | 10 +- pkg/fanal/analyzer/os/debian/debian_test.go | 8 +- pkg/fanal/analyzer/os/mariner/mariner.go | 6 +- pkg/fanal/analyzer/os/mariner/mariner_test.go | 3 +- pkg/fanal/analyzer/os/redhatbase/alma.go | 12 +- pkg/fanal/analyzer/os/redhatbase/centos.go | 12 +- pkg/fanal/analyzer/os/redhatbase/fedora.go | 12 +- pkg/fanal/analyzer/os/redhatbase/oracle.go | 15 +- .../analyzer/os/redhatbase/redhatbase.go | 41 +- pkg/fanal/analyzer/os/redhatbase/rocky.go | 12 +- pkg/fanal/analyzer/os/release/release.go | 22 +- pkg/fanal/analyzer/os/release/release_test.go | 36 +- pkg/fanal/analyzer/os/ubuntu/esm.go | 6 +- pkg/fanal/analyzer/os/ubuntu/esm_test.go | 5 +- pkg/fanal/analyzer/os/ubuntu/ubuntu.go | 6 +- pkg/fanal/analyzer/os/ubuntu/ubuntu_test.go | 3 +- pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go | 5 +- pkg/fanal/analyzer/repo/apk/apk.go | 8 +- pkg/fanal/analyzer/repo/apk/apk_test.go | 41 +- pkg/fanal/analyzer/sbom/sbom_test.go | 5 +- pkg/fanal/applier/docker.go | 2 +- pkg/fanal/artifact/repo/git_test.go | 5 +- pkg/fanal/artifact/vm/ami.go | 5 +- pkg/fanal/artifact/vm/vm_test.go | 2 +- pkg/fanal/handler/handler_test.go | 6 +- pkg/fanal/handler/sysfile/filter.go | 6 +- pkg/fanal/handler/sysfile/filter_test.go | 3 +- pkg/fanal/image/daemon/docker_test.go | 5 +- pkg/fanal/image/daemon/image_test.go | 5 +- pkg/fanal/image/daemon/podman_test.go | 9 +- pkg/fanal/image/registry/azure/azure.go | 3 +- pkg/fanal/image/registry/ecr/ecr.go | 5 +- pkg/fanal/image/registry/ecr/ecr_test.go | 7 +- pkg/fanal/image/registry/google/google.go | 7 +- pkg/fanal/image/registry/token_test.go | 1 - pkg/fanal/secret/scanner_test.go | 5 +- pkg/fanal/types/artifact.go | 9 +- pkg/fanal/types/const.go | 129 ++- pkg/fanal/types/misconf.go | 2 +- pkg/fanal/vm/disk/vmdk_test.go | 4 +- pkg/fanal/walker/tar_test.go | 4 +- pkg/flag/db_flags_test.go | 5 +- pkg/flag/kubernetes_flags.go | 6 +- pkg/k8s/commands/resource.go | 3 +- pkg/k8s/scanner/io.go | 3 +- pkg/k8s/scanner/scanner.go | 60 +- pkg/k8s/scanner/scanner_test.go | 10 +- pkg/licensing/classifier_test.go | 3 +- pkg/licensing/scanner_test.go | 3 +- pkg/misconf/scanner.go | 7 +- pkg/misconf/scanner_test.go | 26 +- pkg/module/serialize/types_easyjson.go | 850 +++++++++++++----- pkg/purl/purl.go | 35 +- pkg/purl/purl_test.go | 14 +- pkg/remote/remote_test.go | 9 +- pkg/report/github/github.go | 4 +- pkg/report/predicate/vuln_test.go | 1 - pkg/report/sarif.go | 36 +- pkg/report/table/licensing.go | 6 +- pkg/report/table/misconfig.go | 5 +- pkg/report/table/secret.go | 1 - pkg/report/table/secret_test.go | 7 +- pkg/report/table/table.go | 3 +- pkg/report/writer.go | 3 +- pkg/result/filter_test.go | 16 +- pkg/rpc/client/client_test.go | 2 +- pkg/rpc/client/headers_test.go | 3 +- pkg/rpc/convert.go | 23 +- pkg/rpc/convert_test.go | 309 ++++--- pkg/rpc/server/server_test.go | 3 +- pkg/sbom/cyclonedx/marshal.go | 8 +- pkg/sbom/cyclonedx/marshal_test.go | 11 +- pkg/sbom/cyclonedx/testdata/happy/bom.json | 35 +- pkg/sbom/cyclonedx/unmarshal.go | 15 +- pkg/sbom/cyclonedx/unmarshal_test.go | 14 +- pkg/sbom/spdx/marshal.go | 10 +- pkg/sbom/spdx/marshal_test.go | 9 +- pkg/sbom/spdx/unmarshal.go | 35 +- pkg/scanner/langpkg/scan.go | 4 +- pkg/scanner/local/scan.go | 5 +- pkg/scanner/local/scan_test.go | 11 +- pkg/scanner/post/post_scan_test.go | 5 +- pkg/types/report.go | 16 +- pkg/version/version_test.go | 3 +- 160 files changed, 1785 insertions(+), 1159 deletions(-) diff --git a/.golangci.yaml b/.golangci.yaml index ca5be4eb24e0..9c574718fb44 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -17,14 +17,21 @@ linters-settings: min-occurrences: 3 misspell: locale: US - goimports: - local-prefixes: github.com/aquasecurity + ignore-words: + - licence gosec: excludes: - G101 - G114 - G204 - G402 + gci: + sections: + - standard + - default + - prefix(github.com/aquasecurity/) + - blank + - dot linters: disable-all: true @@ -39,14 +46,14 @@ linters: - goconst - gocyclo - gofmt - - goimports - misspell + - gci run: go: '1.20' skip-files: - ".*._mock.go$" - - ".*._test.go$" + - ".*_test.go$" - "integration/*" - "examples/*" diff --git a/aqua.yaml b/aqua.yaml index 66d9d9b12db1..0ffe7fbe2b81 100644 --- a/aqua.yaml +++ b/aqua.yaml @@ -5,6 +5,6 @@ registries: - type: standard ref: v3.157.0 # renovate: depName=aquaproj/aqua-registry packages: -- name: tinygo-org/tinygo@v0.27.0 +- name: tinygo-org/tinygo@v0.29.0 - name: WebAssembly/binaryen@version_112 - name: magefile/mage@v1.14.0 diff --git a/contrib/html.tpl b/contrib/html.tpl index 11487c9e6a4a..e92b1b1cf7f5 100644 --- a/contrib/html.tpl +++ b/contrib/html.tpl @@ -85,7 +85,7 @@

{{- escapeXML ( index . 0 ).Target }} - Trivy Report - {{ now }}

{{- range . }} - + {{- if (eq (len .Vulnerabilities) 0) }} {{- else }} diff --git a/pkg/cache/remote_test.go b/pkg/cache/remote_test.go index a7c3272ce7a2..e396b71ae4ef 100644 --- a/pkg/cache/remote_test.go +++ b/pkg/cache/remote_test.go @@ -8,8 +8,6 @@ import ( "testing" "time" - rpcScanner "github.com/aquasecurity/trivy/rpc/scanner" - google_protobuf "github.com/golang/protobuf/ptypes/empty" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -20,6 +18,7 @@ import ( fcache "github.com/aquasecurity/trivy/pkg/fanal/cache" "github.com/aquasecurity/trivy/pkg/fanal/types" rpcCache "github.com/aquasecurity/trivy/rpc/cache" + rpcScanner "github.com/aquasecurity/trivy/rpc/scanner" ) type mockCacheServer struct { diff --git a/pkg/cloud/aws/commands/run_test.go b/pkg/cloud/aws/commands/run_test.go index eb7780ba28bb..70d8dc672368 100644 --- a/pkg/cloud/aws/commands/run_test.go +++ b/pkg/cloud/aws/commands/run_test.go @@ -7,13 +7,13 @@ import ( "testing" "time" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" - "github.com/aquasecurity/trivy/pkg/compliance/spec" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + defsecTypes "github.com/aquasecurity/defsec/pkg/types" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" + "github.com/aquasecurity/trivy/pkg/compliance/spec" "github.com/aquasecurity/trivy/pkg/flag" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) const expectedS3ScanResult = `{ diff --git a/pkg/cloud/report/convert_test.go b/pkg/cloud/report/convert_test.go index 6c257f19c407..6b2025209394 100644 --- a/pkg/cloud/report/convert_test.go +++ b/pkg/cloud/report/convert_test.go @@ -4,16 +4,13 @@ import ( "sort" "testing" - fanaltypes "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/aws/aws-sdk-go-v2/aws/arn" - - defsecTypes "github.com/aquasecurity/defsec/pkg/types" - "github.com/aquasecurity/trivy/pkg/types" - "github.com/stretchr/testify/assert" "github.com/aquasecurity/defsec/pkg/scan" + defsecTypes "github.com/aquasecurity/defsec/pkg/types" + fanaltypes "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/types" ) func Test_ResultConversion(t *testing.T) { diff --git a/pkg/cloud/report/resource.go b/pkg/cloud/report/resource.go index 999c7cae2464..79b1b8cc2e94 100644 --- a/pkg/cloud/report/resource.go +++ b/pkg/cloud/report/resource.go @@ -6,11 +6,10 @@ import ( "sort" "strconv" - "github.com/aquasecurity/tml" - "golang.org/x/term" "github.com/aquasecurity/table" + "github.com/aquasecurity/tml" pkgReport "github.com/aquasecurity/trivy/pkg/report/table" "github.com/aquasecurity/trivy/pkg/types" ) diff --git a/pkg/cloud/report/result.go b/pkg/cloud/report/result.go index 929fc0d1eccc..103be8a40afc 100644 --- a/pkg/cloud/report/result.go +++ b/pkg/cloud/report/result.go @@ -5,10 +5,8 @@ import ( "io" "github.com/aquasecurity/tml" - - renderer "github.com/aquasecurity/trivy/pkg/report/table" - dbTypes "github.com/aquasecurity/trivy-db/pkg/types" + renderer "github.com/aquasecurity/trivy/pkg/report/table" "github.com/aquasecurity/trivy/pkg/types" ) diff --git a/pkg/cloud/report/service.go b/pkg/cloud/report/service.go index f52fbedb4d97..e25d8ea393f9 100644 --- a/pkg/cloud/report/service.go +++ b/pkg/cloud/report/service.go @@ -7,9 +7,8 @@ import ( "strconv" "time" - "github.com/aquasecurity/tml" - "github.com/aquasecurity/table" + "github.com/aquasecurity/tml" pkgReport "github.com/aquasecurity/trivy/pkg/report/table" "github.com/aquasecurity/trivy/pkg/types" ) diff --git a/pkg/cloud/report/service_test.go b/pkg/cloud/report/service_test.go index cf14466e4d86..6e4ae99c2cd4 100644 --- a/pkg/cloud/report/service_test.go +++ b/pkg/cloud/report/service_test.go @@ -5,18 +5,14 @@ import ( "path/filepath" "testing" - "github.com/aquasecurity/trivy-db/pkg/types" - - "github.com/stretchr/testify/require" - - "github.com/aquasecurity/trivy/pkg/flag" - - "github.com/stretchr/testify/assert" - "github.com/aws/aws-sdk-go-v2/aws/arn" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/aquasecurity/defsec/pkg/scan" defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy-db/pkg/types" + "github.com/aquasecurity/trivy/pkg/flag" ) func Test_ServiceReport(t *testing.T) { diff --git a/pkg/commands/app.go b/pkg/commands/app.go index 0d2ed8c9727f..c546d605aaa4 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -14,7 +14,6 @@ import ( "golang.org/x/xerrors" awsScanner "github.com/aquasecurity/defsec/pkg/scanners/cloud/aws" - awscommands "github.com/aquasecurity/trivy/pkg/cloud/aws/commands" "github.com/aquasecurity/trivy/pkg/commands/artifact" "github.com/aquasecurity/trivy/pkg/commands/convert" diff --git a/pkg/compliance/report/report.go b/pkg/compliance/report/report.go index 50ae2460635b..bcadc6fbb168 100644 --- a/pkg/compliance/report/report.go +++ b/pkg/compliance/report/report.go @@ -3,10 +3,9 @@ package report import ( "io" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" - "golang.org/x/xerrors" + defsecTypes "github.com/aquasecurity/defsec/pkg/types" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/compliance/spec" "github.com/aquasecurity/trivy/pkg/types" diff --git a/pkg/compliance/report/report_test.go b/pkg/compliance/report/report_test.go index cbb33fd1d186..b6a1dcc6bcc5 100644 --- a/pkg/compliance/report/report_test.go +++ b/pkg/compliance/report/report_test.go @@ -4,10 +4,9 @@ import ( "fmt" "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" - "github.com/stretchr/testify/assert" + defsecTypes "github.com/aquasecurity/defsec/pkg/types" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" "github.com/aquasecurity/trivy/pkg/compliance/report" diff --git a/pkg/compliance/spec/compliance_test.go b/pkg/compliance/spec/compliance_test.go index 8b04e601a3c9..f34722525e1f 100644 --- a/pkg/compliance/spec/compliance_test.go +++ b/pkg/compliance/spec/compliance_test.go @@ -4,10 +4,9 @@ import ( "sort" "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" - "github.com/stretchr/testify/assert" + defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/compliance/spec" "github.com/aquasecurity/trivy/pkg/types" ) diff --git a/pkg/detector/library/compare/maven/compare.go b/pkg/detector/library/compare/maven/compare.go index 8e4ca692420c..d36156dce956 100644 --- a/pkg/detector/library/compare/maven/compare.go +++ b/pkg/detector/library/compare/maven/compare.go @@ -1,9 +1,8 @@ package maven import ( - "golang.org/x/xerrors" - version "github.com/masahiro331/go-mvn-version" + "golang.org/x/xerrors" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/detector/library/compare" diff --git a/pkg/detector/library/detect.go b/pkg/detector/library/detect.go index a41c3575d724..121f33284e1a 100644 --- a/pkg/detector/library/detect.go +++ b/pkg/detector/library/detect.go @@ -8,7 +8,7 @@ import ( ) // Detect scans and returns vulnerabilities of library -func Detect(libType string, pkgs []ftypes.Package) ([]types.DetectedVulnerability, error) { +func Detect(libType ftypes.LangType, pkgs []ftypes.Package) ([]types.DetectedVulnerability, error) { driver, ok := NewDriver(libType) if !ok { return nil, nil diff --git a/pkg/detector/library/driver.go b/pkg/detector/library/driver.go index ae290ee503ed..c75c22caf678 100644 --- a/pkg/detector/library/driver.go +++ b/pkg/detector/library/driver.go @@ -20,7 +20,7 @@ import ( ) // NewDriver returns a driver according to the library type -func NewDriver(libType string) (Driver, bool) { +func NewDriver(libType ftypes.LangType) (Driver, bool) { var ecosystem dbTypes.Ecosystem var comparer compare.Comparer diff --git a/pkg/detector/library/driver_test.go b/pkg/detector/library/driver_test.go index d7308b702786..9bfa6ade777d 100644 --- a/pkg/detector/library/driver_test.go +++ b/pkg/detector/library/driver_test.go @@ -23,7 +23,7 @@ func TestDriver_Detect(t *testing.T) { tests := []struct { name string fixtures []string - libType string + libType ftypes.LangType args args want []types.DetectedVulnerability wantErr string diff --git a/pkg/detector/ospkg/alma/alma.go b/pkg/detector/ospkg/alma/alma.go index 55fb020c255e..a29c010ff79f 100644 --- a/pkg/detector/ospkg/alma/alma.go +++ b/pkg/detector/ospkg/alma/alma.go @@ -108,7 +108,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa } // IsSupportedVersion checks the OSFamily can be scanned using AlmaLinux scanner -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { if strings.Count(osVer, ".") > 0 { osVer = osVer[:strings.Index(osVer, ".")] } diff --git a/pkg/detector/ospkg/alma/alma_test.go b/pkg/detector/ospkg/alma/alma_test.go index 5b209c8af7e4..d9cc698f0b15 100644 --- a/pkg/detector/ospkg/alma/alma_test.go +++ b/pkg/detector/ospkg/alma/alma_test.go @@ -70,8 +70,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "skip modular package", - fixtures: []string{"testdata/fixtures/modular.yaml", "testdata/fixtures/data-source.yaml"}, + name: "skip modular package", + fixtures: []string{ + "testdata/fixtures/modular.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "8.4", pkgs: []ftypes.Package{ @@ -94,8 +97,11 @@ func TestScanner_Detect(t *testing.T) { want: nil, }, { - name: "modular package", - fixtures: []string{"testdata/fixtures/modular.yaml", "testdata/fixtures/data-source.yaml"}, + name: "modular package", + fixtures: []string{ + "testdata/fixtures/modular.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "8.6", pkgs: []ftypes.Package{ @@ -131,8 +137,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "Get returns an error", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "Get returns an error", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "8.4", pkgs: []ftypes.Package{ @@ -167,7 +176,7 @@ func TestScanner_Detect(t *testing.T) { func TestScanner_IsSupportedVersion(t *testing.T) { type args struct { - osFamily string + osFamily ftypes.OSType osVer string } tests := []struct { diff --git a/pkg/detector/ospkg/alpine/alpine.go b/pkg/detector/ospkg/alpine/alpine.go index 62cb3b3d7660..5095efa98a8d 100644 --- a/pkg/detector/ospkg/alpine/alpine.go +++ b/pkg/detector/ospkg/alpine/alpine.go @@ -174,7 +174,7 @@ func (s *Scanner) isVulnerable(installedVersion version.Version, adv dbTypes.Adv } // IsSupportedVersion checks the OSFamily can be scanned using Alpine scanner -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { if strings.Count(osVer, ".") > 1 { osVer = osVer[:strings.LastIndex(osVer, ".")] } diff --git a/pkg/detector/ospkg/alpine/alpine_test.go b/pkg/detector/ospkg/alpine/alpine_test.go index 8617b736efc5..35abfc1f6e98 100644 --- a/pkg/detector/ospkg/alpine/alpine_test.go +++ b/pkg/detector/ospkg/alpine/alpine_test.go @@ -5,8 +5,6 @@ import ( "testing" "time" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" fake "k8s.io/utils/clock/testing" @@ -34,8 +32,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "happy path", - fixtures: []string{"testdata/fixtures/alpine.yaml", "testdata/fixtures/data-source.yaml"}, + name: "happy path", + fixtures: []string{ + "testdata/fixtures/alpine.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "3.10.2", pkgs: []ftypes.Package{ @@ -88,8 +89,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "contain rc", - fixtures: []string{"testdata/fixtures/alpine.yaml", "testdata/fixtures/data-source.yaml"}, + name: "contain rc", + fixtures: []string{ + "testdata/fixtures/alpine.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "3.10", pkgs: []ftypes.Package{ @@ -116,8 +120,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "contain pre", - fixtures: []string{"testdata/fixtures/alpine.yaml", "testdata/fixtures/data-source.yaml"}, + name: "contain pre", + fixtures: []string{ + "testdata/fixtures/alpine.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "3.10", pkgs: []ftypes.Package{ @@ -150,12 +157,15 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "repository is newer than OS version", - fixtures: []string{"testdata/fixtures/alpine.yaml", "testdata/fixtures/data-source.yaml"}, + name: "repository is newer than OS version", + fixtures: []string{ + "testdata/fixtures/alpine.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "3.9.3", repo: &ftypes.Repository{ - Family: os.Alpine, + Family: ftypes.Alpine, Release: "3.10", }, pkgs: []ftypes.Package{ @@ -182,8 +192,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "Get returns an error", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "Get returns an error", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "3.10.2", pkgs: []ftypes.Package{ @@ -198,12 +211,15 @@ func TestScanner_Detect(t *testing.T) { wantErr: "failed to get alpine advisories", }, { - name: "No src name", - fixtures: []string{"testdata/fixtures/alpine.yaml", "testdata/fixtures/data-source.yaml"}, + name: "No src name", + fixtures: []string{ + "testdata/fixtures/alpine.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "3.9.3", repo: &ftypes.Repository{ - Family: os.Alpine, + Family: ftypes.Alpine, Release: "3.10", }, pkgs: []ftypes.Package{ @@ -253,7 +269,7 @@ func TestScanner_Detect(t *testing.T) { func TestScanner_IsSupportedVersion(t *testing.T) { type args struct { - osFamily string + osFamily ftypes.OSType osVer string } tests := []struct { diff --git a/pkg/detector/ospkg/amazon/amazon.go b/pkg/detector/ospkg/amazon/amazon.go index cdc2702c8286..a77765de8839 100644 --- a/pkg/detector/ospkg/amazon/amazon.go +++ b/pkg/detector/ospkg/amazon/amazon.go @@ -4,11 +4,10 @@ import ( "strings" "time" - "k8s.io/utils/clock" - version "github.com/knqyf263/go-deb-version" "go.uber.org/zap" "golang.org/x/xerrors" + "k8s.io/utils/clock" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/amazon" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" @@ -119,7 +118,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa } // IsSupportedVersion checks if os can be scanned using amazon scanner -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { osVer = strings.Fields(osVer)[0] if osVer != "2" && osVer != "2022" && osVer != "2023" { osVer = "1" diff --git a/pkg/detector/ospkg/amazon/amazon_test.go b/pkg/detector/ospkg/amazon/amazon_test.go index 9dcb8f72e7fd..e9f7b546996b 100644 --- a/pkg/detector/ospkg/amazon/amazon_test.go +++ b/pkg/detector/ospkg/amazon/amazon_test.go @@ -30,8 +30,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "amazon linux 1", - fixtures: []string{"testdata/fixtures/amazon.yaml", "testdata/fixtures/data-source.yaml"}, + name: "amazon linux 1", + fixtures: []string{ + "testdata/fixtures/amazon.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "1.2", pkgs: []ftypes.Package{ @@ -64,8 +67,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "amazon linux 2", - fixtures: []string{"testdata/fixtures/amazon.yaml", "testdata/fixtures/data-source.yaml"}, + name: "amazon linux 2", + fixtures: []string{ + "testdata/fixtures/amazon.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "2", pkgs: []ftypes.Package{ @@ -96,8 +102,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "amazon linux 2023", - fixtures: []string{"testdata/fixtures/amazon.yaml", "testdata/fixtures/data-source.yaml"}, + name: "amazon linux 2023", + fixtures: []string{ + "testdata/fixtures/amazon.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "2023", pkgs: []ftypes.Package{ @@ -128,8 +137,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "empty version", - fixtures: []string{"testdata/fixtures/amazon.yaml", "testdata/fixtures/data-source.yaml"}, + name: "empty version", + fixtures: []string{ + "testdata/fixtures/amazon.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "2", pkgs: []ftypes.Package{ @@ -140,8 +152,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "Get returns an error", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "Get returns an error", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "1", pkgs: []ftypes.Package{ @@ -176,7 +191,7 @@ func TestScanner_Detect(t *testing.T) { func TestScanner_IsSupportedVersion(t *testing.T) { type args struct { - osFamily string + osFamily ftypes.OSType osVer string } tests := []struct { diff --git a/pkg/detector/ospkg/chainguard/chainguard.go b/pkg/detector/ospkg/chainguard/chainguard.go index 594a62fbcaed..447d7a6f647a 100644 --- a/pkg/detector/ospkg/chainguard/chainguard.go +++ b/pkg/detector/ospkg/chainguard/chainguard.go @@ -5,9 +5,8 @@ import ( "golang.org/x/xerrors" "k8s.io/utils/clock" - "github.com/aquasecurity/trivy-db/pkg/vulnsrc/chainguard" - dbTypes "github.com/aquasecurity/trivy-db/pkg/types" + "github.com/aquasecurity/trivy-db/pkg/vulnsrc/chainguard" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -104,7 +103,7 @@ func (s *Scanner) isVulnerable(installedVersion version.Version, adv dbTypes.Adv } // IsSupportedVersion checks the OSFamily can be scanned using Chainguard scanner -func (s *Scanner) IsSupportedVersion(_, _ string) bool { +func (s *Scanner) IsSupportedVersion(_ ftypes.OSType, _ string) bool { // Chainguard doesn't have versions, so there is no case where a given input yields a // result of an unsupported Chainguard version. diff --git a/pkg/detector/ospkg/chainguard/chainguard_test.go b/pkg/detector/ospkg/chainguard/chainguard_test.go index 12165d7c4b15..446693ce2170 100644 --- a/pkg/detector/ospkg/chainguard/chainguard_test.go +++ b/pkg/detector/ospkg/chainguard/chainguard_test.go @@ -4,17 +4,16 @@ import ( "sort" "testing" - "github.com/aquasecurity/trivy/pkg/detector/ospkg/chainguard" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy-db/pkg/db" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" "github.com/aquasecurity/trivy/pkg/dbtest" + "github.com/aquasecurity/trivy/pkg/detector/ospkg/chainguard" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/types" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func TestScanner_Detect(t *testing.T) { @@ -30,8 +29,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "happy path", - fixtures: []string{"testdata/fixtures/chainguard.yaml", "testdata/fixtures/data-source.yaml"}, + name: "happy path", + fixtures: []string{ + "testdata/fixtures/chainguard.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ pkgs: []ftypes.Package{ { @@ -69,8 +71,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "contain rc", - fixtures: []string{"testdata/fixtures/chainguard.yaml", "testdata/fixtures/data-source.yaml"}, + name: "contain rc", + fixtures: []string{ + "testdata/fixtures/chainguard.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ pkgs: []ftypes.Package{ { @@ -96,8 +101,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "contain pre", - fixtures: []string{"testdata/fixtures/chainguard.yaml", "testdata/fixtures/data-source.yaml"}, + name: "contain pre", + fixtures: []string{ + "testdata/fixtures/chainguard.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ pkgs: []ftypes.Package{ { @@ -129,8 +137,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "Get returns an error", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "Get returns an error", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ pkgs: []ftypes.Package{ { @@ -144,11 +155,14 @@ func TestScanner_Detect(t *testing.T) { wantErr: "failed to get Chainguard advisories", }, { - name: "No src name", - fixtures: []string{"testdata/fixtures/chainguard.yaml", "testdata/fixtures/data-source.yaml"}, + name: "No src name", + fixtures: []string{ + "testdata/fixtures/chainguard.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ repo: &ftypes.Repository{ - Family: os.Chainguard, + Family: ftypes.Chainguard, Release: "3.10", }, pkgs: []ftypes.Package{ diff --git a/pkg/detector/ospkg/debian/debian.go b/pkg/detector/ospkg/debian/debian.go index e8bc953c2708..5098e6483336 100644 --- a/pkg/detector/ospkg/debian/debian.go +++ b/pkg/detector/ospkg/debian/debian.go @@ -142,7 +142,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa } // IsSupportedVersion checks is OSFamily can be scanned using Debian -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { if strings.Count(osVer, ".") > 0 { osVer = osVer[:strings.Index(osVer, ".")] } diff --git a/pkg/detector/ospkg/debian/debian_test.go b/pkg/detector/ospkg/debian/debian_test.go index e021d82b79cf..b34d066eccf1 100644 --- a/pkg/detector/ospkg/debian/debian_test.go +++ b/pkg/detector/ospkg/debian/debian_test.go @@ -31,8 +31,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "happy path", - fixtures: []string{"testdata/fixtures/debian.yaml", "testdata/fixtures/data-source.yaml"}, + name: "happy path", + fixtures: []string{ + "testdata/fixtures/debian.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "9.1", pkgs: []ftypes.Package{ @@ -84,8 +87,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "invalid bucket", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "invalid bucket", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "9.1", pkgs: []ftypes.Package{ @@ -127,7 +133,7 @@ func TestScanner_Detect(t *testing.T) { func TestScanner_IsSupportedVersion(t *testing.T) { type args struct { - osFamily string + osFamily ftypes.OSType osVer string } tests := []struct { diff --git a/pkg/detector/ospkg/detect.go b/pkg/detector/ospkg/detect.go index c4c70600065c..16c3102265c4 100644 --- a/pkg/detector/ospkg/detect.go +++ b/pkg/detector/ospkg/detect.go @@ -19,7 +19,6 @@ import ( "github.com/aquasecurity/trivy/pkg/detector/ospkg/suse" "github.com/aquasecurity/trivy/pkg/detector/ospkg/ubuntu" "github.com/aquasecurity/trivy/pkg/detector/ospkg/wolfi" - fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/types" @@ -29,38 +28,38 @@ var ( // ErrUnsupportedOS defines error for unsupported OS ErrUnsupportedOS = xerrors.New("unsupported os") - drivers = map[string]Driver{ - fos.Alpine: alpine.NewScanner(), - fos.Alma: alma.NewScanner(), - fos.Amazon: amazon.NewScanner(), - fos.CBLMariner: mariner.NewScanner(), - fos.Debian: debian.NewScanner(), - fos.Ubuntu: ubuntu.NewScanner(), - fos.RedHat: redhat.NewScanner(), - fos.CentOS: redhat.NewScanner(), - fos.Rocky: rocky.NewScanner(), - fos.Oracle: oracle.NewScanner(), - fos.OpenSUSELeap: suse.NewScanner(suse.OpenSUSE), - fos.SLES: suse.NewScanner(suse.SUSEEnterpriseLinux), - fos.Photon: photon.NewScanner(), - fos.Wolfi: wolfi.NewScanner(), - fos.Chainguard: chainguard.NewScanner(), + drivers = map[ftypes.OSType]Driver{ + ftypes.Alpine: alpine.NewScanner(), + ftypes.Alma: alma.NewScanner(), + ftypes.Amazon: amazon.NewScanner(), + ftypes.CBLMariner: mariner.NewScanner(), + ftypes.Debian: debian.NewScanner(), + ftypes.Ubuntu: ubuntu.NewScanner(), + ftypes.RedHat: redhat.NewScanner(), + ftypes.CentOS: redhat.NewScanner(), + ftypes.Rocky: rocky.NewScanner(), + ftypes.Oracle: oracle.NewScanner(), + ftypes.OpenSUSELeap: suse.NewScanner(suse.OpenSUSE), + ftypes.SLES: suse.NewScanner(suse.SUSEEnterpriseLinux), + ftypes.Photon: photon.NewScanner(), + ftypes.Wolfi: wolfi.NewScanner(), + ftypes.Chainguard: chainguard.NewScanner(), } ) // RegisterDriver is defined for extensibility and not supposed to be used in Trivy. -func RegisterDriver(name string, driver Driver) { +func RegisterDriver(name ftypes.OSType, driver Driver) { drivers[name] = driver } // Driver defines operations for OS package scan type Driver interface { Detect(string, *ftypes.Repository, []ftypes.Package) ([]types.DetectedVulnerability, error) - IsSupportedVersion(string, string) bool + IsSupportedVersion(ftypes.OSType, string) bool } // Detect detects the vulnerabilities -func Detect(_, osFamily, osName string, repo *ftypes.Repository, _ time.Time, pkgs []ftypes.Package) ([]types.DetectedVulnerability, bool, error) { +func Detect(_, osFamily ftypes.OSType, osName string, repo *ftypes.Repository, _ time.Time, pkgs []ftypes.Package) ([]types.DetectedVulnerability, bool, error) { driver, err := newDriver(osFamily) if err != nil { return nil, false, ErrUnsupportedOS @@ -81,7 +80,7 @@ func Detect(_, osFamily, osName string, repo *ftypes.Repository, _ time.Time, pk return vulns, eosl, nil } -func newDriver(osFamily string) (Driver, error) { +func newDriver(osFamily ftypes.OSType) (Driver, error) { if driver, ok := drivers[osFamily]; ok { return driver, nil } diff --git a/pkg/detector/ospkg/mariner/mariner.go b/pkg/detector/ospkg/mariner/mariner.go index 5bada4ea9fdf..3043d24eaf2f 100644 --- a/pkg/detector/ospkg/mariner/mariner.go +++ b/pkg/detector/ospkg/mariner/mariner.go @@ -76,7 +76,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa } // IsSupportedVersion checks the OS version can be scanned using CBL-Mariner scanner -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { // EOL is not in public at the moment. return true } diff --git a/pkg/detector/ospkg/oracle/oracle.go b/pkg/detector/ospkg/oracle/oracle.go index 284564105bf5..8eea8aca3a66 100644 --- a/pkg/detector/ospkg/oracle/oracle.go +++ b/pkg/detector/ospkg/oracle/oracle.go @@ -103,7 +103,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa } // IsSupportedVersion checks is OSFamily can be scanned with Oracle scanner -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { if strings.Count(osVer, ".") > 0 { osVer = osVer[:strings.Index(osVer, ".")] } diff --git a/pkg/detector/ospkg/oracle/oracle_test.go b/pkg/detector/ospkg/oracle/oracle_test.go index 518f590317a6..8671d0cf4fd9 100644 --- a/pkg/detector/ospkg/oracle/oracle_test.go +++ b/pkg/detector/ospkg/oracle/oracle_test.go @@ -21,7 +21,7 @@ import ( func TestScanner_IsSupportedVersion(t *testing.T) { vectors := map[string]struct { clock clock.Clock - osFamily string + osFamily ftypes.OSType osVersion string expected bool }{ @@ -109,8 +109,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "detected", - fixtures: []string{"testdata/fixtures/oracle7.yaml", "testdata/fixtures/data-source.yaml"}, + name: "detected", + fixtures: []string{ + "testdata/fixtures/oracle7.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "7", pkgs: []ftypes.Package{ @@ -140,8 +143,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "without ksplice", - fixtures: []string{"testdata/fixtures/oracle7.yaml", "testdata/fixtures/data-source.yaml"}, + name: "without ksplice", + fixtures: []string{ + "testdata/fixtures/oracle7.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "7", pkgs: []ftypes.Package{ @@ -159,8 +165,11 @@ func TestScanner_Detect(t *testing.T) { want: nil, }, { - name: "the installed version has ksplice2", - fixtures: []string{"testdata/fixtures/oracle7.yaml", "testdata/fixtures/data-source.yaml"}, + name: "the installed version has ksplice2", + fixtures: []string{ + "testdata/fixtures/oracle7.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "7", pkgs: []ftypes.Package{ @@ -180,8 +189,11 @@ func TestScanner_Detect(t *testing.T) { want: nil, }, { - name: "with ksplice", - fixtures: []string{"testdata/fixtures/oracle7.yaml", "testdata/fixtures/data-source.yaml"}, + name: "with ksplice", + fixtures: []string{ + "testdata/fixtures/oracle7.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "7", pkgs: []ftypes.Package{ @@ -213,8 +225,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "malformed", - fixtures: []string{"testdata/fixtures/invalid-type.yaml", "testdata/fixtures/data-source.yaml"}, + name: "malformed", + fixtures: []string{ + "testdata/fixtures/invalid-type.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "7", pkgs: []ftypes.Package{ diff --git a/pkg/detector/ospkg/photon/photon.go b/pkg/detector/ospkg/photon/photon.go index e665574a3617..54c96b602544 100644 --- a/pkg/detector/ospkg/photon/photon.go +++ b/pkg/detector/ospkg/photon/photon.go @@ -95,7 +95,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa } // IsSupportedVersion checks if the OS version reached end-of-support. -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { eol, ok := eolDates[osVer] if !ok { log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) diff --git a/pkg/detector/ospkg/photon/photon_test.go b/pkg/detector/ospkg/photon/photon_test.go index f76d488507da..04884b6a5d0f 100644 --- a/pkg/detector/ospkg/photon/photon_test.go +++ b/pkg/detector/ospkg/photon/photon_test.go @@ -30,8 +30,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "happy path", - fixtures: []string{"testdata/fixtures/photon.yaml", "testdata/fixtures/data-source.yaml"}, + name: "happy path", + fixtures: []string{ + "testdata/fixtures/photon.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "1.0", pkgs: []ftypes.Package{ @@ -66,8 +69,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "invalid bucket", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "invalid bucket", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "1.0", pkgs: []ftypes.Package{ @@ -102,7 +108,7 @@ func TestScanner_Detect(t *testing.T) { func TestScanner_IsSupportedVersion(t *testing.T) { type args struct { - osFamily string + osFamily ftypes.OSType osVer string } tests := []struct { diff --git a/pkg/detector/ospkg/redhat/redhat.go b/pkg/detector/ospkg/redhat/redhat.go index 9253b407cb5c..696c37c99c51 100644 --- a/pkg/detector/ospkg/redhat/redhat.go +++ b/pkg/detector/ospkg/redhat/redhat.go @@ -16,7 +16,6 @@ import ( ustrings "github.com/aquasecurity/trivy-db/pkg/utils/strings" redhat "github.com/aquasecurity/trivy-db/pkg/vulnsrc/redhat-oval" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -209,16 +208,16 @@ func (s *Scanner) detect(osVer string, pkg ftypes.Package) ([]types.DetectedVuln } // IsSupportedVersion checks is OSFamily can be scanned with Redhat scanner -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { if strings.Count(osVer, ".") > 0 { osVer = osVer[:strings.Index(osVer, ".")] } var eolDate time.Time var ok bool - if osFamily == os.RedHat { + if osFamily == ftypes.RedHat { eolDate, ok = redhatEOLDates[osVer] - } else if osFamily == os.CentOS { + } else if osFamily == ftypes.CentOS { eolDate, ok = centosEOLDates[osVer] } if !ok { diff --git a/pkg/detector/ospkg/redhat/redhat_test.go b/pkg/detector/ospkg/redhat/redhat_test.go index 957d4a14c87f..93e08e108bfe 100644 --- a/pkg/detector/ospkg/redhat/redhat_test.go +++ b/pkg/detector/ospkg/redhat/redhat_test.go @@ -5,11 +5,10 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" fake "k8s.io/utils/clock/testing" - "github.com/stretchr/testify/assert" - dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" "github.com/aquasecurity/trivy/pkg/dbtest" @@ -138,8 +137,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - VulnerabilityID: "CVE-2020-12403", - VendorIDs: []string{"RHSA-2021:0538", "RHSA-2021:0876"}, + VulnerabilityID: "CVE-2020-12403", + VendorIDs: []string{ + "RHSA-2021:0538", + "RHSA-2021:0876", + }, PkgName: "nss", InstalledVersion: "3.36.0-7.1.el7_6", FixedVersion: "3.53.1-17.el7_3", @@ -376,7 +378,7 @@ func TestScanner_Detect(t *testing.T) { func TestScanner_IsSupportedVersion(t *testing.T) { type args struct { - osFamily string + osFamily ftypes.OSType osVer string } tests := []struct { diff --git a/pkg/detector/ospkg/rocky/rocky.go b/pkg/detector/ospkg/rocky/rocky.go index 7a615592a999..11c00472c574 100644 --- a/pkg/detector/ospkg/rocky/rocky.go +++ b/pkg/detector/ospkg/rocky/rocky.go @@ -108,7 +108,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa } // IsSupportedVersion checks the OSFamily can be scanned using Rocky Linux scanner -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { if strings.Count(osVer, ".") > 0 { osVer = osVer[:strings.Index(osVer, ".")] } diff --git a/pkg/detector/ospkg/rocky/rocky_test.go b/pkg/detector/ospkg/rocky/rocky_test.go index 5f74a88de0e0..e5ebe844e2de 100644 --- a/pkg/detector/ospkg/rocky/rocky_test.go +++ b/pkg/detector/ospkg/rocky/rocky_test.go @@ -30,8 +30,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "happy path", - fixtures: []string{"testdata/fixtures/rocky.yaml", "testdata/fixtures/data-source.yaml"}, + name: "happy path", + fixtures: []string{ + "testdata/fixtures/rocky.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "8.5", pkgs: []ftypes.Package{ @@ -67,8 +70,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "skip modular package", - fixtures: []string{"testdata/fixtures/modular.yaml", "testdata/fixtures/data-source.yaml"}, + name: "skip modular package", + fixtures: []string{ + "testdata/fixtures/modular.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "8.5", pkgs: []ftypes.Package{ @@ -91,8 +97,11 @@ func TestScanner_Detect(t *testing.T) { want: nil, }, { - name: "Get returns an error", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "Get returns an error", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "8.5", pkgs: []ftypes.Package{ @@ -127,7 +136,7 @@ func TestScanner_Detect(t *testing.T) { func TestScanner_IsSupportedVersion(t *testing.T) { type args struct { - osFamily string + osFamily ftypes.OSType osVer string } tests := []struct { diff --git a/pkg/detector/ospkg/suse/suse.go b/pkg/detector/ospkg/suse/suse.go index cbf0c4fd9916..a32de1c76257 100644 --- a/pkg/detector/ospkg/suse/suse.go +++ b/pkg/detector/ospkg/suse/suse.go @@ -3,13 +3,11 @@ package suse import ( "time" + version "github.com/knqyf263/go-rpm-version" "golang.org/x/xerrors" "k8s.io/utils/clock" - version "github.com/knqyf263/go-rpm-version" - susecvrf "github.com/aquasecurity/trivy-db/pkg/vulnsrc/suse-cvrf" - fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -149,13 +147,13 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa } // IsSupportedVersion checks if OSFamily can be scanned using SUSE scanner -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { var eolDate time.Time var ok bool - if osFamily == fos.SLES { + if osFamily == ftypes.SLES { eolDate, ok = slesEolDates[osVer] - } else if osFamily == fos.OpenSUSELeap { + } else if osFamily == ftypes.OpenSUSELeap { eolDate, ok = opensuseEolDates[osVer] } diff --git a/pkg/detector/ospkg/suse/suse_test.go b/pkg/detector/ospkg/suse/suse_test.go index 3dbb09d59835..2fc8c2a64814 100644 --- a/pkg/detector/ospkg/suse/suse_test.go +++ b/pkg/detector/ospkg/suse/suse_test.go @@ -31,8 +31,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "happy path", - fixtures: []string{"testdata/fixtures/suse.yaml", "testdata/fixtures/data-source.yaml"}, + name: "happy path", + fixtures: []string{ + "testdata/fixtures/suse.yaml", + "testdata/fixtures/data-source.yaml", + }, distribution: suse.OpenSUSE, args: args{ osVer: "15.3", @@ -68,8 +71,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "broken bucket", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "broken bucket", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, distribution: suse.SUSEEnterpriseLinux, args: args{ osVer: "15.3", @@ -105,7 +111,7 @@ func TestScanner_Detect(t *testing.T) { func TestScanner_IsSupportedVersion(t *testing.T) { type args struct { - osFamily string + osFamily ftypes.OSType osVer string } tests := []struct { diff --git a/pkg/detector/ospkg/ubuntu/ubuntu.go b/pkg/detector/ospkg/ubuntu/ubuntu.go index 3764a07ab704..f8991ff32f09 100644 --- a/pkg/detector/ospkg/ubuntu/ubuntu.go +++ b/pkg/detector/ospkg/ubuntu/ubuntu.go @@ -148,7 +148,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa } // IsSupportedVersion checks is OSFamily can be scanned using Ubuntu scanner -func (s *Scanner) IsSupportedVersion(osFamily, osVer string) bool { +func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { eol, ok := eolDates[s.versionFromEolDates(osVer)] if !ok { log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) diff --git a/pkg/detector/ospkg/ubuntu/ubuntu_test.go b/pkg/detector/ospkg/ubuntu/ubuntu_test.go index e2c32e511127..42ed9971099a 100644 --- a/pkg/detector/ospkg/ubuntu/ubuntu_test.go +++ b/pkg/detector/ospkg/ubuntu/ubuntu_test.go @@ -32,8 +32,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "happy path", - fixtures: []string{"testdata/fixtures/ubuntu.yaml", "testdata/fixtures/data-source.yaml"}, + name: "happy path", + fixtures: []string{ + "testdata/fixtures/ubuntu.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "20.04", now: time.Date(2019, 3, 31, 23, 59, 59, 0, time.UTC), @@ -81,8 +84,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "ubuntu 20.04-ESM. 20.04 is not outdated", - fixtures: []string{"testdata/fixtures/ubuntu.yaml", "testdata/fixtures/data-source.yaml"}, + name: "ubuntu 20.04-ESM. 20.04 is not outdated", + fixtures: []string{ + "testdata/fixtures/ubuntu.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "20.04-ESM", now: time.Date(2019, 3, 31, 23, 59, 59, 0, time.UTC), @@ -130,8 +136,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "ubuntu 20.04-ESM. 20.04 is outdated", - fixtures: []string{"testdata/fixtures/ubuntu.yaml", "testdata/fixtures/data-source.yaml"}, + name: "ubuntu 20.04-ESM. 20.04 is outdated", + fixtures: []string{ + "testdata/fixtures/ubuntu.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "20.04-ESM", now: time.Date(2031, 3, 31, 23, 59, 59, 0, time.UTC), @@ -149,8 +158,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "broken bucket", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "broken bucket", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ osVer: "21.04", now: time.Date(2019, 3, 31, 23, 59, 59, 0, time.UTC), @@ -189,7 +201,7 @@ func TestScanner_Detect(t *testing.T) { func TestScanner_IsSupportedVersion(t *testing.T) { type args struct { - osFamily string + osFamily ftypes.OSType osVer string } tests := []struct { diff --git a/pkg/detector/ospkg/wolfi/wolfi.go b/pkg/detector/ospkg/wolfi/wolfi.go index d0535380e2d7..014ab64350be 100644 --- a/pkg/detector/ospkg/wolfi/wolfi.go +++ b/pkg/detector/ospkg/wolfi/wolfi.go @@ -103,7 +103,7 @@ func (s *Scanner) isVulnerable(installedVersion version.Version, adv dbTypes.Adv } // IsSupportedVersion checks the OSFamily can be scanned using Wolfi scanner -func (s *Scanner) IsSupportedVersion(_, _ string) bool { +func (s *Scanner) IsSupportedVersion(_ ftypes.OSType, _ string) bool { // Wolfi doesn't have versions, so there is no case where a given input yields a // result of an unsupported Wolfi version. diff --git a/pkg/detector/ospkg/wolfi/wolfi_test.go b/pkg/detector/ospkg/wolfi/wolfi_test.go index 2dbc2bcaad6c..78c1e4818c31 100644 --- a/pkg/detector/ospkg/wolfi/wolfi_test.go +++ b/pkg/detector/ospkg/wolfi/wolfi_test.go @@ -4,17 +4,16 @@ import ( "sort" "testing" - "github.com/aquasecurity/trivy/pkg/detector/ospkg/wolfi" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy-db/pkg/db" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" "github.com/aquasecurity/trivy/pkg/dbtest" + "github.com/aquasecurity/trivy/pkg/detector/ospkg/wolfi" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/types" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func TestScanner_Detect(t *testing.T) { @@ -30,8 +29,11 @@ func TestScanner_Detect(t *testing.T) { wantErr string }{ { - name: "happy path", - fixtures: []string{"testdata/fixtures/wolfi.yaml", "testdata/fixtures/data-source.yaml"}, + name: "happy path", + fixtures: []string{ + "testdata/fixtures/wolfi.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ pkgs: []ftypes.Package{ { @@ -69,8 +71,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "contain rc", - fixtures: []string{"testdata/fixtures/wolfi.yaml", "testdata/fixtures/data-source.yaml"}, + name: "contain rc", + fixtures: []string{ + "testdata/fixtures/wolfi.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ pkgs: []ftypes.Package{ { @@ -96,8 +101,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "contain pre", - fixtures: []string{"testdata/fixtures/wolfi.yaml", "testdata/fixtures/data-source.yaml"}, + name: "contain pre", + fixtures: []string{ + "testdata/fixtures/wolfi.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ pkgs: []ftypes.Package{ { @@ -129,8 +137,11 @@ func TestScanner_Detect(t *testing.T) { }, }, { - name: "Get returns an error", - fixtures: []string{"testdata/fixtures/invalid.yaml", "testdata/fixtures/data-source.yaml"}, + name: "Get returns an error", + fixtures: []string{ + "testdata/fixtures/invalid.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ pkgs: []ftypes.Package{ { @@ -144,11 +155,14 @@ func TestScanner_Detect(t *testing.T) { wantErr: "failed to get Wolfi advisories", }, { - name: "No src name", - fixtures: []string{"testdata/fixtures/wolfi.yaml", "testdata/fixtures/data-source.yaml"}, + name: "No src name", + fixtures: []string{ + "testdata/fixtures/wolfi.yaml", + "testdata/fixtures/data-source.yaml", + }, args: args{ repo: &ftypes.Repository{ - Family: os.Wolfi, + Family: ftypes.Wolfi, Release: "3.10", }, pkgs: []ftypes.Package{ diff --git a/pkg/fanal/analyzer/analyzer.go b/pkg/fanal/analyzer/analyzer.go index 32168e56061a..8b9aed005b09 100644 --- a/pkg/fanal/analyzer/analyzer.go +++ b/pkg/fanal/analyzer/analyzer.go @@ -16,7 +16,7 @@ import ( "golang.org/x/xerrors" dio "github.com/aquasecurity/go-dep-parser/pkg/io" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/log" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/misconf" @@ -434,7 +434,7 @@ func (ag AnalyzerGroup) AnalyzeFile(ctx context.Context, wg *sync.WaitGroup, lim Content: rc, Options: opts, }) - if err != nil && !errors.Is(err, aos.AnalyzeOSError) { + if err != nil && !errors.Is(err, fos.AnalyzeOSError) { log.Logger.Debugf("Analysis error: %s", err) return } diff --git a/pkg/fanal/analyzer/analyzer_test.go b/pkg/fanal/analyzer/analyzer_test.go index 292b2e6090c5..15a2c7da36c4 100644 --- a/pkg/fanal/analyzer/analyzer_test.go +++ b/pkg/fanal/analyzer/analyzer_test.go @@ -14,7 +14,6 @@ import ( dio "github.com/aquasecurity/go-dep-parser/pkg/io" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/javadb" "github.com/aquasecurity/trivy/pkg/mapfs" @@ -28,7 +27,6 @@ import ( _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/pkg/apk" _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/repo/apk" _ "github.com/aquasecurity/trivy/pkg/fanal/handler/all" - _ "modernc.org/sqlite" ) @@ -52,7 +50,7 @@ func TestAnalysisResult_Merge(t *testing.T) { name: "happy path", fields: fields{ OS: types.OS{ - Family: aos.Debian, + Family: types.Debian, Name: "9.8", }, PackageInfos: []types.PackageInfo{ @@ -108,7 +106,7 @@ func TestAnalysisResult_Merge(t *testing.T) { }, want: analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Debian, + Family: types.Debian, Name: "9.8", }, PackageInfos: []types.PackageInfo{ @@ -159,21 +157,21 @@ func TestAnalysisResult_Merge(t *testing.T) { name: "redhat must be replaced with oracle", fields: fields{ OS: types.OS{ - Family: aos.RedHat, // this must be overwritten + Family: types.RedHat, // this must be overwritten Name: "8.0", }, }, args: args{ new: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Oracle, + Family: types.Oracle, Name: "8.0", }, }, }, want: analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Oracle, + Family: types.Oracle, Name: "8.0", }, }, @@ -182,21 +180,21 @@ func TestAnalysisResult_Merge(t *testing.T) { name: "debian must be replaced with ubuntu", fields: fields{ OS: types.OS{ - Family: aos.Debian, // this must be overwritten + Family: types.Debian, // this must be overwritten Name: "9.0", }, }, args: args{ new: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Ubuntu, + Family: types.Ubuntu, Name: "18.04", }, }, }, want: analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Ubuntu, + Family: types.Ubuntu, Name: "18.04", }, }, @@ -206,21 +204,21 @@ func TestAnalysisResult_Merge(t *testing.T) { fields: fields{ // This must be overwritten OS: types.OS{ - Family: aos.Ubuntu, + Family: types.Ubuntu, Name: "16.04", }, }, args: args{ new: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Ubuntu, + Family: types.Ubuntu, Extended: true, }, }, }, want: analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Ubuntu, + Family: types.Ubuntu, Name: "16.04", Extended: true, }, @@ -230,25 +228,25 @@ func TestAnalysisResult_Merge(t *testing.T) { name: "alpine OS needs to be extended with apk repositories", fields: fields{ OS: types.OS{ - Family: aos.Alpine, + Family: types.Alpine, Name: "3.15.3", }, }, args: args{ new: &analyzer.AnalysisResult{ Repository: &types.Repository{ - Family: aos.Alpine, + Family: types.Alpine, Release: "edge", }, }, }, want: analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Alpine, + Family: types.Alpine, Name: "3.15.3", }, Repository: &types.Repository{ - Family: aos.Alpine, + Family: types.Alpine, Release: "edge", }, }, @@ -257,21 +255,21 @@ func TestAnalysisResult_Merge(t *testing.T) { name: "alpine must not be replaced with oracle", fields: fields{ OS: types.OS{ - Family: aos.Alpine, // this must not be overwritten + Family: types.Alpine, // this must not be overwritten Name: "3.11", }, }, args: args{ new: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Oracle, + Family: types.Oracle, Name: "8.0", }, }, }, want: analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Alpine, // this must not be overwritten + Family: types.Alpine, // this must not be overwritten Name: "3.11", }, }, @@ -567,7 +565,7 @@ func TestAnalyzerGroup_PostAnalyze(t *testing.T) { want: &analyzer.AnalysisResult{ Applications: []types.Application{ { - Type: string(analyzer.TypeJar), + Type: types.Jar, FilePath: "testdata/post-apps/jar/jackson-annotations-2.15.0-rc2.jar", Libraries: types.Packages{ { @@ -587,7 +585,7 @@ func TestAnalyzerGroup_PostAnalyze(t *testing.T) { want: &analyzer.AnalysisResult{ Applications: []types.Application{ { - Type: string(analyzer.TypePoetry), + Type: types.Poetry, FilePath: "testdata/post-apps/poetry/happy/poetry.lock", Libraries: types.Packages{ { diff --git a/pkg/fanal/analyzer/config/azurearm/azurearm_test.go b/pkg/fanal/analyzer/config/azurearm/azurearm_test.go index 19039676e32b..5546f492504e 100644 --- a/pkg/fanal/analyzer/config/azurearm/azurearm_test.go +++ b/pkg/fanal/analyzer/config/azurearm/azurearm_test.go @@ -3,9 +3,10 @@ package azurearm import ( "testing" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" ) func Test_azureARMConfigAnalyzer_Required(t *testing.T) { diff --git a/pkg/fanal/analyzer/config/config_test.go b/pkg/fanal/analyzer/config/config_test.go index ef0a86b63017..147b1f4d3201 100644 --- a/pkg/fanal/analyzer/config/config_test.go +++ b/pkg/fanal/analyzer/config/config_test.go @@ -8,7 +8,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/aquasecurity/defsec/pkg/detection" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/analyzer/config" @@ -46,7 +45,7 @@ func TestAnalyzer_PostAnalyze(t *testing.T) { want: &analyzer.AnalysisResult{ Misconfigurations: []types.Misconfiguration{ { - FileType: string(detection.FileTypeDockerfile), + FileType: types.Dockerfile, FilePath: "Dockerfile", Successes: types.MisconfResults{ types.MisconfResult{ diff --git a/pkg/fanal/analyzer/imgconf/apk/apk.go b/pkg/fanal/analyzer/imgconf/apk/apk.go index 2eeaf6090d65..20344b89a964 100644 --- a/pkg/fanal/analyzer/imgconf/apk/apk.go +++ b/pkg/fanal/analyzer/imgconf/apk/apk.go @@ -16,7 +16,6 @@ import ( "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -284,7 +283,7 @@ func (a alpineCmdAnalyzer) guessVersion(apkIndexArchive *apkIndex, originalPkgs } func (a alpineCmdAnalyzer) Required(targetOS types.OS) bool { - return targetOS.Family == os.Alpine + return targetOS.Family == types.Alpine } func (a alpineCmdAnalyzer) Type() analyzer.Type { diff --git a/pkg/fanal/analyzer/imgconf/apk/apk_test.go b/pkg/fanal/analyzer/imgconf/apk/apk_test.go index 056438af6b53..1cb0e10064da 100644 --- a/pkg/fanal/analyzer/imgconf/apk/apk_test.go +++ b/pkg/fanal/analyzer/imgconf/apk/apk_test.go @@ -11,14 +11,14 @@ import ( "testing" "time" + v1 "github.com/google/go-containerregistry/pkg/v1" + "github.com/kylelemons/godebug/pretty" "github.com/samber/lo" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/types" - v1 "github.com/google/go-containerregistry/pkg/v1" - "github.com/kylelemons/godebug/pretty" - "github.com/stretchr/testify/assert" ) var ( diff --git a/pkg/fanal/analyzer/language/analyze.go b/pkg/fanal/analyzer/language/analyze.go index 12f6014a7f92..61d9492aa68c 100644 --- a/pkg/fanal/analyzer/language/analyze.go +++ b/pkg/fanal/analyzer/language/analyze.go @@ -17,7 +17,7 @@ import ( ) // Analyze returns an analysis result of the lock file -func Analyze(fileType, filePath string, r dio.ReadSeekerAt, parser godeptypes.Parser) (*analyzer.AnalysisResult, error) { +func Analyze(fileType types.LangType, filePath string, r dio.ReadSeekerAt, parser godeptypes.Parser) (*analyzer.AnalysisResult, error) { app, err := Parse(fileType, filePath, r, parser) if err != nil { return nil, xerrors.Errorf("failed to parse %s: %w", filePath, err) @@ -31,7 +31,7 @@ func Analyze(fileType, filePath string, r dio.ReadSeekerAt, parser godeptypes.Pa } // AnalyzePackage returns an analysis result of the package file other than lock files -func AnalyzePackage(fileType, filePath string, r dio.ReadSeekerAt, parser godeptypes.Parser, checksum bool) (*analyzer.AnalysisResult, error) { +func AnalyzePackage(fileType types.LangType, filePath string, r dio.ReadSeekerAt, parser godeptypes.Parser, checksum bool) (*analyzer.AnalysisResult, error) { app, err := ParsePackage(fileType, filePath, r, parser, checksum) if err != nil { return nil, xerrors.Errorf("failed to parse %s: %w", filePath, err) @@ -45,7 +45,7 @@ func AnalyzePackage(fileType, filePath string, r dio.ReadSeekerAt, parser godept } // Parse returns a parsed result of the lock file -func Parse(fileType, filePath string, r io.Reader, parser godeptypes.Parser) (*types.Application, error) { +func Parse(fileType types.LangType, filePath string, r io.Reader, parser godeptypes.Parser) (*types.Application, error) { rr, err := xio.NewReadSeekerAt(r) if err != nil { return nil, xerrors.Errorf("reader error: %w", err) @@ -61,7 +61,7 @@ func Parse(fileType, filePath string, r io.Reader, parser godeptypes.Parser) (*t } // ParsePackage returns a parsed result of the package file -func ParsePackage(fileType, filePath string, r dio.ReadSeekerAt, parser godeptypes.Parser, checksum bool) (*types.Application, error) { +func ParsePackage(fileType types.LangType, filePath string, r dio.ReadSeekerAt, parser godeptypes.Parser, checksum bool) (*types.Application, error) { parsedLibs, parsedDependencies, err := parser.Parse(r) if err != nil { return nil, xerrors.Errorf("failed to parse %s: %w", filePath, err) @@ -77,7 +77,7 @@ func ParsePackage(fileType, filePath string, r dio.ReadSeekerAt, parser godeptyp return toApplication(fileType, filePath, filePath, r, parsedLibs, parsedDependencies), nil } -func toApplication(fileType, filePath, libFilePath string, r dio.ReadSeekerAt, libs []godeptypes.Library, depGraph []godeptypes.Dependency) *types.Application { +func toApplication(fileType types.LangType, filePath, libFilePath string, r dio.ReadSeekerAt, libs []godeptypes.Library, depGraph []godeptypes.Dependency) *types.Application { if len(libs) == 0 { return nil } diff --git a/pkg/fanal/analyzer/language/analyze_test.go b/pkg/fanal/analyzer/language/analyze_test.go index a0016aa8fd80..caf727e8598d 100644 --- a/pkg/fanal/analyzer/language/analyze_test.go +++ b/pkg/fanal/analyzer/language/analyze_test.go @@ -41,9 +41,9 @@ func (p *mockParser) Parse(r dio.ReadSeekerAt) ([]godeptypes.Library, []godeptyp func TestAnalyze(t *testing.T) { type args struct { - analyzerType string - filePath string - content dio.ReadSeekerAt + fileType types.LangType + filePath string + content dio.ReadSeekerAt } tests := []struct { name string @@ -54,9 +54,9 @@ func TestAnalyze(t *testing.T) { { name: "happy path", args: args{ - analyzerType: types.GoBinary, - filePath: "app/myweb", - content: strings.NewReader("happy"), + fileType: types.GoBinary, + filePath: "app/myweb", + content: strings.NewReader("happy"), }, want: &analyzer.AnalysisResult{ Applications: []types.Application{ @@ -76,18 +76,18 @@ func TestAnalyze(t *testing.T) { { name: "empty", args: args{ - analyzerType: types.GoBinary, - filePath: "app/myweb", - content: strings.NewReader(""), + fileType: types.GoBinary, + filePath: "app/myweb", + content: strings.NewReader(""), }, want: nil, }, { name: "sad path", args: args{ - analyzerType: types.Jar, - filePath: "app/myweb", - content: strings.NewReader("sad"), + fileType: types.Jar, + filePath: "app/myweb", + content: strings.NewReader("sad"), }, wantErr: "unexpected error", }, @@ -96,7 +96,7 @@ func TestAnalyze(t *testing.T) { t.Run(tt.name, func(t *testing.T) { mp := &mockParser{t: t} - got, err := language.Analyze(tt.args.analyzerType, tt.args.filePath, tt.args.content, mp) + got, err := language.Analyze(tt.args.fileType, tt.args.filePath, tt.args.content, mp) if tt.wantErr != "" { require.NotNil(t, err) assert.Contains(t, err.Error(), tt.wantErr) diff --git a/pkg/fanal/analyzer/language/dart/pub/pubspec_test.go b/pkg/fanal/analyzer/language/dart/pub/pubspec_test.go index 73a8b8cc55b1..e03d9c1c8a64 100644 --- a/pkg/fanal/analyzer/language/dart/pub/pubspec_test.go +++ b/pkg/fanal/analyzer/language/dart/pub/pubspec_test.go @@ -1,13 +1,15 @@ package pub import ( - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "os" "sort" "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_pubSpecLockAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go b/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go index 99ee8c0c012f..f53f2da274e2 100644 --- a/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go +++ b/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go @@ -6,7 +6,6 @@ import ( "path/filepath" "golang.org/x/exp/slices" - "golang.org/x/xerrors" "github.com/aquasecurity/go-dep-parser/pkg/nuget/config" diff --git a/pkg/fanal/analyzer/language/elixir/mix/mix_test.go b/pkg/fanal/analyzer/language/elixir/mix/mix_test.go index 9064b8fc0673..5c836c260555 100644 --- a/pkg/fanal/analyzer/language/elixir/mix/mix_test.go +++ b/pkg/fanal/analyzer/language/elixir/mix/mix_test.go @@ -1,12 +1,14 @@ package mix import ( - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "os" "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_mixLockAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/language/golang/mod/mod.go b/pkg/fanal/analyzer/language/golang/mod/mod.go index a56e020cc92d..406f60cfef01 100644 --- a/pkg/fanal/analyzer/language/golang/mod/mod.go +++ b/pkg/fanal/analyzer/language/golang/mod/mod.go @@ -30,7 +30,7 @@ import ( ) func init() { - analyzer.RegisterPostAnalyzer(types.GoMod, newGoModAnalyzer) + analyzer.RegisterPostAnalyzer(analyzer.TypeGoMod, newGoModAnalyzer) } const version = 2 diff --git a/pkg/fanal/analyzer/language/golang/mod/mod_test.go b/pkg/fanal/analyzer/language/golang/mod/mod_test.go index ffae4a44d871..25137172cbc2 100644 --- a/pkg/fanal/analyzer/language/golang/mod/mod_test.go +++ b/pkg/fanal/analyzer/language/golang/mod/mod_test.go @@ -6,11 +6,12 @@ import ( "sort" "testing" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/mapfs" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func Test_gomodAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/language/java/gradle/lockfile.go b/pkg/fanal/analyzer/language/java/gradle/lockfile.go index 05320622cfb9..90671e1d7f8a 100644 --- a/pkg/fanal/analyzer/language/java/gradle/lockfile.go +++ b/pkg/fanal/analyzer/language/java/gradle/lockfile.go @@ -5,12 +5,12 @@ import ( "os" "strings" + "golang.org/x/xerrors" + "github.com/aquasecurity/go-dep-parser/pkg/gradle/lockfile" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/analyzer/language" "github.com/aquasecurity/trivy/pkg/fanal/types" - - "golang.org/x/xerrors" ) func init() { diff --git a/pkg/fanal/analyzer/language/java/jar/jar_test.go b/pkg/fanal/analyzer/language/java/jar/jar_test.go index f477f86e848b..63742a3d4f62 100644 --- a/pkg/fanal/analyzer/language/java/jar/jar_test.go +++ b/pkg/fanal/analyzer/language/java/jar/jar_test.go @@ -6,11 +6,12 @@ import ( "path/filepath" "testing" + "github.com/stretchr/testify/assert" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/javadb" "github.com/aquasecurity/trivy/pkg/mapfs" - "github.com/stretchr/testify/assert" _ "modernc.org/sqlite" ) diff --git a/pkg/fanal/analyzer/language/java/pom/pom.go b/pkg/fanal/analyzer/language/java/pom/pom.go index 557cc58768d0..7d515f2ad20c 100644 --- a/pkg/fanal/analyzer/language/java/pom/pom.go +++ b/pkg/fanal/analyzer/language/java/pom/pom.go @@ -8,7 +8,6 @@ import ( "golang.org/x/xerrors" "github.com/aquasecurity/go-dep-parser/pkg/java/pom" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/analyzer/language" "github.com/aquasecurity/trivy/pkg/fanal/types" diff --git a/pkg/fanal/analyzer/language/java/pom/pom_test.go b/pkg/fanal/analyzer/language/java/pom/pom_test.go index 80b4421b52cf..9a5214e806e5 100644 --- a/pkg/fanal/analyzer/language/java/pom/pom_test.go +++ b/pkg/fanal/analyzer/language/java/pom/pom_test.go @@ -8,9 +8,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_pomAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/language/nodejs/yarn/yarn.go b/pkg/fanal/analyzer/language/nodejs/yarn/yarn.go index 1065644a86b5..be74ed68c745 100644 --- a/pkg/fanal/analyzer/language/nodejs/yarn/yarn.go +++ b/pkg/fanal/analyzer/language/nodejs/yarn/yarn.go @@ -31,7 +31,7 @@ import ( ) func init() { - analyzer.RegisterPostAnalyzer(types.Yarn, newYarnAnalyzer) + analyzer.RegisterPostAnalyzer(analyzer.TypeYarn, newYarnAnalyzer) } const version = 2 diff --git a/pkg/fanal/analyzer/language/php/composer/composer.go b/pkg/fanal/analyzer/language/php/composer/composer.go index 86014e352293..ac1e1b4226e2 100644 --- a/pkg/fanal/analyzer/language/php/composer/composer.go +++ b/pkg/fanal/analyzer/language/php/composer/composer.go @@ -24,7 +24,7 @@ import ( ) func init() { - analyzer.RegisterPostAnalyzer(types.Composer, newComposerAnalyzer) + analyzer.RegisterPostAnalyzer(analyzer.TypeComposer, newComposerAnalyzer) } const version = 1 diff --git a/pkg/fanal/analyzer/language/php/composer/composer_test.go b/pkg/fanal/analyzer/language/php/composer/composer_test.go index ee493cce2c86..e420375dbaea 100644 --- a/pkg/fanal/analyzer/language/php/composer/composer_test.go +++ b/pkg/fanal/analyzer/language/php/composer/composer_test.go @@ -2,12 +2,14 @@ package composer import ( "context" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "os" "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_composerAnalyzer_PostAnalyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/language/rust/cargo/cargo.go b/pkg/fanal/analyzer/language/rust/cargo/cargo.go index 6ce6a2d68612..a407fe3b1d45 100644 --- a/pkg/fanal/analyzer/language/rust/cargo/cargo.go +++ b/pkg/fanal/analyzer/language/rust/cargo/cargo.go @@ -10,13 +10,12 @@ import ( "path/filepath" "sort" + "github.com/BurntSushi/toml" + "github.com/samber/lo" "golang.org/x/exp/maps" "golang.org/x/exp/slices" "golang.org/x/xerrors" - "github.com/BurntSushi/toml" - "github.com/samber/lo" - "github.com/aquasecurity/go-dep-parser/pkg/rust/cargo" godeptypes "github.com/aquasecurity/go-dep-parser/pkg/types" "github.com/aquasecurity/go-version/pkg/semver" diff --git a/pkg/fanal/analyzer/language/rust/cargo/cargo_test.go b/pkg/fanal/analyzer/language/rust/cargo/cargo_test.go index 3e6bf0992e2d..8665b5022e1c 100644 --- a/pkg/fanal/analyzer/language/rust/cargo/cargo_test.go +++ b/pkg/fanal/analyzer/language/rust/cargo/cargo_test.go @@ -2,13 +2,15 @@ package cargo import ( "context" + "os" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/aquasecurity/trivy/pkg/detector/library/compare" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "os" - "testing" ) func Test_cargoAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/language/swift/cocoapods/cocoapods.go b/pkg/fanal/analyzer/language/swift/cocoapods/cocoapods.go index 794d1429243f..fdff882281a0 100644 --- a/pkg/fanal/analyzer/language/swift/cocoapods/cocoapods.go +++ b/pkg/fanal/analyzer/language/swift/cocoapods/cocoapods.go @@ -4,12 +4,12 @@ import ( "context" "os" + "golang.org/x/xerrors" + "github.com/aquasecurity/go-dep-parser/pkg/swift/cocoapods" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/analyzer/language" "github.com/aquasecurity/trivy/pkg/fanal/types" - - "golang.org/x/xerrors" ) func init() { diff --git a/pkg/fanal/analyzer/language/swift/cocoapods/cocoapods_test.go b/pkg/fanal/analyzer/language/swift/cocoapods/cocoapods_test.go index 8d8ea5620a6e..fcf2e7254f59 100644 --- a/pkg/fanal/analyzer/language/swift/cocoapods/cocoapods_test.go +++ b/pkg/fanal/analyzer/language/swift/cocoapods/cocoapods_test.go @@ -5,10 +5,11 @@ import ( "sort" "testing" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_cocoaPodsLockAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/language/swift/swift/swift.go b/pkg/fanal/analyzer/language/swift/swift/swift.go index a61e832a8f74..35653ab0645a 100644 --- a/pkg/fanal/analyzer/language/swift/swift/swift.go +++ b/pkg/fanal/analyzer/language/swift/swift/swift.go @@ -5,12 +5,12 @@ import ( "os" "path" + "golang.org/x/xerrors" + "github.com/aquasecurity/go-dep-parser/pkg/swift/swift" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/analyzer/language" "github.com/aquasecurity/trivy/pkg/fanal/types" - - "golang.org/x/xerrors" ) func init() { diff --git a/pkg/fanal/analyzer/language/swift/swift/swift_test.go b/pkg/fanal/analyzer/language/swift/swift/swift_test.go index fe12320bd928..9a7fc981c1fc 100644 --- a/pkg/fanal/analyzer/language/swift/swift/swift_test.go +++ b/pkg/fanal/analyzer/language/swift/swift/swift_test.go @@ -1,12 +1,14 @@ package swift import ( - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "os" "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_swiftLockAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/licensing/license.go b/pkg/fanal/analyzer/licensing/license.go index ed85e4e32cf2..dddd0f4af538 100644 --- a/pkg/fanal/analyzer/licensing/license.go +++ b/pkg/fanal/analyzer/licensing/license.go @@ -43,7 +43,7 @@ var ( } acceptedFileNames = []string{ - "license", "licence", "copyright", // nolint: misspell + "license", "licence", "copyright", } ) diff --git a/pkg/fanal/analyzer/os/alpine/alpine.go b/pkg/fanal/analyzer/os/alpine/alpine.go index 1bd00832300e..0caa5189b8f5 100644 --- a/pkg/fanal/analyzer/os/alpine/alpine.go +++ b/pkg/fanal/analyzer/os/alpine/alpine.go @@ -6,11 +6,10 @@ import ( "os" "golang.org/x/exp/slices" - "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -29,10 +28,13 @@ func (a alpineOSAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInpu for scanner.Scan() { line := scanner.Text() return &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Alpine, Name: line}, + OS: types.OS{ + Family: types.Alpine, + Name: line, + }, }, nil } - return nil, xerrors.Errorf("alpine: %w", aos.AnalyzeOSError) + return nil, xerrors.Errorf("alpine: %w", fos.AnalyzeOSError) } func (a alpineOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/alpine/alpine_test.go b/pkg/fanal/analyzer/os/alpine/alpine_test.go index 3b920bfff303..29a2496ba556 100644 --- a/pkg/fanal/analyzer/os/alpine/alpine_test.go +++ b/pkg/fanal/analyzer/os/alpine/alpine_test.go @@ -8,7 +8,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -26,7 +25,10 @@ func TestAlpineReleaseOSAnalyzer_Required(t *testing.T) { Content: strings.NewReader("3.15.4"), }, wantResult: &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Alpine, Name: "3.15.4"}, + OS: types.OS{ + Family: types.Alpine, + Name: "3.15.4", + }, }, }, } diff --git a/pkg/fanal/analyzer/os/amazonlinux/amazonlinux.go b/pkg/fanal/analyzer/os/amazonlinux/amazonlinux.go index b3c333df1555..2dc96646719f 100644 --- a/pkg/fanal/analyzer/os/amazonlinux/amazonlinux.go +++ b/pkg/fanal/analyzer/os/amazonlinux/amazonlinux.go @@ -9,13 +9,10 @@ import ( "golang.org/x/xerrors" - "github.com/aquasecurity/trivy/pkg/fanal/utils" - - "github.com/aquasecurity/trivy/pkg/fanal/types" - - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/fanal/utils" ) func init() { @@ -52,17 +49,17 @@ func (a amazonlinuxOSAnalyzer) parseRelease(r io.Reader) (types.OS, error) { continue } return types.OS{ - Family: aos.Amazon, + Family: types.Amazon, Name: strings.Join(fields[3:], " "), }, nil } else if strings.HasPrefix(line, "Amazon Linux") { return types.OS{ - Family: aos.Amazon, + Family: types.Amazon, Name: strings.Join(fields[2:], " "), }, nil } } - return types.OS{}, xerrors.Errorf("amazon: %w", aos.AnalyzeOSError) + return types.OS{}, xerrors.Errorf("amazon: %w", fos.AnalyzeOSError) } func (a amazonlinuxOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/amazonlinux/amazonlinux_test.go b/pkg/fanal/analyzer/os/amazonlinux/amazonlinux_test.go index 0393595d3b56..83fcd25fe76b 100644 --- a/pkg/fanal/analyzer/os/amazonlinux/amazonlinux_test.go +++ b/pkg/fanal/analyzer/os/amazonlinux/amazonlinux_test.go @@ -8,10 +8,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_amazonlinuxOSAnalyzer_Analyze(t *testing.T) { @@ -29,7 +28,7 @@ func Test_amazonlinuxOSAnalyzer_Analyze(t *testing.T) { }, want: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Amazon, + Family: types.Amazon, Name: "AMI release 2018.03", }, }, @@ -42,7 +41,7 @@ func Test_amazonlinuxOSAnalyzer_Analyze(t *testing.T) { }, want: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Amazon, + Family: types.Amazon, Name: "2 (Karoo)", }, }, @@ -55,7 +54,7 @@ func Test_amazonlinuxOSAnalyzer_Analyze(t *testing.T) { }, want: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Amazon, + Family: types.Amazon, Name: "2022 (Amazon Linux)", }, }, @@ -68,7 +67,7 @@ func Test_amazonlinuxOSAnalyzer_Analyze(t *testing.T) { }, want: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Amazon, + Family: types.Amazon, Name: "2023 (Amazon Linux)", }, }, @@ -79,7 +78,7 @@ func Test_amazonlinuxOSAnalyzer_Analyze(t *testing.T) { FilePath: "etc/system-release", Content: strings.NewReader(`Amazon Linux release 2`), }, - wantErr: aos.AnalyzeOSError.Error(), + wantErr: fos.AnalyzeOSError.Error(), }, { name: "sad path", @@ -87,7 +86,7 @@ func Test_amazonlinuxOSAnalyzer_Analyze(t *testing.T) { FilePath: "etc/system-release", Content: strings.NewReader(`foo bar`), }, - wantErr: aos.AnalyzeOSError.Error(), + wantErr: fos.AnalyzeOSError.Error(), }, } for _, tt := range tests { diff --git a/pkg/fanal/analyzer/os/const.go b/pkg/fanal/analyzer/os/const.go index 1d765e535d01..82f908979b66 100644 --- a/pkg/fanal/analyzer/os/const.go +++ b/pkg/fanal/analyzer/os/const.go @@ -2,67 +2,4 @@ package os import "golang.org/x/xerrors" -const ( - // RedHat is done - RedHat = "redhat" - - // Debian is done - Debian = "debian" - - // Ubuntu is done - Ubuntu = "ubuntu" - - // CentOS is done - CentOS = "centos" - - // Rocky is done - Rocky = "rocky" - - // Alma is done - Alma = "alma" - - // Fedora is done - Fedora = "fedora" - - // Amazon is done - Amazon = "amazon" - - // Oracle is done - Oracle = "oracle" - - // Mariner is done - CBLMariner = "cbl-mariner" - - // FreeBSD currently doesn't support docker - // FreeBSD = "freebsd" - - // Windows only run windows os - // TODO : support windows - Windows = "windows" - - // OpenSUSE is done - OpenSUSE = "opensuse" - - // OpenSUSELeap is done - OpenSUSELeap = "opensuse.leap" - - // OpenSUSETumbleweed is done - OpenSUSETumbleweed = "opensuse.tumbleweed" - - // SUSE Linux Enterplise Server is done - SLES = "suse linux enterprise server" - - // Photon OS done - Photon = "photon" - - // Alpine is done - Alpine = "alpine" - - // Wolfi is done - Wolfi = "wolfi" - - // Chainguard is done - Chainguard = "chainguard" -) - var AnalyzeOSError = xerrors.New("unable to analyze OS information") diff --git a/pkg/fanal/analyzer/os/debian/debian.go b/pkg/fanal/analyzer/os/debian/debian.go index 0697f3ba9c04..5c5f3c766229 100644 --- a/pkg/fanal/analyzer/os/debian/debian.go +++ b/pkg/fanal/analyzer/os/debian/debian.go @@ -8,8 +8,7 @@ import ( "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" - + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/fanal/utils" ) @@ -29,10 +28,13 @@ func (a debianOSAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInpu for scanner.Scan() { line := scanner.Text() return &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Debian, Name: line}, + OS: types.OS{ + Family: types.Debian, + Name: line, + }, }, nil } - return nil, xerrors.Errorf("debian: %w", aos.AnalyzeOSError) + return nil, xerrors.Errorf("debian: %w", fos.AnalyzeOSError) } func (a debianOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/debian/debian_test.go b/pkg/fanal/analyzer/os/debian/debian_test.go index 4ddb40c29350..0366e87693e4 100644 --- a/pkg/fanal/analyzer/os/debian/debian_test.go +++ b/pkg/fanal/analyzer/os/debian/debian_test.go @@ -5,13 +5,11 @@ import ( "os" "testing" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_debianOSAnalyzer_Analyze(t *testing.T) { @@ -26,7 +24,7 @@ func Test_debianOSAnalyzer_Analyze(t *testing.T) { inputFile: "testdata/debian_9/etc/debian_version", want: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Debian, + Family: types.Debian, Name: "9.8", }, }, @@ -36,7 +34,7 @@ func Test_debianOSAnalyzer_Analyze(t *testing.T) { inputFile: "testdata/debian_sid/etc/debian_version", want: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Debian, + Family: types.Debian, Name: "buster/sid", }, }, diff --git a/pkg/fanal/analyzer/os/mariner/mariner.go b/pkg/fanal/analyzer/os/mariner/mariner.go index e0599b672d38..6495d17fdefe 100644 --- a/pkg/fanal/analyzer/os/mariner/mariner.go +++ b/pkg/fanal/analyzer/os/mariner/mariner.go @@ -11,7 +11,7 @@ import ( "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -46,12 +46,12 @@ func (a marinerOSAnalyzer) parseRelease(r io.Reader) (types.OS, error) { } if strings.ToLower(fields[0]) == "cbl-mariner" { return types.OS{ - Family: aos.CBLMariner, + Family: types.CBLMariner, Name: fields[1], }, nil } } - return types.OS{}, xerrors.Errorf("cbl-mariner: %w", aos.AnalyzeOSError) + return types.OS{}, xerrors.Errorf("cbl-mariner: %w", fos.AnalyzeOSError) } func (a marinerOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/mariner/mariner_test.go b/pkg/fanal/analyzer/os/mariner/mariner_test.go index 186dd31e5935..e13730a021cb 100644 --- a/pkg/fanal/analyzer/os/mariner/mariner_test.go +++ b/pkg/fanal/analyzer/os/mariner/mariner_test.go @@ -9,7 +9,6 @@ import ( "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -25,7 +24,7 @@ func Test_marinerOSAnalyzer_Analyze(t *testing.T) { inputFile: "testdata/1.0/mariner-release", want: &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.CBLMariner, + Family: types.CBLMariner, Name: "1.0.20220122", }, }, diff --git a/pkg/fanal/analyzer/os/redhatbase/alma.go b/pkg/fanal/analyzer/os/redhatbase/alma.go index 939e6c258f85..eddf7d82f80b 100644 --- a/pkg/fanal/analyzer/os/redhatbase/alma.go +++ b/pkg/fanal/analyzer/os/redhatbase/alma.go @@ -6,11 +6,10 @@ import ( "os" "strings" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "golang.org/x/xerrors" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/fanal/utils" ) @@ -35,12 +34,15 @@ func (a almaOSAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInput) switch strings.ToLower(result[1]) { case "alma", "almalinux", "alma linux": return &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Alma, Name: result[2]}, + OS: types.OS{ + Family: types.Alma, + Name: result[2], + }, }, nil } } - return nil, xerrors.Errorf("alma: %w", aos.AnalyzeOSError) + return nil, xerrors.Errorf("alma: %w", fos.AnalyzeOSError) } func (a almaOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/redhatbase/centos.go b/pkg/fanal/analyzer/os/redhatbase/centos.go index dea9b7dbb941..4a57e3e9eac1 100644 --- a/pkg/fanal/analyzer/os/redhatbase/centos.go +++ b/pkg/fanal/analyzer/os/redhatbase/centos.go @@ -6,11 +6,10 @@ import ( "os" "strings" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "golang.org/x/xerrors" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/fanal/utils" ) @@ -35,12 +34,15 @@ func (a centOSAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInput) switch strings.ToLower(result[1]) { case "centos", "centos linux": return &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.CentOS, Name: result[2]}, + OS: types.OS{ + Family: types.CentOS, + Name: result[2], + }, }, nil } } - return nil, xerrors.Errorf("centos: %w", aos.AnalyzeOSError) + return nil, xerrors.Errorf("centos: %w", fos.AnalyzeOSError) } func (a centOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/redhatbase/fedora.go b/pkg/fanal/analyzer/os/redhatbase/fedora.go index ab864a7f2e16..d5b2458e1c5b 100644 --- a/pkg/fanal/analyzer/os/redhatbase/fedora.go +++ b/pkg/fanal/analyzer/os/redhatbase/fedora.go @@ -6,11 +6,10 @@ import ( "os" "strings" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "golang.org/x/xerrors" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/fanal/utils" ) @@ -35,11 +34,14 @@ func (a fedoraOSAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInpu switch strings.ToLower(result[1]) { case "fedora", "fedora linux": return &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Fedora, Name: result[2]}, + OS: types.OS{ + Family: types.Fedora, + Name: result[2], + }, }, nil } } - return nil, xerrors.Errorf("fedora: %w", aos.AnalyzeOSError) + return nil, xerrors.Errorf("fedora: %w", fos.AnalyzeOSError) } func (a fedoraOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/redhatbase/oracle.go b/pkg/fanal/analyzer/os/redhatbase/oracle.go index ff88263f8802..90864aefd848 100644 --- a/pkg/fanal/analyzer/os/redhatbase/oracle.go +++ b/pkg/fanal/analyzer/os/redhatbase/oracle.go @@ -6,14 +6,12 @@ import ( "os" "strings" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - - "github.com/aquasecurity/trivy/pkg/fanal/utils" - "golang.org/x/xerrors" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/fanal/utils" ) const oracleAnalyzerVersion = 1 @@ -33,11 +31,14 @@ func (a oracleOSAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInpu return nil, xerrors.New("oracle: invalid oracle-release") } return &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Oracle, Name: result[2]}, + OS: types.OS{ + Family: types.Oracle, + Name: result[2], + }, }, nil } - return nil, xerrors.Errorf("oracle: %w", aos.AnalyzeOSError) + return nil, xerrors.Errorf("oracle: %w", fos.AnalyzeOSError) } func (a oracleOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/redhatbase/redhatbase.go b/pkg/fanal/analyzer/os/redhatbase/redhatbase.go index d1d1de135adf..9fc69a8753ca 100644 --- a/pkg/fanal/analyzer/os/redhatbase/redhatbase.go +++ b/pkg/fanal/analyzer/os/redhatbase/redhatbase.go @@ -8,15 +8,12 @@ import ( "regexp" "strings" - "github.com/aquasecurity/trivy/pkg/fanal/utils" - - "github.com/aquasecurity/trivy/pkg/fanal/types" - "golang.org/x/xerrors" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/fanal/utils" ) const redhatAnalyzerVersion = 1 @@ -51,20 +48,38 @@ func (a redhatOSAnalyzer) parseRelease(r io.Reader) (types.OS, error) { switch strings.ToLower(result[1]) { case "centos", "centos linux": - return types.OS{Family: aos.CentOS, Name: result[2]}, nil + return types.OS{ + Family: types.CentOS, + Name: result[2], + }, nil case "rocky", "rocky linux": - return types.OS{Family: aos.Rocky, Name: result[2]}, nil + return types.OS{ + Family: types.Rocky, + Name: result[2], + }, nil case "alma", "almalinux", "alma linux": - return types.OS{Family: aos.Alma, Name: result[2]}, nil + return types.OS{ + Family: types.Alma, + Name: result[2], + }, nil case "oracle", "oracle linux", "oracle linux server": - return types.OS{Family: aos.Oracle, Name: result[2]}, nil + return types.OS{ + Family: types.Oracle, + Name: result[2], + }, nil case "fedora", "fedora linux": - return types.OS{Family: aos.Fedora, Name: result[2]}, nil + return types.OS{ + Family: types.Fedora, + Name: result[2], + }, nil default: - return types.OS{Family: aos.RedHat, Name: result[2]}, nil + return types.OS{ + Family: types.RedHat, + Name: result[2], + }, nil } } - return types.OS{}, xerrors.Errorf("redhatbase: %w", aos.AnalyzeOSError) + return types.OS{}, xerrors.Errorf("redhatbase: %w", fos.AnalyzeOSError) } func (a redhatOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/redhatbase/rocky.go b/pkg/fanal/analyzer/os/redhatbase/rocky.go index 974431c6eee9..ac443d29ae83 100644 --- a/pkg/fanal/analyzer/os/redhatbase/rocky.go +++ b/pkg/fanal/analyzer/os/redhatbase/rocky.go @@ -6,11 +6,10 @@ import ( "os" "strings" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "golang.org/x/xerrors" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/fanal/utils" ) @@ -35,12 +34,15 @@ func (a rockyOSAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInput switch strings.ToLower(result[1]) { case "rocky", "rocky linux": return &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Rocky, Name: result[2]}, + OS: types.OS{ + Family: types.Rocky, + Name: result[2], + }, }, nil } } - return nil, xerrors.Errorf("rocky: %w", aos.AnalyzeOSError) + return nil, xerrors.Errorf("rocky: %w", fos.AnalyzeOSError) } func (a rockyOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/release/release.go b/pkg/fanal/analyzer/os/release/release.go index 5c035c96d55b..d4b959c3a9b3 100644 --- a/pkg/fanal/analyzer/os/release/release.go +++ b/pkg/fanal/analyzer/os/release/release.go @@ -9,7 +9,6 @@ import ( "golang.org/x/exp/slices" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -47,27 +46,30 @@ func (a osReleaseAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInp continue } - var family string + var family types.OSType switch id { case "alpine": - family = aos.Alpine + family = types.Alpine case "opensuse-tumbleweed": - family = aos.OpenSUSETumbleweed + family = types.OpenSUSETumbleweed case "opensuse-leap", "opensuse": // opensuse for leap:42, opensuse-leap for leap:15 - family = aos.OpenSUSELeap + family = types.OpenSUSELeap case "sles": - family = aos.SLES + family = types.SLES case "photon": - family = aos.Photon + family = types.Photon case "wolfi": - family = aos.Wolfi + family = types.Wolfi case "chainguard": - family = aos.Chainguard + family = types.Chainguard } if family != "" && versionID != "" { return &analyzer.AnalysisResult{ - OS: types.OS{Family: family, Name: versionID}, + OS: types.OS{ + Family: family, + Name: versionID, + }, }, nil } } diff --git a/pkg/fanal/analyzer/os/release/release_test.go b/pkg/fanal/analyzer/os/release/release_test.go index ebf521303c41..615324c200fd 100644 --- a/pkg/fanal/analyzer/os/release/release_test.go +++ b/pkg/fanal/analyzer/os/release/release_test.go @@ -9,7 +9,6 @@ import ( "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -25,49 +24,70 @@ func Test_osReleaseAnalyzer_Analyze(t *testing.T) { name: "alpine", inputFile: "testdata/alpine", want: &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Alpine, Name: "3.15.4"}, + OS: types.OS{ + Family: types.Alpine, + Name: "3.15.4", + }, }, }, { name: "openSUSE-leap 15.2.1", inputFile: "testdata/opensuseleap-15.2.1", want: &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.OpenSUSELeap, Name: "15.2.1"}, + OS: types.OS{ + Family: types.OpenSUSELeap, + Name: "15.2.1", + }, }, }, { name: "openSUSE-leap 42.3", inputFile: "testdata/opensuseleap-42.3", want: &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.OpenSUSELeap, Name: "42.3"}, + OS: types.OS{ + Family: types.OpenSUSELeap, + Name: "42.3", + }, }, }, { name: "openSUSE-tumbleweed", inputFile: "testdata/opensusetumbleweed", want: &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.OpenSUSETumbleweed, Name: "20220412"}, + OS: types.OS{ + Family: types.OpenSUSETumbleweed, + Name: "20220412", + }, }, }, { name: "SUSE Linux Enterprise Server", inputFile: "testdata/sles", want: &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.SLES, Name: "15.3"}, + OS: types.OS{ + Family: types.SLES, + Name: "15.3", + }, }, }, { name: "Photon OS", inputFile: "testdata/photon", want: &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Photon, Name: "4.0"}, + OS: types.OS{ + Family: types.Photon, + Name: "4.0", + }, }, }, { name: "Photon OS", inputFile: "testdata/photon", want: &analyzer.AnalysisResult{ - OS: types.OS{Family: aos.Photon, Name: "4.0"}, + OS: types.OS{ + Family: types.Photon, + Name: "4.0", + }, }, }, { diff --git a/pkg/fanal/analyzer/os/ubuntu/esm.go b/pkg/fanal/analyzer/os/ubuntu/esm.go index 8520400bed65..9f1dd08f9c6d 100644 --- a/pkg/fanal/analyzer/os/ubuntu/esm.go +++ b/pkg/fanal/analyzer/os/ubuntu/esm.go @@ -2,15 +2,13 @@ package ubuntu import ( "context" - "os" - "encoding/json" + "os" "golang.org/x/exp/slices" "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -40,7 +38,7 @@ func (a ubuntuESMAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInp if esmEnabled(st) { return &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Ubuntu, + Family: types.Ubuntu, Extended: true, }, }, nil diff --git a/pkg/fanal/analyzer/os/ubuntu/esm_test.go b/pkg/fanal/analyzer/os/ubuntu/esm_test.go index 2f6af313a70d..1923e4ab8c7f 100644 --- a/pkg/fanal/analyzer/os/ubuntu/esm_test.go +++ b/pkg/fanal/analyzer/os/ubuntu/esm_test.go @@ -5,10 +5,11 @@ import ( "os" "testing" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_ubuntuESMAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/os/ubuntu/ubuntu.go b/pkg/fanal/analyzer/os/ubuntu/ubuntu.go index 6d8a59a3ceb4..2fff3ac8339f 100644 --- a/pkg/fanal/analyzer/os/ubuntu/ubuntu.go +++ b/pkg/fanal/analyzer/os/ubuntu/ubuntu.go @@ -10,7 +10,7 @@ import ( "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" + fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -42,13 +42,13 @@ func (a ubuntuOSAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInpu if isUbuntu && strings.HasPrefix(line, "DISTRIB_RELEASE=") { return &analyzer.AnalysisResult{ OS: types.OS{ - Family: aos.Ubuntu, + Family: types.Ubuntu, Name: strings.TrimSpace(line[16:]), }, }, nil } } - return nil, xerrors.Errorf("ubuntu: %w", aos.AnalyzeOSError) + return nil, xerrors.Errorf("ubuntu: %w", fos.AnalyzeOSError) } func (a ubuntuOSAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/os/ubuntu/ubuntu_test.go b/pkg/fanal/analyzer/os/ubuntu/ubuntu_test.go index e48807d50edf..042d28af9924 100644 --- a/pkg/fanal/analyzer/os/ubuntu/ubuntu_test.go +++ b/pkg/fanal/analyzer/os/ubuntu/ubuntu_test.go @@ -5,12 +5,11 @@ import ( "os" "testing" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_ubuntuOSAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go b/pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go index af49cb753075..3d73a550866c 100644 --- a/pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go +++ b/pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go @@ -2,15 +2,16 @@ package dpkg import ( "context" - "github.com/aquasecurity/trivy/pkg/mapfs" "os" "path/filepath" "sort" "testing" + "github.com/stretchr/testify/assert" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/stretchr/testify/assert" + "github.com/aquasecurity/trivy/pkg/mapfs" ) func Test_dpkgAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/analyzer/repo/apk/apk.go b/pkg/fanal/analyzer/repo/apk/apk.go index 253655938d43..454710d6841b 100644 --- a/pkg/fanal/analyzer/repo/apk/apk.go +++ b/pkg/fanal/analyzer/repo/apk/apk.go @@ -11,7 +11,6 @@ import ( ver "github.com/aquasecurity/go-version/pkg/version" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -31,7 +30,8 @@ type apkRepoAnalyzer struct{} func (a apkRepoAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInput) (*analyzer.AnalysisResult, error) { scanner := bufio.NewScanner(input.Content) - var osFamily, repoVer string + var osFamily types.OSType + var repoVer string for scanner.Scan() { line := scanner.Text() @@ -40,7 +40,7 @@ func (a apkRepoAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInput continue } - newOSFamily := m[2] + newOSFamily := types.OSType(m[2]) newVersion := m[3] // Find OS Family @@ -73,7 +73,7 @@ func (a apkRepoAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInput } // Currently, we support only Alpine Linux in apk repositories. - if osFamily != aos.Alpine || repoVer == "" { + if osFamily != types.Alpine || repoVer == "" { return nil, nil } diff --git a/pkg/fanal/analyzer/repo/apk/apk_test.go b/pkg/fanal/analyzer/repo/apk/apk_test.go index cfe434417bcc..daf60febe639 100644 --- a/pkg/fanal/analyzer/repo/apk/apk_test.go +++ b/pkg/fanal/analyzer/repo/apk/apk_test.go @@ -8,7 +8,6 @@ import ( "github.com/stretchr/testify/assert" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -26,7 +25,10 @@ func Test_apkRepoAnalyzer_Analyze(t *testing.T) { Content: strings.NewReader("http://nl.alpinelinux.org/alpine/v3.7/main"), }, want: &analyzer.AnalysisResult{ - Repository: &types.Repository{Family: aos.Alpine, Release: "3.7"}, + Repository: &types.Repository{ + Family: types.Alpine, + Release: "3.7", + }, }, }, { @@ -44,7 +46,10 @@ func Test_apkRepoAnalyzer_Analyze(t *testing.T) { Content: strings.NewReader("http://nl.alpinelinux.org/alpine/v3.7/main"), }, want: &analyzer.AnalysisResult{ - Repository: &types.Repository{Family: aos.Alpine, Release: "3.7"}, + Repository: &types.Repository{ + Family: types.Alpine, + Release: "3.7", + }, }, }, { @@ -54,7 +59,10 @@ func Test_apkRepoAnalyzer_Analyze(t *testing.T) { Content: strings.NewReader("https://dl-cdn.alpinelinux.org/alpine/v3.15/main"), }, want: &analyzer.AnalysisResult{ - Repository: &types.Repository{Family: aos.Alpine, Release: "3.15"}, + Repository: &types.Repository{ + Family: types.Alpine, + Release: "3.15", + }, }, }, { @@ -64,7 +72,10 @@ func Test_apkRepoAnalyzer_Analyze(t *testing.T) { Content: strings.NewReader("ftp://dl-3.alpinelinux.org/alpine/v2.6/main"), }, want: &analyzer.AnalysisResult{ - Repository: &types.Repository{Family: aos.Alpine, Release: "2.6"}, + Repository: &types.Repository{ + Family: types.Alpine, + Release: "2.6", + }, }, }, { @@ -74,7 +85,10 @@ func Test_apkRepoAnalyzer_Analyze(t *testing.T) { Content: strings.NewReader("https://dl-cdn.alpinelinux.org/alpine/edge/main"), }, want: &analyzer.AnalysisResult{ - Repository: &types.Repository{Family: aos.Alpine, Release: "edge"}, + Repository: &types.Repository{ + Family: types.Alpine, + Release: "edge", + }, }, }, { @@ -87,7 +101,10 @@ https://dl-cdn.alpinelinux.org/alpine/v3.10/main `), }, want: &analyzer.AnalysisResult{ - Repository: &types.Repository{Family: aos.Alpine, Release: "3.10"}, + Repository: &types.Repository{ + Family: types.Alpine, + Release: "3.10", + }, }, }, { @@ -99,7 +116,10 @@ https://dl-cdn.alpinelinux.org/alpine/v3.1/main `), }, want: &analyzer.AnalysisResult{ - Repository: &types.Repository{Family: aos.Alpine, Release: "3.10"}, + Repository: &types.Repository{ + Family: types.Alpine, + Release: "3.10", + }, }, }, { @@ -111,7 +131,10 @@ https://dl-cdn.alpinelinux.org/alpine/v3.10/main `), }, want: &analyzer.AnalysisResult{ - Repository: &types.Repository{Family: aos.Alpine, Release: "edge"}, + Repository: &types.Repository{ + Family: types.Alpine, + Release: "edge", + }, }, }, { diff --git a/pkg/fanal/analyzer/sbom/sbom_test.go b/pkg/fanal/analyzer/sbom/sbom_test.go index e6168cf60711..fe00d31a6ae7 100644 --- a/pkg/fanal/analyzer/sbom/sbom_test.go +++ b/pkg/fanal/analyzer/sbom/sbom_test.go @@ -5,10 +5,11 @@ import ( "os" "testing" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func Test_sbomAnalyzer_Analyze(t *testing.T) { diff --git a/pkg/fanal/applier/docker.go b/pkg/fanal/applier/docker.go index 19ddfb6eb0ad..4cb0277667e6 100644 --- a/pkg/fanal/applier/docker.go +++ b/pkg/fanal/applier/docker.go @@ -236,7 +236,7 @@ func ApplyLayers(layers []types.BlobInfo) types.ArtifactDetail { func aggregate(detail *types.ArtifactDetail) { var apps []types.Application - aggregatedApps := map[string]*types.Application{ + aggregatedApps := map[types.LangType]*types.Application{ types.PythonPkg: {Type: types.PythonPkg}, types.CondaPkg: {Type: types.CondaPkg}, types.GemSpec: {Type: types.GemSpec}, diff --git a/pkg/fanal/artifact/repo/git_test.go b/pkg/fanal/artifact/repo/git_test.go index 5103ba9f2730..ca29941a597d 100644 --- a/pkg/fanal/artifact/repo/git_test.go +++ b/pkg/fanal/artifact/repo/git_test.go @@ -11,11 +11,12 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/config/all" - _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/secret" "github.com/aquasecurity/trivy/pkg/fanal/artifact" "github.com/aquasecurity/trivy/pkg/fanal/cache" "github.com/aquasecurity/trivy/pkg/fanal/types" + + _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/config/all" + _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/secret" ) func setupGitServer() (*httptest.Server, error) { diff --git a/pkg/fanal/artifact/vm/ami.go b/pkg/fanal/artifact/vm/ami.go index 43ea075ab932..6ce2dbd4ef30 100644 --- a/pkg/fanal/artifact/vm/ami.go +++ b/pkg/fanal/artifact/vm/ami.go @@ -3,13 +3,12 @@ package vm import ( "context" - "github.com/aquasecurity/trivy/pkg/cloud/aws/config" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/ec2" "golang.org/x/xerrors" + "github.com/aquasecurity/trivy/pkg/cloud/aws/config" + "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" ) diff --git a/pkg/fanal/artifact/vm/vm_test.go b/pkg/fanal/artifact/vm/vm_test.go index dd26b46b96dc..33e83a2c4e08 100644 --- a/pkg/fanal/artifact/vm/vm_test.go +++ b/pkg/fanal/artifact/vm/vm_test.go @@ -7,6 +7,7 @@ import ( "strings" "testing" + ebsfile "github.com/masahiro331/go-ebs-file" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -17,7 +18,6 @@ import ( "github.com/aquasecurity/trivy/pkg/fanal/cache" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/misconf" - ebsfile "github.com/masahiro331/go-ebs-file" _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os/amazonlinux" _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/pkg/rpm" diff --git a/pkg/fanal/handler/handler_test.go b/pkg/fanal/handler/handler_test.go index 084692214db5..b53f885e24e0 100644 --- a/pkg/fanal/handler/handler_test.go +++ b/pkg/fanal/handler/handler_test.go @@ -4,13 +4,11 @@ import ( "context" "testing" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - - "github.com/aquasecurity/trivy/pkg/fanal/artifact" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/artifact" "github.com/aquasecurity/trivy/pkg/fanal/handler" "github.com/aquasecurity/trivy/pkg/fanal/types" ) diff --git a/pkg/fanal/handler/sysfile/filter.go b/pkg/fanal/handler/sysfile/filter.go index 344511bfdce9..09525aebc1e7 100644 --- a/pkg/fanal/handler/sysfile/filter.go +++ b/pkg/fanal/handler/sysfile/filter.go @@ -4,12 +4,10 @@ import ( "context" "strings" - "github.com/aquasecurity/trivy/pkg/fanal/artifact" - "golang.org/x/exp/slices" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - + "github.com/aquasecurity/trivy/pkg/fanal/artifact" "github.com/aquasecurity/trivy/pkg/fanal/handler" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -29,7 +27,7 @@ var ( "/usr/lib/python2.7/wsgiref.egg-info", } - affectedTypes = []string{ + affectedTypes = []types.LangType{ // ruby types.GemSpec, diff --git a/pkg/fanal/handler/sysfile/filter_test.go b/pkg/fanal/handler/sysfile/filter_test.go index 60c7553b4a16..6dc8d5af7b03 100644 --- a/pkg/fanal/handler/sysfile/filter_test.go +++ b/pkg/fanal/handler/sysfile/filter_test.go @@ -4,11 +4,10 @@ import ( "context" "testing" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/types" ) diff --git a/pkg/fanal/image/daemon/docker_test.go b/pkg/fanal/image/daemon/docker_test.go index a68c935289a3..3ae519bdf938 100644 --- a/pkg/fanal/image/daemon/docker_test.go +++ b/pkg/fanal/image/daemon/docker_test.go @@ -3,12 +3,11 @@ package daemon import ( "testing" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "github.com/docker/docker/api/types" "github.com/google/go-containerregistry/pkg/name" v1 "github.com/google/go-containerregistry/pkg/v1" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestDockerImage(t *testing.T) { diff --git a/pkg/fanal/image/daemon/image_test.go b/pkg/fanal/image/daemon/image_test.go index b6792e23b44c..be6ddd86e525 100644 --- a/pkg/fanal/image/daemon/image_test.go +++ b/pkg/fanal/image/daemon/image_test.go @@ -9,11 +9,10 @@ import ( "time" dimage "github.com/docker/docker/api/types/image" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "github.com/google/go-containerregistry/pkg/name" v1 "github.com/google/go-containerregistry/pkg/v1" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/aquasecurity/testdocker/engine" ) diff --git a/pkg/fanal/image/daemon/podman_test.go b/pkg/fanal/image/daemon/podman_test.go index bdd909cd922f..821d10017ffe 100644 --- a/pkg/fanal/image/daemon/podman_test.go +++ b/pkg/fanal/image/daemon/podman_test.go @@ -7,14 +7,13 @@ import ( "runtime" "testing" - "github.com/aquasecurity/testdocker/engine" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "github.com/docker/docker/api/types" "github.com/google/go-containerregistry/pkg/name" v1 "github.com/google/go-containerregistry/pkg/v1" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/testdocker/engine" ) func setupPodmanSock(t *testing.T) *httptest.Server { diff --git a/pkg/fanal/image/registry/azure/azure.go b/pkg/fanal/image/registry/azure/azure.go index 9ae460a6ac5a..f77f3f9d9a97 100644 --- a/pkg/fanal/image/registry/azure/azure.go +++ b/pkg/fanal/image/registry/azure/azure.go @@ -7,11 +7,10 @@ import ( "os" "strings" - "golang.org/x/xerrors" - "github.com/Azure/azure-sdk-for-go/profiles/preview/preview/containerregistry/runtime/containerregistry" "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" + "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/fanal/types" ) diff --git a/pkg/fanal/image/registry/ecr/ecr.go b/pkg/fanal/image/registry/ecr/ecr.go index 9c7a8b8d4bad..72d5204d0375 100644 --- a/pkg/fanal/image/registry/ecr/ecr.go +++ b/pkg/fanal/image/registry/ecr/ecr.go @@ -5,15 +5,14 @@ import ( "encoding/base64" "strings" - "github.com/aquasecurity/trivy/pkg/fanal/types" - "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/ecr" "github.com/aws/aws-sdk-go/service/ecr/ecriface" "golang.org/x/xerrors" + + "github.com/aquasecurity/trivy/pkg/fanal/types" ) const ecrURL = "amazonaws.com" diff --git a/pkg/fanal/image/registry/ecr/ecr_test.go b/pkg/fanal/image/registry/ecr/ecr_test.go index 7cb7edc506e1..b55f56d7b179 100644 --- a/pkg/fanal/image/registry/ecr/ecr_test.go +++ b/pkg/fanal/image/registry/ecr/ecr_test.go @@ -5,13 +5,12 @@ import ( "errors" "testing" - "github.com/aquasecurity/trivy/pkg/fanal/types" - - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/service/ecr" "github.com/aws/aws-sdk-go/service/ecr/ecriface" + + "github.com/aquasecurity/trivy/pkg/fanal/types" ) func TestCheckOptions(t *testing.T) { diff --git a/pkg/fanal/image/registry/google/google.go b/pkg/fanal/image/registry/google/google.go index 65e0e86cfe8a..37182f44fecd 100644 --- a/pkg/fanal/image/registry/google/google.go +++ b/pkg/fanal/image/registry/google/google.go @@ -4,13 +4,12 @@ import ( "context" "strings" - "github.com/aquasecurity/trivy/pkg/fanal/types" - - "golang.org/x/xerrors" - "github.com/GoogleCloudPlatform/docker-credential-gcr/config" "github.com/GoogleCloudPlatform/docker-credential-gcr/credhelper" "github.com/GoogleCloudPlatform/docker-credential-gcr/store" + "golang.org/x/xerrors" + + "github.com/aquasecurity/trivy/pkg/fanal/types" ) type Registry struct { diff --git a/pkg/fanal/image/registry/token_test.go b/pkg/fanal/image/registry/token_test.go index 40ddb9e3d373..52bf78d84b9f 100644 --- a/pkg/fanal/image/registry/token_test.go +++ b/pkg/fanal/image/registry/token_test.go @@ -5,7 +5,6 @@ import ( "testing" "github.com/google/go-containerregistry/pkg/authn" - "github.com/stretchr/testify/assert" "github.com/aquasecurity/trivy/pkg/fanal/types" diff --git a/pkg/fanal/secret/scanner_test.go b/pkg/fanal/secret/scanner_test.go index eeb6ab52336b..4cde82f2aee1 100644 --- a/pkg/fanal/secret/scanner_test.go +++ b/pkg/fanal/secret/scanner_test.go @@ -6,11 +6,10 @@ import ( "path/filepath" "testing" - "go.uber.org/zap" - "go.uber.org/zap/zapcore" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" "github.com/aquasecurity/trivy/pkg/fanal/log" "github.com/aquasecurity/trivy/pkg/fanal/secret" diff --git a/pkg/fanal/types/artifact.go b/pkg/fanal/types/artifact.go index 57e94d93dd71..6b46266ae1c5 100644 --- a/pkg/fanal/types/artifact.go +++ b/pkg/fanal/types/artifact.go @@ -7,11 +7,10 @@ import ( "github.com/samber/lo" "github.com/aquasecurity/trivy/pkg/digest" - aos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ) type OS struct { - Family string + Family OSType Name string Eosl bool `json:"EOSL,omitempty"` @@ -33,7 +32,7 @@ func (o *OS) Merge(new OS) { // OLE also has /etc/redhat-release and it detects OLE as RHEL by mistake. // In that case, OS must be overwritten with the content of /etc/oracle-release. // There is the same problem between Debian and Ubuntu. - case o.Family == aos.RedHat, o.Family == aos.Debian: + case o.Family == RedHat, o.Family == Debian: *o = new default: if o.Family == "" { @@ -52,7 +51,7 @@ func (o *OS) Merge(new OS) { } type Repository struct { - Family string `json:",omitempty"` + Family OSType `json:",omitempty"` Release string `json:",omitempty"` } @@ -166,7 +165,7 @@ type PackageInfo struct { type Application struct { // e.g. bundler and pipenv - Type string + Type LangType // Lock files have the file path here, while each package metadata do not have FilePath string `json:",omitempty"` diff --git a/pkg/fanal/types/const.go b/pkg/fanal/types/const.go index faaece10fb7d..e36fa92c57d9 100644 --- a/pkg/fanal/types/const.go +++ b/pkg/fanal/types/const.go @@ -1,58 +1,93 @@ package types +type ( + // TargetType represents the type of target + TargetType string + + // OSType is an alias of TargetType for operating systems + OSType = TargetType + + // LangType is an alias of TargetType for programming languages + LangType = TargetType + + // ConfigType is an alias of TargetType for configuration files + ConfigType = TargetType +) + const ( ArtifactJSONSchemaVersion = 1 BlobJSONSchemaVersion = 2 ) +// Operating systems +const ( + Alma OSType = "alma" + Alpine OSType = "alpine" + Amazon OSType = "amazon" + CBLMariner OSType = "cbl-mariner" + CentOS OSType = "centos" + Chainguard OSType = "chainguard" + Debian OSType = "debian" + Fedora OSType = "fedora" + OpenSUSE OSType = "opensuse" + OpenSUSELeap OSType = "opensuse.leap" + OpenSUSETumbleweed OSType = "opensuse.tumbleweed" + Oracle OSType = "oracle" + Photon OSType = "photon" + RedHat OSType = "redhat" + Rocky OSType = "rocky" + SLES OSType = "suse linux enterprise server" + Ubuntu OSType = "ubuntu" + Wolfi OSType = "wolfi" +) + +// Programming language dependencies +const ( + Bundler LangType = "bundler" + GemSpec LangType = "gemspec" + Cargo LangType = "cargo" + Composer LangType = "composer" + Npm LangType = "npm" + NuGet LangType = "nuget" + DotNetCore LangType = "dotnet-core" + Pip LangType = "pip" + Pipenv LangType = "pipenv" + Poetry LangType = "poetry" + CondaPkg LangType = "conda-pkg" + PythonPkg LangType = "python-pkg" + NodePkg LangType = "node-pkg" + Yarn LangType = "yarn" + Pnpm LangType = "pnpm" + Jar LangType = "jar" + Pom LangType = "pom" + Gradle LangType = "gradle" + GoBinary LangType = "gobinary" + GoModule LangType = "gomod" + JavaScript LangType = "javascript" + RustBinary LangType = "rustbinary" + Conan LangType = "conan" + Cocoapods LangType = "cocoapods" + Swift LangType = "swift" + Pub LangType = "pub" + Hex LangType = "hex" + Bitnami LangType = "bitnami" +) + +// Config files +const ( + JSON ConfigType = "json" + Dockerfile ConfigType = "dockerfile" + Terraform ConfigType = "terraform" + TerraformPlan ConfigType = "terraformplan" + CloudFormation ConfigType = "cloudformation" + Kubernetes ConfigType = "kubernetes" + Helm ConfigType = "helm" + Cloud ConfigType = "cloud" + AzureARM ConfigType = "azure-arm" +) + +// Language-specific file names const ( - // Programming language dependencies - Bundler = "bundler" - GemSpec = "gemspec" - Cargo = "cargo" - Composer = "composer" - Npm = "npm" - NuGet = "nuget" - DotNetCore = "dotnet-core" - Pip = "pip" - Pipenv = "pipenv" - Poetry = "poetry" - CondaPkg = "conda-pkg" - PythonPkg = "python-pkg" - NodePkg = "node-pkg" - Yarn = "yarn" - Pnpm = "pnpm" - Jar = "jar" - Pom = "pom" - Gradle = "gradle" - GoBinary = "gobinary" - GoModule = "gomod" - JavaScript = "javascript" - RustBinary = "rustbinary" - Conan = "conan" - Cocoapods = "cocoapods" - Swift = "swift" - Pub = "pub" - Hex = "hex" - Bitnami = "bitnami" - - // Config files - YAML = "yaml" - JSON = "json" - Dockerfile = "dockerfile" - Terraform = "terraform" - TerraformPlan = "terraformplan" - CloudFormation = "cloudformation" - Kubernetes = "kubernetes" - Ansible = "ansible" - Helm = "helm" - Cloud = "cloud" - AzureARM = "azure-arm" - - // Licensing - License = "license" - - // Language-specific file names NuGetPkgsLock = "packages.lock.json" NuGetPkgsConfig = "packages.config" diff --git a/pkg/fanal/types/misconf.go b/pkg/fanal/types/misconf.go index 2f18d0b45592..3b4e9b447895 100644 --- a/pkg/fanal/types/misconf.go +++ b/pkg/fanal/types/misconf.go @@ -8,7 +8,7 @@ import ( ) type Misconfiguration struct { - FileType string `json:",omitempty"` + FileType ConfigType `json:",omitempty"` FilePath string `json:",omitempty"` Successes MisconfResults `json:",omitempty"` Warnings MisconfResults `json:",omitempty"` diff --git a/pkg/fanal/vm/disk/vmdk_test.go b/pkg/fanal/vm/disk/vmdk_test.go index 9d2db6d6076c..4c62a202b423 100644 --- a/pkg/fanal/vm/disk/vmdk_test.go +++ b/pkg/fanal/vm/disk/vmdk_test.go @@ -4,10 +4,10 @@ import ( "os" "testing" - "github.com/aquasecurity/trivy/pkg/fanal/vm/disk" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/fanal/vm/disk" ) func TestVMDK_NewReader(t *testing.T) { diff --git a/pkg/fanal/walker/tar_test.go b/pkg/fanal/walker/tar_test.go index 0c8773013941..8f1cb98a8010 100644 --- a/pkg/fanal/walker/tar_test.go +++ b/pkg/fanal/walker/tar_test.go @@ -7,12 +7,10 @@ import ( "strings" "testing" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/walker" ) diff --git a/pkg/flag/db_flags_test.go b/pkg/flag/db_flags_test.go index 50e203307fde..d1ce7c65cbc4 100644 --- a/pkg/flag/db_flags_test.go +++ b/pkg/flag/db_flags_test.go @@ -3,12 +3,11 @@ package flag_test import ( "testing" - "go.uber.org/zap" - "go.uber.org/zap/zaptest/observer" - "github.com/spf13/viper" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.uber.org/zap" + "go.uber.org/zap/zaptest/observer" "github.com/aquasecurity/trivy/pkg/flag" "github.com/aquasecurity/trivy/pkg/log" diff --git a/pkg/flag/kubernetes_flags.go b/pkg/flag/kubernetes_flags.go index 41edc741acb5..ed050d01f162 100644 --- a/pkg/flag/kubernetes_flags.go +++ b/pkg/flag/kubernetes_flags.go @@ -1,14 +1,12 @@ package flag import ( - "strconv" - "fmt" + "strconv" "strings" - "golang.org/x/xerrors" - "github.com/samber/lo" + "golang.org/x/xerrors" corev1 "k8s.io/api/core/v1" ) diff --git a/pkg/k8s/commands/resource.go b/pkg/k8s/commands/resource.go index a829ca04bdcd..442649d9ba17 100644 --- a/pkg/k8s/commands/resource.go +++ b/pkg/k8s/commands/resource.go @@ -4,13 +4,12 @@ import ( "context" "strings" - "github.com/aquasecurity/trivy/pkg/flag" - "golang.org/x/xerrors" "github.com/aquasecurity/trivy-kubernetes/pkg/artifacts" "github.com/aquasecurity/trivy-kubernetes/pkg/k8s" "github.com/aquasecurity/trivy-kubernetes/pkg/trivyk8s" + "github.com/aquasecurity/trivy/pkg/flag" "github.com/aquasecurity/trivy/pkg/log" ) diff --git a/pkg/k8s/scanner/io.go b/pkg/k8s/scanner/io.go index 9e7254e62781..38a0673dad6a 100644 --- a/pkg/k8s/scanner/io.go +++ b/pkg/k8s/scanner/io.go @@ -9,9 +9,8 @@ import ( "golang.org/x/xerrors" "gopkg.in/yaml.v3" - "github.com/aquasecurity/trivy/pkg/log" - "github.com/aquasecurity/trivy-kubernetes/pkg/artifacts" + "github.com/aquasecurity/trivy/pkg/log" ) func createTempFile(artifact *artifacts.Artifact) (string, error) { diff --git a/pkg/k8s/scanner/scanner.go b/pkg/k8s/scanner/scanner.go index becd9610d84f..e37256c9edac 100644 --- a/pkg/k8s/scanner/scanner.go +++ b/pkg/k8s/scanner/scanner.go @@ -237,8 +237,14 @@ func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Comp Name: name, Version: cDigest, Properties: []core.Property{ - {Name: cyc.PropertyPkgID, Value: fmt.Sprintf("%s:%s", name, version)}, - {Name: cyc.PropertyPkgType, Value: oci}, + { + Name: cyc.PropertyPkgID, + Value: fmt.Sprintf("%s:%s", name, version), + }, + { + Name: cyc.PropertyPkgType, + Value: oci, + }, }, }) } @@ -263,7 +269,11 @@ func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Comp if err != nil { return nil, err } - cInfo = &core.Component{Name: cf.Name, Version: cf.Version, Properties: toProperties(cf.Properties, k8sCoreComponentNamespace)} + cInfo = &core.Component{ + Name: cf.Name, + Version: cf.Version, + Properties: toProperties(cf.Properties, k8sCoreComponentNamespace), + } default: return nil, fmt.Errorf("resource kind %s is not supported", artifact.Kind) } @@ -335,16 +345,28 @@ func nodeComponent(nf bom.NodeInfo) *core.Component { Name: osName, Version: osVersion, Properties: []core.Property{ - {Name: "Class", Value: types.ClassOSPkg}, - {Name: "Type", Value: osName}, + { + Name: "Class", + Value: string(types.ClassOSPkg), + }, + { + Name: "Type", + Value: osName, + }, }, }, { Type: cdx.ComponentTypeApplication, Name: nodeCoreComponents, Properties: []core.Property{ - {Name: "Class", Value: types.ClassLangPkg}, - {Name: "Type", Value: golang}, + { + Name: "Class", + Value: string(types.ClassLangPkg), + }, + { + Name: "Type", + Value: golang, + }, }, Components: []*core.Component{ { @@ -352,8 +374,16 @@ func nodeComponent(nf bom.NodeInfo) *core.Component { Name: kubelet, Version: kubeletVersion, Properties: []core.Property{ - {Name: k8sComponentType, Value: k8sComponentNode, Namespace: k8sCoreComponentNamespace}, - {Name: k8sComponentName, Value: kubelet, Namespace: k8sCoreComponentNamespace}, + { + Name: k8sComponentType, + Value: k8sComponentNode, + Namespace: k8sCoreComponentNamespace, + }, + { + Name: k8sComponentName, + Value: kubelet, + Namespace: k8sCoreComponentNamespace, + }, }, PackageURL: &purl.PackageURL{ PackageURL: *packageurl.NewPackageURL(golang, "", kubelet, kubeletVersion, packageurl.Qualifiers{}, ""), @@ -364,8 +394,16 @@ func nodeComponent(nf bom.NodeInfo) *core.Component { Name: runtimeName, Version: runtimeVersion, Properties: []core.Property{ - {Name: k8sComponentType, Value: k8sComponentNode, Namespace: k8sCoreComponentNamespace}, - {Name: k8sComponentName, Value: runtimeName, Namespace: k8sCoreComponentNamespace}, + { + Name: k8sComponentType, + Value: k8sComponentNode, + Namespace: k8sCoreComponentNamespace, + }, + { + Name: k8sComponentName, + Value: runtimeName, + Namespace: k8sCoreComponentNamespace, + }, }, PackageURL: &purl.PackageURL{ PackageURL: *packageurl.NewPackageURL(golang, "", runtimeName, runtimeVersion, packageurl.Qualifiers{}, ""), diff --git a/pkg/k8s/scanner/scanner_test.go b/pkg/k8s/scanner/scanner_test.go index 0963da56f00a..bee414223ddd 100644 --- a/pkg/k8s/scanner/scanner_test.go +++ b/pkg/k8s/scanner/scanner_test.go @@ -6,17 +6,15 @@ import ( "testing" cdx "github.com/CycloneDX/cyclonedx-go" - "github.com/aquasecurity/trivy-kubernetes/pkg/artifacts" - cmd "github.com/aquasecurity/trivy/pkg/commands/artifact" - "github.com/aquasecurity/trivy/pkg/purl" "github.com/package-url/packageurl-go" + "github.com/stretchr/testify/assert" + "github.com/aquasecurity/trivy-kubernetes/pkg/artifacts" + cmd "github.com/aquasecurity/trivy/pkg/commands/artifact" "github.com/aquasecurity/trivy/pkg/flag" - + "github.com/aquasecurity/trivy/pkg/purl" cyc "github.com/aquasecurity/trivy/pkg/sbom/cyclonedx" "github.com/aquasecurity/trivy/pkg/sbom/cyclonedx/core" - - "github.com/stretchr/testify/assert" ) func TestK8sClusterInfoReport(t *testing.T) { diff --git a/pkg/licensing/classifier_test.go b/pkg/licensing/classifier_test.go index b57825cf27f4..0a559f89f486 100644 --- a/pkg/licensing/classifier_test.go +++ b/pkg/licensing/classifier_test.go @@ -4,12 +4,11 @@ import ( "os" "testing" - "github.com/aquasecurity/trivy/pkg/licensing" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/licensing" ) func TestClassifier_FullClassify(t *testing.T) { diff --git a/pkg/licensing/scanner_test.go b/pkg/licensing/scanner_test.go index 5b680af6fb86..11102e27a44a 100644 --- a/pkg/licensing/scanner_test.go +++ b/pkg/licensing/scanner_test.go @@ -3,11 +3,10 @@ package licensing_test import ( "testing" - "github.com/aquasecurity/trivy/pkg/licensing" - "github.com/stretchr/testify/assert" "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/licensing" ) func TestScanner_Scan(t *testing.T) { diff --git a/pkg/misconf/scanner.go b/pkg/misconf/scanner.go index 3d638f1764f2..72f97f968e58 100644 --- a/pkg/misconf/scanner.go +++ b/pkg/misconf/scanner.go @@ -2,7 +2,6 @@ package misconf import ( "context" - _ "embed" "errors" "fmt" "io" @@ -30,9 +29,11 @@ import ( "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/mapfs" + + _ "embed" ) -var enabledDefsecTypes = map[detection.FileType]string{ +var enabledDefsecTypes = map[detection.FileType]types.ConfigType{ detection.FileTypeAzureARM: types.AzureARM, detection.FileTypeCloudFormation: types.CloudFormation, detection.FileTypeTerraform: types.Terraform, @@ -356,7 +357,7 @@ func CreateDataFS(dataPaths []string, options ...string) (fs.FS, []string, error } // ResultsToMisconf is exported for trivy-plugin-aqua purposes only -func ResultsToMisconf(configType string, scannerName string, results scan.Results) []types.Misconfiguration { +func ResultsToMisconf(configType types.ConfigType, scannerName string, results scan.Results) []types.Misconfiguration { misconfs := map[string]types.Misconfiguration{} for _, result := range results { diff --git a/pkg/misconf/scanner_test.go b/pkg/misconf/scanner_test.go index e8fd9cbcc55c..3d139e5c6c69 100644 --- a/pkg/misconf/scanner_test.go +++ b/pkg/misconf/scanner_test.go @@ -28,14 +28,30 @@ func TestScannerOption_Sort(t *testing.T) { { name: "happy path", fields: fields{ - Namespaces: []string{"main", "custom", "default"}, + Namespaces: []string{ + "main", + "custom", + "default", + }, PolicyPaths: []string{"policy"}, - DataPaths: []string{"data/b", "data/c", "data/a"}, + DataPaths: []string{ + "data/b", + "data/c", + "data/a", + }, }, want: ScannerOption{ - Namespaces: []string{"custom", "default", "main"}, + Namespaces: []string{ + "custom", + "default", + "main", + }, PolicyPaths: []string{"policy"}, - DataPaths: []string{"data/a", "data/b", "data/c"}, + DataPaths: []string{ + "data/a", + "data/b", + "data/c", + }, }, }, { @@ -79,7 +95,7 @@ func TestScanner_Scan(t *testing.T) { fields fields files []file wantFilePath string - wantFileType string + wantFileType types.ConfigType misconfsExpected int }{ { diff --git a/pkg/module/serialize/types_easyjson.go b/pkg/module/serialize/types_easyjson.go index 9107489e39f7..bbbc0290de1e 100644 --- a/pkg/module/serialize/types_easyjson.go +++ b/pkg/module/serialize/types_easyjson.go @@ -4,15 +4,14 @@ package serialize import ( json "encoding/json" - time "time" - - easyjson "github.com/mailru/easyjson" - jlexer "github.com/mailru/easyjson/jlexer" - jwriter "github.com/mailru/easyjson/jwriter" - types2 "github.com/aquasecurity/trivy-db/pkg/types" + digest "github.com/aquasecurity/trivy/pkg/digest" types1 "github.com/aquasecurity/trivy/pkg/fanal/types" types "github.com/aquasecurity/trivy/pkg/types" + easyjson "github.com/mailru/easyjson" + jlexer "github.com/mailru/easyjson/jlexer" + jwriter "github.com/mailru/easyjson/jwriter" + time "time" ) // suppress unused package warning @@ -179,7 +178,7 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgModuleSerialize2(in *jle case "Class": out.Class = types.ResultClass(in.String()) case "Type": - out.Type = string(in.String()) + out.Type = types1.TargetType(in.String()) case "Packages": if in.IsNull() { in.Skip() @@ -282,6 +281,29 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgModuleSerialize2(in *jle } in.Delim(']') } + case "Licenses": + if in.IsNull() { + in.Skip() + out.Licenses = nil + } else { + in.Delim('[') + if out.Licenses == nil { + if !in.IsDelim(']') { + out.Licenses = make([]types.DetectedLicense, 0, 0) + } else { + out.Licenses = []types.DetectedLicense{} + } + } else { + out.Licenses = (out.Licenses)[:0] + } + for !in.IsDelim(']') { + var v11 types.DetectedLicense + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes3(in, &v11) + out.Licenses = append(out.Licenses, v11) + in.WantComma() + } + in.Delim(']') + } case "CustomResources": if in.IsNull() { in.Skip() @@ -298,9 +320,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgModuleSerialize2(in *jle out.CustomResources = (out.CustomResources)[:0] } for !in.IsDelim(']') { - var v11 types1.CustomResource - easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes2(in, &v11) - out.CustomResources = append(out.CustomResources, v11) + var v12 types1.CustomResource + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes2(in, &v12) + out.CustomResources = append(out.CustomResources, v12) in.WantComma() } in.Delim(']') @@ -339,11 +361,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgModuleSerialize2(out *jw out.RawString(prefix) { out.RawByte('[') - for v12, v13 := range in.Packages { - if v12 > 0 { + for v13, v14 := range in.Packages { + if v13 > 0 { out.RawByte(',') } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes(out, v13) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes(out, v14) } out.RawByte(']') } @@ -353,11 +375,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgModuleSerialize2(out *jw out.RawString(prefix) { out.RawByte('[') - for v14, v15 := range in.Vulnerabilities { - if v14 > 0 { + for v15, v16 := range in.Vulnerabilities { + if v15 > 0 { out.RawByte(',') } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes(out, v15) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes(out, v16) } out.RawByte(']') } @@ -372,11 +394,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgModuleSerialize2(out *jw out.RawString(prefix) { out.RawByte('[') - for v16, v17 := range in.Misconfigurations { - if v16 > 0 { + for v17, v18 := range in.Misconfigurations { + if v17 > 0 { out.RawByte(',') } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes2(out, v17) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes2(out, v18) } out.RawByte(']') } @@ -386,11 +408,25 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgModuleSerialize2(out *jw out.RawString(prefix) { out.RawByte('[') - for v18, v19 := range in.Secrets { - if v18 > 0 { + for v19, v20 := range in.Secrets { + if v19 > 0 { + out.RawByte(',') + } + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes1(out, v20) + } + out.RawByte(']') + } + } + if len(in.Licenses) != 0 { + const prefix string = ",\"Licenses\":" + out.RawString(prefix) + { + out.RawByte('[') + for v21, v22 := range in.Licenses { + if v21 > 0 { out.RawByte(',') } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes1(out, v19) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes3(out, v22) } out.RawByte(']') } @@ -400,11 +436,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgModuleSerialize2(out *jw out.RawString(prefix) { out.RawByte('[') - for v20, v21 := range in.CustomResources { - if v20 > 0 { + for v23, v24 := range in.CustomResources { + if v23 > 0 { out.RawByte(',') } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes2(out, v21) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes2(out, v24) } out.RawByte(']') } @@ -533,6 +569,8 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes3(in *jlexer.L out.Digest = string(in.String()) case "DiffID": out.DiffID = string(in.String()) + case "CreatedBy": + out.CreatedBy = string(in.String()) default: in.SkipRecursive() } @@ -563,6 +601,100 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes3(out *jwriter } out.String(string(in.DiffID)) } + if in.CreatedBy != "" { + const prefix string = ",\"CreatedBy\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.CreatedBy)) + } + out.RawByte('}') +} +func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes3(in *jlexer.Lexer, out *types.DetectedLicense) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeFieldName(false) + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "Severity": + out.Severity = string(in.String()) + case "Category": + out.Category = types1.LicenseCategory(in.String()) + case "PkgName": + out.PkgName = string(in.String()) + case "FilePath": + out.FilePath = string(in.String()) + case "Name": + out.Name = string(in.String()) + case "Confidence": + out.Confidence = float64(in.Float64()) + case "Link": + out.Link = string(in.String()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes3(out *jwriter.Writer, in types.DetectedLicense) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"Severity\":" + out.RawString(prefix[1:]) + out.String(string(in.Severity)) + } + { + const prefix string = ",\"Category\":" + out.RawString(prefix) + out.String(string(in.Category)) + } + { + const prefix string = ",\"PkgName\":" + out.RawString(prefix) + out.String(string(in.PkgName)) + } + { + const prefix string = ",\"FilePath\":" + out.RawString(prefix) + out.String(string(in.FilePath)) + } + { + const prefix string = ",\"Name\":" + out.RawString(prefix) + out.String(string(in.Name)) + } + { + const prefix string = ",\"Confidence\":" + out.RawString(prefix) + out.Float64(float64(in.Confidence)) + } + { + const prefix string = ",\"Link\":" + out.RawString(prefix) + out.String(string(in.Link)) + } out.RawByte('}') } func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes1(in *jlexer.Lexer, out *types1.SecretFinding) { @@ -596,8 +728,12 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes1(in *jlexer.L out.StartLine = int(in.Int()) case "EndLine": out.EndLine = int(in.Int()) + case "Code": + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes4(in, &out.Code) case "Match": out.Match = string(in.String()) + case "Layer": + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes3(in, &out.Layer) default: in.SkipRecursive() } @@ -623,29 +759,204 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes1(out *jwriter out.String(string(in.Category)) } { - const prefix string = ",\"Severity\":" + const prefix string = ",\"Severity\":" + out.RawString(prefix) + out.String(string(in.Severity)) + } + { + const prefix string = ",\"Title\":" + out.RawString(prefix) + out.String(string(in.Title)) + } + { + const prefix string = ",\"StartLine\":" + out.RawString(prefix) + out.Int(int(in.StartLine)) + } + { + const prefix string = ",\"EndLine\":" + out.RawString(prefix) + out.Int(int(in.EndLine)) + } + { + const prefix string = ",\"Code\":" + out.RawString(prefix) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes4(out, in.Code) + } + { + const prefix string = ",\"Match\":" + out.RawString(prefix) + out.String(string(in.Match)) + } + if true { + const prefix string = ",\"Layer\":" + out.RawString(prefix) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes3(out, in.Layer) + } + out.RawByte('}') +} +func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes4(in *jlexer.Lexer, out *types1.Code) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeFieldName(false) + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "Lines": + if in.IsNull() { + in.Skip() + out.Lines = nil + } else { + in.Delim('[') + if out.Lines == nil { + if !in.IsDelim(']') { + out.Lines = make([]types1.Line, 0, 0) + } else { + out.Lines = []types1.Line{} + } + } else { + out.Lines = (out.Lines)[:0] + } + for !in.IsDelim(']') { + var v25 types1.Line + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes5(in, &v25) + out.Lines = append(out.Lines, v25) + in.WantComma() + } + in.Delim(']') + } + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes4(out *jwriter.Writer, in types1.Code) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"Lines\":" + out.RawString(prefix[1:]) + if in.Lines == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { + out.RawString("null") + } else { + out.RawByte('[') + for v26, v27 := range in.Lines { + if v26 > 0 { + out.RawByte(',') + } + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes5(out, v27) + } + out.RawByte(']') + } + } + out.RawByte('}') +} +func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes5(in *jlexer.Lexer, out *types1.Line) { + isTopLevel := in.IsStart() + if in.IsNull() { + if isTopLevel { + in.Consumed() + } + in.Skip() + return + } + in.Delim('{') + for !in.IsDelim('}') { + key := in.UnsafeFieldName(false) + in.WantColon() + if in.IsNull() { + in.Skip() + in.WantComma() + continue + } + switch key { + case "Number": + out.Number = int(in.Int()) + case "Content": + out.Content = string(in.String()) + case "IsCause": + out.IsCause = bool(in.Bool()) + case "Annotation": + out.Annotation = string(in.String()) + case "Truncated": + out.Truncated = bool(in.Bool()) + case "Highlighted": + out.Highlighted = string(in.String()) + case "FirstCause": + out.FirstCause = bool(in.Bool()) + case "LastCause": + out.LastCause = bool(in.Bool()) + default: + in.SkipRecursive() + } + in.WantComma() + } + in.Delim('}') + if isTopLevel { + in.Consumed() + } +} +func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes5(out *jwriter.Writer, in types1.Line) { + out.RawByte('{') + first := true + _ = first + { + const prefix string = ",\"Number\":" + out.RawString(prefix[1:]) + out.Int(int(in.Number)) + } + { + const prefix string = ",\"Content\":" + out.RawString(prefix) + out.String(string(in.Content)) + } + { + const prefix string = ",\"IsCause\":" + out.RawString(prefix) + out.Bool(bool(in.IsCause)) + } + { + const prefix string = ",\"Annotation\":" out.RawString(prefix) - out.String(string(in.Severity)) + out.String(string(in.Annotation)) } { - const prefix string = ",\"Title\":" + const prefix string = ",\"Truncated\":" out.RawString(prefix) - out.String(string(in.Title)) + out.Bool(bool(in.Truncated)) } - { - const prefix string = ",\"StartLine\":" + if in.Highlighted != "" { + const prefix string = ",\"Highlighted\":" out.RawString(prefix) - out.Int(int(in.StartLine)) + out.String(string(in.Highlighted)) } { - const prefix string = ",\"EndLine\":" + const prefix string = ",\"FirstCause\":" out.RawString(prefix) - out.Int(int(in.EndLine)) + out.Bool(bool(in.FirstCause)) } { - const prefix string = ",\"Match\":" + const prefix string = ",\"LastCause\":" out.RawString(prefix) - out.String(string(in.Match)) + out.Bool(bool(in.LastCause)) } out.RawByte('}') } @@ -672,6 +983,8 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes2(in *jlexer.Lexer, out.Type = string(in.String()) case "ID": out.ID = string(in.String()) + case "AVDID": + out.AVDID = string(in.String()) case "Title": out.Title = string(in.String()) case "Description": @@ -704,9 +1017,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes2(in *jlexer.Lexer, out.References = (out.References)[:0] } for !in.IsDelim(']') { - var v22 string - v22 = string(in.String()) - out.References = append(out.References, v22) + var v28 string + v28 = string(in.String()) + out.References = append(out.References, v28) in.WantComma() } in.Delim(']') @@ -716,7 +1029,7 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes2(in *jlexer.Lexer, case "Layer": easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes3(in, &out.Layer) case "CauseMetadata": - easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes4(in, &out.CauseMetadata) + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes6(in, &out.CauseMetadata) case "Traces": if in.IsNull() { in.Skip() @@ -733,9 +1046,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes2(in *jlexer.Lexer, out.Traces = (out.Traces)[:0] } for !in.IsDelim(']') { - var v23 string - v23 = string(in.String()) - out.Traces = append(out.Traces, v23) + var v29 string + v29 = string(in.String()) + out.Traces = append(out.Traces, v29) in.WantComma() } in.Delim(']') @@ -770,6 +1083,16 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes2(out *jwriter.Writ } out.String(string(in.ID)) } + if in.AVDID != "" { + const prefix string = ",\"AVDID\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.AVDID)) + } if in.Title != "" { const prefix string = ",\"Title\":" if first { @@ -860,11 +1183,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes2(out *jwriter.Writ } { out.RawByte('[') - for v24, v25 := range in.References { - if v24 > 0 { + for v30, v31 := range in.References { + if v30 > 0 { out.RawByte(',') } - out.String(string(v25)) + out.String(string(v31)) } out.RawByte(']') } @@ -897,7 +1220,7 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes2(out *jwriter.Writ } else { out.RawString(prefix) } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes4(out, in.CauseMetadata) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes6(out, in.CauseMetadata) } if len(in.Traces) != 0 { const prefix string = ",\"Traces\":" @@ -909,18 +1232,18 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes2(out *jwriter.Writ } { out.RawByte('[') - for v26, v27 := range in.Traces { - if v26 > 0 { + for v32, v33 := range in.Traces { + if v32 > 0 { out.RawByte(',') } - out.String(string(v27)) + out.String(string(v33)) } out.RawByte(']') } } out.RawByte('}') } -func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes4(in *jlexer.Lexer, out *types1.CauseMetadata) { +func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes6(in *jlexer.Lexer, out *types1.CauseMetadata) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -950,7 +1273,30 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes4(in *jlexer.L case "EndLine": out.EndLine = int(in.Int()) case "Code": - easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes5(in, &out.Code) + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes4(in, &out.Code) + case "Occurrences": + if in.IsNull() { + in.Skip() + out.Occurrences = nil + } else { + in.Delim('[') + if out.Occurrences == nil { + if !in.IsDelim(']') { + out.Occurrences = make([]types1.Occurrence, 0, 1) + } else { + out.Occurrences = []types1.Occurrence{} + } + } else { + out.Occurrences = (out.Occurrences)[:0] + } + for !in.IsDelim(']') { + var v34 types1.Occurrence + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes7(in, &v34) + out.Occurrences = append(out.Occurrences, v34) + in.WantComma() + } + in.Delim(']') + } default: in.SkipRecursive() } @@ -961,7 +1307,7 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes4(in *jlexer.L in.Consumed() } } -func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes4(out *jwriter.Writer, in types1.CauseMetadata) { +func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes6(out *jwriter.Writer, in types1.CauseMetadata) { out.RawByte('{') first := true _ = first @@ -1019,11 +1365,30 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes4(out *jwriter } else { out.RawString(prefix) } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes5(out, in.Code) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes4(out, in.Code) + } + if len(in.Occurrences) != 0 { + const prefix string = ",\"Occurrences\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v35, v36 := range in.Occurrences { + if v35 > 0 { + out.RawByte(',') + } + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes7(out, v36) + } + out.RawByte(']') + } } out.RawByte('}') } -func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes5(in *jlexer.Lexer, out *types1.Code) { +func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes7(in *jlexer.Lexer, out *types1.Occurrence) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -1042,29 +1407,12 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes5(in *jlexer.L continue } switch key { - case "Lines": - if in.IsNull() { - in.Skip() - out.Lines = nil - } else { - in.Delim('[') - if out.Lines == nil { - if !in.IsDelim(']') { - out.Lines = make([]types1.Line, 0, 0) - } else { - out.Lines = []types1.Line{} - } - } else { - out.Lines = (out.Lines)[:0] - } - for !in.IsDelim(']') { - var v28 types1.Line - easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes6(in, &v28) - out.Lines = append(out.Lines, v28) - in.WantComma() - } - in.Delim(']') - } + case "Resource": + out.Resource = string(in.String()) + case "Filename": + out.Filename = string(in.String()) + case "Location": + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes8(in, &out.Location) default: in.SkipRecursive() } @@ -1075,29 +1423,39 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes5(in *jlexer.L in.Consumed() } } -func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes5(out *jwriter.Writer, in types1.Code) { +func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes7(out *jwriter.Writer, in types1.Occurrence) { out.RawByte('{') first := true _ = first - { - const prefix string = ",\"Lines\":" + if in.Resource != "" { + const prefix string = ",\"Resource\":" + first = false out.RawString(prefix[1:]) - if in.Lines == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 { - out.RawString("null") + out.String(string(in.Resource)) + } + if in.Filename != "" { + const prefix string = ",\"Filename\":" + if first { + first = false + out.RawString(prefix[1:]) } else { - out.RawByte('[') - for v29, v30 := range in.Lines { - if v29 > 0 { - out.RawByte(',') - } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes6(out, v30) - } - out.RawByte(']') + out.RawString(prefix) + } + out.String(string(in.Filename)) + } + { + const prefix string = ",\"Location\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) } + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes8(out, in.Location) } out.RawByte('}') } -func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes6(in *jlexer.Lexer, out *types1.Line) { +func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes8(in *jlexer.Lexer, out *types1.Location) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -1116,22 +1474,10 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes6(in *jlexer.L continue } switch key { - case "Number": - out.Number = int(in.Int()) - case "Content": - out.Content = string(in.String()) - case "IsCause": - out.IsCause = bool(in.Bool()) - case "Annotation": - out.Annotation = string(in.String()) - case "Truncated": - out.Truncated = bool(in.Bool()) - case "Highlighted": - out.Highlighted = string(in.String()) - case "FirstCause": - out.FirstCause = bool(in.Bool()) - case "LastCause": - out.LastCause = bool(in.Bool()) + case "StartLine": + out.StartLine = int(in.Int()) + case "EndLine": + out.EndLine = int(in.Int()) default: in.SkipRecursive() } @@ -1142,49 +1488,25 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes6(in *jlexer.L in.Consumed() } } -func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes6(out *jwriter.Writer, in types1.Line) { +func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes8(out *jwriter.Writer, in types1.Location) { out.RawByte('{') first := true _ = first - { - const prefix string = ",\"Number\":" + if in.StartLine != 0 { + const prefix string = ",\"StartLine\":" + first = false out.RawString(prefix[1:]) - out.Int(int(in.Number)) - } - { - const prefix string = ",\"Content\":" - out.RawString(prefix) - out.String(string(in.Content)) - } - { - const prefix string = ",\"IsCause\":" - out.RawString(prefix) - out.Bool(bool(in.IsCause)) - } - { - const prefix string = ",\"Annotation\":" - out.RawString(prefix) - out.String(string(in.Annotation)) - } - { - const prefix string = ",\"Truncated\":" - out.RawString(prefix) - out.Bool(bool(in.Truncated)) - } - if in.Highlighted != "" { - const prefix string = ",\"Highlighted\":" - out.RawString(prefix) - out.String(string(in.Highlighted)) - } - { - const prefix string = ",\"FirstCause\":" - out.RawString(prefix) - out.Bool(bool(in.FirstCause)) + out.Int(int(in.StartLine)) } - { - const prefix string = ",\"LastCause\":" - out.RawString(prefix) - out.Bool(bool(in.LastCause)) + if in.EndLine != 0 { + const prefix string = ",\"EndLine\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Int(int(in.EndLine)) } out.RawByte('}') } @@ -1281,9 +1603,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes(in *jlexer.Lexer, out.VendorIDs = (out.VendorIDs)[:0] } for !in.IsDelim(']') { - var v31 string - v31 = string(in.String()) - out.VendorIDs = append(out.VendorIDs, v31) + var v37 string + v37 = string(in.String()) + out.VendorIDs = append(out.VendorIDs, v37) in.WantComma() } in.Delim(']') @@ -1298,6 +1620,10 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes(in *jlexer.Lexer, out.InstalledVersion = string(in.String()) case "FixedVersion": out.FixedVersion = string(in.String()) + case "Status": + if data := in.Raw(); in.Ok() { + in.AddError((out.Status).UnmarshalJSON(data)) + } case "Layer": easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes3(in, &out.Layer) case "SeveritySource": @@ -1346,9 +1672,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes(in *jlexer.Lexer, out.CweIDs = (out.CweIDs)[:0] } for !in.IsDelim(']') { - var v32 string - v32 = string(in.String()) - out.CweIDs = append(out.CweIDs, v32) + var v38 string + v38 = string(in.String()) + out.CweIDs = append(out.CweIDs, v38) in.WantComma() } in.Delim(']') @@ -1366,9 +1692,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes(in *jlexer.Lexer, for !in.IsDelim('}') { key := types2.SourceID(in.String()) in.WantColon() - var v33 types2.Severity - v33 = types2.Severity(in.Int()) - (out.VendorSeverity)[key] = v33 + var v39 types2.Severity + v39 = types2.Severity(in.Int()) + (out.VendorSeverity)[key] = v39 in.WantComma() } in.Delim('}') @@ -1386,9 +1712,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes(in *jlexer.Lexer, for !in.IsDelim('}') { key := types2.SourceID(in.String()) in.WantColon() - var v34 types2.CVSS - easyjson6601e8cdDecodeGithubComAquasecurityTrivyDbPkgTypes1(in, &v34) - (out.CVSS)[key] = v34 + var v40 types2.CVSS + easyjson6601e8cdDecodeGithubComAquasecurityTrivyDbPkgTypes1(in, &v40) + (out.CVSS)[key] = v40 in.WantComma() } in.Delim('}') @@ -1409,9 +1735,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgTypes(in *jlexer.Lexer, out.References = (out.References)[:0] } for !in.IsDelim(']') { - var v35 string - v35 = string(in.String()) - out.References = append(out.References, v35) + var v41 string + v41 = string(in.String()) + out.References = append(out.References, v41) in.WantComma() } in.Delim(']') @@ -1470,11 +1796,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes(out *jwriter.Write } { out.RawByte('[') - for v36, v37 := range in.VendorIDs { - if v36 > 0 { + for v42, v43 := range in.VendorIDs { + if v42 > 0 { out.RawByte(',') } - out.String(string(v37)) + out.String(string(v43)) } out.RawByte(']') } @@ -1529,6 +1855,16 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes(out *jwriter.Write } out.String(string(in.FixedVersion)) } + if in.Status != 0 { + const prefix string = ",\"Status\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Raw((in.Status).MarshalJSON()) + } if true { const prefix string = ",\"Layer\":" if first { @@ -1635,11 +1971,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes(out *jwriter.Write } { out.RawByte('[') - for v38, v39 := range in.CweIDs { - if v38 > 0 { + for v44, v45 := range in.CweIDs { + if v44 > 0 { out.RawByte(',') } - out.String(string(v39)) + out.String(string(v45)) } out.RawByte(']') } @@ -1654,16 +1990,16 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes(out *jwriter.Write } { out.RawByte('{') - v40First := true - for v40Name, v40Value := range in.VendorSeverity { - if v40First { - v40First = false + v46First := true + for v46Name, v46Value := range in.VendorSeverity { + if v46First { + v46First = false } else { out.RawByte(',') } - out.String(string(v40Name)) + out.String(string(v46Name)) out.RawByte(':') - out.Int(int(v40Value)) + out.Int(int(v46Value)) } out.RawByte('}') } @@ -1678,16 +2014,16 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes(out *jwriter.Write } { out.RawByte('{') - v41First := true - for v41Name, v41Value := range in.CVSS { - if v41First { - v41First = false + v47First := true + for v47Name, v47Value := range in.CVSS { + if v47First { + v47First = false } else { out.RawByte(',') } - out.String(string(v41Name)) + out.String(string(v47Name)) out.RawByte(':') - easyjson6601e8cdEncodeGithubComAquasecurityTrivyDbPkgTypes1(out, v41Value) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyDbPkgTypes1(out, v47Value) } out.RawByte('}') } @@ -1702,11 +2038,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgTypes(out *jwriter.Write } { out.RawByte('[') - for v42, v43 := range in.References { - if v42 > 0 { + for v48, v49 := range in.References { + if v48 > 0 { out.RawByte(',') } - out.String(string(v43)) + out.String(string(v49)) } out.RawByte(']') } @@ -1910,6 +2246,8 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes(in *jlexer.Le out.Epoch = int(in.Int()) case "Arch": out.Arch = string(in.String()) + case "Dev": + out.Dev = bool(in.Bool()) case "SrcName": out.SrcName = string(in.String()) case "SrcVersion": @@ -1934,13 +2272,15 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes(in *jlexer.Le out.Licenses = (out.Licenses)[:0] } for !in.IsDelim(']') { - var v44 string - v44 = string(in.String()) - out.Licenses = append(out.Licenses, v44) + var v50 string + v50 = string(in.String()) + out.Licenses = append(out.Licenses, v50) in.WantComma() } in.Delim(']') } + case "Maintainer": + out.Maintainer = string(in.String()) case "Modularitylabel": out.Modularitylabel = string(in.String()) case "BuildInfo": @@ -1951,9 +2291,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes(in *jlexer.Le if out.BuildInfo == nil { out.BuildInfo = new(types1.BuildInfo) } - easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes7(in, out.BuildInfo) + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes9(in, out.BuildInfo) } - case "PkgRef": + case "Ref": out.Ref = string(in.String()) case "Indirect": out.Indirect = bool(in.Bool()) @@ -1973,9 +2313,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes(in *jlexer.Le out.DependsOn = (out.DependsOn)[:0] } for !in.IsDelim(']') { - var v45 string - v45 = string(in.String()) - out.DependsOn = append(out.DependsOn, v45) + var v51 string + v51 = string(in.String()) + out.DependsOn = append(out.DependsOn, v51) in.WantComma() } in.Delim(']') @@ -1984,6 +2324,31 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes(in *jlexer.Le easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes3(in, &out.Layer) case "FilePath": out.FilePath = string(in.String()) + case "Digest": + out.Digest = digest.Digest(in.String()) + case "Locations": + if in.IsNull() { + in.Skip() + out.Locations = nil + } else { + in.Delim('[') + if out.Locations == nil { + if !in.IsDelim(']') { + out.Locations = make([]types1.Location, 0, 4) + } else { + out.Locations = []types1.Location{} + } + } else { + out.Locations = (out.Locations)[:0] + } + for !in.IsDelim(']') { + var v52 types1.Location + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes8(in, &v52) + out.Locations = append(out.Locations, v52) + in.WantComma() + } + in.Delim(']') + } default: in.SkipRecursive() } @@ -2054,6 +2419,16 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes(out *jwriter. } out.String(string(in.Arch)) } + if in.Dev { + const prefix string = ",\"Dev\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.Bool(bool(in.Dev)) + } if in.SrcName != "" { const prefix string = ",\"SrcName\":" if first { @@ -2104,15 +2479,25 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes(out *jwriter. } { out.RawByte('[') - for v46, v47 := range in.Licenses { - if v46 > 0 { + for v53, v54 := range in.Licenses { + if v53 > 0 { out.RawByte(',') } - out.String(string(v47)) + out.String(string(v54)) } out.RawByte(']') } } + if in.Maintainer != "" { + const prefix string = ",\"Maintainer\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Maintainer)) + } if in.Modularitylabel != "" { const prefix string = ",\"Modularitylabel\":" if first { @@ -2131,10 +2516,10 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes(out *jwriter. } else { out.RawString(prefix) } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes7(out, *in.BuildInfo) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes9(out, *in.BuildInfo) } if in.Ref != "" { - const prefix string = ",\"PkgRef\":" + const prefix string = ",\"Ref\":" if first { first = false out.RawString(prefix[1:]) @@ -2163,11 +2548,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes(out *jwriter. } { out.RawByte('[') - for v48, v49 := range in.DependsOn { - if v48 > 0 { + for v55, v56 := range in.DependsOn { + if v55 > 0 { out.RawByte(',') } - out.String(string(v49)) + out.String(string(v56)) } out.RawByte(']') } @@ -2192,9 +2577,38 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes(out *jwriter. } out.String(string(in.FilePath)) } + if in.Digest != "" { + const prefix string = ",\"Digest\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + out.String(string(in.Digest)) + } + if len(in.Locations) != 0 { + const prefix string = ",\"Locations\":" + if first { + first = false + out.RawString(prefix[1:]) + } else { + out.RawString(prefix) + } + { + out.RawByte('[') + for v57, v58 := range in.Locations { + if v57 > 0 { + out.RawByte(',') + } + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes8(out, v58) + } + out.RawByte(']') + } + } out.RawByte('}') } -func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes7(in *jlexer.Lexer, out *types1.BuildInfo) { +func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes9(in *jlexer.Lexer, out *types1.BuildInfo) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -2229,9 +2643,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes7(in *jlexer.L out.ContentSets = (out.ContentSets)[:0] } for !in.IsDelim(']') { - var v50 string - v50 = string(in.String()) - out.ContentSets = append(out.ContentSets, v50) + var v59 string + v59 = string(in.String()) + out.ContentSets = append(out.ContentSets, v59) in.WantComma() } in.Delim(']') @@ -2250,7 +2664,7 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgFanalTypes7(in *jlexer.L in.Consumed() } } -func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes7(out *jwriter.Writer, in types1.BuildInfo) { +func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes9(out *jwriter.Writer, in types1.BuildInfo) { out.RawByte('{') first := true _ = first @@ -2260,11 +2674,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgFanalTypes7(out *jwriter out.RawString(prefix[1:]) { out.RawByte('[') - for v51, v52 := range in.ContentSets { - if v51 > 0 { + for v60, v61 := range in.ContentSets { + if v60 > 0 { out.RawByte(',') } - out.String(string(v52)) + out.String(string(v61)) } out.RawByte(']') } @@ -2328,9 +2742,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgModuleSerialize3(in *jle out.IDs = (out.IDs)[:0] } for !in.IsDelim(']') { - var v53 string - v53 = string(in.String()) - out.IDs = append(out.IDs, v53) + var v62 string + v62 = string(in.String()) + out.IDs = append(out.IDs, v62) in.WantComma() } in.Delim(']') @@ -2361,11 +2775,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgModuleSerialize3(out *jw out.RawString("null") } else { out.RawByte('[') - for v54, v55 := range in.IDs { - if v54 > 0 { + for v63, v64 := range in.IDs { + if v63 > 0 { out.RawByte(',') } - out.String(string(v55)) + out.String(string(v64)) } out.RawByte(']') } @@ -2431,9 +2845,9 @@ func easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgModuleSerialize4(in *jle out.CustomResources = (out.CustomResources)[:0] } for !in.IsDelim(']') { - var v56 CustomResource - easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgModuleSerialize5(in, &v56) - out.CustomResources = append(out.CustomResources, v56) + var v65 CustomResource + easyjson6601e8cdDecodeGithubComAquasecurityTrivyPkgModuleSerialize5(in, &v65) + out.CustomResources = append(out.CustomResources, v65) in.WantComma() } in.Delim(']') @@ -2459,11 +2873,11 @@ func easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgModuleSerialize4(out *jw out.RawString("null") } else { out.RawByte('[') - for v57, v58 := range in.CustomResources { - if v57 > 0 { + for v66, v67 := range in.CustomResources { + if v66 > 0 { out.RawByte(',') } - easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgModuleSerialize5(out, v58) + easyjson6601e8cdEncodeGithubComAquasecurityTrivyPkgModuleSerialize5(out, v67) } out.RawByte(']') } diff --git a/pkg/purl/purl.go b/pkg/purl/purl.go index 92887bb534e5..c1ac67902c7e 100644 --- a/pkg/purl/purl.go +++ b/pkg/purl/purl.go @@ -10,7 +10,6 @@ import ( packageurl "github.com/package-url/packageurl-go" "golang.org/x/xerrors" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/scanner/utils" "github.com/aquasecurity/trivy/pkg/types" @@ -81,7 +80,7 @@ func (p *PackageURL) Package() *ftypes.Package { } // TODO: replace with packageurl.TypeGradle once they add it. - if p.Type == packageurl.TypeMaven || p.Type == ftypes.Gradle { + if p.Type == packageurl.TypeMaven || p.Type == string(ftypes.Gradle) { // Maven and Gradle packages separate ":" // e.g. org.springframework:spring-core pkg.Name = strings.Join([]string{ @@ -98,8 +97,8 @@ func (p *PackageURL) Package() *ftypes.Package { return pkg } -// PackageType returns an application type in Trivy -func (p *PackageURL) PackageType() string { +// LangType returns an application type in Trivy +func (p *PackageURL) LangType() ftypes.LangType { switch p.Type { case packageurl.TypeComposer: return ftypes.Composer @@ -132,7 +131,7 @@ func (p *PackageURL) PackageType() string { case packageurl.TypeBitnami: return ftypes.Bitnami } - return p.Type + return "unknown" } func (p *PackageURL) IsOSPkg() bool { @@ -158,7 +157,7 @@ func (p *PackageURL) BOMRef() string { } // nolint: gocyclo -func NewPackageURL(t string, metadata types.Metadata, pkg ftypes.Package) (PackageURL, error) { +func NewPackageURL(t ftypes.TargetType, metadata types.Metadata, pkg ftypes.Package) (PackageURL, error) { var qualifiers packageurl.Qualifiers if metadata.OS != nil { qualifiers = parseQualifier(pkg) @@ -174,17 +173,17 @@ func NewPackageURL(t string, metadata types.Metadata, pkg ftypes.Package) (Packa switch ptype { case packageurl.TypeRPM: ns, qs := parseRPM(metadata.OS, pkg.Modularitylabel) - namespace = ns + namespace = string(ns) qualifiers = append(qualifiers, qs...) case packageurl.TypeDebian: qualifiers = append(qualifiers, parseDeb(metadata.OS)...) if metadata.OS != nil { - namespace = metadata.OS.Family + namespace = string(metadata.OS.Family) } case TypeAPK: // TODO: replace with packageurl.TypeApk once they add it. qualifiers = append(qualifiers, parseApk(metadata.OS)...) if metadata.OS != nil { - namespace = metadata.OS.Family + namespace = string(metadata.OS.Family) } case packageurl.TypeMaven, string(ftypes.Gradle): // TODO: replace with packageurl.TypeGradle once they add it. namespace, name = parseMaven(name) @@ -277,14 +276,14 @@ func parseDeb(fos *ftypes.OS) packageurl.Qualifiers { } // ref. https://github.com/package-url/purl-spec/blob/a748c36ad415c8aeffe2b8a4a5d8a50d16d6d85f/PURL-TYPES.rst#rpm -func parseRPM(fos *ftypes.OS, modularityLabel string) (string, packageurl.Qualifiers) { +func parseRPM(fos *ftypes.OS, modularityLabel string) (ftypes.OSType, packageurl.Qualifiers) { if fos == nil { return "", packageurl.Qualifiers{} } // SLES string has whitespace family := fos.Family - if fos.Family == os.SLES { + if fos.Family == ftypes.SLES { family = "sles" } @@ -356,7 +355,7 @@ func parseNpm(pkgName string) (string, string) { return parsePkgName(name) } -func purlType(t string) string { +func purlType(t ftypes.TargetType) string { switch t { case ftypes.Jar, ftypes.Pom, ftypes.Gradle: return packageurl.TypeMaven @@ -384,18 +383,18 @@ func purlType(t string) string { return TypeDart // TODO: replace with packageurl.TypeDart once they add it. case ftypes.RustBinary, ftypes.Cargo: return packageurl.TypeCargo - case os.Alpine: + case ftypes.Alpine: return TypeAPK - case os.Debian, os.Ubuntu: + case ftypes.Debian, ftypes.Ubuntu: return packageurl.TypeDebian - case os.RedHat, os.CentOS, os.Rocky, os.Alma, - os.Amazon, os.Fedora, os.Oracle, os.OpenSUSE, - os.OpenSUSELeap, os.OpenSUSETumbleweed, os.SLES, os.Photon: + case ftypes.RedHat, ftypes.CentOS, ftypes.Rocky, ftypes.Alma, + ftypes.Amazon, ftypes.Fedora, ftypes.Oracle, ftypes.OpenSUSE, + ftypes.OpenSUSELeap, ftypes.OpenSUSETumbleweed, ftypes.SLES, ftypes.Photon: return packageurl.TypeRPM case TypeOCI: return packageurl.TypeOCI } - return t + return string(t) } func parseQualifier(pkg ftypes.Package) packageurl.Qualifiers { diff --git a/pkg/purl/purl_test.go b/pkg/purl/purl_test.go index dac5edd0decd..4cdb3f7a2a60 100644 --- a/pkg/purl/purl_test.go +++ b/pkg/purl/purl_test.go @@ -9,17 +9,15 @@ import ( "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/purl" "github.com/aquasecurity/trivy/pkg/types" ) func TestNewPackageURL(t *testing.T) { - testCases := []struct { name string - typ string + typ ftypes.TargetType pkg ftypes.Package metadata types.Metadata want purl.PackageURL @@ -272,21 +270,21 @@ func TestNewPackageURL(t *testing.T) { name: "rust binary", typ: ftypes.RustBinary, pkg: ftypes.Package{ - ID: "abomonation@0.7.3", - Name: "abomonation", + ID: "abomination@0.7.3", + Name: "abomination", Version: "0.7.3", }, want: purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeCargo, - Name: "abomonation", + Name: "abomination", Version: "0.7.3", }, }, }, { name: "os package", - typ: os.RedHat, + typ: ftypes.RedHat, pkg: ftypes.Package{ Name: "acl", Version: "2.2.53", @@ -302,7 +300,7 @@ func TestNewPackageURL(t *testing.T) { metadata: types.Metadata{ OS: &ftypes.OS{ - Family: os.RedHat, + Family: ftypes.RedHat, Name: "8", }, }, diff --git a/pkg/remote/remote_test.go b/pkg/remote/remote_test.go index 024d1cacd84e..63a98ba1fce2 100644 --- a/pkg/remote/remote_test.go +++ b/pkg/remote/remote_test.go @@ -4,15 +4,16 @@ import ( "context" "encoding/base64" "fmt" - "github.com/google/go-containerregistry/pkg/name" - v1 "github.com/google/go-containerregistry/pkg/v1" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "net/http/httptest" "os" "path/filepath" "testing" + "github.com/google/go-containerregistry/pkg/name" + v1 "github.com/google/go-containerregistry/pkg/v1" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/aquasecurity/testdocker/auth" "github.com/aquasecurity/testdocker/registry" "github.com/aquasecurity/trivy/pkg/fanal/types" diff --git a/pkg/report/github/github.go b/pkg/report/github/github.go index 0e1a95dfa8af..3f1ea7af7b5d 100644 --- a/pkg/report/github/github.go +++ b/pkg/report/github/github.go @@ -101,7 +101,7 @@ func (w Writer) Write(report types.Report) error { } manifest := Manifest{} - manifest.Name = result.Type + manifest.Name = string(result.Type) // show path for language-specific packages only if result.Class == types.ClassLangPkg { manifest.File = &File{ @@ -160,7 +160,7 @@ func getPkgRelationshipType(pkg ftypes.Package) string { return DirectRelationship } -func buildPurl(t string, pkg ftypes.Package) (string, error) { +func buildPurl(t ftypes.TargetType, pkg ftypes.Package) (string, error) { packageUrl, err := purl.NewPackageURL(t, types.Metadata{}, pkg) if err != nil { return "", xerrors.Errorf("purl error: %w", err) diff --git a/pkg/report/predicate/vuln_test.go b/pkg/report/predicate/vuln_test.go index d931622b5998..c574141bfa70 100644 --- a/pkg/report/predicate/vuln_test.go +++ b/pkg/report/predicate/vuln_test.go @@ -10,7 +10,6 @@ import ( dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" - "github.com/aquasecurity/trivy/pkg/clock" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/report/predicate" diff --git a/pkg/report/sarif.go b/pkg/report/sarif.go index 7fb2424ed30b..724691e77886 100644 --- a/pkg/report/sarif.go +++ b/pkg/report/sarif.go @@ -57,7 +57,7 @@ type sarifData struct { fullDescription string helpText string helpMarkdown string - resourceClass string + resourceClass types.ResultClass severity string url string resultIndex int @@ -161,7 +161,7 @@ func (sw *SarifWriter) Write(report types.Report) error { severity: vuln.Severity, cvssScore: getCVSSScore(vuln), url: vuln.PrimaryURL, - resourceClass: string(res.Class), + resourceClass: res.Class, artifactLocation: path, locationMessage: fmt.Sprintf("%v: %v@%v", path, vuln.PkgName, vuln.InstalledVersion), locations: sw.getLocations(vuln.PkgName, vuln.InstalledVersion, path, res.Packages), @@ -183,10 +183,15 @@ func (sw *SarifWriter) Write(report types.Report) error { severity: misconf.Severity, cvssScore: severityToScore(misconf.Severity), url: misconf.PrimaryURL, - resourceClass: string(res.Class), + resourceClass: res.Class, artifactLocation: target, locationMessage: target, - locations: []location{{startLine: misconf.CauseMetadata.StartLine, endLine: misconf.CauseMetadata.EndLine}}, + locations: []location{ + { + startLine: misconf.CauseMetadata.StartLine, + endLine: misconf.CauseMetadata.EndLine, + }, + }, resultIndex: getRuleIndex(misconf.ID, ruleIndexes), shortDescription: html.EscapeString(misconf.Title), fullDescription: html.EscapeString(misconf.Description), @@ -205,10 +210,15 @@ func (sw *SarifWriter) Write(report types.Report) error { severity: secret.Severity, cvssScore: severityToScore(secret.Severity), url: builtinRulesUrl, - resourceClass: string(res.Class), + resourceClass: res.Class, artifactLocation: target, locationMessage: target, - locations: []location{{startLine: secret.StartLine, endLine: secret.EndLine}}, + locations: []location{ + { + startLine: secret.StartLine, + endLine: secret.EndLine, + }, + }, resultIndex: getRuleIndex(secret.RuleID, ruleIndexes), shortDescription: html.EscapeString(secret.Title), fullDescription: html.EscapeString(secret.Match), @@ -229,7 +239,7 @@ func (sw *SarifWriter) Write(report types.Report) error { severity: license.Severity, cvssScore: severityToScore(license.Severity), url: license.Link, - resourceClass: string(res.Class), + resourceClass: res.Class, artifactLocation: target, resultIndex: getRuleIndex(id, ruleIndexes), shortDescription: desc, @@ -256,7 +266,10 @@ func toSarifLocations(locations []location, artifactLocation, locationMessage st var sarifLocs []*sarif.Location // add default (hardcoded) location for vulnerabilities that don't support locations if len(locations) == 0 { - locations = append(locations, location{startLine: 1, endLine: 1}) + locations = append(locations, location{ + startLine: 1, + endLine: 1, + }) } // some dependencies can be placed in multiple places. @@ -279,7 +292,7 @@ func toSarifLocations(locations []location, artifactLocation, locationMessage st return sarifLocs } -func toSarifRuleName(class string) string { +func toSarifRuleName(class types.ResultClass) string { switch class { case types.ClassOSPkg: return sarifOsPackageVulnerability @@ -334,7 +347,10 @@ func (sw *SarifWriter) getLocations(name, version, path string, pkgs []ftypes.Pa for _, pkg := range pkgs { if name == pkg.Name && version == pkg.Version { for _, l := range pkg.Locations { - loc := location{startLine: l.StartLine, endLine: l.EndLine} + loc := location{ + startLine: l.StartLine, + endLine: l.EndLine, + } locs = append(locs, loc) } sw.locationCache[id] = locs diff --git a/pkg/report/table/licensing.go b/pkg/report/table/licensing.go index e87eca732110..e9bce99facdd 100644 --- a/pkg/report/table/licensing.go +++ b/pkg/report/table/licensing.go @@ -6,17 +6,15 @@ import ( "strings" "sync" + "github.com/fatih/color" "golang.org/x/text/cases" "golang.org/x/text/language" "github.com/aquasecurity/table" + "github.com/aquasecurity/tml" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/types" - - "github.com/fatih/color" - - "github.com/aquasecurity/tml" ) type pkgLicenseRenderer struct { diff --git a/pkg/report/table/misconfig.go b/pkg/report/table/misconfig.go index b427c7357de4..6da386c3520a 100644 --- a/pkg/report/table/misconfig.go +++ b/pkg/report/table/misconfig.go @@ -6,13 +6,10 @@ import ( "strings" "github.com/fatih/color" - - dbTypes "github.com/aquasecurity/trivy-db/pkg/types" - "golang.org/x/term" "github.com/aquasecurity/tml" - + dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/types" ) diff --git a/pkg/report/table/secret.go b/pkg/report/table/secret.go index f591634080b2..5740e6db8ddb 100644 --- a/pkg/report/table/secret.go +++ b/pkg/report/table/secret.go @@ -8,7 +8,6 @@ import ( "golang.org/x/term" "github.com/aquasecurity/tml" - dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/fanal/types" ) diff --git a/pkg/report/table/secret_test.go b/pkg/report/table/secret_test.go index 5f19db9a0762..3af1b71dde43 100644 --- a/pkg/report/table/secret_test.go +++ b/pkg/report/table/secret_test.go @@ -4,12 +4,11 @@ import ( "strings" "testing" - dbTypes "github.com/aquasecurity/trivy-db/pkg/types" - "github.com/aquasecurity/trivy/pkg/report/table" + "github.com/stretchr/testify/assert" + dbTypes "github.com/aquasecurity/trivy-db/pkg/types" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" - - "github.com/stretchr/testify/assert" + "github.com/aquasecurity/trivy/pkg/report/table" ) func TestSecretRenderer(t *testing.T) { diff --git a/pkg/report/table/table.go b/pkg/report/table/table.go index 9542c7b6048e..94d63784bca1 100644 --- a/pkg/report/table/table.go +++ b/pkg/report/table/table.go @@ -11,9 +11,8 @@ import ( "github.com/fatih/color" "golang.org/x/exp/slices" - "github.com/aquasecurity/tml" - "github.com/aquasecurity/table" + "github.com/aquasecurity/tml" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/types" xio "github.com/aquasecurity/trivy/pkg/x/io" diff --git a/pkg/report/writer.go b/pkg/report/writer.go index 80fe63980f28..31c606f1e5bf 100644 --- a/pkg/report/writer.go +++ b/pkg/report/writer.go @@ -8,6 +8,7 @@ import ( "golang.org/x/xerrors" cr "github.com/aquasecurity/trivy/pkg/compliance/report" + ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/flag" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/report/cyclonedx" @@ -16,8 +17,6 @@ import ( "github.com/aquasecurity/trivy/pkg/report/spdx" "github.com/aquasecurity/trivy/pkg/report/table" "github.com/aquasecurity/trivy/pkg/types" - - ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" ) const ( diff --git a/pkg/result/filter_test.go b/pkg/result/filter_test.go index a90b6535a23d..96698a1874cd 100644 --- a/pkg/result/filter_test.go +++ b/pkg/result/filter_test.go @@ -57,7 +57,7 @@ func TestFilter(t *testing.T) { }, Misconfigurations: []types.DetectedMisconfiguration{ { - Type: ftypes.Kubernetes, + Type: "Kubernetes Security Check", ID: "ID100", Title: "Bad Deployment", Message: "something bad", @@ -65,7 +65,7 @@ func TestFilter(t *testing.T) { Status: types.StatusFailure, }, { - Type: ftypes.Kubernetes, + Type: "Kubernetes Security Check", ID: "ID200", Title: "Bad Pod", Message: "something bad", @@ -120,7 +120,7 @@ func TestFilter(t *testing.T) { }, Misconfigurations: []types.DetectedMisconfiguration{ { - Type: ftypes.Kubernetes, + Type: "Kubernetes Security Check", ID: "ID100", Title: "Bad Deployment", Message: "something bad", @@ -320,7 +320,7 @@ func TestFilter(t *testing.T) { Class: types.ClassConfig, Misconfigurations: []types.DetectedMisconfiguration{ { - Type: ftypes.Kubernetes, + Type: "Kubernetes Security Check", ID: "ID100", Title: "Bad Deployment", Message: "something bad", @@ -473,7 +473,7 @@ func TestFilter(t *testing.T) { Misconfigurations: []types.DetectedMisconfiguration{ { // this misconfiguration is ignored - Type: ftypes.Kubernetes, + Type: "Kubernetes Security Check", ID: "ID100", Title: "Bad Deployment", Message: "something bad", @@ -482,7 +482,7 @@ func TestFilter(t *testing.T) { }, { // this misconfiguration is ignored - Type: ftypes.Kubernetes, + Type: "Kubernetes Security Check", ID: "ID200", Title: "Bad Deployment", Message: "something bad", @@ -490,7 +490,7 @@ func TestFilter(t *testing.T) { Status: types.StatusFailure, }, { - Type: ftypes.Kubernetes, + Type: "Kubernetes Security Check", ID: "ID300", Title: "Bad Deployment", Message: "something bad", @@ -588,7 +588,7 @@ func TestFilter(t *testing.T) { }, Misconfigurations: []types.DetectedMisconfiguration{ { - Type: ftypes.Kubernetes, + Type: "Kubernetes Security Check", ID: "ID300", Title: "Bad Deployment", Message: "something bad", diff --git a/pkg/rpc/client/client_test.go b/pkg/rpc/client/client_test.go index c6be27d9d305..012d5799ade9 100644 --- a/pkg/rpc/client/client_test.go +++ b/pkg/rpc/client/client_test.go @@ -188,7 +188,7 @@ func TestScanner_Scan(t *testing.T) { b, err := protojson.Marshal(tt.expectation) if err != nil { w.WriteHeader(http.StatusInternalServerError) - fmt.Fprintf(w, "json marshalling error: %v", err) + fmt.Fprintf(w, "json marshaling error: %v", err) return } w.Header().Set("Content-Type", "application/json") diff --git a/pkg/rpc/client/headers_test.go b/pkg/rpc/client/headers_test.go index 4f77c5babde0..8f5ecd6ff607 100644 --- a/pkg/rpc/client/headers_test.go +++ b/pkg/rpc/client/headers_test.go @@ -5,9 +5,8 @@ import ( "net/http" "testing" - "github.com/twitchtv/twirp" - "github.com/stretchr/testify/assert" + "github.com/twitchtv/twirp" ) func TestWithCustomHeaders(t *testing.T) { diff --git a/pkg/rpc/convert.go b/pkg/rpc/convert.go index 3577a5eb2bbf..e5f5362c4e1b 100644 --- a/pkg/rpc/convert.go +++ b/pkg/rpc/convert.go @@ -5,9 +5,8 @@ import ( "time" "github.com/samber/lo" - "google.golang.org/protobuf/types/known/timestamppb" - "google.golang.org/protobuf/types/known/structpb" + "google.golang.org/protobuf/types/known/timestamppb" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/digest" @@ -293,7 +292,7 @@ func ConvertFromRPCResults(rpcResults []*scanner.Result) []types.Result { Vulnerabilities: ConvertFromRPCVulns(result.Vulnerabilities), Misconfigurations: ConvertFromRPCMisconfs(result.Misconfigurations), Class: types.ResultClass(result.Class), - Type: result.Type, + Type: ftypes.TargetType(result.Type), Packages: ConvertFromRPCPkgs(result.Packages), CustomResources: ConvertFromRPCCustomResources(result.CustomResources), Secrets: ConvertFromRPCSecretFindings(result.Secrets), @@ -528,7 +527,7 @@ func ConvertFromRPCOS(rpcOS *common.OS) ftypes.OS { return ftypes.OS{} } return ftypes.OS{ - Family: rpcOS.Family, + Family: ftypes.OSType(rpcOS.Family), Name: rpcOS.Name, Eosl: rpcOS.Eosl, Extended: rpcOS.Extended, @@ -541,7 +540,7 @@ func ConvertFromRPCRepository(rpcRepo *common.Repository) *ftypes.Repository { return nil } return &ftypes.Repository{ - Family: rpcRepo.Family, + Family: ftypes.OSType(rpcRepo.Family), Release: rpcRepo.Release, } } @@ -575,7 +574,7 @@ func ConvertFromRPCApplications(rpcApps []*common.Application) []ftypes.Applicat var apps []ftypes.Application for _, rpcApp := range rpcApps { apps = append(apps, ftypes.Application{ - Type: rpcApp.Type, + Type: ftypes.LangType(rpcApp.Type), FilePath: rpcApp.FilePath, Libraries: ConvertFromRPCPkgs(rpcApp.Libraries), }) @@ -588,7 +587,7 @@ func ConvertFromRPCMisconfigurations(rpcMisconfs []*common.Misconfiguration) []f var misconfs []ftypes.Misconfiguration for _, rpcMisconf := range rpcMisconfs { misconfs = append(misconfs, ftypes.Misconfiguration{ - FileType: rpcMisconf.FileType, + FileType: ftypes.ConfigType(rpcMisconf.FileType), FilePath: rpcMisconf.FilePath, Successes: ConvertFromRPCMisconfResults(rpcMisconf.Successes), Warnings: ConvertFromRPCMisconfResults(rpcMisconf.Warnings), @@ -647,7 +646,7 @@ func ConvertFromRPCPutBlobRequest(req *cache.PutBlobRequest) ftypes.BlobInfo { // ConvertToRPCOS returns common.OS func ConvertToRPCOS(fos ftypes.OS) *common.OS { return &common.OS{ - Family: fos.Family, + Family: string(fos.Family), Name: fos.Name, Eosl: fos.Eosl, Extended: fos.Extended, @@ -660,7 +659,7 @@ func ConvertToRPCRepository(repo *ftypes.Repository) *common.Repository { return nil } return &common.Repository{ - Family: repo.Family, + Family: string(repo.Family), Release: repo.Release, } } @@ -699,7 +698,7 @@ func ConvertToRPCPutBlobRequest(diffID string, blobInfo ftypes.BlobInfo) *cache. var applications []*common.Application for _, app := range blobInfo.Applications { applications = append(applications, &common.Application{ - Type: app.Type, + Type: string(app.Type), FilePath: app.FilePath, Libraries: ConvertToRPCPkgs(app.Libraries), }) @@ -708,7 +707,7 @@ func ConvertToRPCPutBlobRequest(diffID string, blobInfo ftypes.BlobInfo) *cache. var misconfigurations []*common.Misconfiguration for _, m := range blobInfo.Misconfigurations { misconfigurations = append(misconfigurations, &common.Misconfiguration{ - FileType: m.FileType, + FileType: string(m.FileType), FilePath: m.FilePath, Successes: ConvertToMisconfResults(m.Successes), Warnings: ConvertToMisconfResults(m.Warnings), @@ -784,7 +783,7 @@ func ConvertToRPCScanResponse(results types.Results, fos ftypes.OS) *scanner.Sca rpcResults = append(rpcResults, &scanner.Result{ Target: result.Target, Class: string(result.Class), - Type: result.Type, + Type: string(result.Type), Vulnerabilities: ConvertToRPCVulns(result.Vulnerabilities), Misconfigurations: ConvertToRPCMisconfs(result.Misconfigurations), Packages: ConvertToRPCPkgs(result.Packages), diff --git a/pkg/rpc/convert_test.go b/pkg/rpc/convert_test.go index 20fc2661194d..038d24536557 100644 --- a/pkg/rpc/convert_test.go +++ b/pkg/rpc/convert_test.go @@ -9,7 +9,6 @@ import ( dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" - fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/types" "github.com/aquasecurity/trivy/rpc/common" @@ -300,52 +299,57 @@ func TestConvertFromRPCResults(t *testing.T) { }{ { name: "happy path", - args: args{rpcResults: []*scanner.Result{ - { - Target: "alpine:3.10", - Type: fos.Alpine, - Vulnerabilities: []*common.Vulnerability{ - { - VulnerabilityId: "CVE-2019-0001", - PkgName: "musl", - InstalledVersion: "1.2.3", - FixedVersion: "1.2.4", - Title: "DoS", - Description: "Denial of Service", - Severity: common.Severity_MEDIUM, - SeveritySource: string(vulnerability.NVD), - CweIds: []string{"CWE-123", "CWE-456"}, - VendorSeverity: map[string]common.Severity{ - string(vulnerability.RedHat): common.Severity_MEDIUM, - }, - Cvss: map[string]*common.CVSS{ - string(vulnerability.RedHat): { - V2Vector: "AV:L/AC:L/Au:N/C:C/I:C/A:C", - V3Vector: "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", - V2Score: 7.2, - V3Score: 7.8, + args: args{ + rpcResults: []*scanner.Result{ + { + Target: "alpine:3.10", + Type: string(ftypes.Alpine), + Vulnerabilities: []*common.Vulnerability{ + { + VulnerabilityId: "CVE-2019-0001", + PkgName: "musl", + InstalledVersion: "1.2.3", + FixedVersion: "1.2.4", + Title: "DoS", + Description: "Denial of Service", + Severity: common.Severity_MEDIUM, + SeveritySource: string(vulnerability.NVD), + CweIds: []string{ + "CWE-123", + "CWE-456", + }, + VendorSeverity: map[string]common.Severity{ + string(vulnerability.RedHat): common.Severity_MEDIUM, + }, + Cvss: map[string]*common.CVSS{ + string(vulnerability.RedHat): { + V2Vector: "AV:L/AC:L/Au:N/C:C/I:C/A:C", + V3Vector: "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", + V2Score: 7.2, + V3Score: 7.8, + }, + }, + References: []string{"http://example.com"}, + Layer: &common.Layer{ + Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812", + DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079", + }, + PrimaryUrl: "https://avd.aquasec.com/nvd/CVE-2019-0001", + PublishedDate: timestamppb.New(fixedPublishedDate), + LastModifiedDate: timestamppb.New(fixedLastModifiedDate), + DataSource: &common.DataSource{ + Name: "GitHub Security Advisory Maven", + Url: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven", }, - }, - References: []string{"http://example.com"}, - Layer: &common.Layer{ - Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812", - DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079", - }, - PrimaryUrl: "https://avd.aquasec.com/nvd/CVE-2019-0001", - PublishedDate: timestamppb.New(fixedPublishedDate), - LastModifiedDate: timestamppb.New(fixedLastModifiedDate), - DataSource: &common.DataSource{ - Name: "GitHub Security Advisory Maven", - Url: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven", }, }, }, - }}, + }, }, want: []types.Result{ { Target: "alpine:3.10", - Type: fos.Alpine, + Type: ftypes.Alpine, Vulnerabilities: []types.DetectedVulnerability{ { VulnerabilityID: "CVE-2019-0001", @@ -365,7 +369,10 @@ func TestConvertFromRPCResults(t *testing.T) { VendorSeverity: dbTypes.VendorSeverity{ vulnerability.RedHat: dbTypes.SeverityMedium, }, - CweIDs: []string{"CWE-123", "CWE-456"}, + CweIDs: []string{ + "CWE-123", + "CWE-456", + }, CVSS: dbTypes.VendorCVSS{ vulnerability.RedHat: { V2Vector: "AV:L/AC:L/Au:N/C:C/I:C/A:C", @@ -389,45 +396,50 @@ func TestConvertFromRPCResults(t *testing.T) { }, { name: "happy path - with nil dates", - args: args{rpcResults: []*scanner.Result{ - { - Target: "alpine:3.10", - Type: fos.Alpine, - Vulnerabilities: []*common.Vulnerability{ - { - VulnerabilityId: "CVE-2019-0001", - PkgName: "musl", - InstalledVersion: "1.2.3", - FixedVersion: "1.2.4", - Title: "DoS", - Description: "Denial of Service", - Severity: common.Severity_MEDIUM, - SeveritySource: string(vulnerability.NVD), - CweIds: []string{"CWE-123", "CWE-456"}, - Cvss: map[string]*common.CVSS{ - "redhat": { - V2Vector: "AV:L/AC:L/Au:N/C:C/I:C/A:C", - V3Vector: "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", - V2Score: 7.2, - V3Score: 7.8, + args: args{ + rpcResults: []*scanner.Result{ + { + Target: "alpine:3.10", + Type: string(ftypes.Alpine), + Vulnerabilities: []*common.Vulnerability{ + { + VulnerabilityId: "CVE-2019-0001", + PkgName: "musl", + InstalledVersion: "1.2.3", + FixedVersion: "1.2.4", + Title: "DoS", + Description: "Denial of Service", + Severity: common.Severity_MEDIUM, + SeveritySource: string(vulnerability.NVD), + CweIds: []string{ + "CWE-123", + "CWE-456", }, + Cvss: map[string]*common.CVSS{ + "redhat": { + V2Vector: "AV:L/AC:L/Au:N/C:C/I:C/A:C", + V3Vector: "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", + V2Score: 7.2, + V3Score: 7.8, + }, + }, + References: []string{"http://example.com"}, + Layer: &common.Layer{ + Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812", + DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079", + }, + PrimaryUrl: "https://avd.aquasec.com/nvd/CVE-2019-0001", + PublishedDate: nil, + LastModifiedDate: nil, }, - References: []string{"http://example.com"}, - Layer: &common.Layer{ - Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812", - DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079", - }, - PrimaryUrl: "https://avd.aquasec.com/nvd/CVE-2019-0001", - PublishedDate: nil, - LastModifiedDate: nil, }, }, - }}, + }, }, want: []types.Result{ { Target: "alpine:3.10", - Type: fos.Alpine, + Type: ftypes.Alpine, Vulnerabilities: []types.DetectedVulnerability{ { VulnerabilityID: "CVE-2019-0001", @@ -441,10 +453,13 @@ func TestConvertFromRPCResults(t *testing.T) { SeveritySource: vulnerability.NVD, PrimaryURL: "https://avd.aquasec.com/nvd/CVE-2019-0001", Vulnerability: dbTypes.Vulnerability{ - Title: "DoS", - Description: "Denial of Service", - Severity: common.Severity_MEDIUM.String(), - CweIDs: []string{"CWE-123", "CWE-456"}, + Title: "DoS", + Description: "Denial of Service", + Severity: common.Severity_MEDIUM.String(), + CweIDs: []string{ + "CWE-123", + "CWE-456", + }, VendorSeverity: make(dbTypes.VendorSeverity), CVSS: dbTypes.VendorCVSS{ vulnerability.RedHat: { @@ -481,46 +496,48 @@ func TestConvertFromRPCMisconfs(t *testing.T) { }{ { name: "happy path misconf", - args: args{misconfs: []*common.DetectedMisconfiguration{ - { - Type: "Dockerfile Security Check", - Id: "DS005", - AvdId: "AVD-DS-0005", - Title: "ADD instead of COPY", - Description: "You should use COPY instead of ADD unless you want to extract a tar file. Note that an ADD command will extract a tar file, which adds the risk of Zip-based vulnerabilities. Accordingly, it is advised to use a COPY command, which does not extract tar files.", - Message: "Consider using 'COPY . /app' command instead of 'ADD . /app'", - Namespace: "builtin.dockerfile.DS005", - Query: "data.builtin.dockerfile.DS005.deny", - Resolution: "Use COPY instead of ADD", - Severity: common.Severity_LOW, - PrimaryUrl: "https://avd.aquasec.com/misconfig/ds005", - References: []string{ - "https://docs.docker.com/engine/reference/builder/#add", - "https://avd.aquasec.com/misconfig/ds005", - }, - Status: "FAIL", - Layer: &common.Layer{}, - CauseMetadata: &common.CauseMetadata{ - Provider: "Dockerfile", - Service: "general", - StartLine: 3, - EndLine: 3, - Code: &common.Code{ - Lines: []*common.Line{ - { - Number: 3, - Content: "ADD . /app", - IsCause: true, - Annotation: "", - Truncated: false, - FirstCause: true, - LastCause: true, + args: args{ + misconfs: []*common.DetectedMisconfiguration{ + { + Type: "Dockerfile Security Check", + Id: "DS005", + AvdId: "AVD-DS-0005", + Title: "ADD instead of COPY", + Description: "You should use COPY instead of ADD unless you want to extract a tar file. Note that an ADD command will extract a tar file, which adds the risk of Zip-based vulnerabilities. Accordingly, it is advised to use a COPY command, which does not extract tar files.", + Message: "Consider using 'COPY . /app' command instead of 'ADD . /app'", + Namespace: "builtin.dockerfile.DS005", + Query: "data.builtin.dockerfile.DS005.deny", + Resolution: "Use COPY instead of ADD", + Severity: common.Severity_LOW, + PrimaryUrl: "https://avd.aquasec.com/misconfig/ds005", + References: []string{ + "https://docs.docker.com/engine/reference/builder/#add", + "https://avd.aquasec.com/misconfig/ds005", + }, + Status: "FAIL", + Layer: &common.Layer{}, + CauseMetadata: &common.CauseMetadata{ + Provider: "Dockerfile", + Service: "general", + StartLine: 3, + EndLine: 3, + Code: &common.Code{ + Lines: []*common.Line{ + { + Number: 3, + Content: "ADD . /app", + IsCause: true, + Annotation: "", + Truncated: false, + FirstCause: true, + LastCause: true, + }, }, }, }, }, }, - }}, + }, want: []types.DetectedMisconfiguration{ { Type: "Dockerfile Security Check", @@ -583,46 +600,48 @@ func TestConvertToRPCMiconfs(t *testing.T) { }{ { name: "happy path misconf", - args: args{misconfs: []types.DetectedMisconfiguration{ - { - Type: "Dockerfile Security Check", - ID: "DS005", - AVDID: "AVD-DS-0005", - Title: "ADD instead of COPY", - Description: "You should use COPY instead of ADD unless you want to extract a tar file. Note that an ADD command will extract a tar file, which adds the risk of Zip-based vulnerabilities. Accordingly, it is advised to use a COPY command, which does not extract tar files.", - Message: "Consider using 'COPY . /app' command instead of 'ADD . /app'", - Namespace: "builtin.dockerfile.DS005", - Query: "data.builtin.dockerfile.DS005.deny", - Resolution: "Use COPY instead of ADD", - Severity: "LOW", - PrimaryURL: "https://avd.aquasec.com/misconfig/ds005", - References: []string{ - "https://docs.docker.com/engine/reference/builder/#add", - "https://avd.aquasec.com/misconfig/ds005", - }, - Status: "FAIL", - Layer: ftypes.Layer{}, - CauseMetadata: ftypes.CauseMetadata{ - Provider: "Dockerfile", - Service: "general", - StartLine: 3, - EndLine: 3, - Code: ftypes.Code{ - Lines: []ftypes.Line{ - { - Number: 3, - Content: "ADD . /app", - IsCause: true, - Annotation: "", - Truncated: false, - FirstCause: true, - LastCause: true, + args: args{ + misconfs: []types.DetectedMisconfiguration{ + { + Type: "Dockerfile Security Check", + ID: "DS005", + AVDID: "AVD-DS-0005", + Title: "ADD instead of COPY", + Description: "You should use COPY instead of ADD unless you want to extract a tar file. Note that an ADD command will extract a tar file, which adds the risk of Zip-based vulnerabilities. Accordingly, it is advised to use a COPY command, which does not extract tar files.", + Message: "Consider using 'COPY . /app' command instead of 'ADD . /app'", + Namespace: "builtin.dockerfile.DS005", + Query: "data.builtin.dockerfile.DS005.deny", + Resolution: "Use COPY instead of ADD", + Severity: "LOW", + PrimaryURL: "https://avd.aquasec.com/misconfig/ds005", + References: []string{ + "https://docs.docker.com/engine/reference/builder/#add", + "https://avd.aquasec.com/misconfig/ds005", + }, + Status: "FAIL", + Layer: ftypes.Layer{}, + CauseMetadata: ftypes.CauseMetadata{ + Provider: "Dockerfile", + Service: "general", + StartLine: 3, + EndLine: 3, + Code: ftypes.Code{ + Lines: []ftypes.Line{ + { + Number: 3, + Content: "ADD . /app", + IsCause: true, + Annotation: "", + Truncated: false, + FirstCause: true, + LastCause: true, + }, }, }, }, }, }, - }}, + }, want: []*common.DetectedMisconfiguration{ { Type: "Dockerfile Security Check", diff --git a/pkg/rpc/server/server_test.go b/pkg/rpc/server/server_test.go index 39ef341bf6da..3022ff2cdf0a 100644 --- a/pkg/rpc/server/server_test.go +++ b/pkg/rpc/server/server_test.go @@ -6,13 +6,12 @@ import ( "testing" "time" - "google.golang.org/protobuf/types/known/timestamppb" - google_protobuf "github.com/golang/protobuf/ptypes/empty" "github.com/golang/protobuf/ptypes/timestamp" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.org/x/xerrors" + "google.golang.org/protobuf/types/known/timestamppb" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/utils" diff --git a/pkg/sbom/cyclonedx/marshal.go b/pkg/sbom/cyclonedx/marshal.go index 9ff482a7bdf5..6a523a0d67ae 100644 --- a/pkg/sbom/cyclonedx/marshal.go +++ b/pkg/sbom/cyclonedx/marshal.go @@ -178,7 +178,7 @@ func (e *Marshaler) marshalPackages(metadata types.Metadata, result types.Result type Package struct { ftypes.Package - Type string + Type ftypes.TargetType Metadata types.Metadata Vulnerabilities []types.DetectedVulnerability } @@ -281,7 +281,7 @@ func (e *Marshaler) resultComponent(r types.Result, osFound *ftypes.OS) *core.Co Properties: []core.Property{ { Name: PropertyType, - Value: r.Type, + Value: string(r.Type), }, { Name: PropertyClass, @@ -295,7 +295,7 @@ func (e *Marshaler) resultComponent(r types.Result, osFound *ftypes.OS) *core.Co // UUID needs to be generated since Operating System Component cannot generate PURL. // https://cyclonedx.org/use-cases/#known-vulnerabilities if osFound != nil { - component.Name = osFound.Family + component.Name = string(osFound.Family) component.Version = osFound.Name } component.Type = cdx.ComponentTypeOS @@ -329,7 +329,7 @@ func pkgComponent(pkg Package) (*core.Component, error) { }, { Name: PropertyPkgType, - Value: pkg.Type, + Value: string(pkg.Type), }, { Name: PropertyFilePath, diff --git a/pkg/sbom/cyclonedx/marshal_test.go b/pkg/sbom/cyclonedx/marshal_test.go index fe791509d2de..de41d837f453 100644 --- a/pkg/sbom/cyclonedx/marshal_test.go +++ b/pkg/sbom/cyclonedx/marshal_test.go @@ -13,7 +13,6 @@ import ( dtypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" "github.com/aquasecurity/trivy/pkg/clock" - fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/report" "github.com/aquasecurity/trivy/pkg/sbom/cyclonedx" @@ -36,7 +35,7 @@ func TestMarshaler_Marshal(t *testing.T) { Metadata: types.Metadata{ Size: 1024, OS: &ftypes.OS{ - Family: fos.CentOS, + Family: ftypes.CentOS, Name: "8.3.2011", Eosl: true, }, @@ -52,7 +51,7 @@ func TestMarshaler_Marshal(t *testing.T) { { Target: "rails:latest (centos 8.3.2011)", Class: types.ClassOSPkg, - Type: fos.CentOS, + Type: ftypes.CentOS, Packages: []ftypes.Package{ { ID: "binutils@2.30-93.el8", @@ -547,7 +546,7 @@ func TestMarshaler_Marshal(t *testing.T) { Metadata: types.Metadata{ Size: 1024, OS: &ftypes.OS{ - Family: fos.CentOS, + Family: ftypes.CentOS, Name: "8.3.2011", Eosl: true, }, @@ -562,7 +561,7 @@ func TestMarshaler_Marshal(t *testing.T) { { Target: "centos:latest (centos 8.3.2011)", Class: types.ClassOSPkg, - Type: fos.CentOS, + Type: ftypes.CentOS, Packages: []ftypes.Package{ { ID: "acl@2.2.53-1.el8", @@ -759,7 +758,7 @@ func TestMarshaler_Marshal(t *testing.T) { { BOMRef: "3ff14136-e09f-4df9-80ea-000000000003", Type: cdx.ComponentTypeOS, - Name: fos.CentOS, + Name: string(ftypes.CentOS), Version: "8.3.2011", Properties: &[]cdx.Property{ { diff --git a/pkg/sbom/cyclonedx/testdata/happy/bom.json b/pkg/sbom/cyclonedx/testdata/happy/bom.json index b9e657c03db1..5b47e49d9f39 100644 --- a/pkg/sbom/cyclonedx/testdata/happy/bom.json +++ b/pkg/sbom/cyclonedx/testdata/happy/bom.json @@ -106,23 +106,15 @@ ] }, { - "bom-ref": "pkg:gradle/com.example/example@0.0.1", + "bom-ref": "pkg:maven/com.example/example@0.0.1", "type": "library", "name": "com.example:example", "version": "0.0.1", - "purl": "pkg:gradle/com.example/example@0.0.1", + "purl": "pkg:maven/com.example/example@0.0.1", "properties": [ - { - "name": "aquasecurity:trivy:FilePath", - "value": "app/gradle/target/gradle.lockfile" - }, { "name": "aquasecurity:trivy:LayerDiffID", "value": "sha256:3c79e832b1b4891a1cb4a326ef8524e0bd14a2537150ac0e203a5677176c1ca1" - }, - { - "name": "aquasecurity:trivy:PkgType", - "value": "gradle" } ] }, @@ -220,6 +212,21 @@ "value": "lang-pkgs" } ] + }, + { + "bom-ref": "43b87f73-4b96-25ab-845b-489321cea146", + "type": "application", + "name": "app/gradle/target/gradle.lockfile", + "properties": [ + { + "name": "aquasecurity:trivy:Type", + "value": "gradle" + }, + { + "name": "aquasecurity:trivy:Class", + "value": "lang-pkgs" + } + ] } ], "dependencies": [ @@ -242,12 +249,18 @@ "pkg:golang/github.com/package-url/packageurl-go@v0.1.1-0.20220203205134-d70459300c8a" ] }, + { + "ref": "43b87f73-4b96-25ab-845b-489321cea146", + "dependsOn": [ + "pkg:maven/com.example/example@0.0.1" + ] + }, { "ref": "0f585d64-4815-4b72-92c5-97dae191fa4a", "dependsOn": [ "60e9f57b-d4a6-4f71-ad14-0893ac609182", "pkg:maven/org.codehaus.mojo/child-project@1.0?file_path=app%2Fmaven%2Ftarget%2Fchild-project-1.0.jar", - "pkg:gradle/com.example/example@0.0.1", + "pkg:maven/com.example/example@0.0.1", "pkg:npm/bootstrap@5.0.2?file_path=app%2Fapp%2Fpackage.json", "100925ff-7c0a-470f-a725-8fb973b40e7b", "1a111e6b-a682-470e-8b0e-aaa49d93cd39" diff --git a/pkg/sbom/cyclonedx/unmarshal.go b/pkg/sbom/cyclonedx/unmarshal.go index 37df2b439fde..f3e03553d59f 100644 --- a/pkg/sbom/cyclonedx/unmarshal.go +++ b/pkg/sbom/cyclonedx/unmarshal.go @@ -8,8 +8,6 @@ import ( "sort" "strconv" - "github.com/aquasecurity/trivy/pkg/sbom/cyclonedx/core" - cdx "github.com/CycloneDX/cyclonedx-go" "github.com/package-url/packageurl-go" "github.com/samber/lo" @@ -19,6 +17,7 @@ import ( ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/purl" + "github.com/aquasecurity/trivy/pkg/sbom/cyclonedx/core" "github.com/aquasecurity/trivy/pkg/types" ) @@ -277,8 +276,8 @@ func dependencyMap(deps *[]cdx.Dependency) map[string][]string { } func aggregatePkgs(libs []cdx.Component) ([]ftypes.PackageInfo, []ftypes.Application, error) { - osPkgMap := map[string]ftypes.Packages{} - langPkgMap := map[string]ftypes.Packages{} + osPkgMap := map[ftypes.OSType]ftypes.Packages{} + langPkgMap := map[ftypes.LangType]ftypes.Packages{} for _, lib := range libs { isOSPkg, pkgType, pkg, err := toPackage(lib) if err != nil { @@ -321,19 +320,19 @@ func aggregatePkgs(libs []cdx.Component) ([]ftypes.PackageInfo, []ftypes.Applica func toOS(component cdx.Component) ftypes.OS { return ftypes.OS{ - Family: component.Name, + Family: ftypes.OSType(component.Name), Name: component.Version, } } func toApplication(component cdx.Component) *ftypes.Application { return &ftypes.Application{ - Type: core.LookupProperty(component.Properties, PropertyType), + Type: ftypes.LangType(core.LookupProperty(component.Properties, PropertyType)), FilePath: component.Name, } } -func toPackage(component cdx.Component) (bool, string, *ftypes.Package, error) { +func toPackage(component cdx.Component) (bool, ftypes.TargetType, *ftypes.Package, error) { if component.PackageURL == "" { log.Logger.Warnf("Skip the component (BOM-Ref: %s) as the PURL is empty", component.BOMRef) return false, "", nil, ErrPURLEmpty @@ -394,7 +393,7 @@ func toPackage(component cdx.Component) (bool, string, *ftypes.Package, error) { } } - return isOSPkg, p.PackageType(), pkg, nil + return isOSPkg, p.LangType(), pkg, nil } func toTrivyCdxComponent(component cdx.Component) ftypes.Component { diff --git a/pkg/sbom/cyclonedx/unmarshal_test.go b/pkg/sbom/cyclonedx/unmarshal_test.go index 8314d95da814..4e3b4d5f01be 100644 --- a/pkg/sbom/cyclonedx/unmarshal_test.go +++ b/pkg/sbom/cyclonedx/unmarshal_test.go @@ -47,7 +47,7 @@ func TestUnmarshaler_Unmarshal(t *testing.T) { }, Applications: []ftypes.Application{ { - Type: "composer", + Type: ftypes.Composer, FilePath: "app/composer/composer.lock", Libraries: ftypes.Packages{ { @@ -70,7 +70,7 @@ func TestUnmarshaler_Unmarshal(t *testing.T) { }, }, { - Type: "gobinary", + Type: ftypes.GoBinary, FilePath: "app/gobinary/gobinary", Libraries: ftypes.Packages{ { @@ -84,21 +84,21 @@ func TestUnmarshaler_Unmarshal(t *testing.T) { }, }, { - Type: "gradle", + Type: ftypes.Gradle, + FilePath: "app/gradle/target/gradle.lockfile", Libraries: ftypes.Packages{ { Name: "com.example:example", - Ref: "pkg:gradle/com.example/example@0.0.1", + Ref: "pkg:maven/com.example/example@0.0.1", Version: "0.0.1", Layer: ftypes.Layer{ DiffID: "sha256:3c79e832b1b4891a1cb4a326ef8524e0bd14a2537150ac0e203a5677176c1ca1", }, - FilePath: "app/gradle/target/gradle.lockfile", }, }, }, { - Type: "jar", + Type: ftypes.Jar, Libraries: ftypes.Packages{ { Name: "org.codehaus.mojo:child-project", @@ -112,7 +112,7 @@ func TestUnmarshaler_Unmarshal(t *testing.T) { }, }, { - Type: "node-pkg", + Type: ftypes.NodePkg, FilePath: "", Libraries: ftypes.Packages{ { diff --git a/pkg/sbom/spdx/marshal.go b/pkg/sbom/spdx/marshal.go index e9793c80663b..437bc8406077 100644 --- a/pkg/sbom/spdx/marshal.go +++ b/pkg/sbom/spdx/marshal.go @@ -202,7 +202,7 @@ func (m *Marshaler) resultToSpdxPackage(result types.Result, os *ftypes.OS, pkgD } return osPkg, nil case types.ClassLangPkg: - langPkg, err := m.langPackage(result.Target, result.Type, pkgDownloadLocation) + langPkg, err := m.langPackage(result.Target, pkgDownloadLocation, result.Type) if err != nil { return spdx.Package{}, xerrors.Errorf("failed to parse application package: %w", err) } @@ -285,7 +285,7 @@ func (m *Marshaler) osPackage(osFound *ftypes.OS, pkgDownloadLocation string) (s } return spdx.Package{ - PackageName: osFound.Family, + PackageName: string(osFound.Family), PackageVersion: osFound.Name, PackageSPDXIdentifier: elementID(ElementOperatingSystem, pkgID), PackageDownloadLocation: pkgDownloadLocation, @@ -293,14 +293,14 @@ func (m *Marshaler) osPackage(osFound *ftypes.OS, pkgDownloadLocation string) (s }, nil } -func (m *Marshaler) langPackage(target, appType, pkgDownloadLocation string) (spdx.Package, error) { +func (m *Marshaler) langPackage(target, pkgDownloadLocation string, appType ftypes.LangType) (spdx.Package, error) { pkgID, err := calcPkgID(m.hasher, fmt.Sprintf("%s-%s", target, appType)) if err != nil { return spdx.Package{}, xerrors.Errorf("failed to get %s package ID: %w", target, err) } return spdx.Package{ - PackageName: appType, + PackageName: string(appType), PackageSourceInfo: target, // TODO: Files seems better PackageSPDXIdentifier: elementID(ElementApplication, pkgID), PackageDownloadLocation: pkgDownloadLocation, @@ -308,7 +308,7 @@ func (m *Marshaler) langPackage(target, appType, pkgDownloadLocation string) (sp }, nil } -func (m *Marshaler) pkgToSpdxPackage(t, pkgDownloadLocation string, class types.ResultClass, metadata types.Metadata, pkg ftypes.Package) (spdx.Package, error) { +func (m *Marshaler) pkgToSpdxPackage(t ftypes.TargetType, pkgDownloadLocation string, class types.ResultClass, metadata types.Metadata, pkg ftypes.Package) (spdx.Package, error) { license := GetLicense(pkg) pkgID, err := calcPkgID(m.hasher, pkg) diff --git a/pkg/sbom/spdx/marshal_test.go b/pkg/sbom/spdx/marshal_test.go index 2efdde8cfa65..3371be69eb48 100644 --- a/pkg/sbom/spdx/marshal_test.go +++ b/pkg/sbom/spdx/marshal_test.go @@ -13,7 +13,6 @@ import ( "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy/pkg/clock" - fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/report" tspdx "github.com/aquasecurity/trivy/pkg/sbom/spdx" @@ -36,7 +35,7 @@ func TestMarshaler_Marshal(t *testing.T) { Metadata: types.Metadata{ Size: 1024, OS: &ftypes.OS{ - Family: fos.CentOS, + Family: ftypes.CentOS, Name: "8.3.2011", Eosl: true, }, @@ -52,7 +51,7 @@ func TestMarshaler_Marshal(t *testing.T) { { Target: "rails:latest (centos 8.3.2011)", Class: types.ClassOSPkg, - Type: fos.CentOS, + Type: ftypes.CentOS, Packages: []ftypes.Package{ { Name: "binutils", @@ -279,7 +278,7 @@ func TestMarshaler_Marshal(t *testing.T) { Metadata: types.Metadata{ Size: 1024, OS: &ftypes.OS{ - Family: fos.CentOS, + Family: ftypes.CentOS, Name: "8.3.2011", Eosl: true, }, @@ -294,7 +293,7 @@ func TestMarshaler_Marshal(t *testing.T) { { Target: "centos:latest (centos 8.3.2011)", Class: types.ClassOSPkg, - Type: fos.CentOS, + Type: ftypes.CentOS, Packages: []ftypes.Package{ { Name: "acl", diff --git a/pkg/sbom/spdx/unmarshal.go b/pkg/sbom/spdx/unmarshal.go index 3319410213a6..f7dd146ee909 100644 --- a/pkg/sbom/spdx/unmarshal.go +++ b/pkg/sbom/spdx/unmarshal.go @@ -167,21 +167,22 @@ func (s *SPDX) unmarshal(spdxDocument *spdx.Document) error { func (s *SPDX) parsePackages(pkgs map[common.ElementID]*spdx.Package) error { var ( osPkgs []ftypes.Package - apps = map[string]ftypes.Application{} + apps = map[ftypes.LangType]ftypes.Application{} ) for _, p := range pkgs { - pkg, pkgType, err := parsePkg(*p, nil) + pkg, pkgURL, err := parsePkg(*p, nil) if errors.Is(err, errUnknownPackageFormat) { continue } else if err != nil { return xerrors.Errorf("failed to parse package: %w", err) } - switch pkgType { + switch pkgURL.Type { case purl.TypeAPK, packageurl.TypeDebian, packageurl.TypeRPM: osPkgs = append(osPkgs, *pkg) default: // Language-specific packages + pkgType := pkgURL.LangType() app, ok := apps[pkgType] if !ok { app.Type = pkgType @@ -227,8 +228,8 @@ func isFile(elementID spdx.ElementID) bool { } func initApplication(pkg spdx.Package) *ftypes.Application { - app := &ftypes.Application{Type: pkg.PackageName} - switch pkg.PackageName { + app := &ftypes.Application{Type: ftypes.LangType(pkg.PackageName)} + switch app.Type { case ftypes.NodePkg, ftypes.PythonPkg, ftypes.GemSpec, ftypes.Jar, ftypes.CondaPkg: app.FilePath = "" default: @@ -240,15 +241,15 @@ func initApplication(pkg spdx.Package) *ftypes.Application { func parseOS(pkg spdx.Package) ftypes.OS { return ftypes.OS{ - Family: pkg.PackageName, + Family: ftypes.OSType(pkg.PackageName), Name: pkg.PackageVersion, } } -func parsePkg(spdxPkg spdx.Package, packageFilePaths map[string]string) (*ftypes.Package, string, error) { - pkg, pkgType, err := parseExternalReferences(spdxPkg.PackageExternalReferences) +func parsePkg(spdxPkg spdx.Package, packageFilePaths map[string]string) (*ftypes.Package, *purl.PackageURL, error) { + pkg, pkgURL, err := parseExternalReferences(spdxPkg.PackageExternalReferences) if err != nil { - return nil, "", xerrors.Errorf("external references error: %w", err) + return nil, nil, xerrors.Errorf("external references error: %w", err) } if spdxPkg.PackageLicenseDeclared != "NONE" { @@ -257,9 +258,9 @@ func parsePkg(spdxPkg spdx.Package, packageFilePaths map[string]string) (*ftypes if strings.HasPrefix(spdxPkg.PackageSourceInfo, SourcePackagePrefix) { srcPkgName := strings.TrimPrefix(spdxPkg.PackageSourceInfo, fmt.Sprintf("%s: ", SourcePackagePrefix)) - pkg.SrcEpoch, pkg.SrcName, pkg.SrcVersion, pkg.SrcRelease, err = parseSourceInfo(pkgType, srcPkgName) + pkg.SrcEpoch, pkg.SrcName, pkg.SrcVersion, pkg.SrcRelease, err = parseSourceInfo(pkgURL.Type, srcPkgName) if err != nil { - return nil, "", xerrors.Errorf("failed to parse source info: %w", err) + return nil, nil, xerrors.Errorf("failed to parse source info: %w", err) } } @@ -274,23 +275,23 @@ func parsePkg(spdxPkg spdx.Package, packageFilePaths map[string]string) (*ftypes pkg.Layer.Digest = lookupAttributionTexts(spdxPkg.PackageAttributionTexts, PropertyLayerDigest) pkg.Layer.DiffID = lookupAttributionTexts(spdxPkg.PackageAttributionTexts, PropertyLayerDiffID) - return pkg, pkgType, nil + return pkg, pkgURL, nil } -func parseExternalReferences(refs []*spdx.PackageExternalReference) (*ftypes.Package, string, error) { +func parseExternalReferences(refs []*spdx.PackageExternalReference) (*ftypes.Package, *purl.PackageURL, error) { for _, ref := range refs { // Extract the package information from PURL if ref.RefType == RefTypePurl && ref.Category == CategoryPackageManager { packageURL, err := purl.FromString(ref.Locator) if err != nil { - return nil, "", xerrors.Errorf("failed to parse purl from string: %w", err) + return nil, nil, xerrors.Errorf("failed to parse purl from string: %w", err) } pkg := packageURL.Package() pkg.Ref = ref.Locator - return pkg, packageURL.PackageType(), nil + return pkg, packageURL, nil } } - return nil, "", errUnknownPackageFormat + return nil, nil, errUnknownPackageFormat } func lookupAttributionTexts(attributionTexts []string, key string) string { @@ -302,7 +303,7 @@ func lookupAttributionTexts(attributionTexts []string, key string) string { return "" } -func parseSourceInfo(pkgType, sourceInfo string) (epoch int, name, ver, rel string, err error) { +func parseSourceInfo(pkgType string, sourceInfo string) (epoch int, name, ver, rel string, err error) { srcNameVersion := strings.TrimPrefix(sourceInfo, fmt.Sprintf("%s: ", SourcePackagePrefix)) ss := strings.Split(srcNameVersion, " ") if len(ss) != 2 { diff --git a/pkg/scanner/langpkg/scan.go b/pkg/scanner/langpkg/scan.go index 2cca4eef0e9d..8a1783072db6 100644 --- a/pkg/scanner/langpkg/scan.go +++ b/pkg/scanner/langpkg/scan.go @@ -12,7 +12,7 @@ import ( ) var ( - PkgTargets = map[string]string{ + PkgTargets = map[ftypes.LangType]string{ ftypes.PythonPkg: "Python", ftypes.CondaPkg: "Conda", ftypes.GemSpec: "Ruby", @@ -62,7 +62,7 @@ func (s *scanner) Scan(detail ftypes.ArtifactDetail, _ types.ScanOptions) (types } var results types.Results - printedTypes := map[string]struct{}{} + printedTypes := map[ftypes.LangType]struct{}{} for _, app := range apps { if len(app.Libraries) == 0 { continue diff --git a/pkg/scanner/local/scan.go b/pkg/scanner/local/scan.go index 472715ecc3cf..1a81828f7d96 100644 --- a/pkg/scanner/local/scan.go +++ b/pkg/scanner/local/scan.go @@ -14,9 +14,7 @@ import ( dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/all" "github.com/aquasecurity/trivy/pkg/fanal/applier" - _ "github.com/aquasecurity/trivy/pkg/fanal/handler/all" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/licensing" "github.com/aquasecurity/trivy/pkg/log" @@ -25,6 +23,9 @@ import ( "github.com/aquasecurity/trivy/pkg/scanner/post" "github.com/aquasecurity/trivy/pkg/types" "github.com/aquasecurity/trivy/pkg/vulnerability" + + _ "github.com/aquasecurity/trivy/pkg/fanal/analyzer/all" + _ "github.com/aquasecurity/trivy/pkg/fanal/handler/all" ) // SuperSet binds dependencies for Local scan diff --git a/pkg/scanner/local/scan_test.go b/pkg/scanner/local/scan_test.go index ae177bb106d5..5b5b8e9fd5d3 100644 --- a/pkg/scanner/local/scan_test.go +++ b/pkg/scanner/local/scan_test.go @@ -14,7 +14,6 @@ import ( dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/dbtest" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" - fos "github.com/aquasecurity/trivy/pkg/fanal/analyzer/os" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/scanner/langpkg" "github.com/aquasecurity/trivy/pkg/scanner/ospkg" @@ -58,7 +57,7 @@ func TestScanner_Scan(t *testing.T) { Returns: ApplierApplyLayersReturns{ Detail: ftypes.ArtifactDetail{ OS: ftypes.OS{ - Family: fos.Alpine, + Family: ftypes.Alpine, Name: "3.11", }, Packages: []ftypes.Package{ @@ -94,7 +93,7 @@ func TestScanner_Scan(t *testing.T) { { Target: "alpine:latest (alpine 3.11)", Class: types.ClassOSPkg, - Type: fos.Alpine, + Type: ftypes.Alpine, Vulnerabilities: []types.DetectedVulnerability{ { VulnerabilityID: "CVE-2020-9999", @@ -216,7 +215,7 @@ func TestScanner_Scan(t *testing.T) { { Target: "alpine:latest (alpine 3.11)", Class: types.ClassOSPkg, - Type: fos.Alpine, + Type: ftypes.Alpine, Packages: []ftypes.Package{ { Name: "ausl", @@ -368,7 +367,7 @@ func TestScanner_Scan(t *testing.T) { { Target: "alpine:latest (alpine 3.11)", Class: types.ClassOSPkg, - Type: fos.Alpine, + Type: ftypes.Alpine, Packages: []ftypes.Package{ { Name: "ausl", @@ -639,7 +638,7 @@ func TestScanner_Scan(t *testing.T) { { Target: "alpine:latest (alpine 3.11)", Class: types.ClassOSPkg, - Type: fos.Alpine, + Type: ftypes.Alpine, }, { Target: "/app/Gemfile.lock", diff --git a/pkg/scanner/post/post_scan_test.go b/pkg/scanner/post/post_scan_test.go index fcb396f302d7..981f74bdfc14 100644 --- a/pkg/scanner/post/post_scan_test.go +++ b/pkg/scanner/post/post_scan_test.go @@ -6,13 +6,10 @@ import ( "testing" "github.com/stretchr/testify/assert" - - dbTypes "github.com/aquasecurity/trivy-db/pkg/types" - "github.com/stretchr/testify/require" + dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/scanner/post" - "github.com/aquasecurity/trivy/pkg/types" ) diff --git a/pkg/types/report.go b/pkg/types/report.go index ad3e32925527..13d58646b20c 100644 --- a/pkg/types/report.go +++ b/pkg/types/report.go @@ -41,13 +41,13 @@ type Compliance = string type Format string const ( - ClassOSPkg = "os-pkgs" // For detected packages and vulnerabilities in OS packages - ClassLangPkg = "lang-pkgs" // For detected packages and vulnerabilities in language-specific packages - ClassConfig = "config" // For detected misconfigurations - ClassSecret = "secret" // For detected secrets - ClassLicense = "license" // For detected package licenses - ClassLicenseFile = "license-file" // For detected licenses in files - ClassCustom = "custom" + ClassOSPkg ResultClass = "os-pkgs" // For detected packages and vulnerabilities in OS packages + ClassLangPkg ResultClass = "lang-pkgs" // For detected packages and vulnerabilities in language-specific packages + ClassConfig ResultClass = "config" // For detected misconfigurations + ClassSecret ResultClass = "secret" // For detected secrets + ClassLicense ResultClass = "license" // For detected package licenses + ClassLicenseFile ResultClass = "license-file" // For detected licenses in files + ClassCustom ResultClass = "custom" ComplianceK8sNsa = Compliance("k8s-nsa") ComplianceK8sCIS = Compliance("k8s-cis") @@ -101,7 +101,7 @@ var ( type Result struct { Target string `json:"Target"` Class ResultClass `json:"Class,omitempty"` - Type string `json:"Type,omitempty"` + Type ftypes.TargetType `json:"Type,omitempty"` Packages []ftypes.Package `json:"Packages,omitempty"` Vulnerabilities []DetectedVulnerability `json:"Vulnerabilities,omitempty"` MisconfSummary *MisconfSummary `json:"MisconfSummary,omitempty"` diff --git a/pkg/version/version_test.go b/pkg/version/version_test.go index 458b5f7b89a6..84411593541a 100644 --- a/pkg/version/version_test.go +++ b/pkg/version/version_test.go @@ -4,9 +4,10 @@ import ( "testing" "time" + "github.com/stretchr/testify/assert" + "github.com/aquasecurity/trivy-db/pkg/metadata" "github.com/aquasecurity/trivy/pkg/policy" - "github.com/stretchr/testify/assert" ) func Test_BuildVersionInfo(t *testing.T) { From df2bff9f5ecdc19146640d85700f7e18825a30bc Mon Sep 17 00:00:00 2001 From: za Date: Tue, 26 Sep 2023 02:05:22 +0700 Subject: [PATCH 022/338] Fix typo on ide.md (#5239) mange -> manage. --- docs/ecosystem/ide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ecosystem/ide.md b/docs/ecosystem/ide.md index f92aaf94c0f8..e179eb7883cd 100644 --- a/docs/ecosystem/ide.md +++ b/docs/ecosystem/ide.md @@ -34,7 +34,7 @@ Trivy Docker Desktop extension for scanning container images for vulnerabilities 👉 Get it at: ## Rancher Desktop (Community) -[Rancher Desktop](https://rancherdesktop.io/) is an easy way to use containers and Kubernetes on your development machine, and mange it in a GUI. +[Rancher Desktop](https://rancherdesktop.io/) is an easy way to use containers and Kubernetes on your development machine, and manage it in a GUI. Trivy is natively integrated with Rancher, no installation is needed. More info in Rancher documentation: From 2baad461898fead322aa4c7366df3607e2b1ad06 Mon Sep 17 00:00:00 2001 From: Nikita Pivkin Date: Tue, 26 Sep 2023 02:08:53 +0700 Subject: [PATCH 023/338] ci: bump GoReleaser from 1.16.2 to 1.20.0 (#5236) * chore: replace brews.tap with brews.repository * ci: bump GoReleaser from 1.16.2 to 1.20.0 --- .github/workflows/reusable-release.yaml | 2 +- .github/workflows/test.yaml | 2 +- goreleaser.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index 9f5c1e4b974a..9e36b69a1c83 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -93,7 +93,7 @@ jobs: - name: GoReleaser uses: goreleaser/goreleaser-action@v4 with: - version: v1.16.2 + version: v1.20.0 args: release -f=${{ inputs.goreleaser_config}} ${{ inputs.goreleaser_options}} env: GITHUB_TOKEN: ${{ secrets.ORG_REPO_TOKEN }} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index aa1df8fbb64e..6cfc3a4bbe3e 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -189,5 +189,5 @@ jobs: - name: Run GoReleaser uses: goreleaser/goreleaser-action@v4 with: - version: v1.16.2 + version: v1.20.0 args: build --snapshot --clean --timeout 90m ${{ steps.goreleaser_id.outputs.id }} diff --git a/goreleaser.yml b/goreleaser.yml index 3891f0249789..6e24883428dd 100644 --- a/goreleaser.yml +++ b/goreleaser.yml @@ -133,7 +133,7 @@ archives: brews: - - tap: + repository: owner: aquasecurity name: homebrew-trivy homepage: "https://github.com/aquasecurity/trivy" From 559c0f30b16b305cc6b79832b747fc8568af61ee Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Tue, 26 Sep 2023 12:20:54 +0600 Subject: [PATCH 024/338] chore: enable more linters (#5228) * chore: enable more linters * fix typos * ci: add `verbose` option in linter action * ci: remove `verbose` option in linter action --- .github/workflows/test.yaml | 2 +- .golangci.yaml | 16 +++++++++++++++- docs/community/contribute/pr.md | 7 ++++++- magefiles/magefile.go | 14 +++++++++++--- pkg/fanal/image/registry/google/google.go | 2 +- 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 6cfc3a4bbe3e..2970bcb9846f 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -43,7 +43,7 @@ jobs: - name: Lint uses: golangci/golangci-lint-action@v3.7.0 with: - version: v1.52 + version: v1.54 args: --deadline=30m skip-cache: true # https://github.com/golangci/golangci-lint-action/issues/244#issuecomment-1052197778 if: matrix.operating-system == 'ubuntu-latest' diff --git a/.golangci.yaml b/.golangci.yaml index 9c574718fb44..8c2914b18411 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -32,6 +32,17 @@ linters-settings: - prefix(github.com/aquasecurity/) - blank - dot + gomodguard: + blocked: + modules: + - github.com/hashicorp/go-version: + recommendations: + - github.com/aquasecurity/go-version + reason: "`aquasecurity/go-version` is designed for our use-cases" + - github.com/Masterminds/semver: + recommendations: + - github.com/aquasecurity/go-version + reason: "`aquasecurity/go-version` is designed for our use-cases" linters: disable-all: true @@ -47,12 +58,15 @@ linters: - gocyclo - gofmt - misspell + - bodyclose - gci + - gomodguard + - tenv run: go: '1.20' skip-files: - - ".*._mock.go$" + - ".*_mock.go$" - ".*_test.go$" - "integration/*" - "examples/*" diff --git a/docs/community/contribute/pr.md b/docs/community/contribute/pr.md index c6b915b198a9..2982e3cecd72 100644 --- a/docs/community/contribute/pr.md +++ b/docs/community/contribute/pr.md @@ -27,7 +27,7 @@ $ ./trivy -h You must pass the linter checks: ```shell -$ mage lint +$ mage lint:run ``` Additionally, you need to have run `go mod tidy`, so execute the following command as well: @@ -36,6 +36,11 @@ Additionally, you need to have run `go mod tidy`, so execute the following comma $ mage tidy ``` +To autofix linters use the following command: +```shell +$ mage lint:fix +``` + ### Unit tests Your PR must pass all the unit tests. You can test it as below. diff --git a/magefiles/magefile.go b/magefiles/magefile.go index ada94c878b31..f3f921d19b34 100644 --- a/magefiles/magefile.go +++ b/magefiles/magefile.go @@ -60,7 +60,7 @@ func (Tool) Wire() error { // GolangciLint installs golangci-lint func (Tool) GolangciLint() error { - const version = "v1.52.2" + const version = "v1.54.2" if exists(filepath.Join(GOBIN, "golangci-lint")) { return nil } @@ -277,12 +277,20 @@ func (Test) UpdateVMGolden() error { return sh.RunWithV(ENV, "go", "test", "-v", "-tags=vm_integration", "./integration/...", "-update") } -// Lint runs linters -func Lint() error { +type Lint mg.Namespace + +// Run runs linters +func (Lint) Run() error { mg.Deps(Tool{}.GolangciLint) return sh.RunV("golangci-lint", "run", "--timeout", "5m") } +// Fix auto fixes linters +func (Lint) Fix() error { + mg.Deps(Tool{}.GolangciLint) + return sh.RunV("golangci-lint", "run", "--timeout", "5m", "--fix") +} + // Fmt formats Go code and proto files func Fmt() error { // Check if clang-format is installed diff --git a/pkg/fanal/image/registry/google/google.go b/pkg/fanal/image/registry/google/google.go index 37182f44fecd..f4e7a7414260 100644 --- a/pkg/fanal/image/registry/google/google.go +++ b/pkg/fanal/image/registry/google/google.go @@ -34,7 +34,7 @@ func (g *Registry) CheckOptions(domain string, option types.RegistryOptions) err return nil } -func (g *Registry) GetCredential(ctx context.Context) (username, password string, err error) { +func (g *Registry) GetCredential(_ context.Context) (username, password string, err error) { var credStore store.GCRCredStore if g.Store == nil { credStore, err = store.DefaultGCRCredStore() From faf8d49c495f4aa8b178bf2079b3e84a468c9dfc Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Tue, 26 Sep 2023 14:55:23 +0600 Subject: [PATCH 025/338] refactor(purl): use TypeApk from purl (#5232) * use TypeApk from purl * refactor: some tweaks Signed-off-by: knqyf263 --------- Signed-off-by: knqyf263 Co-authored-by: knqyf263 --- pkg/purl/purl.go | 28 +++++++++++++++++----------- pkg/sbom/spdx/unmarshal.go | 2 +- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/pkg/purl/purl.go b/pkg/purl/purl.go index c1ac67902c7e..f9adf4020bfb 100644 --- a/pkg/purl/purl.go +++ b/pkg/purl/purl.go @@ -16,7 +16,6 @@ import ( ) const ( - TypeAPK = "apk" // not defined in github.com/package-url/packageurl-go TypeOCI = "oci" TypeDart = "dart" ) @@ -135,7 +134,7 @@ func (p *PackageURL) LangType() ftypes.LangType { } func (p *PackageURL) IsOSPkg() bool { - return p.Type == TypeAPK || p.Type == packageurl.TypeDebian || p.Type == packageurl.TypeRPM + return p.Type == packageurl.TypeApk || p.Type == packageurl.TypeDebian || p.Type == packageurl.TypeRPM } func (p *PackageURL) BOMRef() string { @@ -180,11 +179,10 @@ func NewPackageURL(t ftypes.TargetType, metadata types.Metadata, pkg ftypes.Pack if metadata.OS != nil { namespace = string(metadata.OS.Family) } - case TypeAPK: // TODO: replace with packageurl.TypeApk once they add it. - qualifiers = append(qualifiers, parseApk(metadata.OS)...) - if metadata.OS != nil { - namespace = string(metadata.OS.Family) - } + case packageurl.TypeApk: + var qs packageurl.Qualifiers + name, namespace, qs = parseApk(name, metadata.OS) + qualifiers = append(qualifiers, qs...) case packageurl.TypeMaven, string(ftypes.Gradle): // TODO: replace with packageurl.TypeGradle once they add it. namespace, name = parseMaven(name) case packageurl.TypePyPi: @@ -246,17 +244,25 @@ func parseOCI(metadata types.Metadata) (packageurl.PackageURL, error) { return *packageurl.NewPackageURL(packageurl.TypeOCI, "", name, digest.DigestStr(), qualifiers, ""), nil } -func parseApk(fos *ftypes.OS) packageurl.Qualifiers { +// ref. https://github.com/package-url/purl-spec/blob/master/PURL-TYPES.rst#apk +func parseApk(pkgName string, fos *ftypes.OS) (string, string, packageurl.Qualifiers) { + // the name must be lowercase + pkgName = strings.ToLower(pkgName) + if fos == nil { - return packageurl.Qualifiers{} + return pkgName, "", nil } - return packageurl.Qualifiers{ + // the namespace must be lowercase + ns := strings.ToLower(string(fos.Family)) + qs := packageurl.Qualifiers{ { Key: "distro", Value: fos.Name, }, } + + return pkgName, ns, qs } // ref. https://github.com/package-url/purl-spec/blob/a748c36ad415c8aeffe2b8a4a5d8a50d16d6d85f/PURL-TYPES.rst#deb @@ -384,7 +390,7 @@ func purlType(t ftypes.TargetType) string { case ftypes.RustBinary, ftypes.Cargo: return packageurl.TypeCargo case ftypes.Alpine: - return TypeAPK + return packageurl.TypeApk case ftypes.Debian, ftypes.Ubuntu: return packageurl.TypeDebian case ftypes.RedHat, ftypes.CentOS, ftypes.Rocky, ftypes.Alma, diff --git a/pkg/sbom/spdx/unmarshal.go b/pkg/sbom/spdx/unmarshal.go index f7dd146ee909..ff9d6c485662 100644 --- a/pkg/sbom/spdx/unmarshal.go +++ b/pkg/sbom/spdx/unmarshal.go @@ -178,7 +178,7 @@ func (s *SPDX) parsePackages(pkgs map[common.ElementID]*spdx.Package) error { return xerrors.Errorf("failed to parse package: %w", err) } switch pkgURL.Type { - case purl.TypeAPK, packageurl.TypeDebian, packageurl.TypeRPM: + case packageurl.TypeApk, packageurl.TypeDebian, packageurl.TypeRPM: osPkgs = append(osPkgs, *pkg) default: // Language-specific packages From 5b4652d796665a19f19c64deaa4df3fc5b1b486c Mon Sep 17 00:00:00 2001 From: simar7 <1254783+simar7@users.noreply.github.com> Date: Wed, 27 Sep 2023 00:43:55 -0600 Subject: [PATCH 026/338] chore(deps): Bump up defsec to v0.93.0 (#5253) --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9af3b287dba4..9e2d1c0f4881 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/NYTimes/gziphandler v1.1.1 github.com/alicebob/miniredis/v2 v2.30.4 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 - github.com/aquasecurity/defsec v0.92.0 + github.com/aquasecurity/defsec v0.93.0 github.com/aquasecurity/go-dep-parser v0.0.0-20230830122616-841bc0f812c7 github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798 diff --git a/go.sum b/go.sum index e0193d0176e6..4df0714545eb 100644 --- a/go.sum +++ b/go.sum @@ -322,8 +322,8 @@ github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6 github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30xLN2sUZcMXl50hg+PJCIDdJgIvIbVcKqLJ/ZrtM= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8= -github.com/aquasecurity/defsec v0.92.0 h1:cls2JJSQ+vb06Qh2XjnODIRfZbrTGBkBQnjgC6R5+vA= -github.com/aquasecurity/defsec v0.92.0/go.mod h1:uZIC1NjU5R49619WvZOlhWRpCEf/7KD3Lm8nDKRjq+o= +github.com/aquasecurity/defsec v0.93.0 h1:7I3A6xOa32ugsOcTDvc0FymAEbwR0HO1Jt5wYc8NmFc= +github.com/aquasecurity/defsec v0.93.0/go.mod h1:BiRuveI3ATEzIwyg6SUeU7MHuPFczAmYmFmdYQLdSSU= github.com/aquasecurity/go-dep-parser v0.0.0-20230830122616-841bc0f812c7 h1:FSfz2vfnL3EvTh04zDx4SYxKmgDbYSr8td6R8XbtbB8= github.com/aquasecurity/go-dep-parser v0.0.0-20230830122616-841bc0f812c7/go.mod h1:0+GvQF0gL4YEAAUPpNeLeGpFDxMvvIHLMd7vk9bpwko= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM= From 908a4914c7e5e23ec1a6bd96879bb0d30173005c Mon Sep 17 00:00:00 2001 From: Michel Meyer Date: Wed, 27 Sep 2023 15:17:11 +0200 Subject: [PATCH 027/338] feat(db): allow passing registry options (#5226) * feat(db): allow passing registry options Signed-off-by: Michel Meyer * feat(db): pass cli registry options to javaDB --------- Signed-off-by: Michel Meyer --- pkg/commands/artifact/run.go | 2 +- pkg/fanal/analyzer/analyzer_test.go | 2 +- .../analyzer/language/java/jar/jar_test.go | 2 +- pkg/javadb/client.go | 24 +++++++++---------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/pkg/commands/artifact/run.go b/pkg/commands/artifact/run.go index 29e02f042db3..5baa61787a57 100644 --- a/pkg/commands/artifact/run.go +++ b/pkg/commands/artifact/run.go @@ -329,7 +329,7 @@ func (r *runner) initJavaDB(opts flag.Options) error { // Update the Java DB noProgress := opts.Quiet || opts.NoProgress - javadb.Init(opts.CacheDir, opts.JavaDBRepository, opts.SkipJavaDBUpdate, noProgress, opts.Insecure) + javadb.Init(opts.CacheDir, opts.JavaDBRepository, opts.SkipJavaDBUpdate, noProgress, opts.RegistryOpts()) if opts.DownloadJavaDBOnly { if err := javadb.Update(); err != nil { return xerrors.Errorf("Java DB error: %w", err) diff --git a/pkg/fanal/analyzer/analyzer_test.go b/pkg/fanal/analyzer/analyzer_test.go index 15a2c7da36c4..d35dfd0c6227 100644 --- a/pkg/fanal/analyzer/analyzer_test.go +++ b/pkg/fanal/analyzer/analyzer_test.go @@ -614,7 +614,7 @@ func TestAnalyzerGroup_PostAnalyze(t *testing.T) { if tt.analyzerType == analyzer.TypeJar { // init java-trivy-db with skip update - javadb.Init("./language/java/jar/testdata", "ghcr.io/aquasecurity/trivy-java-db", true, false, false) + javadb.Init("./language/java/jar/testdata", "ghcr.io/aquasecurity/trivy-java-db", true, false, types.RegistryOptions{Insecure: false}) } ctx := context.Background() diff --git a/pkg/fanal/analyzer/language/java/jar/jar_test.go b/pkg/fanal/analyzer/language/java/jar/jar_test.go index 63742a3d4f62..f198c7beb041 100644 --- a/pkg/fanal/analyzer/language/java/jar/jar_test.go +++ b/pkg/fanal/analyzer/language/java/jar/jar_test.go @@ -130,7 +130,7 @@ func Test_javaLibraryAnalyzer_Analyze(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { // init java-trivy-db with skip update - javadb.Init("testdata", defaultJavaDBRepository, true, false, false) + javadb.Init("testdata", defaultJavaDBRepository, true, false, types.RegistryOptions{Insecure: false}) a := javaLibraryAnalyzer{slow: true} ctx := context.Background() diff --git a/pkg/javadb/client.go b/pkg/javadb/client.go index 78fe32ac0336..5da85342772a 100644 --- a/pkg/javadb/client.go +++ b/pkg/javadb/client.go @@ -26,11 +26,11 @@ const ( var updater *Updater type Updater struct { - repo string - dbDir string - skip bool - quiet bool - insecure bool + repo string + dbDir string + skip bool + quiet bool + registryOption ftypes.RegistryOptions } func (u *Updater) Update() error { @@ -54,7 +54,7 @@ func (u *Updater) Update() error { // TODO: support remote options var a *oci.Artifact - if a, err = oci.NewArtifact(u.repo, u.quiet, ftypes.RegistryOptions{Insecure: u.insecure}); err != nil { + if a, err = oci.NewArtifact(u.repo, u.quiet, u.registryOption); err != nil { return xerrors.Errorf("oci error: %w", err) } if err = a.Download(context.Background(), dbDir, oci.DownloadOption{MediaType: mediaType}); err != nil { @@ -79,13 +79,13 @@ func (u *Updater) Update() error { return nil } -func Init(cacheDir string, javaDBRepository string, skip, quiet, insecure bool) { +func Init(cacheDir string, javaDBRepository string, skip, quiet bool, registryOption ftypes.RegistryOptions) { updater = &Updater{ - repo: fmt.Sprintf("%s:%d", javaDBRepository, db.SchemaVersion), - dbDir: filepath.Join(cacheDir, "java-db"), - skip: skip, - quiet: quiet, - insecure: insecure, + repo: fmt.Sprintf("%s:%d", javaDBRepository, db.SchemaVersion), + dbDir: filepath.Join(cacheDir, "java-db"), + skip: skip, + quiet: quiet, + registryOption: registryOption, } } From 0ccbb4f7fdca7a4316252da6bc786e9477034bfa Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Thu, 28 Sep 2023 13:10:14 +0600 Subject: [PATCH 028/338] chore(cli): disable java-db flags in server mode (#5263) * disable java-db flag for server mode * update docs --- docs/docs/configuration/db.md | 3 ++ .../configuration/cli/trivy_server.md | 45 +++++++++---------- pkg/commands/app.go | 5 +++ 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/docs/docs/configuration/db.md b/docs/docs/configuration/db.md index b90b130ee817..562356484ae3 100644 --- a/docs/docs/configuration/db.md +++ b/docs/docs/configuration/db.md @@ -64,6 +64,9 @@ Downloading the Java index DB from an external OCI registry can be done by using $ trivy image --java-db-repository registry.gitlab.com/gitlab-org/security-products/dependencies/trivy-java-db --download-java-db-only ``` +!!! Note + In [Client/Server](../references/modes/client-server.md) mode, `Java index DB` is currently only used on the `client` side. + ## Remove DBs The `--reset` flag removes all caches and databases. diff --git a/docs/docs/references/configuration/cli/trivy_server.md b/docs/docs/references/configuration/cli/trivy_server.md index ed319ceecdd1..d53bd574a85a 100644 --- a/docs/docs/references/configuration/cli/trivy_server.md +++ b/docs/docs/references/configuration/cli/trivy_server.md @@ -20,30 +20,27 @@ trivy server [flags] ### Options ``` - --cache-backend string cache backend (e.g. redis://localhost:6379) (default "fs") - --cache-ttl duration cache TTL when using redis as cache backend - --clear-cache clear image caches without scanning - --db-repository string OCI repository to retrieve trivy-db from (default "ghcr.io/aquasecurity/trivy-db") - --download-db-only download/update vulnerability database but don't run a scan - --download-java-db-only download/update Java index database but don't run a scan - --enable-modules strings [EXPERIMENTAL] module names to enable - -h, --help help for server - --java-db-repository string OCI repository to retrieve trivy-java-db from (default "ghcr.io/aquasecurity/trivy-java-db") - --listen string listen address in server mode (default "localhost:4954") - --module-dir string specify directory to the wasm modules that will be loaded (default "$HOME/.trivy/modules") - --no-progress suppress progress bar - --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. - --redis-ca string redis ca file location, if using redis as cache backend - --redis-cert string redis certificate file location, if using redis as cache backend - --redis-key string redis key file location, if using redis as cache backend - --redis-tls enable redis TLS with public certificates, if using redis as cache backend - --registry-token string registry token - --reset remove all caches and database - --skip-db-update skip updating vulnerability database - --skip-java-db-update skip updating Java index database - --token string for authentication in client/server mode - --token-header string specify a header name for token in client/server mode (default "Trivy-Token") - --username strings username. Comma-separated usernames allowed. + --cache-backend string cache backend (e.g. redis://localhost:6379) (default "fs") + --cache-ttl duration cache TTL when using redis as cache backend + --clear-cache clear image caches without scanning + --db-repository string OCI repository to retrieve trivy-db from (default "ghcr.io/aquasecurity/trivy-db") + --download-db-only download/update vulnerability database but don't run a scan + --enable-modules strings [EXPERIMENTAL] module names to enable + -h, --help help for server + --listen string listen address in server mode (default "localhost:4954") + --module-dir string specify directory to the wasm modules that will be loaded (default "$HOME/.trivy/modules") + --no-progress suppress progress bar + --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. + --redis-ca string redis ca file location, if using redis as cache backend + --redis-cert string redis certificate file location, if using redis as cache backend + --redis-key string redis key file location, if using redis as cache backend + --redis-tls enable redis TLS with public certificates, if using redis as cache backend + --registry-token string registry token + --reset remove all caches and database + --skip-db-update skip updating vulnerability database + --token string for authentication in client/server mode + --token-header string specify a header name for token in client/server mode (default "Trivy-Token") + --username strings username. Comma-separated usernames allowed. ``` ### Options inherited from parent commands diff --git a/pkg/commands/app.go b/pkg/commands/app.go index c546d605aaa4..7c0200b7af44 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -582,6 +582,11 @@ func NewServerCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { RegistryFlagGroup: flag.NewRegistryFlagGroup(), } + // java-db only works on client side. + serverFlags.DBFlagGroup.DownloadJavaDBOnly = nil // disable '--download-java-db-only' + serverFlags.DBFlagGroup.SkipJavaDBUpdate = nil // disable '--skip-java-db-update' + serverFlags.DBFlagGroup.JavaDBRepository = nil // disable '--java-db-repository' + cmd := &cobra.Command{ Use: "server [flags]", Aliases: []string{"s"}, From 0c08dde015fa6916dd4997b809bdb1bfd1f08932 Mon Sep 17 00:00:00 2001 From: simar7 <1254783+simar7@users.noreply.github.com> Date: Thu, 28 Sep 2023 01:12:47 -0600 Subject: [PATCH 029/338] chore: Add line numbers for lint output (#5247) * fix(github): Add line numbers for lint output * correctional message check * update messaging --- .github/workflows/test.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 2970bcb9846f..cad6d9a748ab 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -41,13 +41,20 @@ jobs: if: matrix.operating-system == 'ubuntu-latest' - name: Lint + id: lint uses: golangci/golangci-lint-action@v3.7.0 with: version: v1.54 - args: --deadline=30m + args: --deadline=30m --out-format=line-number skip-cache: true # https://github.com/golangci/golangci-lint-action/issues/244#issuecomment-1052197778 if: matrix.operating-system == 'ubuntu-latest' + - name: Check if linter failed + run: | + echo "Linter failed, running 'mage lint:fix' might help to correct some errors" + exit 1 + if: ${{ failure() && steps.lint.conclusion == 'failure' }} + - name: Install tools uses: aquaproj/aqua-installer@v2.1.2 with: From 5c18475f375ddc29ea843873594db86774543404 Mon Sep 17 00:00:00 2001 From: Itay Shakury Date: Thu, 28 Sep 2023 10:15:48 +0300 Subject: [PATCH 030/338] docs: correctly export variables (#5260) missing = in variable definition --- docs/docs/advanced/private-registries/acr.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/docs/advanced/private-registries/acr.md b/docs/docs/advanced/private-registries/acr.md index f6e02a683b71..df960697af3b 100644 --- a/docs/docs/advanced/private-registries/acr.md +++ b/docs/docs/advanced/private-registries/acr.md @@ -12,16 +12,16 @@ export SP_DATA=$(az ad sp create-for-rbac --name TrivyTest --role AcrPull --scop # Usage ```bash # must set TRIVY_USERNAME empty char -export AZURE_CLIENT_ID$(echo $SP_DATA | jq -r .appId) -export AZURE_CLIENT_SECRET$(echo $SP_DATA | jq -r .password) -export AZURE_TENANT_ID$(echo $SP_DATA | jq -r .tenant) +export AZURE_CLIENT_ID=$(echo $SP_DATA | jq -r '.appId') +export AZURE_CLIENT_SECRET=$(echo $SP_DATA | jq -r '.password') +export AZURE_TENANT_ID=$(echo $SP_DATA | jq -r '.tenant') ``` # Testing You can test credentials in the following manner. ```bash -docker run -it --rm -v /tmp:/tmp\ - -e AZURE_CLIENT_ID=${AZURE_CLIENT_ID} -e AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET} \ - -e AZURE_TENANT_ID=${AZURE_TENANT_ID} aquasec/trivy image your_special_project.azurecr.io/your_special_image:your_special_tag +docker run -it --rm -v /tmp:/tmp \ + -e AZURE_CLIENT_ID -e AZURE_CLIENT_SECRET -e AZURE_TENANT_ID \ + aquasec/trivy image your_special_project.azurecr.io/your_special_image:your_special_tag ``` From 3dd5b1e946549da203d9cdee5a1cc4c1edf57004 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Thu, 28 Sep 2023 14:13:31 +0600 Subject: [PATCH 031/338] feat(dotnet): add license support for NuGet (#5217) * add nuspec files support * docs: docs, log messages, comments refactoring * save found licences to use next time * refactor * refactor * fix typo --- docs/docs/coverage/language/dotnet.md | 21 ++- .../analyzer/language/dotnet/nuget/nuget.go | 82 +++++++++-- .../language/dotnet/nuget/nuget_test.go | 134 +++++++++++++----- .../analyzer/language/dotnet/nuget/nuspec.go | 82 +++++++++++ .../testdata/{ => config}/packages.config | 0 .../testdata/{ => lock}/packages.lock.json | 0 .../12.0.3/newtonsoft.json.nuspec | 42 ++++++ .../6.0.4/newtonsoft.json.nuspec | 16 +++ .../5.7.0/nuget.frameworks.nuspec | 23 +++ .../nuget/testdata/{ => sad}/invalid.txt | 0 10 files changed, 349 insertions(+), 51 deletions(-) create mode 100644 pkg/fanal/analyzer/language/dotnet/nuget/nuspec.go rename pkg/fanal/analyzer/language/dotnet/nuget/testdata/{ => config}/packages.config (100%) rename pkg/fanal/analyzer/language/dotnet/nuget/testdata/{ => lock}/packages.lock.json (100%) create mode 100755 pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/newtonsoft.json/12.0.3/newtonsoft.json.nuspec create mode 100755 pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/newtonsoft.json/6.0.4/newtonsoft.json.nuspec create mode 100755 pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/nuget.frameworks/5.7.0/nuget.frameworks.nuspec rename pkg/fanal/analyzer/language/dotnet/nuget/testdata/{ => sad}/invalid.txt (100%) diff --git a/docs/docs/coverage/language/dotnet.md b/docs/docs/coverage/language/dotnet.md index b8373612972c..c5251b4ab20e 100644 --- a/docs/docs/coverage/language/dotnet.md +++ b/docs/docs/coverage/language/dotnet.md @@ -7,7 +7,7 @@ The following scanners are supported. | Artifact | SBOM | Vulnerability | License | |-----------|:----:|:-------------:|:-------:| | .Net Core | ✓ | ✓ | - | -| NuGet | ✓ | ✓ | - | +| NuGet | ✓ | ✓ | ✓ | The following table provides an outline of the features Trivy offers. @@ -17,18 +17,31 @@ The following table provides an outline of the features Trivy offers. | NuGet | packages.config | ✓ | Excluded | - | - | | NuGet | packages.lock.json | ✓ | Included | ✓ | ✓ | -### *.deps.json +## *.deps.json Trivy parses `*.deps.json` files. Trivy currently excludes dev dependencies from the report. -### packages.config +## packages.config Trivy only finds dependency names and versions from `packages.config` files. To build dependency graph, it is better to use `packages.lock.json` files. -### packages.lock.json +### license detection +`packages.config` files don't have information about the licenses used. +Trivy uses [*.nuspec][nuspec] files from [global packages folder][global-packages] to detect licenses. +!!! note + The `licenseUrl` field is [deprecated][license-url]. Trivy doesn't parse this field and only checks the [license] field (license `expression` type only). +Currently only the default path and `NUGET_PACKAGES` environment variable are supported. + +## packages.lock.json Don't forgot to [enable][enable-lock] lock files in your project. !!! tip Please make sure your lock file is up-to-date after modifying dependencies. +### license detection +Same as [packages.config](#license-detection) [enable-lock]: https://learn.microsoft.com/en-us/nuget/consume-packages/package-references-in-project-files#enabling-the-lock-file [dependency-graph]: ../../configuration/reporting.md#show-origins-of-vulnerable-dependencies +[nuspec]: https://learn.microsoft.com/en-us/nuget/reference/nuspec +[global-packages]: https://learn.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders +[license]: https://learn.microsoft.com/en-us/nuget/reference/nuspec#license +[license-url]: https://learn.microsoft.com/en-us/nuget/reference/nuspec#licenseurl diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go b/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go index f53f2da274e2..045241db73d6 100644 --- a/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go +++ b/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go @@ -2,58 +2,110 @@ package nuget import ( "context" + "errors" + "io" + "io/fs" "os" "path/filepath" + "sort" "golang.org/x/exp/slices" "golang.org/x/xerrors" "github.com/aquasecurity/go-dep-parser/pkg/nuget/config" "github.com/aquasecurity/go-dep-parser/pkg/nuget/lock" + godeptypes "github.com/aquasecurity/go-dep-parser/pkg/types" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/analyzer/language" "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/utils/fsutils" ) func init() { - analyzer.RegisterAnalyzer(&nugetLibraryAnalyzer{}) + analyzer.RegisterPostAnalyzer(analyzer.TypeNuget, newNugetLibraryAnalyzer) } const ( - version = 2 + version = 3 lockFile = types.NuGetPkgsLock configFile = types.NuGetPkgsConfig ) var requiredFiles = []string{lockFile, configFile} -type nugetLibraryAnalyzer struct{} +type nugetLibraryAnalyzer struct { + lockParser godeptypes.Parser + configParser godeptypes.Parser + licenseParser nuspecParser +} + +func newNugetLibraryAnalyzer(_ analyzer.AnalyzerOptions) (analyzer.PostAnalyzer, error) { + return &nugetLibraryAnalyzer{ + lockParser: lock.NewParser(), + configParser: config.NewParser(), + licenseParser: newNuspecParser(), + }, nil +} -func (a nugetLibraryAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInput) (*analyzer.AnalysisResult, error) { - // Set the default parser - parser := lock.NewParser() +func (a *nugetLibraryAnalyzer) PostAnalyze(_ context.Context, input analyzer.PostAnalysisInput) (*analyzer.AnalysisResult, error) { + var apps []types.Application + foundLicenses := make(map[string][]string) - targetFile := filepath.Base(input.FilePath) - if targetFile == configFile { - parser = config.NewParser() + // We saved only config and lock files in the FS, + // so we need to parse all saved files + required := func(path string, d fs.DirEntry) bool { + return true } - res, err := language.Analyze(types.NuGet, input.FilePath, input.Content, parser) + err := fsutils.WalkDir(input.FS, ".", required, func(path string, d fs.DirEntry, r io.Reader) error { + // Set the default parser + parser := a.lockParser + + targetFile := filepath.Base(path) + if targetFile == configFile { + parser = a.configParser + } + + app, err := language.Parse(types.NuGet, path, r, parser) + if err != nil { + return xerrors.Errorf("NuGet parse error: %w", err) + } + + for i, lib := range app.Libraries { + license, ok := foundLicenses[lib.ID] + if !ok { + license, err = a.licenseParser.findLicense(lib.Name, lib.Version) + if err != nil && !errors.Is(err, fs.ErrNotExist) { + return xerrors.Errorf("license find error: %w", err) + } + foundLicenses[lib.ID] = license + } + + app.Libraries[i].Licenses = license + } + + sort.Sort(app.Libraries) + apps = append(apps, *app) + return nil + }) if err != nil { - return nil, xerrors.Errorf("NuGet analysis error: %w", err) + return nil, xerrors.Errorf("NuGet walk error: %w", err) } - return res, nil + + return &analyzer.AnalysisResult{ + Applications: apps, + }, nil } -func (a nugetLibraryAnalyzer) Required(filePath string, _ os.FileInfo) bool { +func (a *nugetLibraryAnalyzer) Required(filePath string, _ os.FileInfo) bool { fileName := filepath.Base(filePath) return slices.Contains(requiredFiles, fileName) } -func (a nugetLibraryAnalyzer) Type() analyzer.Type { +func (a *nugetLibraryAnalyzer) Type() analyzer.Type { return analyzer.TypeNuget } -func (a nugetLibraryAnalyzer) Version() int { +func (a *nugetLibraryAnalyzer) Version() int { return version } diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/nuget_test.go b/pkg/fanal/analyzer/language/dotnet/nuget/nuget_test.go index 72ea517c96fa..7dae7368e115 100644 --- a/pkg/fanal/analyzer/language/dotnet/nuget/nuget_test.go +++ b/pkg/fanal/analyzer/language/dotnet/nuget/nuget_test.go @@ -3,7 +3,6 @@ package nuget import ( "context" "os" - "sort" "testing" "github.com/stretchr/testify/assert" @@ -15,19 +14,22 @@ import ( func Test_nugetibraryAnalyzer_Analyze(t *testing.T) { tests := []struct { - name string - inputFile string - want *analyzer.AnalysisResult - wantErr string + name string + dir string + env map[string]string + want *analyzer.AnalysisResult }{ { - name: "happy path config file", - inputFile: "testdata/packages.config", + name: "happy path config file.", + dir: "testdata/config", + env: map[string]string{ + "HOME": "testdata/repository", + }, want: &analyzer.AnalysisResult{ Applications: []types.Application{ { Type: types.NuGet, - FilePath: "testdata/packages.config", + FilePath: "packages.config", Libraries: types.Packages{ { Name: "Microsoft.AspNet.WebApi", @@ -43,13 +45,57 @@ func Test_nugetibraryAnalyzer_Analyze(t *testing.T) { }, }, { - name: "happy path lock file", - inputFile: "testdata/packages.lock.json", + name: "happy path lock file.", + dir: "testdata/lock", + env: map[string]string{ + "HOME": "testdata/repository", + }, + want: &analyzer.AnalysisResult{ + Applications: []types.Application{ + { + Type: types.NuGet, + FilePath: "packages.lock.json", + Libraries: types.Packages{ + { + ID: "Newtonsoft.Json@12.0.3", + Name: "Newtonsoft.Json", + Version: "12.0.3", + Locations: []types.Location{ + { + StartLine: 5, + EndLine: 10, + }, + }, + Licenses: []string{"MIT"}, + }, + { + ID: "NuGet.Frameworks@5.7.0", + Name: "NuGet.Frameworks", + Version: "5.7.0", + Locations: []types.Location{ + { + StartLine: 11, + EndLine: 19, + }, + }, + DependsOn: []string{"Newtonsoft.Json@12.0.3"}, + }, + }, + }, + }, + }, + }, + { + name: "happy path lock file. `NUGET_PACKAGES` env is used", + dir: "testdata/lock", + env: map[string]string{ + "NUGET_PACKAGES": "testdata/repository/.nuget/packages", + }, want: &analyzer.AnalysisResult{ Applications: []types.Application{ { Type: types.NuGet, - FilePath: "testdata/packages.lock.json", + FilePath: "packages.lock.json", Libraries: types.Packages{ { ID: "Newtonsoft.Json@12.0.3", @@ -61,6 +107,7 @@ func Test_nugetibraryAnalyzer_Analyze(t *testing.T) { EndLine: 10, }, }, + Licenses: []string{"MIT"}, }, { ID: "NuGet.Frameworks@5.7.0", @@ -80,35 +127,58 @@ func Test_nugetibraryAnalyzer_Analyze(t *testing.T) { }, }, { - name: "sad path", - inputFile: "testdata/invalid.txt", - wantErr: "NuGet analysis error", + name: "happy path lock file. `.nuget` directory doesn't exist", + dir: "testdata/lock", + env: map[string]string{ + "HOME": "testdata/invalid", + }, + want: &analyzer.AnalysisResult{ + Applications: []types.Application{ + { + Type: types.NuGet, + FilePath: "packages.lock.json", + Libraries: types.Packages{ + { + ID: "Newtonsoft.Json@12.0.3", + Name: "Newtonsoft.Json", + Version: "12.0.3", + Locations: []types.Location{ + { + StartLine: 5, + EndLine: 10, + }, + }, + }, + { + ID: "NuGet.Frameworks@5.7.0", + Name: "NuGet.Frameworks", + Version: "5.7.0", + Locations: []types.Location{ + { + StartLine: 11, + EndLine: 19, + }, + }, + DependsOn: []string{"Newtonsoft.Json@12.0.3"}, + }, + }, + }, + }, + }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - f, err := os.Open(tt.inputFile) + for env, path := range tt.env { + t.Setenv(env, path) + } + a, err := newNugetLibraryAnalyzer(analyzer.AnalyzerOptions{}) require.NoError(t, err) - defer f.Close() - a := nugetLibraryAnalyzer{} - ctx := context.Background() - got, err := a.Analyze(ctx, analyzer.AnalysisInput{ - FilePath: tt.inputFile, - Content: f, + got, err := a.PostAnalyze(context.Background(), analyzer.PostAnalysisInput{ + FS: os.DirFS(tt.dir), }) - if tt.wantErr != "" { - require.NotNil(t, err) - assert.Contains(t, err.Error(), tt.wantErr) - return - } - - // Sort libraries for consistency - for _, app := range got.Applications { - sort.Sort(app.Libraries) - } - assert.NoError(t, err) assert.Equal(t, tt.want, got) }) diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/nuspec.go b/pkg/fanal/analyzer/language/dotnet/nuget/nuspec.go new file mode 100644 index 000000000000..edefec61ed16 --- /dev/null +++ b/pkg/fanal/analyzer/language/dotnet/nuget/nuspec.go @@ -0,0 +1,82 @@ +package nuget + +import ( + "encoding/xml" + "fmt" + "os" + "path/filepath" + "strings" + + "golang.org/x/xerrors" + + "github.com/aquasecurity/trivy/pkg/log" + "github.com/aquasecurity/trivy/pkg/utils/fsutils" +) + +const nuspecExt = "nuspec" + +// https://learn.microsoft.com/en-us/nuget/reference/nuspec +type Package struct { + Metadata Metadata `xml:"metadata"` +} + +type Metadata struct { + License License `xml:"license"` +} + +type License struct { + Text string `xml:",chardata"` + Type string `xml:"type,attr"` +} + +type nuspecParser struct { + packagesDir string // global packages folder - https: //learn.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders +} + +func newNuspecParser() nuspecParser { + // https: //learn.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders + packagesDir := os.Getenv("NUGET_PACKAGES") + if packagesDir == "" { + packagesDir = filepath.Join(os.Getenv("HOME"), ".nuget", "packages") + } + + if !fsutils.DirExists(packagesDir) { + log.Logger.Debugf("The nuget packages directory couldn't be found. License search disabled") + return nuspecParser{} + } + + return nuspecParser{ + packagesDir: packagesDir, + } +} + +func (p nuspecParser) findLicense(name, version string) ([]string, error) { + if p.packagesDir == "" { + return nil, nil + } + + // package path uses lowercase letters only + // e.g. `$HOME/.nuget/packages/newtonsoft.json/13.0.3/newtonsoft.json.nuspec` + // for `Newtonsoft.Json` v13.0.3 + name = strings.ToLower(name) + version = strings.ToLower(version) + + nuspecFileName := fmt.Sprintf("%s.%s", name, nuspecExt) + path := filepath.Join(p.packagesDir, name, version, nuspecFileName) + + f, err := os.Open(path) + if err != nil { + return nil, xerrors.Errorf("unable to open %q file: %w", path, err) + } + defer func() { _ = f.Close() }() + + var pkg Package + if err = xml.NewDecoder(f).Decode(&pkg); err != nil { + return nil, xerrors.Errorf("unable to decode %q file: %w", path, err) + } + + if license := pkg.Metadata.License; license.Type != "expression" || license.Text == "" { + return nil, nil + } + return []string{pkg.Metadata.License.Text}, nil +} diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/testdata/packages.config b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/config/packages.config similarity index 100% rename from pkg/fanal/analyzer/language/dotnet/nuget/testdata/packages.config rename to pkg/fanal/analyzer/language/dotnet/nuget/testdata/config/packages.config diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/testdata/packages.lock.json b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/lock/packages.lock.json similarity index 100% rename from pkg/fanal/analyzer/language/dotnet/nuget/testdata/packages.lock.json rename to pkg/fanal/analyzer/language/dotnet/nuget/testdata/lock/packages.lock.json diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/newtonsoft.json/12.0.3/newtonsoft.json.nuspec b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/newtonsoft.json/12.0.3/newtonsoft.json.nuspec new file mode 100755 index 000000000000..c215566e4e41 --- /dev/null +++ b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/newtonsoft.json/12.0.3/newtonsoft.json.nuspec @@ -0,0 +1,42 @@ + + + + Newtonsoft.Json + 12.0.3 + Json.NET + James Newton-King + James Newton-King + false + MIT + https://licenses.nuget.org/MIT + packageIcon.png + https://www.newtonsoft.com/json + Json.NET is a popular high-performance JSON framework for .NET + Copyright © James Newton-King 2008 + json + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/newtonsoft.json/6.0.4/newtonsoft.json.nuspec b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/newtonsoft.json/6.0.4/newtonsoft.json.nuspec new file mode 100755 index 000000000000..4f361ab9c2d5 --- /dev/null +++ b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/newtonsoft.json/6.0.4/newtonsoft.json.nuspec @@ -0,0 +1,16 @@ + + + + Newtonsoft.Json + 6.0.4 + Json.NET + James Newton-King + James Newton-King + https://raw.github.com/JamesNK/Newtonsoft.Json/master/LICENSE.md + http://james.newtonking.com/json + false + Json.NET is a popular high-performance JSON framework for .NET + en-US + json + + \ No newline at end of file diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/nuget.frameworks/5.7.0/nuget.frameworks.nuspec b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/nuget.frameworks/5.7.0/nuget.frameworks.nuspec new file mode 100755 index 000000000000..21ad4997758e --- /dev/null +++ b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/repository/.nuget/packages/nuget.frameworks/5.7.0/nuget.frameworks.nuspec @@ -0,0 +1,23 @@ + + + + NuGet.Frameworks + 5.7.0+b804bf4ba62c0b47c77bbf3e22e196b57cd7a556 + Microsoft + Microsoft + true + LICENSE.txt + https://aka.ms/nugetprj + https://raw.githubusercontent.com/NuGet/Media/master/Images/MainLogo/256x256/nuget_256.png + NuGet's understanding of target frameworks. + © Microsoft Corporation. All rights reserved. + nuget + true + + + + + + + + \ No newline at end of file diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/testdata/invalid.txt b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/sad/invalid.txt similarity index 100% rename from pkg/fanal/analyzer/language/dotnet/nuget/testdata/invalid.txt rename to pkg/fanal/analyzer/language/dotnet/nuget/testdata/sad/invalid.txt From 562723f0a701f3aaf7d1aa16bdea490209af5bfa Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Fri, 29 Sep 2023 00:40:45 +0600 Subject: [PATCH 032/338] docs: add info about `github` format (#5265) * docs: add info about github format * rename `GitHub SBOM` to `GitHub dependency snapshots` --- docs/docs/configuration/reporting.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/docs/configuration/reporting.md b/docs/docs/configuration/reporting.md index 3bd69d1c388a..951fd779cd55 100644 --- a/docs/docs/configuration/reporting.md +++ b/docs/docs/configuration/reporting.md @@ -8,6 +8,7 @@ Trivy supports the following formats: - [SARIF](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning) - Template - SBOM +- GitHub dependency snapshot ### Table (Default) @@ -258,6 +259,20 @@ $ trivy image --format sarif -o report.sarif golang:1.12-alpine This SARIF file can be uploaded to GitHub code scanning results, and there is a [Trivy GitHub Action][action] for automating this process. +### GitHub dependency snapshot +Trivy supports the following packages. + +- [OS packages][os_packages] +- [Language-specific packages][language_packages] + +[GitHub dependency snapshots][github-sbom] can be generated with the `--format github` flag. + +``` +$ trivy image --format github -o report.gsbom alpine +``` + +This snapshot file can be [submitted][github-sbom-submit] to your GitHub repository. + ### Template | Scanner | Supported | @@ -389,3 +404,8 @@ $ trivy convert --format table --severity CRITICAL result.json [asff]: ../../tutorials/integrations/aws-security-hub.md [sarif]: https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/managing-results-from-code-scanning [sprig]: http://masterminds.github.io/sprig/ +[github-sbom]: https://docs.github.com/en/rest/dependency-graph/dependency-submission?apiVersion=2022-11-28#about-dependency-submissions +[github-sbom-submit]: https://docs.github.com/en/rest/dependency-graph/dependency-submission?apiVersion=2022-11-28#create-a-snapshot-of-dependencies-for-a-repository + +[os_packages]: ../scanner/vulnerability.md#os-packages +[language_packages]: ../scanner/vulnerability.md#language-specific-packages \ No newline at end of file From c5ae9f265f35d10b95229b81fcef92781f56e528 Mon Sep 17 00:00:00 2001 From: Erik McKelvey Date: Sun, 1 Oct 2023 00:27:47 -0700 Subject: [PATCH 033/338] typo: in secret.md (#5281) --- docs/docs/scanner/secret.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/scanner/secret.md b/docs/docs/scanner/secret.md index 8ee21d45615c..49d8c8488ece 100644 --- a/docs/docs/scanner/secret.md +++ b/docs/docs/scanner/secret.md @@ -96,7 +96,7 @@ If the file doesn't exist, only built-in rules are used. You can customize the config file path via the `--secret-config` flag. !!! warning - Trivy uses [Golang regexp package](https://pkg.go.dev/regexp/syntax#hdr-Syntax). To use `^` and `$` as simbols of begin and end of line use multi-line mode -`(?m)`. + Trivy uses [Golang regexp package](https://pkg.go.dev/regexp/syntax#hdr-Syntax). To use `^` and `$` as symbols of begin and end of line use multi-line mode -`(?m)`. ### Custom Rules Trivy allows defining custom rules. From 184058470391eed635ab5f89b0ffdce5f3e6bd5e Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Sun, 1 Oct 2023 13:36:59 +0600 Subject: [PATCH 034/338] add app nil check (#5274) --- .../analyzer/language/dotnet/nuget/nuget.go | 5 +++++ .../analyzer/language/dotnet/nuget/nuget_test.go | 16 ++++++++++++++++ .../lock-without-deps/packages.lock.json | 6 ++++++ 3 files changed, 27 insertions(+) create mode 100644 pkg/fanal/analyzer/language/dotnet/nuget/testdata/lock-without-deps/packages.lock.json diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go b/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go index 045241db73d6..b7303bcc4d89 100644 --- a/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go +++ b/pkg/fanal/analyzer/language/dotnet/nuget/nuget.go @@ -71,6 +71,11 @@ func (a *nugetLibraryAnalyzer) PostAnalyze(_ context.Context, input analyzer.Pos return xerrors.Errorf("NuGet parse error: %w", err) } + // nuget file doesn't contain dependencies + if app == nil { + return nil + } + for i, lib := range app.Libraries { license, ok := foundLicenses[lib.ID] if !ok { diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/nuget_test.go b/pkg/fanal/analyzer/language/dotnet/nuget/nuget_test.go index 7dae7368e115..3db74b377fc3 100644 --- a/pkg/fanal/analyzer/language/dotnet/nuget/nuget_test.go +++ b/pkg/fanal/analyzer/language/dotnet/nuget/nuget_test.go @@ -166,6 +166,22 @@ func Test_nugetibraryAnalyzer_Analyze(t *testing.T) { }, }, }, + { + name: "happy path lock file without dependencies.", + dir: "testdata/lock-without-deps", + env: map[string]string{ + "HOME": "testdata/repository", + }, + want: &analyzer.AnalysisResult{}, + }, + { + name: "sad path", + dir: "testdata/sad", + env: map[string]string{ + "HOME": "testdata/repository", + }, + want: &analyzer.AnalysisResult{}, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/testdata/lock-without-deps/packages.lock.json b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/lock-without-deps/packages.lock.json new file mode 100644 index 000000000000..2fca7fd98a29 --- /dev/null +++ b/pkg/fanal/analyzer/language/dotnet/nuget/testdata/lock-without-deps/packages.lock.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "dependencies": { + "net6.0": {} + } +} \ No newline at end of file From 4217cffb5afc17d019f370913c086eb4d8e6e92f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 17:30:33 +0000 Subject: [PATCH 035/338] chore(deps): bump golang.org/x/term from 0.11.0 to 0.12.0 (#5296) Bumps [golang.org/x/term](https://github.com/golang/term) from 0.11.0 to 0.12.0. - [Commits](https://github.com/golang/term/compare/v0.11.0...v0.12.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 9e2d1c0f4881..acef51a4b67f 100644 --- a/go.mod +++ b/go.mod @@ -98,7 +98,7 @@ require ( golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 golang.org/x/mod v0.12.0 golang.org/x/sync v0.3.0 - golang.org/x/term v0.11.0 + golang.org/x/term v0.12.0 golang.org/x/text v0.12.0 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 google.golang.org/protobuf v1.31.0 @@ -359,7 +359,7 @@ require ( golang.org/x/crypto v0.12.0 // indirect golang.org/x/net v0.14.0 // indirect golang.org/x/oauth2 v0.8.0 // indirect - golang.org/x/sys v0.11.0 // indirect + golang.org/x/sys v0.12.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.10.0 // indirect google.golang.org/api v0.122.0 // indirect diff --git a/go.sum b/go.sum index 4df0714545eb..28ff18f1d118 100644 --- a/go.sum +++ b/go.sum @@ -2104,8 +2104,8 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2114,8 +2114,8 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From 6ab2bdfa7c7aac2d88decca5e758c18d6b0a6dad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 17:43:34 +0000 Subject: [PATCH 036/338] chore(deps): bump github.com/owenrumney/go-sarif/v2 from 2.2.0 to 2.2.2 (#5297) Bumps [github.com/owenrumney/go-sarif/v2](https://github.com/owenrumney/go-sarif) from 2.2.0 to 2.2.2. - [Release notes](https://github.com/owenrumney/go-sarif/releases) - [Changelog](https://github.com/owenrumney/go-sarif/blob/main/.goreleaser.yml) - [Commits](https://github.com/owenrumney/go-sarif/compare/v2.2.0...v2.2.2) --- updated-dependencies: - dependency-name: github.com/owenrumney/go-sarif/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index acef51a4b67f..b69f16f2b065 100644 --- a/go.mod +++ b/go.mod @@ -73,7 +73,7 @@ require ( github.com/opencontainers/go-digest v1.0.0 github.com/opencontainers/image-spec v1.1.0-rc4 github.com/openvex/go-vex v0.2.5 - github.com/owenrumney/go-sarif/v2 v2.2.0 + github.com/owenrumney/go-sarif/v2 v2.2.2 github.com/package-url/packageurl-go v0.1.2-0.20230812223828-f8bb31c1f10b github.com/samber/lo v1.38.1 github.com/saracen/walker v0.1.3 diff --git a/go.sum b/go.sum index 28ff18f1d118..030d34a55cac 100644 --- a/go.sum +++ b/go.sum @@ -1460,8 +1460,8 @@ github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYr github.com/openvex/go-vex v0.2.5 h1:41utdp2rHgAGCsG+UbjmfMG5CWQxs15nGqir1eRgSrQ= github.com/openvex/go-vex v0.2.5/go.mod h1:j+oadBxSUELkrKh4NfNb+BPo77U3q7gdKME88IO/0Wo= github.com/owenrumney/go-sarif v1.1.1/go.mod h1:dNDiPlF04ESR/6fHlPyq7gHKmrM0sHUvAGjsoh8ZH0U= -github.com/owenrumney/go-sarif/v2 v2.2.0 h1:1DmZaijK0HBZCR1fgcDSGa7VzYkU9NDmbZ7qC2QfUjE= -github.com/owenrumney/go-sarif/v2 v2.2.0/go.mod h1:MSqMMx9WqlBSY7pXoOZWgEsVB4FDNfhcaXDA1j6Sr+w= +github.com/owenrumney/go-sarif/v2 v2.2.2 h1:x2acaiiAW9hu+78wbEYBRGLk5nRtHmkv7HeUsKvblwc= +github.com/owenrumney/go-sarif/v2 v2.2.2/go.mod h1:MSqMMx9WqlBSY7pXoOZWgEsVB4FDNfhcaXDA1j6Sr+w= github.com/owenrumney/squealer v1.1.1 h1:e+fg29IxdNARSc4s7CbYnqVSepm9eOqErLNNNR5XbAs= github.com/owenrumney/squealer v1.1.1/go.mod h1:Q5ekVoyFSG2FlnCVIBGsyk/FSMA/ATv8PtwKIVX7t/o= github.com/package-url/packageurl-go v0.1.2-0.20230812223828-f8bb31c1f10b h1:mUXbYcE4/ZAh9uto21SUH+FL/RGmD0OGYci9JX66jDc= From 4f1d576e5a9a997a5ffd77e13e53859ea9c50b6f Mon Sep 17 00:00:00 2001 From: PranitRout07 <102309095+PranitRout07@users.noreply.github.com> Date: Sun, 1 Oct 2023 23:43:12 +0530 Subject: [PATCH 037/338] Improve the meaning of sentence (#5301) Sentence has incomplete meaning . Go to this link to see the issue: https://aquasecurity.github.io/trivy/v0.45/tutorials/kubernetes/gitops/ --- docs/tutorials/kubernetes/gitops.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/kubernetes/gitops.md b/docs/tutorials/kubernetes/gitops.md index ae1a713c6bfc..b5a30ff47450 100644 --- a/docs/tutorials/kubernetes/gitops.md +++ b/docs/tutorials/kubernetes/gitops.md @@ -41,7 +41,7 @@ spec: selfHeal: true ``` -The apply the Kubernetes manifest. If you have the manifest locally, you can use the following command through kubectl: +To apply the Kubernetes manifest, if you have the manifest locally, you can use the following command through kubectl: ``` > kubectl apply -f trivy-operator.yaml From 23b5fece08a5781e0a41519287af81f96d2a4304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ignacio=20=C3=8D=C3=B1igo=20Hern=C3=A1ndez?= Date: Mon, 2 Oct 2023 07:17:43 +0200 Subject: [PATCH 038/338] fix(report): removes git::http from uri in sarif (#5244) * fix(sarif): removes git::http from uri in sarif * fix(sarif): removes git::http from uri in sarif ## Description ## Related issues - Fixes https://github.com/aquasecurity/trivy/issues/5003 ## Checklist - [ ] I've read the [guidelines for contributing](https://aquasecurity.github.io/trivy/latest/community/contribute/pr/) to this repository. - [ ] I've followed the [conventions](https://aquasecurity.github.io/trivy/latest/community/contribute/pr/#title) in the PR title. - [ ] I've added tests that prove my fix is effective or that my feature works. - [ ] I've updated the [documentation](https://github.com/aquasecurity/trivy/blob/main/docs) with the relevant information (if needed). - [ ] I've added usage information (if the PR introduces new options) - [ ] I've included a "before" and "after" example to the description (if the PR is a user interface change). * fix lint --------- Co-authored-by: Simar --- pkg/report/sarif.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/report/sarif.go b/pkg/report/sarif.go index 724691e77886..11b452867efe 100644 --- a/pkg/report/sarif.go +++ b/pkg/report/sarif.go @@ -337,7 +337,7 @@ func ToPathUri(input string, resultClass types.ResultClass) string { input = ref.Context().RepositoryStr() } - return strings.ReplaceAll(input, "\\", "/") + return strings.ReplaceAll(strings.ReplaceAll(input, "\\", "/"), "git::https:/", "") } func (sw *SarifWriter) getLocations(name, version, path string, pkgs []ftypes.Package) []location { From 0bf2a11a2ec556c2360d0174959946e33e6b9207 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 08:18:09 +0300 Subject: [PATCH 039/338] chore(deps): bump github.com/opencontainers/image-spec (#5295) Bumps [github.com/opencontainers/image-spec](https://github.com/opencontainers/image-spec) from 1.1.0-rc4 to 1.1.0-rc5. - [Release notes](https://github.com/opencontainers/image-spec/releases) - [Changelog](https://github.com/opencontainers/image-spec/blob/main/RELEASES.md) - [Commits](https://github.com/opencontainers/image-spec/compare/v1.1.0-rc4...v1.1.0-rc5) --- updated-dependencies: - dependency-name: github.com/opencontainers/image-spec dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b69f16f2b065..e77cf6c9921d 100644 --- a/go.mod +++ b/go.mod @@ -71,7 +71,7 @@ require ( github.com/moby/buildkit v0.11.6 github.com/open-policy-agent/opa v0.45.0 github.com/opencontainers/go-digest v1.0.0 - github.com/opencontainers/image-spec v1.1.0-rc4 + github.com/opencontainers/image-spec v1.1.0-rc5 github.com/openvex/go-vex v0.2.5 github.com/owenrumney/go-sarif/v2 v2.2.2 github.com/package-url/packageurl-go v0.1.2-0.20230812223828-f8bb31c1f10b diff --git a/go.sum b/go.sum index 030d34a55cac..0cf5fd0c1e95 100644 --- a/go.sum +++ b/go.sum @@ -1432,8 +1432,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.1.0-rc4 h1:oOxKUJWnFC4YGHCCMNql1x4YaDfYBTS5Y4x/Cgeo1E0= -github.com/opencontainers/image-spec v1.1.0-rc4/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= +github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= +github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= From 46afe65eed1acc2fc5e9d6e1cfefb0264de5ab33 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 05:18:49 +0000 Subject: [PATCH 040/338] chore(deps): bump github.com/sigstore/rekor from 1.2.1 to 1.3.0 (#5304) Bumps [github.com/sigstore/rekor](https://github.com/sigstore/rekor) from 1.2.1 to 1.3.0. - [Release notes](https://github.com/sigstore/rekor/releases) - [Changelog](https://github.com/sigstore/rekor/blob/main/CHANGELOG.md) - [Commits](https://github.com/sigstore/rekor/compare/v1.2.1...v1.3.0) --- updated-dependencies: - dependency-name: github.com/sigstore/rekor dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 36 ++++++++++++++--------------- go.sum | 71 +++++++++++++++++++++++++++++----------------------------- 2 files changed, 54 insertions(+), 53 deletions(-) diff --git a/go.mod b/go.mod index e77cf6c9921d..31f0198b62ae 100644 --- a/go.mod +++ b/go.mod @@ -78,7 +78,7 @@ require ( github.com/samber/lo v1.38.1 github.com/saracen/walker v0.1.3 github.com/secure-systems-lab/go-securesystemslib v0.7.0 - github.com/sigstore/rekor v1.2.1 + github.com/sigstore/rekor v1.3.0 github.com/sirupsen/logrus v1.9.3 github.com/sosedoff/gitkit v0.4.0 github.com/spdx/tools-golang v0.5.0 @@ -109,11 +109,11 @@ require ( ) require ( - cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.19.3 // indirect + cloud.google.com/go v0.110.7 // indirect + cloud.google.com/go/compute v1.23.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.13.0 // indirect - cloud.google.com/go/storage v1.29.0 // indirect + cloud.google.com/go/iam v1.1.1 // indirect + cloud.google.com/go/storage v1.31.0 // indirect dario.cat/mergo v1.0.0 // indirect github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 // indirect @@ -180,7 +180,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.2 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4 // indirect github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.24.1 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.24.6 // indirect github.com/aws/aws-sdk-go-v2/service/mq v1.15.0 // indirect github.com/aws/aws-sdk-go-v2/service/neptune v1.20.7 // indirect @@ -235,12 +235,12 @@ require ( github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/analysis v0.21.4 // indirect - github.com/go-openapi/errors v0.20.3 // indirect + github.com/go-openapi/errors v0.20.4 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/loads v0.21.2 // indirect github.com/go-openapi/spec v0.20.9 // indirect - github.com/go-openapi/swag v0.22.3 // indirect + github.com/go-openapi/swag v0.22.4 // indirect github.com/go-openapi/validate v0.22.1 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/goccy/go-yaml v1.8.1 // indirect @@ -253,10 +253,10 @@ require ( github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/s2a-go v0.1.3 // indirect + github.com/google/s2a-go v0.1.5 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.8.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.5 // indirect + github.com/googleapis/gax-go/v2 v2.12.0 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/gosuri/uitable v0.0.4 // indirect github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect @@ -277,7 +277,7 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect - github.com/klauspost/compress v1.16.5 // indirect + github.com/klauspost/compress v1.16.6 // indirect github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect github.com/liamg/iamgo v0.0.9 // indirect @@ -341,7 +341,7 @@ require ( github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/tchap/go-patricia/v2 v2.3.1 // indirect - github.com/ulikunitz/xz v0.5.10 // indirect + github.com/ulikunitz/xz v0.5.11 // indirect github.com/vbatts/tar-split v0.11.3 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect @@ -358,15 +358,15 @@ require ( go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.12.0 // indirect golang.org/x/net v0.14.0 // indirect - golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/oauth2 v0.11.0 // indirect golang.org/x/sys v0.12.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.10.0 // indirect - google.golang.org/api v0.122.0 // indirect + google.golang.org/api v0.138.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect + google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect google.golang.org/grpc v1.57.0 // indirect gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/go.sum b/go.sum index 0cf5fd0c1e95..be6d27e70d9e 100644 --- a/go.sum +++ b/go.sum @@ -33,8 +33,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= -cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.7 h1:rJyC7nWRg2jWGZ4wSJ5nY65GTdYJkg0cd/uXb+ACI6o= +cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -71,8 +71,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.19.3 h1:DcTwsFgGev/wV5+q8o2fzgcHOaac+DKGC91ZlvpsQds= -cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= +cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY= +cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -113,13 +113,12 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= @@ -177,8 +176,8 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= -cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.31.0 h1:+S3LjjEN2zZ+L5hOwj4+1OkGCsLVe0NzpXKQ1pSdTCI= +cloud.google.com/go/storage v1.31.0/go.mod h1:81ams1PrhW16L4kF7qg+4mTq7SRs5HsbDTM0bWvrwJ0= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= @@ -475,8 +474,8 @@ github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4 h1:EmEk3gRJzSEK8DUnkvTGDn/RQc github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4/go.mod h1:+O9qi0UC83Lk0KAnC/ixNcw4piXfUtPzXpYn/KC2Mhg= github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19 h1:qVaBkJxFxm6o/9DPNnJU6L9O3V7ycEKhCvRm2BFBQTU= github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19/go.mod h1:9rLNg+J9SEe7rhge/YzKU3QTovlLqOmqH8akb0IB1ko= -github.com/aws/aws-sdk-go-v2/service/kms v1.23.0 h1:NXYeZBNg35rDBhcus60DFkIP7q6RNSkarLx+37ERX1g= -github.com/aws/aws-sdk-go-v2/service/kms v1.23.0/go.mod h1:aNfh11Smy55o65PB3MyKbkM8BFyFUcZmj1k+4g8eNfg= +github.com/aws/aws-sdk-go-v2/service/kms v1.24.1 h1:zDmx9yZjSYDaeakQVN16qfsLxhBeAxgclioB0+rOCDM= +github.com/aws/aws-sdk-go-v2/service/kms v1.24.1/go.mod h1:yrlimpsAJc9fXj3jHC7Ig2Zb4iMAoSJ/VVzChf22dZk= github.com/aws/aws-sdk-go-v2/service/lambda v1.24.6 h1:N7RkXX2SJbN+TCp295J3LdMR0KRFd2Bhi5nIO+svLQY= github.com/aws/aws-sdk-go-v2/service/lambda v1.24.6/go.mod h1:oTJIIluTaJCRT6xP1AZpuU3JwRHBC0Q5O4Hg+SUxFHw= github.com/aws/aws-sdk-go-v2/service/mq v1.15.0 h1:Z1q5y9q4feZb/h2H4D+MHqGflTEeyZH6MarBG6o00ng= @@ -843,8 +842,8 @@ github.com/go-openapi/analysis v0.21.4/go.mod h1:4zQ35W4neeZTqh3ol0rv/O8JBbka9Qy github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.3 h1:rz6kiC84sqNQoqrtulzaL/VERgkoCyB6WdEkc2ujzUc= -github.com/go-openapi/errors v0.20.3/go.mod h1:Z3FlZ4I8jEGxjUK+bugx3on2mIAk4txuAOhlsB1FSgk= +github.com/go-openapi/errors v0.20.4 h1:unTcVm6PispJsMECE3zWgvG4xTiKda1LIR5rCRWLG6M= +github.com/go-openapi/errors v0.20.4/go.mod h1:Z3FlZ4I8jEGxjUK+bugx3on2mIAk4txuAOhlsB1FSgk= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= @@ -875,8 +874,9 @@ github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU= +github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-openapi/validate v0.22.1 h1:G+c2ub6q47kfX1sOBLwIQwzBVt8qmOAARyo/9Fqs9NU= github.com/go-openapi/validate v0.22.1/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= @@ -1048,8 +1048,8 @@ github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE= -github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.5 h1:8IYp3w9nysqv3JH+NJgXJzGbDHzLOTj43BmSkp+O7qg= +github.com/google/s2a-go v0.1.5/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= @@ -1064,8 +1064,8 @@ github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1 github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= -github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= -github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.5 h1:UR4rDjcgpgEnqpIEvkiqTYKBCKLNmlge2eVjoZfySzM= +github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= @@ -1075,8 +1075,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.8.0 h1:UBtEZqx1bjXtOQ5BVTkuYghXrr3N4V123VKJK67vJZc= -github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= @@ -1207,8 +1207,8 @@ github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8 github.com/klauspost/compress v1.13.0/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= -github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.16.6 h1:91SKEy4K37vkp255cJ8QesJhjyRO0hn9i9G0GoUwLsk= +github.com/klauspost/compress v1.16.6/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/knqyf263/go-apk-version v0.0.0-20200609155635-041fdbb8563f h1:GvCU5GXhHq+7LeOzx/haG7HSIZokl3/0GkoUFzsRJjg= 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-20230223133812-3ed183d23422 h1:PPPlUUqPP6fLudIK4n0l0VU4KT2cQGnheW9x8pNiCHI= @@ -1575,8 +1575,8 @@ github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFR github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sigstore/rekor v1.2.1 h1:cEI4qn9IBvM7EkPQYl3YzCwCw97Mx8O2nHrv02XiI8U= -github.com/sigstore/rekor v1.2.1/go.mod h1:zcFO54qIg2G1/i0sE/nvmELUOng/n0MPjTszRYByVPo= +github.com/sigstore/rekor v1.3.0 h1:meiQhvzb7B4CwmRgGAHnsExoyf2fiGnXUNgm7rOHPIg= +github.com/sigstore/rekor v1.3.0/go.mod h1:aZH9c2g4nZS/+IfVm6WWhwRIY7In5TdUX7jfG4moI+E= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -1676,8 +1676,9 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1 github.com/twitchtv/twirp v8.1.2+incompatible h1:0O6TfzZW09ZP5r+ORA90XQEE3PTgA6C7MBbl2KxvVgE= github.com/twitchtv/twirp v8.1.2+incompatible/go.mod h1:RRJoFSAmTEh2weEqWtpPE3vFK5YBhA6bqp2l1kfCC5A= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= +github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= @@ -1953,8 +1954,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU= +golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2270,8 +2271,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.122.0 h1:zDobeejm3E7pEG1mNHvdxvjs5XJoCMzyNH+CmwL94Es= -google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= +google.golang.org/api v0.138.0 h1:K/tVp05MxNVbHShRw9m7e9VJGdagNeTdMzqPH7AUqr0= +google.golang.org/api v0.138.0/go.mod h1:4xyob8CxC+0GChNBvEUAk8VBKNvYOTWM9T3v3UfRxuY= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -2387,12 +2388,12 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 h1:9NWlQfY2ePejTmfwUH1OWwmznFa+0kKcHGPDvcPza9M= -google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= -google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 h1:m8v1xLLLzMe1m5P+gCTF8nJB9epwZQUBERm20Oy1poQ= -google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 h1:nIgk/EEq3/YlnmVVXVnm14rC2oxgs1o0ong4sD/rd44= +google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 h1:wukfNtZmZUurLN/atp2hiIeTKn7QJWIQdHzqmsOnAOk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= From 5a92055e1cdb08aaa5769821dde690e1bf971341 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 05:19:08 +0000 Subject: [PATCH 041/338] chore(deps): bump github.com/aws/aws-sdk-go-v2/service/sts (#5294) Bumps [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) from 1.21.5 to 1.22.0. - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/s3/v1.22.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/efs/v1.21.5...service/s3/v1.22.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/sts dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 31f0198b62ae..9ecab495f2d5 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/aws/aws-sdk-go-v2 v1.21.0 github.com/aws/aws-sdk-go-v2/config v1.18.38 github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0 - github.com/aws/aws-sdk-go-v2/service/sts v1.21.5 + github.com/aws/aws-sdk-go-v2/service/sts v1.22.0 github.com/bmatcuk/doublestar/v4 v4.6.0 github.com/cenkalti/backoff v2.2.1+incompatible github.com/cheggaaa/pb/v3 v3.1.4 diff --git a/go.sum b/go.sum index be6d27e70d9e..3de7231cf13f 100644 --- a/go.sum +++ b/go.sum @@ -498,8 +498,9 @@ github.com/aws/aws-sdk-go-v2/service/sso v1.13.6 h1:2PylFCfKCEDv6PeSN09pC/VUiRd1 github.com/aws/aws-sdk-go-v2/service/sso v1.13.6/go.mod h1:fIAwKQKBFu90pBxx07BFOMJLpRUGu8VOzLJakeY+0K4= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.15.5 h1:dnInJb4S0oy8aQuri1mV6ipLlnZPfnsDNB9BGO9PDNY= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.15.5/go.mod h1:yygr8ACQRY2PrEcy3xsUI357stq2AxnFM6DIsR9lij4= -github.com/aws/aws-sdk-go-v2/service/sts v1.21.5 h1:CQBFElb0LS8RojMJlxRSo/HXipvTZW2S44Lt9Mk2aYQ= github.com/aws/aws-sdk-go-v2/service/sts v1.21.5/go.mod h1:VC7JDqsqiwXukYEDjoHh9U0fOJtNWh04FPQz4ct4GGU= +github.com/aws/aws-sdk-go-v2/service/sts v1.22.0 h1:s4bioTgjSFRwOoyEFzAVCmFmoowBgjTR8gkrF/sQ4wk= +github.com/aws/aws-sdk-go-v2/service/sts v1.22.0/go.mod h1:VC7JDqsqiwXukYEDjoHh9U0fOJtNWh04FPQz4ct4GGU= github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0 h1:lrgZ9pZm9utPOPAXmQhqtf8oWRRksoSFxOE8RoD+pHc= github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0/go.mod h1:vPam8+zGthTXeaFWgl3Uqbzo/0QEoXF22jpuMZ97hSk= github.com/aws/smithy-go v1.13.3/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= From eb60e9f3c02d96bf721e396eb62c276281db8a57 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 08:20:14 +0300 Subject: [PATCH 042/338] chore(deps): bump docker/login-action from 2 to 3 (#5291) Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/reusable-release.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index 9e36b69a1c83..2eb1286d89a4 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -49,20 +49,20 @@ jobs: run: echo ${{ steps.buildx.outputs.platforms }} - name: Login to docker.io registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USER }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to ghcr.io registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ env.GH_USER }} password: ${{ secrets.GITHUB_TOKEN }} - name: Login to ECR - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: public.ecr.aws username: ${{ secrets.ECR_ACCESS_KEY_ID }} From 18d168769c16a4f780561919140fa72608e348fb Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Mon, 2 Oct 2023 12:56:33 +0600 Subject: [PATCH 043/338] close java-db client (#5273) --- pkg/fanal/analyzer/language/java/jar/jar.go | 17 +++++------------ pkg/javadb/client.go | 7 +++++++ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pkg/fanal/analyzer/language/java/jar/jar.go b/pkg/fanal/analyzer/language/java/jar/jar.go index 7ddb5943d3c0..8e4ed4820f18 100644 --- a/pkg/fanal/analyzer/language/java/jar/jar.go +++ b/pkg/fanal/analyzer/language/java/jar/jar.go @@ -6,7 +6,6 @@ import ( "os" "path/filepath" "strings" - "sync" "golang.org/x/xerrors" @@ -35,7 +34,6 @@ var requiredExtensions = []string{ // javaLibraryAnalyzer analyzes jar/war/ear/par files type javaLibraryAnalyzer struct { - once sync.Once client *javadb.DB slow bool } @@ -49,18 +47,13 @@ func newJavaLibraryAnalyzer(options analyzer.AnalyzerOptions) (analyzer.PostAnal func (a *javaLibraryAnalyzer) PostAnalyze(ctx context.Context, input analyzer.PostAnalysisInput) (*analyzer.AnalysisResult, error) { // TODO: think about the sonatype API and "--offline" var err error - a.once.Do(func() { - log.Logger.Info("JAR files found") - a.client, err = javadb.NewClient() - if err != nil { - log.Logger.Errorf("Unable to initialize the Java DB: %s", err) - return - } - log.Logger.Info("Analyzing JAR files takes a while...") - }) + log.Logger.Info("JAR files found") + a.client, err = javadb.NewClient() if err != nil { - return nil, err + return nil, xerrors.Errorf("Unable to initialize the Java DB: %s", err) } + defer func() { _ = a.client.Close() }() + log.Logger.Info("Analyzing JAR files takes a while...") // Skip analyzing JAR files as the nil client means the Java DB was not downloaded successfully. if a.client == nil { diff --git a/pkg/javadb/client.go b/pkg/javadb/client.go index 5da85342772a..3576f5008ba1 100644 --- a/pkg/javadb/client.go +++ b/pkg/javadb/client.go @@ -170,3 +170,10 @@ func (d *DB) SearchByArtifactID(artifactID string) (string, error) { return groupID, nil } + +func (d *DB) Close() error { + if d == nil { + return nil + } + return d.driver.Close() +} From f7b975187d7ec7f6923a68dcc5a0dc52150fc6fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 07:35:19 +0000 Subject: [PATCH 044/338] chore(deps): bump github.com/aws/aws-sdk-go from 1.45.3 to 1.45.19 (#5287) Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.45.3 to 1.45.19. - [Release notes](https://github.com/aws/aws-sdk-go/releases) - [Commits](https://github.com/aws/aws-sdk-go/compare/v1.45.3...v1.45.19) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9ecab495f2d5..8052e3edb94b 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917 github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 github.com/aquasecurity/trivy-kubernetes v0.5.7 - github.com/aws/aws-sdk-go v1.45.3 + github.com/aws/aws-sdk-go v1.45.19 github.com/aws/aws-sdk-go-v2 v1.21.0 github.com/aws/aws-sdk-go-v2/config v1.18.38 github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0 diff --git a/go.sum b/go.sum index 3de7231cf13f..394445302881 100644 --- a/go.sum +++ b/go.sum @@ -363,8 +363,8 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3d github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.45.3 h1:Q8BksXg2ZUu2dCbA62+UCEtfvqsW8EO4tzt2IVeYAws= -github.com/aws/aws-sdk-go v1.45.3/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.45.19 h1:+4yXWhldhCVXWFOQRF99ZTJ92t4DtoHROZIbN7Ujk/U= +github.com/aws/aws-sdk-go v1.45.19/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.16.16/go.mod h1:SwiyXi/1zTUZ6KIAmLK5V5ll8SiURNUYOqTerZPaF9k= github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= github.com/aws/aws-sdk-go-v2 v1.17.5/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= From f6cd21c873992fc765bc31458bec0d7516510376 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 08:31:07 +0000 Subject: [PATCH 045/338] chore(deps): bump actions/checkout from 3.6.0 to 4.1.0 (#5288) Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.6.0...v4.1.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/auto-update-labels.yaml | 2 +- .github/workflows/mkdocs-dev.yaml | 2 +- .github/workflows/mkdocs-latest.yaml | 2 +- .github/workflows/publish-chart.yaml | 4 ++-- .github/workflows/release.yaml | 4 ++-- .github/workflows/reusable-release.yaml | 2 +- .github/workflows/scan.yaml | 2 +- .github/workflows/test-docs.yaml | 2 +- .github/workflows/test.yaml | 12 ++++++------ 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/auto-update-labels.yaml b/.github/workflows/auto-update-labels.yaml index 273e0f1629f0..9a20ea08f0a2 100644 --- a/.github/workflows/auto-update-labels.yaml +++ b/.github/workflows/auto-update-labels.yaml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout main - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 - name: Set up Go uses: actions/setup-go@v4 diff --git a/.github/workflows/mkdocs-dev.yaml b/.github/workflows/mkdocs-dev.yaml index 8e3135316931..9c608ca08eec 100644 --- a/.github/workflows/mkdocs-dev.yaml +++ b/.github/workflows/mkdocs-dev.yaml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout main - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 with: fetch-depth: 0 persist-credentials: true diff --git a/.github/workflows/mkdocs-latest.yaml b/.github/workflows/mkdocs-latest.yaml index 4c04b391fe05..9996fe7faa66 100644 --- a/.github/workflows/mkdocs-latest.yaml +++ b/.github/workflows/mkdocs-latest.yaml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout main - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 with: fetch-depth: 0 persist-credentials: true diff --git a/.github/workflows/publish-chart.yaml b/.github/workflows/publish-chart.yaml index b009d2e02e89..36a8547c3ad5 100644 --- a/.github/workflows/publish-chart.yaml +++ b/.github/workflows/publish-chart.yaml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 with: fetch-depth: 0 - name: Install Helm @@ -55,7 +55,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 with: fetch-depth: 0 - name: Install chart-releaser diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d11f933cd0e1..660449783919 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout code - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 with: fetch-depth: 0 @@ -35,7 +35,7 @@ jobs: sudo apt-get -y install rpm reprepro createrepo-c distro-info - name: Checkout trivy-repo - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 with: repository: ${{ github.repository_owner }}/trivy-repo path: trivy-repo diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index 2eb1286d89a4..ce701de9b4ca 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -69,7 +69,7 @@ jobs: password: ${{ secrets.ECR_SECRET_ACCESS_KEY }} - name: Checkout code - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 with: fetch-depth: 0 diff --git a/.github/workflows/scan.yaml b/.github/workflows/scan.yaml index e7c6b8f87299..e0fec9a592d6 100644 --- a/.github/workflows/scan.yaml +++ b/.github/workflows/scan.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 - name: Run Trivy vulnerability scanner and create GitHub issues uses: knqyf263/trivy-issue-action@v0.0.5 diff --git a/.github/workflows/test-docs.yaml b/.github/workflows/test-docs.yaml index 843ca65ea0d4..43343a9c3fd0 100644 --- a/.github/workflows/test-docs.yaml +++ b/.github/workflows/test-docs.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 with: fetch-depth: 0 persist-credentials: true diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index cad6d9a748ab..bd29b1e8ca27 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -24,7 +24,7 @@ jobs: matrix: operating-system: [ubuntu-latest, windows-latest, macos-latest] steps: - - uses: actions/checkout@v3.6.0 + - uses: actions/checkout@v4.1.0 - name: Set up Go uses: actions/setup-go@v4 @@ -78,7 +78,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code into the Go module directory - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 - name: Set up Go uses: actions/setup-go@v4 @@ -98,7 +98,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code into the Go module directory - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 - name: Set up Go uses: actions/setup-go@v4 @@ -118,7 +118,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 - name: Set up Go uses: actions/setup-go@v4 @@ -140,7 +140,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 - name: Set up Go uses: actions/setup-go@v4 @@ -174,7 +174,7 @@ jobs: if: matrix.operating-system == 'ubuntu-latest' - name: Checkout - uses: actions/checkout@v3.6.0 + uses: actions/checkout@v4.1.0 - name: Set up Go uses: actions/setup-go@v4 From 3be5e6b24271a21f5aa700bab7cc32d1549b8199 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Mon, 2 Oct 2023 11:33:21 +0300 Subject: [PATCH 046/338] chore: enable go-critic (#5302) * chore: enable gocritic Signed-off-by: knqyf263 * refactor: fix lint issues Signed-off-by: knqyf263 * test: return true for latest versions Signed-off-by: knqyf263 * chore(lint): enforce map and slice styles Signed-off-by: knqyf263 --------- Signed-off-by: knqyf263 --- .golangci.yaml | 23 +++++ go.mod | 1 + go.sum | 2 + magefiles/magefile.go | 7 +- misc/lint/rules.go | 22 +++++ pkg/cloud/aws/cache/cache.go | 11 ++- pkg/cloud/aws/commands/run.go | 7 +- pkg/cloud/aws/scanner/scanner.go | 12 ++- pkg/commands/app.go | 6 +- pkg/compliance/report/report.go | 21 +++-- pkg/compliance/spec/compliance.go | 4 +- pkg/db/db.go | 4 +- pkg/detector/ospkg/alma/alma.go | 24 ++---- pkg/detector/ospkg/alma/alma_test.go | 6 +- pkg/detector/ospkg/alpine/alpine.go | 23 ++--- pkg/detector/ospkg/amazon/amazon.go | 14 ++-- pkg/detector/ospkg/amazon/amazon_test.go | 2 +- pkg/detector/ospkg/chainguard/chainguard.go | 6 +- pkg/detector/ospkg/debian/debian.go | 23 ++--- pkg/detector/ospkg/debian/debian_test.go | 6 +- pkg/detector/ospkg/mariner/mariner.go | 11 +-- pkg/detector/ospkg/oracle/oracle.go | 20 +---- pkg/detector/ospkg/oracle/oracle_test.go | 6 +- pkg/detector/ospkg/photon/photon.go | 14 ++-- pkg/detector/ospkg/photon/photon_test.go | 6 +- pkg/detector/ospkg/redhat/redhat.go | 31 +++---- pkg/detector/ospkg/redhat/redhat_test.go | 8 +- pkg/detector/ospkg/rocky/rocky.go | 25 ++---- pkg/detector/ospkg/rocky/rocky_test.go | 6 +- pkg/detector/ospkg/suse/suse.go | 22 ++--- pkg/detector/ospkg/suse/suse_test.go | 8 +- pkg/detector/ospkg/ubuntu/ubuntu.go | 12 +-- pkg/detector/ospkg/ubuntu/ubuntu_test.go | 6 +- pkg/detector/ospkg/version/version.go | 38 +++++++++ pkg/detector/ospkg/wolfi/wolfi.go | 6 +- pkg/fanal/analyzer/analyzer.go | 56 ++++++------- pkg/fanal/analyzer/buildinfo/dockerfile.go | 2 +- pkg/fanal/analyzer/config_analyzer.go | 20 ++--- pkg/fanal/analyzer/fs.go | 4 +- pkg/fanal/analyzer/imgconf/apk/apk.go | 19 ++--- .../analyzer/language/dotnet/nuget/nuspec.go | 2 +- pkg/fanal/analyzer/language/golang/mod/mod.go | 14 ++-- .../language/nodejs/license/license.go | 2 +- pkg/fanal/analyzer/language/nodejs/npm/npm.go | 10 +-- .../analyzer/language/nodejs/yarn/yarn.go | 16 ++-- .../analyzer/language/rust/cargo/cargo.go | 6 +- pkg/fanal/analyzer/os/mariner/mariner.go | 2 +- pkg/fanal/analyzer/pkg/apk/apk.go | 11 +-- pkg/fanal/analyzer/pkg/dpkg/dpkg.go | 12 ++- pkg/fanal/analyzer/pkg/rpm/rpm.go | 2 +- pkg/fanal/applier/docker.go | 4 +- pkg/fanal/artifact/image/image.go | 2 +- pkg/fanal/artifact/local/fs.go | 2 +- pkg/fanal/cache/s3.go | 7 +- pkg/fanal/handler/handler.go | 4 +- pkg/fanal/image/daemon/containerd.go | 10 +-- pkg/fanal/image/daemon/image.go | 2 +- pkg/fanal/image/registry/azure/azure.go | 2 +- pkg/fanal/types/artifact.go | 12 +-- pkg/fanal/types/image.go | 4 +- pkg/fanal/vm/disk/vmdk.go | 2 +- pkg/fanal/walker/fs.go | 7 +- pkg/fanal/walker/vm.go | 17 ++-- pkg/flag/kubernetes_flags.go | 4 +- pkg/flag/license_flags.go | 2 +- pkg/flag/value.go | 2 +- pkg/flag/vulnerability_flags.go | 7 +- pkg/javadb/client.go | 4 +- pkg/k8s/commands/cluster.go | 4 +- pkg/k8s/commands/resource.go | 2 +- pkg/k8s/commands/run.go | 4 +- pkg/k8s/report/report.go | 13 +-- pkg/k8s/report/summary.go | 8 +- pkg/k8s/scanner/io.go | 6 +- pkg/k8s/scanner/scanner.go | 16 ++-- pkg/licensing/classifier.go | 2 +- pkg/licensing/expression/expression.go | 9 +- pkg/mapfs/file.go | 5 +- pkg/mapfs/types.go | 16 ++-- pkg/misconf/scanner.go | 22 +++-- pkg/module/serialize/types.go | 12 +-- pkg/policy/policy.go | 4 +- pkg/purl/purl.go | 21 +---- pkg/rekortest/server.go | 83 ++++++++++++++----- pkg/report/github/github.go | 2 +- pkg/report/sarif.go | 4 +- pkg/report/table/licensing.go | 4 +- pkg/report/table/misconfig.go | 12 +-- pkg/report/table/secret.go | 9 +- pkg/report/table/vulnerability.go | 28 ++++--- pkg/report/template.go | 11 +-- pkg/result/filter.go | 19 +++-- pkg/rpc/client/client.go | 2 +- pkg/sbom/cyclonedx/core/cyclonedx.go | 24 +++--- pkg/sbom/cyclonedx/marshal.go | 2 +- pkg/sbom/cyclonedx/unmarshal.go | 8 +- pkg/sbom/spdx/marshal.go | 4 +- pkg/sbom/spdx/unmarshal.go | 26 +++--- pkg/scanner/langpkg/scan.go | 2 +- pkg/scanner/local/scan.go | 6 +- pkg/scanner/ospkg/scan.go | 2 +- pkg/scanner/post/post_scan.go | 4 +- pkg/vex/vex.go | 4 +- 103 files changed, 584 insertions(+), 531 deletions(-) create mode 100644 misc/lint/rules.go create mode 100644 pkg/detector/ospkg/version/version.go diff --git a/.golangci.yaml b/.golangci.yaml index 8c2914b18411..40b3a997031a 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -43,6 +43,28 @@ linters-settings: recommendations: - github.com/aquasecurity/go-version reason: "`aquasecurity/go-version` is designed for our use-cases" + gocritic: + disabled-checks: + - appendAssign + - unnamedResult + - whyNoLint + - indexAlloc + - octalLiteral + - hugeParam + - rangeValCopy + - regexpSimplify + - sloppyReassign + - commentedOutCode + enabled-tags: + - diagnostic + - style + - performance + - experimental + - opinionated + settings: + ruleguard: + failOn: all + rules: '${configDir}/misc/lint/rules.go' linters: disable-all: true @@ -62,6 +84,7 @@ linters: - gci - gomodguard - tenv + - gocritic run: go: '1.20' diff --git a/go.mod b/go.mod index 8052e3edb94b..e81c541a1ccc 100644 --- a/go.mod +++ b/go.mod @@ -75,6 +75,7 @@ require ( github.com/openvex/go-vex v0.2.5 github.com/owenrumney/go-sarif/v2 v2.2.2 github.com/package-url/packageurl-go v0.1.2-0.20230812223828-f8bb31c1f10b + github.com/quasilyte/go-ruleguard/dsl v0.3.22 github.com/samber/lo v1.38.1 github.com/saracen/walker v0.1.3 github.com/secure-systems-lab/go-securesystemslib v0.7.0 diff --git a/go.sum b/go.sum index 394445302881..c29220c1b74b 100644 --- a/go.sum +++ b/go.sum @@ -1534,6 +1534,8 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE= +github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= diff --git a/magefiles/magefile.go b/magefiles/magefile.go index f3f921d19b34..bc43487bca01 100644 --- a/magefiles/magefile.go +++ b/magefiles/magefile.go @@ -393,11 +393,12 @@ func (Docs) Generate() error { func findProtoFiles() ([]string, error) { var files []string err := filepath.WalkDir("rpc", func(path string, d fs.DirEntry, err error) error { - if err != nil { + switch { + case err != nil: return err - } else if d.IsDir() { + case d.IsDir(): return nil - } else if filepath.Ext(path) == ".proto" { + case filepath.Ext(path) == ".proto": files = append(files, path) } return nil diff --git a/misc/lint/rules.go b/misc/lint/rules.go new file mode 100644 index 000000000000..e477175a244f --- /dev/null +++ b/misc/lint/rules.go @@ -0,0 +1,22 @@ +//go:build ruleguard + +package gorules + +import "github.com/quasilyte/go-ruleguard/dsl" + +// cf. https://github.com/golang/go/wiki/CodeReviewComments#declaring-empty-slices +func declareEmptySlices(m dsl.Matcher) { + m.Match( + `$name := []$t{}`, + `$name := make([]$t, 0)`, + ). + Suggest(`var $name []$t`). + Report(`replace '$$' with 'var $name []$t'`) +} + +// cf. https://github.com/uber-go/guide/blob/master/style.md#initializing-maps +func initializeMaps(m dsl.Matcher) { + m.Match(`map[$key]$value{}`). + Suggest(`make(map[$key]$value)`). + Report(`replace '$$' with 'make(map[$key]$value)`) +} diff --git a/pkg/cloud/aws/cache/cache.go b/pkg/cloud/aws/cache/cache.go index a21f05b00b36..ce3f9776f02a 100644 --- a/pkg/cloud/aws/cache/cache.go +++ b/pkg/cloud/aws/cache/cache.go @@ -37,7 +37,7 @@ var ErrCacheNotFound = fmt.Errorf("cache record not found") var ErrCacheIncompatible = fmt.Errorf("cache record used incomatible schema") var ErrCacheExpired = fmt.Errorf("cache record expired") -func New(cacheDir string, maxCacheAge time.Duration, accountID string, region string) *Cache { +func New(cacheDir string, maxCacheAge time.Duration, accountID, region string) *Cache { return &Cache{ path: path.Join(cacheDir, "cloud", "aws", accountID, strings.ToLower(region), "data.json"), accountID: accountID, @@ -70,7 +70,7 @@ func (c *Cache) load() (*CacheData, error) { return &data, nil } -func (c *Cache) ListServices(required []string) (included []string, missing []string) { +func (c *Cache) ListServices(required []string) (included, missing []string) { data, err := c.load() if err != nil { @@ -101,12 +101,11 @@ func (c *Cache) LoadState() (*state.State, error) { return data.State, nil } -func (c *Cache) AddServices(state *state.State, includedServices []string) error { - +func (c *Cache) AddServices(s *state.State, includedServices []string) error { data := &CacheData{ SchemaVersion: SchemaVersion, - State: state, - Services: map[string]ServiceMetadata{}, + State: s, + Services: make(map[string]ServiceMetadata), Updated: time.Now(), } diff --git a/pkg/cloud/aws/commands/run.go b/pkg/cloud/aws/commands/run.go index 7b49b01e72c6..51df16536158 100644 --- a/pkg/cloud/aws/commands/run.go +++ b/pkg/cloud/aws/commands/run.go @@ -95,10 +95,11 @@ func processOptions(ctx context.Context, opt *flag.Options) error { } func filterServices(opt *flag.Options) error { - if len(opt.Services) == 0 && len(opt.SkipServices) == 0 { + switch { + case len(opt.Services) == 0 && len(opt.SkipServices) == 0: log.Logger.Debug("No service(s) specified, scanning all services...") opt.Services = allSupportedServicesFunc() - } else if len(opt.SkipServices) > 0 { + case len(opt.SkipServices) > 0: log.Logger.Debug("excluding services: ", opt.SkipServices) for _, s := range allSupportedServicesFunc() { if slices.Contains(opt.SkipServices, s) { @@ -108,7 +109,7 @@ func filterServices(opt *flag.Options) error { opt.Services = append(opt.Services, s) } } - } else if len(opt.Services) > 0 { + case len(opt.Services) > 0: log.Logger.Debugf("Specific services were requested: [%s]...", strings.Join(opt.Services, ", ")) for _, service := range opt.Services { var found bool diff --git a/pkg/cloud/aws/scanner/scanner.go b/pkg/cloud/aws/scanner/scanner.go index 78038dd5d4a8..aa6733fc137d 100644 --- a/pkg/cloud/aws/scanner/scanner.go +++ b/pkg/cloud/aws/scanner/scanner.go @@ -87,15 +87,19 @@ func (s *AWSScanner) Scan(ctx context.Context, option flag.Options) (scan.Result return nil, false, xerrors.Errorf("unable to create policyfs: %w", err) } - scannerOpts = append(scannerOpts, options.ScannerWithPolicyFilesystem(policyFS)) - scannerOpts = append(scannerOpts, options.ScannerWithPolicyDirs(policyPaths...)) + scannerOpts = append(scannerOpts, + options.ScannerWithPolicyFilesystem(policyFS), + options.ScannerWithPolicyDirs(policyPaths...), + ) dataFS, dataPaths, err := misconf.CreateDataFS(option.RegoOptions.DataPaths) if err != nil { log.Logger.Errorf("Could not load config data: %s", err) } - scannerOpts = append(scannerOpts, options.ScannerWithDataDirs(dataPaths...)) - scannerOpts = append(scannerOpts, options.ScannerWithDataFilesystem(dataFS)) + scannerOpts = append(scannerOpts, + options.ScannerWithDataDirs(dataPaths...), + options.ScannerWithDataFilesystem(dataFS), + ) scannerOpts = addPolicyNamespaces(option.RegoOptions.PolicyNamespaces, scannerOpts) diff --git a/pkg/commands/app.go b/pkg/commands/app.go index 7c0200b7af44..b9937b6b8756 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -307,7 +307,7 @@ func NewImageCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { func NewFilesystemCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { reportFlagGroup := flag.NewReportFlagGroup() reportFormat := flag.ReportFormatFlag - reportFormat.Usage = "specify a compliance report format for the output" //@TODO: support --report summary for non compliance reports + reportFormat.Usage = "specify a compliance report format for the output" // @TODO: support --report summary for non compliance reports reportFlagGroup.ReportFormat = &reportFormat reportFlagGroup.ExitOnEOL = nil // disable '--exit-on-eol' @@ -626,7 +626,7 @@ func NewConfigCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { reportFlagGroup.ListAllPkgs = nil // disable '--list-all-pkgs' reportFlagGroup.ExitOnEOL = nil // disable '--exit-on-eol' reportFormat := flag.ReportFormatFlag - reportFormat.Usage = "specify a compliance report format for the output" //@TODO: support --report summary for non compliance reports + reportFormat.Usage = "specify a compliance report format for the output" // @TODO: support --report summary for non compliance reports reportFlagGroup.ReportFormat = &reportFormat scanFlags := &flag.ScanFlagGroup{ @@ -1213,6 +1213,6 @@ func flagErrorFunc(command *cobra.Command, err error) error { if err := command.Help(); err != nil { return err } - command.Println() //add empty line after list of flags + command.Println() // add empty line after list of flags return err } diff --git a/pkg/compliance/report/report.go b/pkg/compliance/report/report.go index bcadc6fbb168..8bc8b90d76ee 100644 --- a/pkg/compliance/report/report.go +++ b/pkg/compliance/report/report.go @@ -67,7 +67,10 @@ type Writer interface { func Write(report *ComplianceReport, option Option) error { switch option.Format { case types.FormatJSON: - jwriter := JSONWriter{Output: option.Output, Report: option.Report} + jwriter := JSONWriter{ + Output: option.Output, + Report: option.Report, + } return jwriter.Write(report) case types.FormatTable: if !report.empty() { @@ -93,7 +96,7 @@ func (r ComplianceReport) empty() bool { // buildControlCheckResults create compliance results data func buildControlCheckResults(checksMap map[string]types.Results, controls []defsecTypes.Control) []*ControlCheckResult { - complianceResults := make([]*ControlCheckResult, 0) + var complianceResults []*ControlCheckResult for _, control := range controls { var results types.Results for _, c := range control.Checks { @@ -112,14 +115,14 @@ func buildControlCheckResults(checksMap map[string]types.Results, controls []def } // buildComplianceReportResults create compliance results data -func buildComplianceReportResults(checksMap map[string]types.Results, spec defsecTypes.Spec) *ComplianceReport { - controlCheckResult := buildControlCheckResults(checksMap, spec.Controls) +func buildComplianceReportResults(checksMap map[string]types.Results, s defsecTypes.Spec) *ComplianceReport { + controlCheckResult := buildControlCheckResults(checksMap, s.Controls) return &ComplianceReport{ - ID: spec.ID, - Title: spec.Title, - Description: spec.Description, - Version: spec.Version, - RelatedResources: spec.RelatedResources, + ID: s.ID, + Title: s.Title, + Description: s.Description, + Version: s.Version, + RelatedResources: s.RelatedResources, Results: controlCheckResult, } } diff --git a/pkg/compliance/spec/compliance.go b/pkg/compliance/spec/compliance.go index 65cddb059c30..18f1aa840492 100644 --- a/pkg/compliance/spec/compliance.go +++ b/pkg/compliance/spec/compliance.go @@ -29,7 +29,7 @@ const ( // Scanners reads spec control and determines the scanners by check ID prefix func (cs *ComplianceSpec) Scanners() (types.Scanners, error) { - scannerTypes := map[types.Scanner]struct{}{} + scannerTypes := make(map[types.Scanner]struct{}) for _, control := range cs.Spec.Controls { for _, check := range control.Checks { scannerType := scannerByCheckID(check.ID) @@ -44,7 +44,7 @@ func (cs *ComplianceSpec) Scanners() (types.Scanners, error) { // CheckIDs return list of compliance check IDs func (cs *ComplianceSpec) CheckIDs() map[types.Scanner][]string { - checkIDsMap := map[types.Scanner][]string{} + checkIDsMap := make(map[types.Scanner][]string) for _, control := range cs.Spec.Controls { for _, check := range control.Checks { scannerType := scannerByCheckID(check.ID) diff --git a/pkg/db/db.go b/pkg/db/db.go index 6b69ccbe7086..f5502f5828a0 100644 --- a/pkg/db/db.go +++ b/pkg/db/db.go @@ -52,9 +52,9 @@ func WithDBRepository(dbRepository string) Option { } // WithClock takes a clock -func WithClock(clock clock.Clock) Option { +func WithClock(c clock.Clock) Option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } diff --git a/pkg/detector/ospkg/alma/alma.go b/pkg/detector/ospkg/alma/alma.go index a29c010ff79f..2c52fea3deb7 100644 --- a/pkg/detector/ospkg/alma/alma.go +++ b/pkg/detector/ospkg/alma/alma.go @@ -9,6 +9,7 @@ import ( "k8s.io/utils/clock" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/alma" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -30,9 +31,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -60,9 +61,8 @@ func NewScanner(opts ...option) *Scanner { // Detect vulnerabilities in package using AlmaLinux scanner func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Package) ([]types.DetectedVulnerability, error) { log.Logger.Info("Detecting AlmaLinux vulnerabilities...") - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } + + osVer = osver.Major(osVer) log.Logger.Debugf("AlmaLinux: os version: %s", osVer) log.Logger.Debugf("AlmaLinux: the number of packages: %d", len(pkgs)) @@ -107,19 +107,9 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa return vulns, nil } -// IsSupportedVersion checks the OSFamily can be scanned using AlmaLinux scanner +// IsSupportedVersion checks if the version is supported. func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } - - eol, ok := eolDates[osVer] - if !ok { - log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return false - } - - return s.clock.Now().Before(eol) + return osver.Supported(s.clock, eolDates, osFamily, osver.Major(osVer)) } func addModularNamespace(name, label string) string { diff --git a/pkg/detector/ospkg/alma/alma_test.go b/pkg/detector/ospkg/alma/alma_test.go index d9cc698f0b15..5934e9a29779 100644 --- a/pkg/detector/ospkg/alma/alma_test.go +++ b/pkg/detector/ospkg/alma/alma_test.go @@ -204,13 +204,13 @@ func TestScanner_IsSupportedVersion(t *testing.T) { want: false, }, { - name: "unknown", + name: "latest", now: time.Date(2019, 5, 2, 23, 59, 59, 0, time.UTC), args: args{ osFamily: "alma", - osVer: "unknown", + osVer: "999", }, - want: false, + want: true, }, } for _, tt := range tests { diff --git a/pkg/detector/ospkg/alpine/alpine.go b/pkg/detector/ospkg/alpine/alpine.go index 5095efa98a8d..45be59c1ea6a 100644 --- a/pkg/detector/ospkg/alpine/alpine.go +++ b/pkg/detector/ospkg/alpine/alpine.go @@ -10,6 +10,7 @@ import ( dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/alpine" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -55,9 +56,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -85,9 +86,7 @@ func NewScanner(opts ...option) *Scanner { // Detect vulnerabilities in package using Alpine scanner func (s *Scanner) Detect(osVer string, repo *ftypes.Repository, pkgs []ftypes.Package) ([]types.DetectedVulnerability, error) { log.Logger.Info("Detecting Alpine vulnerabilities...") - if strings.Count(osVer, ".") > 1 { - osVer = osVer[:strings.LastIndex(osVer, ".")] - } + osVer = osver.Minor(osVer) repoRelease := s.repoRelease(repo) log.Logger.Debugf("alpine: os version: %s", osVer) @@ -173,19 +172,9 @@ func (s *Scanner) isVulnerable(installedVersion version.Version, adv dbTypes.Adv return installedVersion.LessThan(fixedVersion) } -// IsSupportedVersion checks the OSFamily can be scanned using Alpine scanner +// IsSupportedVersion checks if the version is supported. func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { - if strings.Count(osVer, ".") > 1 { - osVer = osVer[:strings.LastIndex(osVer, ".")] - } - - eol, ok := eolDates[osVer] - if !ok { - log.Logger.Infof("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return true // may be the latest version - } - - return s.clock.Now().Before(eol) + return osver.Supported(s.clock, eolDates, osFamily, osver.Minor(osVer)) } func (s *Scanner) repoRelease(repo *ftypes.Repository) string { diff --git a/pkg/detector/ospkg/amazon/amazon.go b/pkg/detector/ospkg/amazon/amazon.go index a77765de8839..c1d92ef03b6e 100644 --- a/pkg/detector/ospkg/amazon/amazon.go +++ b/pkg/detector/ospkg/amazon/amazon.go @@ -10,6 +10,7 @@ import ( "k8s.io/utils/clock" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/amazon" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -34,9 +35,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -117,17 +118,12 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa return vulns, nil } -// IsSupportedVersion checks if os can be scanned using amazon scanner +// IsSupportedVersion checks if the version is supported. func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { osVer = strings.Fields(osVer)[0] if osVer != "2" && osVer != "2022" && osVer != "2023" { osVer = "1" } - eol, ok := eolDates[osVer] - if !ok { - log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return false - } - return s.clock.Now().Before(eol) + return osver.Supported(s.clock, eolDates, osFamily, osVer) } diff --git a/pkg/detector/ospkg/amazon/amazon_test.go b/pkg/detector/ospkg/amazon/amazon_test.go index e9f7b546996b..2839adc32e19 100644 --- a/pkg/detector/ospkg/amazon/amazon_test.go +++ b/pkg/detector/ospkg/amazon/amazon_test.go @@ -234,7 +234,7 @@ func TestScanner_IsSupportedVersion(t *testing.T) { osFamily: "amazon", osVer: "2022", }, - want: false, + want: true, }, { name: "amazon linux 2023", diff --git a/pkg/detector/ospkg/chainguard/chainguard.go b/pkg/detector/ospkg/chainguard/chainguard.go index 447d7a6f647a..9a6d5e752f4b 100644 --- a/pkg/detector/ospkg/chainguard/chainguard.go +++ b/pkg/detector/ospkg/chainguard/chainguard.go @@ -19,9 +19,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -102,7 +102,7 @@ func (s *Scanner) isVulnerable(installedVersion version.Version, adv dbTypes.Adv return installedVersion.LessThan(fixedVersion) } -// IsSupportedVersion checks the OSFamily can be scanned using Chainguard scanner +// IsSupportedVersion checks if the version is supported. func (s *Scanner) IsSupportedVersion(_ ftypes.OSType, _ string) bool { // Chainguard doesn't have versions, so there is no case where a given input yields a // result of an unsupported Chainguard version. diff --git a/pkg/detector/ospkg/debian/debian.go b/pkg/detector/ospkg/debian/debian.go index 5098e6483336..32526e9bbffe 100644 --- a/pkg/detector/ospkg/debian/debian.go +++ b/pkg/detector/ospkg/debian/debian.go @@ -1,7 +1,6 @@ package debian import ( - "strings" "time" version "github.com/knqyf263/go-deb-version" @@ -11,6 +10,7 @@ import ( dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/debian" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -47,9 +47,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -78,9 +78,7 @@ func NewScanner(opts ...option) *Scanner { func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Package) ([]types.DetectedVulnerability, error) { log.Logger.Info("Detecting Debian vulnerabilities...") - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } + osVer = osver.Major(osVer) log.Logger.Debugf("debian: os version: %s", osVer) log.Logger.Debugf("debian: the number of packages: %d", len(pkgs)) @@ -141,16 +139,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa return vulns, nil } -// IsSupportedVersion checks is OSFamily can be scanned using Debian +// IsSupportedVersion checks if the version is supported. func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } - - eol, ok := eolDates[osVer] - if !ok { - log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return false - } - return s.clock.Now().Before(eol) + return osver.Supported(s.clock, eolDates, osFamily, osver.Major(osVer)) } diff --git a/pkg/detector/ospkg/debian/debian_test.go b/pkg/detector/ospkg/debian/debian_test.go index b34d066eccf1..9d5e847e2656 100644 --- a/pkg/detector/ospkg/debian/debian_test.go +++ b/pkg/detector/ospkg/debian/debian_test.go @@ -161,13 +161,13 @@ func TestScanner_IsSupportedVersion(t *testing.T) { want: false, }, { - name: "unknown", + name: "latest", now: time.Date(2020, 7, 31, 23, 59, 59, 0, time.UTC), args: args{ osFamily: "debian", - osVer: "unknown", + osVer: "999", }, - want: false, + want: true, }, } for _, tt := range tests { diff --git a/pkg/detector/ospkg/mariner/mariner.go b/pkg/detector/ospkg/mariner/mariner.go index 3043d24eaf2f..6d88f3a3320e 100644 --- a/pkg/detector/ospkg/mariner/mariner.go +++ b/pkg/detector/ospkg/mariner/mariner.go @@ -1,12 +1,11 @@ package mariner import ( - "strings" - version "github.com/knqyf263/go-rpm-version" "golang.org/x/xerrors" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/mariner" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -30,9 +29,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa log.Logger.Info("Detecting CBL-Mariner vulnerabilities...") // e.g. 1.0.20210127 - if strings.Count(osVer, ".") > 1 { - osVer = osVer[:strings.LastIndex(osVer, ".")] - } + osVer = osver.Minor(osVer) log.Logger.Debugf("CBL-Mariner: os version: %s", osVer) log.Logger.Debugf("CBL-Mariner: the number of packages: %d", len(pkgs)) @@ -75,8 +72,8 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa return vulns, nil } -// IsSupportedVersion checks the OS version can be scanned using CBL-Mariner scanner -func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { +// IsSupportedVersion checks if the version is supported. +func (s *Scanner) IsSupportedVersion(_ ftypes.OSType, _ string) bool { // EOL is not in public at the moment. return true } diff --git a/pkg/detector/ospkg/oracle/oracle.go b/pkg/detector/ospkg/oracle/oracle.go index 8eea8aca3a66..ccffc56eb1f5 100644 --- a/pkg/detector/ospkg/oracle/oracle.go +++ b/pkg/detector/ospkg/oracle/oracle.go @@ -9,6 +9,7 @@ import ( "k8s.io/utils/clock" oracleoval "github.com/aquasecurity/trivy-db/pkg/vulnsrc/oracle-oval" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -58,10 +59,7 @@ func extractKsplice(v string) string { func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Package) ([]types.DetectedVulnerability, error) { log.Logger.Info("Detecting Oracle Linux vulnerabilities...") - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } - + osVer = osver.Major(osVer) log.Logger.Debugf("Oracle Linux: os version: %s", osVer) log.Logger.Debugf("Oracle Linux: the number of packages: %d", len(pkgs)) @@ -102,17 +100,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa return vulns, nil } -// IsSupportedVersion checks is OSFamily can be scanned with Oracle scanner +// IsSupportedVersion checks if the version is supported. func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } - - eol, ok := eolDates[osVer] - if !ok { - log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return false - } - - return s.clock.Now().Before(eol) + return osver.Supported(s.clock, eolDates, osFamily, osver.Major(osVer)) } diff --git a/pkg/detector/ospkg/oracle/oracle_test.go b/pkg/detector/ospkg/oracle/oracle_test.go index 8671d0cf4fd9..e72bc1c1ed2d 100644 --- a/pkg/detector/ospkg/oracle/oracle_test.go +++ b/pkg/detector/ospkg/oracle/oracle_test.go @@ -73,11 +73,11 @@ func TestScanner_IsSupportedVersion(t *testing.T) { osVersion: "8", expected: false, }, - "unknown": { + "latest": { clock: clocktesting.NewFakeClock(time.Date(2019, 5, 31, 23, 59, 59, 0, time.UTC)), osFamily: "oracle", - osVersion: "unknown", - expected: false, + osVersion: "latest", + expected: true, }, } diff --git a/pkg/detector/ospkg/photon/photon.go b/pkg/detector/ospkg/photon/photon.go index 54c96b602544..df9822dd5b3e 100644 --- a/pkg/detector/ospkg/photon/photon.go +++ b/pkg/detector/ospkg/photon/photon.go @@ -8,6 +8,7 @@ import ( "k8s.io/utils/clock" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/photon" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -31,9 +32,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -94,12 +95,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa return vulns, nil } -// IsSupportedVersion checks if the OS version reached end-of-support. +// IsSupportedVersion checks if the version is supported. func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { - eol, ok := eolDates[osVer] - if !ok { - log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return false - } - return s.clock.Now().Before(eol) + return osver.Supported(s.clock, eolDates, osFamily, osVer) } diff --git a/pkg/detector/ospkg/photon/photon_test.go b/pkg/detector/ospkg/photon/photon_test.go index 04884b6a5d0f..84d1e947880d 100644 --- a/pkg/detector/ospkg/photon/photon_test.go +++ b/pkg/detector/ospkg/photon/photon_test.go @@ -136,13 +136,13 @@ func TestScanner_IsSupportedVersion(t *testing.T) { want: false, }, { - name: "unknown", + name: "latest", now: time.Date(2022, 1, 31, 23, 59, 59, 0, time.UTC), args: args{ osFamily: "photon", - osVer: "unknown", + osVer: "999.0", }, - want: false, + want: true, }, } for _, tt := range tests { diff --git a/pkg/detector/ospkg/redhat/redhat.go b/pkg/detector/ospkg/redhat/redhat.go index 696c37c99c51..8e419c93a45e 100644 --- a/pkg/detector/ospkg/redhat/redhat.go +++ b/pkg/detector/ospkg/redhat/redhat.go @@ -16,6 +16,7 @@ import ( ustrings "github.com/aquasecurity/trivy-db/pkg/utils/strings" redhat "github.com/aquasecurity/trivy-db/pkg/vulnsrc/redhat-oval" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -69,9 +70,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -99,9 +100,8 @@ func NewScanner(opts ...option) *Scanner { // Detect scans and returns redhat vulnerabilities func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Package) ([]types.DetectedVulnerability, error) { log.Logger.Info("Detecting RHEL/CentOS vulnerabilities...") - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } + + osVer = osver.Major(osVer) log.Logger.Debugf("Red Hat: os version: %s", osVer) log.Logger.Debugf("Red Hat: the number of packages: %d", len(pkgs)) @@ -142,7 +142,7 @@ func (s *Scanner) detect(osVer string, pkg ftypes.Package) ([]types.DetectedVuln installed := utils.FormatVersion(pkg) installedVersion := version.NewVersion(installed) - uniqVulns := map[string]types.DetectedVulnerability{} + uniqVulns := make(map[string]types.DetectedVulnerability) for _, adv := range advisories { // if Arches for advisory is empty or pkg.Arch is "noarch", then any Arches are affected if len(adv.Arches) != 0 && pkg.Arch != "noarch" { @@ -209,23 +209,12 @@ func (s *Scanner) detect(osVer string, pkg ftypes.Package) ([]types.DetectedVuln // IsSupportedVersion checks is OSFamily can be scanned with Redhat scanner func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } - - var eolDate time.Time - var ok bool - if osFamily == ftypes.RedHat { - eolDate, ok = redhatEOLDates[osVer] - } else if osFamily == ftypes.CentOS { - eolDate, ok = centosEOLDates[osVer] - } - if !ok { - log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return false + osVer = osver.Major(osVer) + if osFamily == ftypes.CentOS { + return osver.Supported(s.clock, centosEOLDates, osFamily, osVer) } - return s.clock.Now().Before(eolDate) + return osver.Supported(s.clock, redhatEOLDates, osFamily, osVer) } func isFromSupportedVendor(pkg ftypes.Package) bool { diff --git a/pkg/detector/ospkg/redhat/redhat_test.go b/pkg/detector/ospkg/redhat/redhat_test.go index 93e08e108bfe..034e37a8e40c 100644 --- a/pkg/detector/ospkg/redhat/redhat_test.go +++ b/pkg/detector/ospkg/redhat/redhat_test.go @@ -424,13 +424,13 @@ func TestScanner_IsSupportedVersion(t *testing.T) { want: true, }, { - name: "unknown", + name: "latest", now: time.Date(2019, 5, 31, 23, 59, 59, 0, time.UTC), args: args{ - osFamily: "unknown", - osVer: "8.0", + osFamily: "redhat", + osVer: "999.0", }, - want: false, + want: true, }, } for _, tt := range tests { diff --git a/pkg/detector/ospkg/rocky/rocky.go b/pkg/detector/ospkg/rocky/rocky.go index 11c00472c574..25efce4cb865 100644 --- a/pkg/detector/ospkg/rocky/rocky.go +++ b/pkg/detector/ospkg/rocky/rocky.go @@ -1,7 +1,6 @@ package rocky import ( - "strings" "time" version "github.com/knqyf263/go-rpm-version" @@ -9,6 +8,7 @@ import ( "k8s.io/utils/clock" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/rocky" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -30,9 +30,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -60,9 +60,8 @@ func NewScanner(opts ...option) *Scanner { // Detect vulnerabilities in package using Rocky Linux scanner func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Package) ([]types.DetectedVulnerability, error) { log.Logger.Info("Detecting Rocky Linux vulnerabilities...") - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } + + osVer = osver.Major(osVer) log.Logger.Debugf("Rocky Linux: os version: %s", osVer) log.Logger.Debugf("Rocky Linux: the number of packages: %d", len(pkgs)) @@ -107,19 +106,9 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa return vulns, nil } -// IsSupportedVersion checks the OSFamily can be scanned using Rocky Linux scanner +// IsSupportedVersion checks if the version is supported. func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { - if strings.Count(osVer, ".") > 0 { - osVer = osVer[:strings.Index(osVer, ".")] - } - - eol, ok := eolDates[osVer] - if !ok { - log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return false - } - - return s.clock.Now().Before(eol) + return osver.Supported(s.clock, eolDates, osFamily, osver.Major(osVer)) } func addModularNamespace(name, label string) string { diff --git a/pkg/detector/ospkg/rocky/rocky_test.go b/pkg/detector/ospkg/rocky/rocky_test.go index e5ebe844e2de..4a4c68f047d6 100644 --- a/pkg/detector/ospkg/rocky/rocky_test.go +++ b/pkg/detector/ospkg/rocky/rocky_test.go @@ -164,13 +164,13 @@ func TestScanner_IsSupportedVersion(t *testing.T) { want: false, }, { - name: "unknown", + name: "latest", now: time.Date(2019, 5, 2, 23, 59, 59, 0, time.UTC), args: args{ osFamily: "rocky", - osVer: "unknown", + osVer: "999.0", }, - want: false, + want: true, }, } for _, tt := range tests { diff --git a/pkg/detector/ospkg/suse/suse.go b/pkg/detector/ospkg/suse/suse.go index a32de1c76257..c846867d73ca 100644 --- a/pkg/detector/ospkg/suse/suse.go +++ b/pkg/detector/ospkg/suse/suse.go @@ -8,6 +8,7 @@ import ( "k8s.io/utils/clock" susecvrf "github.com/aquasecurity/trivy-db/pkg/vulnsrc/suse-cvrf" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -40,7 +41,7 @@ var ( "15.4": time.Date(2023, 12, 31, 23, 59, 59, 0, time.UTC), "15.5": time.Date(2028, 12, 31, 23, 59, 59, 0, time.UTC), // 6 months after SLES 15 SP7 release - //"15.6": time.Date(2028, 12, 31, 23, 59, 59, 0, time.UTC), + // "15.6": time.Date(2028, 12, 31, 23, 59, 59, 0, time.UTC), } opensuseEolDates = map[string]time.Time{ @@ -63,9 +64,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -148,19 +149,8 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa // IsSupportedVersion checks if OSFamily can be scanned using SUSE scanner func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { - var eolDate time.Time - var ok bool - if osFamily == ftypes.SLES { - eolDate, ok = slesEolDates[osVer] - } else if osFamily == ftypes.OpenSUSELeap { - eolDate, ok = opensuseEolDates[osVer] - } - - if !ok { - log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return false + return osver.Supported(s.clock, slesEolDates, osFamily, osVer) } - - return s.clock.Now().Before(eolDate) + return osver.Supported(s.clock, opensuseEolDates, osFamily, osVer) } diff --git a/pkg/detector/ospkg/suse/suse_test.go b/pkg/detector/ospkg/suse/suse_test.go index 2fc8c2a64814..85d0024335be 100644 --- a/pkg/detector/ospkg/suse/suse_test.go +++ b/pkg/detector/ospkg/suse/suse_test.go @@ -142,13 +142,13 @@ func TestScanner_IsSupportedVersion(t *testing.T) { want: false, }, { - name: "unknown", + name: "latest", now: time.Date(2019, 5, 2, 23, 59, 59, 0, time.UTC), args: args{ - osFamily: "unknown", - osVer: "unknown", + osFamily: "opensuse.leap", + osVer: "999.0", }, - want: false, + want: true, }, } for _, tt := range tests { diff --git a/pkg/detector/ospkg/ubuntu/ubuntu.go b/pkg/detector/ospkg/ubuntu/ubuntu.go index f8991ff32f09..836f26999077 100644 --- a/pkg/detector/ospkg/ubuntu/ubuntu.go +++ b/pkg/detector/ospkg/ubuntu/ubuntu.go @@ -9,6 +9,7 @@ import ( "k8s.io/utils/clock" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/ubuntu" + osver "github.com/aquasecurity/trivy/pkg/detector/ospkg/version" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/scanner/utils" @@ -68,9 +69,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -149,12 +150,7 @@ func (s *Scanner) Detect(osVer string, _ *ftypes.Repository, pkgs []ftypes.Packa // IsSupportedVersion checks is OSFamily can be scanned using Ubuntu scanner func (s *Scanner) IsSupportedVersion(osFamily ftypes.OSType, osVer string) bool { - eol, ok := eolDates[s.versionFromEolDates(osVer)] - if !ok { - log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) - return false - } - return s.clock.Now().Before(eol) + return osver.Supported(s.clock, eolDates, osFamily, osVer) } // versionFromEolDates checks if actual (not ESM) version is not outdated diff --git a/pkg/detector/ospkg/ubuntu/ubuntu_test.go b/pkg/detector/ospkg/ubuntu/ubuntu_test.go index 42ed9971099a..96979fca7095 100644 --- a/pkg/detector/ospkg/ubuntu/ubuntu_test.go +++ b/pkg/detector/ospkg/ubuntu/ubuntu_test.go @@ -247,13 +247,13 @@ func TestScanner_IsSupportedVersion(t *testing.T) { want: false, }, { - name: "unknown", + name: "latest", now: time.Date(2019, 5, 2, 23, 59, 59, 0, time.UTC), args: args{ osFamily: "ubuntu", - osVer: "unknown", + osVer: "99.04", }, - want: false, + want: true, }, } for _, tt := range tests { diff --git a/pkg/detector/ospkg/version/version.go b/pkg/detector/ospkg/version/version.go new file mode 100644 index 000000000000..2e0fce38a2ce --- /dev/null +++ b/pkg/detector/ospkg/version/version.go @@ -0,0 +1,38 @@ +package version + +import ( + "strings" + "time" + + "k8s.io/utils/clock" + + ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/log" +) + +// Major returns the major version +// e.g. 8.1 => 8 +func Major(osVer string) string { + osVer, _, _ = strings.Cut(osVer, ".") + return osVer +} + +// Minor returns the major and minor version +// e.g. 3.17.2 => 3.17 +func Minor(osVer string) string { + major, s, ok := strings.Cut(osVer, ".") + if !ok { + return osVer + } + minor, _, _ := strings.Cut(s, ".") + return major + "." + minor +} + +func Supported(c clock.Clock, eolDates map[string]time.Time, osFamily ftypes.OSType, osVer string) bool { + eol, ok := eolDates[osVer] + if !ok { + log.Logger.Warnf("This OS version is not on the EOL list: %s %s", osFamily, osVer) + return true // can be the latest version + } + return c.Now().Before(eol) +} diff --git a/pkg/detector/ospkg/wolfi/wolfi.go b/pkg/detector/ospkg/wolfi/wolfi.go index 014ab64350be..466ea20e5049 100644 --- a/pkg/detector/ospkg/wolfi/wolfi.go +++ b/pkg/detector/ospkg/wolfi/wolfi.go @@ -19,9 +19,9 @@ type options struct { type option func(*options) -func WithClock(clock clock.Clock) option { +func WithClock(c clock.Clock) option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } @@ -102,7 +102,7 @@ func (s *Scanner) isVulnerable(installedVersion version.Version, adv dbTypes.Adv return installedVersion.LessThan(fixedVersion) } -// IsSupportedVersion checks the OSFamily can be scanned using Wolfi scanner +// IsSupportedVersion checks if the version is supported. func (s *Scanner) IsSupportedVersion(_ ftypes.OSType, _ string) bool { // Wolfi doesn't have versions, so there is no case where a given input yields a // result of an unsupported Wolfi version. diff --git a/pkg/fanal/analyzer/analyzer.go b/pkg/fanal/analyzer/analyzer.go index 8b9aed005b09..ccb578be62fa 100644 --- a/pkg/fanal/analyzer/analyzer.go +++ b/pkg/fanal/analyzer/analyzer.go @@ -23,8 +23,8 @@ import ( ) var ( - analyzers = map[Type]analyzer{} - postAnalyzers = map[Type]postAnalyzerInitialize{} + analyzers = make(map[Type]analyzer) + postAnalyzers = make(map[Type]postAnalyzerInitialize) // ErrUnknownOS occurs when unknown OS is analyzed. ErrUnknownOS = xerrors.New("unknown OS") @@ -241,8 +241,8 @@ func (r *AnalysisResult) Sort() { }) } -func (r *AnalysisResult) Merge(new *AnalysisResult) { - if new == nil || new.isEmpty() { +func (r *AnalysisResult) Merge(newResult *AnalysisResult) { + if newResult == nil || newResult.isEmpty() { return } @@ -250,47 +250,47 @@ func (r *AnalysisResult) Merge(new *AnalysisResult) { r.m.Lock() defer r.m.Unlock() - r.OS.Merge(new.OS) + r.OS.Merge(newResult.OS) - if new.Repository != nil { - r.Repository = new.Repository + if newResult.Repository != nil { + r.Repository = newResult.Repository } - if len(new.PackageInfos) > 0 { - r.PackageInfos = append(r.PackageInfos, new.PackageInfos...) + if len(newResult.PackageInfos) > 0 { + r.PackageInfos = append(r.PackageInfos, newResult.PackageInfos...) } - if len(new.Applications) > 0 { - r.Applications = append(r.Applications, new.Applications...) + if len(newResult.Applications) > 0 { + r.Applications = append(r.Applications, newResult.Applications...) } // Merge SHA-256 digests of unpackaged files - if new.Digests != nil { - r.Digests = lo.Assign(r.Digests, new.Digests) + if newResult.Digests != nil { + r.Digests = lo.Assign(r.Digests, newResult.Digests) } - r.Misconfigurations = append(r.Misconfigurations, new.Misconfigurations...) - r.Secrets = append(r.Secrets, new.Secrets...) - r.Licenses = append(r.Licenses, new.Licenses...) - r.SystemInstalledFiles = append(r.SystemInstalledFiles, new.SystemInstalledFiles...) + r.Misconfigurations = append(r.Misconfigurations, newResult.Misconfigurations...) + r.Secrets = append(r.Secrets, newResult.Secrets...) + r.Licenses = append(r.Licenses, newResult.Licenses...) + r.SystemInstalledFiles = append(r.SystemInstalledFiles, newResult.SystemInstalledFiles...) - if new.BuildInfo != nil { + if newResult.BuildInfo != nil { if r.BuildInfo == nil { - r.BuildInfo = new.BuildInfo + r.BuildInfo = newResult.BuildInfo } else { // We don't need to merge build info here // because there is theoretically only one file about build info in each layer. - if new.BuildInfo.Nvr != "" || new.BuildInfo.Arch != "" { - r.BuildInfo.Nvr = new.BuildInfo.Nvr - r.BuildInfo.Arch = new.BuildInfo.Arch + if newResult.BuildInfo.Nvr != "" || newResult.BuildInfo.Arch != "" { + r.BuildInfo.Nvr = newResult.BuildInfo.Nvr + r.BuildInfo.Arch = newResult.BuildInfo.Arch } - if len(new.BuildInfo.ContentSets) > 0 { - r.BuildInfo.ContentSets = new.BuildInfo.ContentSets + if len(newResult.BuildInfo.ContentSets) > 0 { + r.BuildInfo.ContentSets = newResult.BuildInfo.ContentSets } } } - r.CustomResources = append(r.CustomResources, new.CustomResources...) + r.CustomResources = append(r.CustomResources, newResult.CustomResources...) } func belongToGroup(groupName Group, analyzerType Type, disabledAnalyzers []Type, analyzer any) bool { @@ -318,7 +318,7 @@ func NewAnalyzerGroup(opt AnalyzerOptions) (AnalyzerGroup, error) { } group := AnalyzerGroup{ - filePatterns: map[Type][]*regexp.Regexp{}, + filePatterns: make(map[Type][]*regexp.Regexp), } for _, p := range opt.FilePatterns { // e.g. "dockerfile:my_dockerfile_*" @@ -374,11 +374,11 @@ type Versions struct { // AnalyzerVersions returns analyzer version identifier used for cache keys. func (ag AnalyzerGroup) AnalyzerVersions() Versions { - analyzerVersions := map[string]int{} + analyzerVersions := make(map[string]int) for _, a := range ag.analyzers { analyzerVersions[string(a.Type())] = a.Version() } - postAnalyzerVersions := map[string]int{} + postAnalyzerVersions := make(map[string]int) for _, a := range ag.postAnalyzers { postAnalyzerVersions[string(a.Type())] = a.Version() } diff --git a/pkg/fanal/analyzer/buildinfo/dockerfile.go b/pkg/fanal/analyzer/buildinfo/dockerfile.go index e0e4b6d7d925..b14198aa3dd8 100644 --- a/pkg/fanal/analyzer/buildinfo/dockerfile.go +++ b/pkg/fanal/analyzer/buildinfo/dockerfile.go @@ -119,7 +119,7 @@ func parseVersion(nvr string) string { // https://github.com/moby/buildkit/blob/b33357bcd2e3319b0323037c900c13b45a228df1/frontend/dockerfile/dockerfile2llb/convert.go#L474-L482 func metaArgsToMap(metaArgs []instructions.KeyValuePairOptional) map[string]string { - m := map[string]string{} + m := make(map[string]string) for _, arg := range metaArgs { m[arg.Key] = arg.ValueString() diff --git a/pkg/fanal/analyzer/config_analyzer.go b/pkg/fanal/analyzer/config_analyzer.go index 798f73a1822d..651b936f1ac7 100644 --- a/pkg/fanal/analyzer/config_analyzer.go +++ b/pkg/fanal/analyzer/config_analyzer.go @@ -12,7 +12,7 @@ import ( "github.com/aquasecurity/trivy/pkg/misconf" ) -var configAnalyzerConstructors = map[Type]configAnalyzerConstructor{} +var configAnalyzerConstructors = make(map[Type]configAnalyzerConstructor) type configAnalyzerConstructor func(ConfigAnalyzerOptions) (ConfigAnalyzer, error) @@ -53,18 +53,18 @@ type ConfigAnalysisResult struct { HistoryPackages types.Packages } -func (r *ConfigAnalysisResult) Merge(new *ConfigAnalysisResult) { - if new == nil { +func (r *ConfigAnalysisResult) Merge(newResult *ConfigAnalysisResult) { + if newResult == nil { return } - if new.Misconfiguration != nil { - r.Misconfiguration = new.Misconfiguration + if newResult.Misconfiguration != nil { + r.Misconfiguration = newResult.Misconfiguration } - if new.Secret != nil { - r.Secret = new.Secret + if newResult.Secret != nil { + r.Secret = newResult.Secret } - if new.HistoryPackages != nil { - r.HistoryPackages = new.HistoryPackages + if newResult.HistoryPackages != nil { + r.HistoryPackages = newResult.HistoryPackages } } @@ -92,7 +92,7 @@ func NewConfigAnalyzerGroup(opts ConfigAnalyzerOptions) (ConfigAnalyzerGroup, er // AnalyzerVersions returns analyzer version identifier used for cache keys. func (ag *ConfigAnalyzerGroup) AnalyzerVersions() Versions { - versions := map[string]int{} + versions := make(map[string]int) for _, ca := range ag.configAnalyzers { versions[string(ca.Type())] = ca.Version() } diff --git a/pkg/fanal/analyzer/fs.go b/pkg/fanal/analyzer/fs.go index d55a7cba7f10..d578d6e6d06d 100644 --- a/pkg/fanal/analyzer/fs.go +++ b/pkg/fanal/analyzer/fs.go @@ -87,8 +87,8 @@ func (c *CompositeFS) CreateLink(analyzerTypes []Type, rootDir, virtualPath, rea } // Set sets the fs.FS for the specified post-analyzer -func (c *CompositeFS) Set(t Type, fs *mapfs.FS) { - c.files.Store(t, fs) +func (c *CompositeFS) Set(t Type, mfs *mapfs.FS) { + c.files.Store(t, mfs) } // Get returns the fs.FS for the specified post-analyzer diff --git a/pkg/fanal/analyzer/imgconf/apk/apk.go b/pkg/fanal/analyzer/imgconf/apk/apk.go index 20344b89a964..7d2a88e84bff 100644 --- a/pkg/fanal/analyzer/imgconf/apk/apk.go +++ b/pkg/fanal/analyzer/imgconf/apk/apk.go @@ -120,13 +120,13 @@ func (a alpineCmdAnalyzer) fetchApkIndexArchive(targetOS types.OS) (*apkIndex, e } func (a alpineCmdAnalyzer) parseConfig(apkIndexArchive *apkIndex, config *v1.ConfigFile) (packages []types.Package) { - envs := map[string]string{} + envs := make(map[string]string) for _, env := range config.Config.Env { index := strings.Index(env, "=") envs["$"+env[:index]] = env[index+1:] } - uniqPkgs := map[string]types.Package{} + uniqPkgs := make(map[string]types.Package) for _, history := range config.History { pkgs := a.parseCommand(history.CreatedBy, envs) pkgs = a.resolveDependencies(apkIndexArchive, pkgs) @@ -161,11 +161,12 @@ func (a alpineCmdAnalyzer) parseCommand(command string, envs map[string]string) var add bool for _, field := range strings.Fields(cmd) { - if strings.HasPrefix(field, "-") || strings.HasPrefix(field, ".") { + switch { + case strings.HasPrefix(field, "-") || strings.HasPrefix(field, "."): continue - } else if field == "add" { + case field == "add": add = true - } else if add { + case add: if strings.HasPrefix(field, "$") { pkgs = append(pkgs, strings.Fields(envs[field])...) continue @@ -177,13 +178,13 @@ func (a alpineCmdAnalyzer) parseCommand(command string, envs map[string]string) return pkgs } func (a alpineCmdAnalyzer) resolveDependencies(apkIndexArchive *apkIndex, originalPkgs []string) (pkgs []string) { - uniqPkgs := map[string]struct{}{} + uniqPkgs := make(map[string]struct{}) for _, pkgName := range originalPkgs { if _, ok := uniqPkgs[pkgName]; ok { continue } - seenPkgs := map[string]struct{}{} + seenPkgs := make(map[string]struct{}) for _, p := range a.resolveDependency(apkIndexArchive, pkgName, seenPkgs) { uniqPkgs[p] = struct{}{} } @@ -208,9 +209,7 @@ func (a alpineCmdAnalyzer) resolveDependency(apkIndexArchive *apkIndex, pkgName pkgNames = append(pkgNames, pkgName) for _, dependency := range pkg.Dependencies { // sqlite-libs=3.26.0-r3 => sqlite-libs - if strings.Contains(dependency, "=") { - dependency = dependency[:strings.Index(dependency, "=")] - } + dependency, _, _ = strings.Cut(dependency, "=") if strings.HasPrefix(dependency, "so:") { soProvidePkg := apkIndexArchive.Provide.SO[dependency[3:]].Package diff --git a/pkg/fanal/analyzer/language/dotnet/nuget/nuspec.go b/pkg/fanal/analyzer/language/dotnet/nuget/nuspec.go index edefec61ed16..b42d1cec38d2 100644 --- a/pkg/fanal/analyzer/language/dotnet/nuget/nuspec.go +++ b/pkg/fanal/analyzer/language/dotnet/nuget/nuspec.go @@ -34,7 +34,7 @@ type nuspecParser struct { } func newNuspecParser() nuspecParser { - // https: //learn.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders + // cf. https: //learn.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders packagesDir := os.Getenv("NUGET_PACKAGES") if packagesDir == "" { packagesDir = filepath.Join(os.Getenv("HOME"), ".nuget", "packages") diff --git a/pkg/fanal/analyzer/language/golang/mod/mod.go b/pkg/fanal/analyzer/language/golang/mod/mod.go index 406f60cfef01..e62bbe8e27a5 100644 --- a/pkg/fanal/analyzer/language/golang/mod/mod.go +++ b/pkg/fanal/analyzer/language/golang/mod/mod.go @@ -132,7 +132,7 @@ func (a *gomodAnalyzer) fillAdditionalData(apps []types.Application) error { return nil } - licenses := map[string][]string{} + licenses := make(map[string][]string) for i, app := range apps { // Actually used dependencies usedLibs := lo.SliceToMap(app.Libraries, func(pkg types.Package) (string, types.Package) { @@ -180,7 +180,7 @@ func (a *gomodAnalyzer) fillAdditionalData(apps []types.Application) error { return nil } -func (a *gomodAnalyzer) collectDeps(modDir string, pkgID string) (godeptypes.Dependency, error) { +func (a *gomodAnalyzer) collectDeps(modDir, pkgID string) (godeptypes.Dependency, error) { // e.g. $GOPATH/pkg/mod/github.com/aquasecurity/go-dep-parser@v0.0.0-20220406074731-71021a481237/go.mod modPath := filepath.Join(modDir, "go.mod") f, err := os.Open(modPath) @@ -239,7 +239,7 @@ func mergeGoSum(gomod, gosum *types.Application) { if gomod == nil || gosum == nil { return } - uniq := map[string]types.Package{} + uniq := make(map[string]types.Package) for _, lib := range gomod.Libraries { // It will be used for merging go.sum. uniq[lib.Name] = lib @@ -289,12 +289,14 @@ func findLicense(dir string, classifierConfidenceLevel float64) ([]string, error } return nil }) + + switch { // The module path may not exist - if errors.Is(err, os.ErrNotExist) { + case errors.Is(err, os.ErrNotExist): return nil, nil - } else if err != nil && !errors.Is(err, io.EOF) { + case err != nil && !errors.Is(err, io.EOF): return nil, fmt.Errorf("finding a known open source license: %w", err) - } else if license == nil || len(license.Findings) == 0 { + case license == nil || len(license.Findings) == 0: return nil, nil } diff --git a/pkg/fanal/analyzer/language/nodejs/license/license.go b/pkg/fanal/analyzer/language/nodejs/license/license.go index 54c7092fcf30..680756bad32f 100644 --- a/pkg/fanal/analyzer/language/nodejs/license/license.go +++ b/pkg/fanal/analyzer/language/nodejs/license/license.go @@ -29,7 +29,7 @@ func NewLicense(classifierConfidenceLevel float64) *License { } func (l *License) Traverse(fsys fs.FS, root string) (map[string][]string, error) { - licenses := map[string][]string{} + licenses := make(map[string][]string) walkDirFunc := func(pkgJSONPath string, d fs.DirEntry, r io.Reader) error { pkg, err := l.parser.Parse(r) if err != nil { diff --git a/pkg/fanal/analyzer/language/nodejs/npm/npm.go b/pkg/fanal/analyzer/language/nodejs/npm/npm.go index 5a9d50bd02ef..b827a37f83ff 100644 --- a/pkg/fanal/analyzer/language/nodejs/npm/npm.go +++ b/pkg/fanal/analyzer/language/nodejs/npm/npm.go @@ -56,7 +56,7 @@ func (a npmLibraryAnalyzer) PostAnalyze(_ context.Context, input analyzer.PostAn licenses, err := a.findLicenses(input.FS, filePath) if err != nil { log.Logger.Errorf("Unable to collect licenses: %s", err) - licenses = map[string]string{} + licenses = make(map[string]string) } app, err := a.parseNpmPkgLock(input.FS, filePath) @@ -107,8 +107,8 @@ func (a npmLibraryAnalyzer) Version() int { return version } -func (a npmLibraryAnalyzer) parseNpmPkgLock(fsys fs.FS, path string) (*types.Application, error) { - f, err := fsys.Open(path) +func (a npmLibraryAnalyzer) parseNpmPkgLock(fsys fs.FS, filePath string) (*types.Application, error) { + f, err := fsys.Open(filePath) if err != nil { return nil, xerrors.Errorf("file open error: %w", err) } @@ -120,7 +120,7 @@ func (a npmLibraryAnalyzer) parseNpmPkgLock(fsys fs.FS, path string) (*types.App } // parse package-lock.json file - return language.Parse(types.Npm, path, file, a.lockParser) + return language.Parse(types.Npm, filePath, file, a.lockParser) } func (a npmLibraryAnalyzer) findLicenses(fsys fs.FS, lockPath string) (map[string]string, error) { @@ -139,7 +139,7 @@ func (a npmLibraryAnalyzer) findLicenses(fsys fs.FS, lockPath string) (map[strin // Traverse node_modules dir and find licenses // Note that fs.FS is always slashed regardless of the platform, // and path.Join should be used rather than filepath.Join. - licenses := map[string]string{} + licenses := make(map[string]string) err := fsutils.WalkDir(fsys, root, required, func(filePath string, d fs.DirEntry, r io.Reader) error { pkg, err := a.packageParser.Parse(r) if err != nil { diff --git a/pkg/fanal/analyzer/language/nodejs/yarn/yarn.go b/pkg/fanal/analyzer/language/nodejs/yarn/yarn.go index be74ed68c745..d42c28e47128 100644 --- a/pkg/fanal/analyzer/language/nodejs/yarn/yarn.go +++ b/pkg/fanal/analyzer/language/nodejs/yarn/yarn.go @@ -141,8 +141,8 @@ func (a yarnAnalyzer) Version() int { return version } -func (a yarnAnalyzer) parseYarnLock(path string, r io.Reader) (*types.Application, error) { - return language.Parse(types.Yarn, path, r, a.lockParser) +func (a yarnAnalyzer) parseYarnLock(filePath string, r io.Reader) (*types.Application, error) { + return language.Parse(types.Yarn, filePath, r, a.lockParser) } // analyzeDependencies analyzes the package.json file next to yarn.lock, @@ -191,7 +191,7 @@ func (a yarnAnalyzer) walkDependencies(libs []types.Package, pkgIDs map[string]t directDeps map[string]string, dev bool) (map[string]types.Package, error) { // Identify direct dependencies - pkgs := map[string]types.Package{} + pkgs := make(map[string]types.Package) for _, pkg := range libs { if constraint, ok := directDeps[pkg.Name]; ok { // npm has own comparer to compare versions @@ -214,7 +214,7 @@ func (a yarnAnalyzer) walkDependencies(libs []types.Package, pkgIDs map[string]t return pkgs, nil } -func (a yarnAnalyzer) walkIndirectDependencies(pkg types.Package, pkgIDs map[string]types.Package, deps map[string]types.Package) { +func (a yarnAnalyzer) walkIndirectDependencies(pkg types.Package, pkgIDs, deps map[string]types.Package) { for _, pkgID := range pkg.DependsOn { if _, ok := deps[pkgID]; ok { continue @@ -232,9 +232,9 @@ func (a yarnAnalyzer) walkIndirectDependencies(pkg types.Package, pkgIDs map[str } } -func (a yarnAnalyzer) parsePackageJsonDependencies(fsys fs.FS, path string) (map[string]string, map[string]string, error) { +func (a yarnAnalyzer) parsePackageJsonDependencies(fsys fs.FS, filePath string) (map[string]string, map[string]string, error) { // Parse package.json - f, err := fsys.Open(path) + f, err := fsys.Open(filePath) if err != nil { return nil, nil, xerrors.Errorf("file open error: %w", err) } @@ -329,7 +329,7 @@ func (a yarnAnalyzer) traverseYarnModernPkgs(fsys fs.FS) (map[string][]string, e } var errs error - licenses := map[string][]string{} + licenses := make(map[string][]string) if ll, err := a.traverseUnpluggedDir(sub); err != nil { errs = multierror.Append(errs, err) @@ -358,7 +358,7 @@ func (a yarnAnalyzer) traverseUnpluggedDir(fsys fs.FS) (map[string][]string, err func (a yarnAnalyzer) traverseCacheDir(fsys fs.FS) (map[string][]string, error) { // Traverse .yarn/cache dir - licenses := map[string][]string{} + licenses := make(map[string][]string) err := fsutils.WalkDir(fsys, "cache", fsutils.RequiredExt(".zip"), func(filePath string, d fs.DirEntry, r io.Reader) error { fi, err := d.Info() diff --git a/pkg/fanal/analyzer/language/rust/cargo/cargo.go b/pkg/fanal/analyzer/language/rust/cargo/cargo.go index a407fe3b1d45..61b8bacc707f 100644 --- a/pkg/fanal/analyzer/language/rust/cargo/cargo.go +++ b/pkg/fanal/analyzer/language/rust/cargo/cargo.go @@ -119,7 +119,7 @@ func (a cargoAnalyzer) removeDevDependencies(fsys fs.FS, dir string, app *types. }) // Identify direct dependencies - pkgs := map[string]types.Package{} + pkgs := make(map[string]types.Package) for name, constraint := range directDeps { for _, pkg := range app.Libraries { if pkg.Name != name { @@ -169,7 +169,7 @@ func (a cargoAnalyzer) parseCargoTOML(fsys fs.FS, path string) (map[string]strin defer func() { _ = f.Close() }() tomlFile := cargoToml{} - deps := map[string]string{} + deps := make(map[string]string) _, err = toml.NewDecoder(f).Decode(&tomlFile) if err != nil { return nil, xerrors.Errorf("toml decode error: %w", err) @@ -210,7 +210,7 @@ func (a cargoAnalyzer) parseCargoTOML(fsys fs.FS, path string) (map[string]strin return deps, nil } -func (a cargoAnalyzer) walkIndirectDependencies(pkg types.Package, pkgIDs map[string]types.Package, deps map[string]types.Package) { +func (a cargoAnalyzer) walkIndirectDependencies(pkg types.Package, pkgIDs, deps map[string]types.Package) { for _, pkgID := range pkg.DependsOn { if _, ok := deps[pkgID]; ok { continue diff --git a/pkg/fanal/analyzer/os/mariner/mariner.go b/pkg/fanal/analyzer/os/mariner/mariner.go index 6495d17fdefe..f24a8b1886b3 100644 --- a/pkg/fanal/analyzer/os/mariner/mariner.go +++ b/pkg/fanal/analyzer/os/mariner/mariner.go @@ -44,7 +44,7 @@ func (a marinerOSAnalyzer) parseRelease(r io.Reader) (types.OS, error) { if len(fields) != 2 { continue } - if strings.ToLower(fields[0]) == "cbl-mariner" { + if strings.EqualFold(fields[0], "cbl-mariner") { return types.OS{ Family: types.CBLMariner, Name: fields[1], diff --git a/pkg/fanal/analyzer/pkg/apk/apk.go b/pkg/fanal/analyzer/pkg/apk/apk.go index defccaeee1c9..c700121d05d0 100644 --- a/pkg/fanal/analyzer/pkg/apk/apk.go +++ b/pkg/fanal/analyzer/pkg/apk/apk.go @@ -54,7 +54,7 @@ func (a alpinePkgAnalyzer) parseApkInfo(scanner *bufio.Scanner) ([]types.Package version string dir string installedFiles []string - provides = map[string]string{} // for dependency graph + provides = make(map[string]string) // for dependency graph ) for scanner.Scan() { @@ -144,11 +144,12 @@ func (a alpinePkgAnalyzer) parseLicense(line string) []string { // e.g. MPL 2.0 GPL2+ => {"MPL2.0", "GPL2+"} for i, s := range strings.Fields(line) { s = strings.Trim(s, "()") - if s == "AND" || s == "OR" { + switch { + case s == "AND" || s == "OR": continue - } else if i > 0 && (s == "1.0" || s == "2.0" || s == "3.0") { + case i > 0 && (s == "1.0" || s == "2.0" || s == "3.0"): licenses[i-1] = licensing.Normalize(licenses[i-1] + s) - } else { + default: licenses = append(licenses, licensing.Normalize(s)) } } @@ -194,7 +195,7 @@ func (a alpinePkgAnalyzer) consolidateDependencies(pkgs []types.Package, provide } func (a alpinePkgAnalyzer) uniquePkgs(pkgs []types.Package) (uniqPkgs []types.Package) { - uniq := map[string]struct{}{} + uniq := make(map[string]struct{}) for _, pkg := range pkgs { if _, ok := uniq[pkg.Name]; ok { continue diff --git a/pkg/fanal/analyzer/pkg/dpkg/dpkg.go b/pkg/fanal/analyzer/pkg/dpkg/dpkg.go index c90fb0867f03..763005b50b05 100644 --- a/pkg/fanal/analyzer/pkg/dpkg/dpkg.go +++ b/pkg/fanal/analyzer/pkg/dpkg/dpkg.go @@ -136,7 +136,7 @@ func (a dpkgAnalyzer) parseDpkgAvailable(fsys fs.FS) (map[string]digest.Digest, } defer f.Close() - pkgs := map[string]digest.Digest{} + pkgs := make(map[string]digest.Digest) scanner := NewScanner(f) for scanner.Scan() { header, err := scanner.Header() @@ -160,8 +160,8 @@ func (a dpkgAnalyzer) parseDpkgAvailable(fsys fs.FS) (map[string]digest.Digest, // parseDpkgStatus parses /var/lib/dpkg/status or /var/lib/dpkg/status/* func (a dpkgAnalyzer) parseDpkgStatus(filePath string, r io.Reader, digests map[string]digest.Digest) ([]types.PackageInfo, error) { var pkg *types.Package - pkgs := map[string]*types.Package{} - pkgIDs := map[string]string{} + pkgs := make(map[string]*types.Package) + pkgIDs := make(map[string]string) scanner := NewScanner(r) for scanner.Scan() { @@ -216,7 +216,7 @@ func (a dpkgAnalyzer) parseDpkgPkg(header textproto.MIMEHeader) *types.Package { // May also specifies a version if src := header.Get("Source"); src != "" { srcCapture := dpkgSrcCaptureRegexp.FindAllStringSubmatch(src, -1)[0] - md := map[string]string{} + md := make(map[string]string) for i, n := range srcCapture { md[dpkgSrcCaptureRegexpNames[i]] = strings.TrimSpace(n) } @@ -308,9 +308,7 @@ func (a dpkgAnalyzer) trimVersionRequirement(s string) string { // e.g. // libapt-pkg6.0 (>= 2.2.4) => libapt-pkg6.0 // adduser => adduser - if strings.Contains(s, "(") { - s = s[:strings.Index(s, "(")] - } + s, _, _ = strings.Cut(s, "(") return s } diff --git a/pkg/fanal/analyzer/pkg/rpm/rpm.go b/pkg/fanal/analyzer/pkg/rpm/rpm.go index 8d1bacfdb041..ca6e71f1cfe8 100644 --- a/pkg/fanal/analyzer/pkg/rpm/rpm.go +++ b/pkg/fanal/analyzer/pkg/rpm/rpm.go @@ -104,7 +104,7 @@ func (a rpmPkgAnalyzer) parsePkgInfo(rc io.Reader) (types.Packages, []string, er var pkgs []types.Package var installedFiles []string - provides := map[string]string{} + provides := make(map[string]string) for _, pkg := range pkgList { arch := pkg.Arch if arch == "" { diff --git a/pkg/fanal/applier/docker.go b/pkg/fanal/applier/docker.go index 4cb0277667e6..824da3a9ea13 100644 --- a/pkg/fanal/applier/docker.go +++ b/pkg/fanal/applier/docker.go @@ -89,7 +89,7 @@ func lookupOriginLayerForLib(filePath string, lib types.Package, layers []types. func ApplyLayers(layers []types.BlobInfo) types.ArtifactDetail { sep := "/" nestedMap := nested.Nested{} - secretsMap := map[string]types.Secret{} + secretsMap := make(map[string]types.Secret) var mergedLayer types.ArtifactDetail for _, layer := range layers { @@ -184,7 +184,7 @@ func ApplyLayers(layers []types.BlobInfo) types.ArtifactDetail { // Extract dpkg licenses // The license information is not stored in the dpkg database and in a separate file, // so we have to merge the license information into the package. - dpkgLicenses := map[string][]string{} + dpkgLicenses := make(map[string][]string) mergedLayer.Licenses = lo.Reject(mergedLayer.Licenses, func(license types.LicenseFile, _ int) bool { if license.Type != types.LicenseTypeDpkg { return false diff --git a/pkg/fanal/artifact/image/image.go b/pkg/fanal/artifact/image/image.go index 8f041a4722d4..87c572b32363 100644 --- a/pkg/fanal/artifact/image/image.go +++ b/pkg/fanal/artifact/image/image.go @@ -194,7 +194,7 @@ func (a Artifact) consolidateCreatedBy(diffIDs, layerKeys []string, configFile * // TODO: our current logic may not detect empty layers correctly in rare cases. validCreatedBy := len(diffIDs) == len(createdBy) - layerKeyMap := map[string]LayerInfo{} + layerKeyMap := make(map[string]LayerInfo) for i, diffID := range diffIDs { c := "" diff --git a/pkg/fanal/artifact/local/fs.go b/pkg/fanal/artifact/local/fs.go index d7c4a0573ff0..99499974e19b 100644 --- a/pkg/fanal/artifact/local/fs.go +++ b/pkg/fanal/artifact/local/fs.go @@ -203,7 +203,7 @@ func (a Artifact) Inspect(ctx context.Context) (types.ArtifactReference, error) // get hostname var hostName string b, err := os.ReadFile(filepath.Join(a.rootPath, "etc", "hostname")) - if err == nil && string(b) != "" { + if err == nil && len(b) != 0 { hostName = strings.TrimSpace(string(b)) } else { // To slash for Windows diff --git a/pkg/fanal/cache/s3.go b/pkg/fanal/cache/s3.go index e7cd44db758c..648f7aa7df03 100644 --- a/pkg/fanal/cache/s3.go +++ b/pkg/fanal/cache/s3.go @@ -75,7 +75,7 @@ func (c S3Cache) put(key string, body interface{}) (err error) { if err != nil { return xerrors.Errorf("unable to put object: %w", err) } - //Index file due S3 caveat read after write consistency + // Index file due S3 caveat read after write consistency _, err = c.s3Client.PutObject(&s3.PutObjectInput{ Bucket: aws.String(c.bucketName), Key: aws.String(fmt.Sprintf("%s.index", key)), @@ -120,10 +120,11 @@ func (c S3Cache) GetArtifact(artifactID string) (types.ArtifactInfo, error) { return info, nil } -func (c S3Cache) getIndex(key string, keyType string) error { +func (c S3Cache) getIndex(key, keyType string) error { _, err := c.s3Client.HeadObject(&s3.HeadObjectInput{ Key: aws.String(fmt.Sprintf("%s/%s/%s.index", keyType, c.prefix, key)), - Bucket: &c.bucketName}) + Bucket: &c.bucketName, + }) if err != nil { return xerrors.Errorf("failed to get index from the cache: %w", err) } diff --git a/pkg/fanal/handler/handler.go b/pkg/fanal/handler/handler.go index 0d992a71fce2..10ce085b3547 100644 --- a/pkg/fanal/handler/handler.go +++ b/pkg/fanal/handler/handler.go @@ -13,7 +13,7 @@ import ( ) var ( - postHandlerInits = map[types.HandlerType]postHandlerInit{} + postHandlerInits = make(map[types.HandlerType]postHandlerInit) ) type postHandlerInit func(artifact.Option) (PostHandler, error) @@ -62,7 +62,7 @@ func NewManager(artifactOpt artifact.Option) (Manager, error) { } func (m Manager) Versions() map[string]int { - versions := map[string]int{} + versions := make(map[string]int) for _, h := range m.postHandlers { versions[string(h.Type())] = h.Version() } diff --git a/pkg/fanal/image/daemon/containerd.go b/pkg/fanal/image/daemon/containerd.go index 66220adeda34..109081d5bae5 100644 --- a/pkg/fanal/image/daemon/containerd.go +++ b/pkg/fanal/image/daemon/containerd.go @@ -94,7 +94,7 @@ func ContainerdImage(ctx context.Context, imageName string, opts types.ImageOpti return nil, cleanup, err } - options := []containerd.ClientOpt{} + var options []containerd.ClientOpt if opts.RegistryOptions.Platform.Platform != nil { ociPlatform, err := platforms.Parse(opts.RegistryOptions.Platform.String()) if err != nil { @@ -163,19 +163,19 @@ func parseReference(imageName string) (refdocker.Reference, []string, error) { // a name plus a digest // example: name@sha256:41adb3ef... if isDigested && isNamed { - digest := d.Digest() + dgst := d.Digest() // for the filters, each slice entry is logically or'd. each // comma-separated filter is logically anded return ref, []string{ - fmt.Sprintf(`name~="^%s(:|@).*",target.digest=="%s"`, n.Name(), digest), - fmt.Sprintf(`name~="^%s(:|@).*",target.digest=="%s"`, refdocker.FamiliarName(n), digest), + fmt.Sprintf(`name~="^%s(:|@).*",target.digest==%q`, n.Name(), dgst), + fmt.Sprintf(`name~="^%s(:|@).*",target.digest==%q`, refdocker.FamiliarName(n), dgst), }, nil } // digested, but not named. i.e. a plain digest // example: sha256:41adb3ef... if isDigested { - return ref, []string{fmt.Sprintf(`target.digest=="%s"`, d.Digest())}, nil + return ref, []string{fmt.Sprintf(`target.digest==%q`, d.Digest())}, nil } // a name plus a tag diff --git a/pkg/fanal/image/daemon/image.go b/pkg/fanal/image/daemon/image.go index 2e66c1314996..23adf966f84b 100644 --- a/pkg/fanal/image/daemon/image.go +++ b/pkg/fanal/image/daemon/image.go @@ -217,7 +217,7 @@ func (img *image) imageConfig(config *container.Config) v1.Config { } if len(config.ExposedPorts) > 0 { - c.ExposedPorts = map[string]struct{}{} + c.ExposedPorts = make(map[string]struct{}) for port := range c.ExposedPorts { c.ExposedPorts[port] = struct{}{} } diff --git a/pkg/fanal/image/registry/azure/azure.go b/pkg/fanal/image/registry/azure/azure.go index f77f3f9d9a97..491fce4e27c3 100644 --- a/pkg/fanal/image/registry/azure/azure.go +++ b/pkg/fanal/image/registry/azure/azure.go @@ -49,7 +49,7 @@ func (r *Registry) GetCredential(ctx context.Context) (string, string, error) { return "00000000-0000-0000-0000-000000000000", *rt.RefreshToken, err } -func refreshToken(ctx context.Context, accessToken string, domain string) (containerregistry.RefreshToken, error) { +func refreshToken(ctx context.Context, accessToken, domain string) (containerregistry.RefreshToken, error) { tenantID := os.Getenv("AZURE_TENANT_ID") if tenantID == "" { return containerregistry.RefreshToken{}, errors.New("missing environment variable AZURE_TENANT_ID") diff --git a/pkg/fanal/types/artifact.go b/pkg/fanal/types/artifact.go index 6b46266ae1c5..f4f7c5c8f8c2 100644 --- a/pkg/fanal/types/artifact.go +++ b/pkg/fanal/types/artifact.go @@ -23,8 +23,8 @@ func (o *OS) Detected() bool { } // Merge merges OS version and enhanced security maintenance programs -func (o *OS) Merge(new OS) { - if lo.IsEmpty(new) { +func (o *OS) Merge(newOS OS) { + if lo.IsEmpty(newOS) { return } @@ -33,18 +33,18 @@ func (o *OS) Merge(new OS) { // In that case, OS must be overwritten with the content of /etc/oracle-release. // There is the same problem between Debian and Ubuntu. case o.Family == RedHat, o.Family == Debian: - *o = new + *o = newOS default: if o.Family == "" { - o.Family = new.Family + o.Family = newOS.Family } if o.Name == "" { - o.Name = new.Name + o.Name = newOS.Name } // Ubuntu has ESM program: https://ubuntu.com/security/esm // OS version and esm status are stored in different files. // We have to merge OS version after parsing these files. - if o.Extended || new.Extended { + if o.Extended || newOS.Extended { o.Extended = true } } diff --git a/pkg/fanal/types/image.go b/pkg/fanal/types/image.go index 8a69f8786b84..7726169ce149 100644 --- a/pkg/fanal/types/image.go +++ b/pkg/fanal/types/image.go @@ -60,11 +60,11 @@ type DockerOptions struct { } type PodmanOptions struct { - // TODO + // Add Podman-specific options } type ContainerdOptions struct { - // TODO + // Add Containerd-specific options } // ImageSource represents the source of an image. It can be a string that identifies diff --git a/pkg/fanal/vm/disk/vmdk.go b/pkg/fanal/vm/disk/vmdk.go index 62bebecdac06..3be79780e43f 100644 --- a/pkg/fanal/vm/disk/vmdk.go +++ b/pkg/fanal/vm/disk/vmdk.go @@ -12,7 +12,7 @@ import ( type VMDK struct{} -func (V VMDK) NewReader(rs io.ReadSeeker, cache vm.Cache[string, []byte]) (*io.SectionReader, error) { +func (VMDK) NewReader(rs io.ReadSeeker, cache vm.Cache[string, []byte]) (*io.SectionReader, error) { if _, err := rs.Seek(0, io.SeekStart); err != nil { return nil, xerrors.Errorf("seek error: %w", err) } diff --git a/pkg/fanal/walker/fs.go b/pkg/fanal/walker/fs.go index 74be944e73ac..e2e9d58c5fa4 100644 --- a/pkg/fanal/walker/fs.go +++ b/pkg/fanal/walker/fs.go @@ -51,14 +51,15 @@ func (w FS) Walk(root string, fn WalkFunc) error { } relPath = filepath.ToSlash(relPath) - if fi.IsDir() { + switch { + case fi.IsDir(): if w.shouldSkipDir(relPath) { return filepath.SkipDir } return nil - } else if !fi.Mode().IsRegular() { + case !fi.Mode().IsRegular(): return nil - } else if w.shouldSkipFile(relPath) { + case w.shouldSkipFile(relPath): return nil } diff --git a/pkg/fanal/walker/vm.go b/pkg/fanal/walker/vm.go index 172681d26ef4..52ddfe0b50ff 100644 --- a/pkg/fanal/walker/vm.go +++ b/pkg/fanal/walker/vm.go @@ -123,20 +123,21 @@ func (w *VM) fsWalk(fsys fs.FS, path string, d fs.DirEntry, err error) error { return xerrors.Errorf("dir entry info error: %w", err) } pathName := strings.TrimPrefix(filepath.Clean(path), "/") - if fi.IsDir() { + switch { + case fi.IsDir(): if w.shouldSkipDir(pathName) { return filepath.SkipDir } return nil - } else if !fi.Mode().IsRegular() { + case !fi.Mode().IsRegular(): return nil - } else if w.shouldSkipFile(pathName) { + case w.shouldSkipFile(pathName): return nil - } else if fi.Mode()&0x1000 == 0x1000 || + case fi.Mode()&0x1000 == 0x1000 || fi.Mode()&0x2000 == 0x2000 || fi.Mode()&0x6000 == 0x6000 || fi.Mode()&0xA000 == 0xA000 || - fi.Mode()&0xc000 == 0xc000 { + fi.Mode()&0xc000 == 0xc000: // 0x1000: S_IFIFO (FIFO) // 0x2000: S_IFCHR (Character device) // 0x6000: S_IFBLK (Block device) @@ -163,7 +164,11 @@ type cachedVMFile struct { } func newCachedVMFile(fsys fs.FS, filePath string, threshold int64) *cachedVMFile { - return &cachedVMFile{fs: fsys, filePath: filePath, threshold: threshold} + return &cachedVMFile{ + fs: fsys, + filePath: filePath, + threshold: threshold, + } } func (cvf *cachedVMFile) Open() (dio.ReadSeekCloserAt, error) { diff --git a/pkg/flag/kubernetes_flags.go b/pkg/flag/kubernetes_flags.go index ed050d01f162..a6e8b563a1dc 100644 --- a/pkg/flag/kubernetes_flags.go +++ b/pkg/flag/kubernetes_flags.go @@ -194,7 +194,7 @@ func (f *K8sFlagGroup) ToOptions() (K8sOptions, error) { } func optionToTolerations(tolerationsOptions []string) ([]corev1.Toleration, error) { - tolerations := make([]corev1.Toleration, 0) + var tolerations []corev1.Toleration for _, toleration := range tolerationsOptions { tolerationParts := strings.Split(toleration, ":") if len(tolerationParts) < 2 { @@ -207,7 +207,7 @@ func optionToTolerations(tolerationsOptions []string) ([]corev1.Toleration, erro } keyValue := strings.Split(tolerationParts[0], "=") operator := corev1.TolerationOpEqual - if len(keyValue[1]) == 0 { + if keyValue[1] == "" { operator = corev1.TolerationOpExists } toleration := corev1.Toleration{ diff --git a/pkg/flag/license_flags.go b/pkg/flag/license_flags.go index 45b70f70ad91..907aaca287c5 100644 --- a/pkg/flag/license_flags.go +++ b/pkg/flag/license_flags.go @@ -109,7 +109,7 @@ func (f *LicenseFlagGroup) Flags() []*Flag { } func (f *LicenseFlagGroup) ToOptions() LicenseOptions { - licenseCategories := map[types.LicenseCategory][]string{} + licenseCategories := make(map[types.LicenseCategory][]string) licenseCategories[types.CategoryForbidden] = getStringSlice(f.LicenseForbidden) licenseCategories[types.CategoryRestricted] = getStringSlice(f.LicenseRestricted) licenseCategories[types.CategoryReciprocal] = getStringSlice(f.LicenseReciprocal) diff --git a/pkg/flag/value.go b/pkg/flag/value.go index 79081190c13d..47a8236dbbad 100644 --- a/pkg/flag/value.go +++ b/pkg/flag/value.go @@ -40,7 +40,7 @@ type customStringSliceValue struct { changed bool } -func newCustomStringSliceValue(val []string, allowed []string) *customStringSliceValue { +func newCustomStringSliceValue(val, allowed []string) *customStringSliceValue { return &customStringSliceValue{ value: &val, allowed: allowed, diff --git a/pkg/flag/vulnerability_flags.go b/pkg/flag/vulnerability_flags.go index b4adb4be1397..c69ba3273dea 100644 --- a/pkg/flag/vulnerability_flags.go +++ b/pkg/flag/vulnerability_flags.go @@ -75,9 +75,10 @@ func (f *VulnerabilityFlagGroup) ToOptions() VulnerabilityOptions { }) ignoreUnfixed := getBool(f.IgnoreUnfixed) - if ignoreUnfixed && len(ignoreStatuses) > 0 { + switch { + case ignoreUnfixed && len(ignoreStatuses) > 0: log.Logger.Warn("'--ignore-unfixed' is ignored because '--ignore-status' is specified") - } else if ignoreUnfixed { + case ignoreUnfixed: // '--ignore-unfixed' is a shorthand of '--ignore-status'. ignoreStatuses = lo.FilterMap(dbTypes.Statuses, func(s string, _ int) (dbTypes.Status, bool) { fixed := dbTypes.StatusFixed @@ -86,7 +87,7 @@ func (f *VulnerabilityFlagGroup) ToOptions() VulnerabilityOptions { } return dbTypes.NewStatus(s), true }) - } else if len(ignoreStatuses) == 0 { + case len(ignoreStatuses) == 0: ignoreStatuses = nil } log.Logger.Debugw("Ignore statuses", "statuses", ignoreStatuses) diff --git a/pkg/javadb/client.go b/pkg/javadb/client.go index 3576f5008ba1..f2a68abedb00 100644 --- a/pkg/javadb/client.go +++ b/pkg/javadb/client.go @@ -79,7 +79,7 @@ func (u *Updater) Update() error { return nil } -func Init(cacheDir string, javaDBRepository string, skip, quiet bool, registryOption ftypes.RegistryOptions) { +func Init(cacheDir, javaDBRepository string, skip, quiet bool, registryOption ftypes.RegistryOptions) { updater = &Updater{ repo: fmt.Sprintf("%s:%d", javaDBRepository, db.SchemaVersion), dbDir: filepath.Join(cacheDir, "java-db"), @@ -151,7 +151,7 @@ func (d *DB) SearchByArtifactID(artifactID string) (string, error) { // Some artifacts might have the same artifactId. // e.g. "javax.servlet:jstl" and "jstl:jstl" - groupIDs := map[string]int{} + groupIDs := make(map[string]int) for _, index := range indexes { if i, ok := groupIDs[index.GroupID]; ok { groupIDs[index.GroupID] = i + 1 diff --git a/pkg/k8s/commands/cluster.go b/pkg/k8s/commands/cluster.go index 632b4e430867..1fec319e6449 100644 --- a/pkg/k8s/commands/cluster.go +++ b/pkg/k8s/commands/cluster.go @@ -6,7 +6,7 @@ import ( "golang.org/x/exp/slices" "golang.org/x/xerrors" - "github.com/aquasecurity/trivy-kubernetes/pkg/artifacts" + k8sArtifacts "github.com/aquasecurity/trivy-kubernetes/pkg/artifacts" "github.com/aquasecurity/trivy-kubernetes/pkg/k8s" "github.com/aquasecurity/trivy-kubernetes/pkg/trivyk8s" "github.com/aquasecurity/trivy/pkg/flag" @@ -19,7 +19,7 @@ func clusterRun(ctx context.Context, opts flag.Options, cluster k8s.Cluster) err if err := validateReportArguments(opts); err != nil { return err } - var artifacts []*artifacts.Artifact + var artifacts []*k8sArtifacts.Artifact var err error switch opts.Format { case types.FormatCycloneDX: diff --git a/pkg/k8s/commands/resource.go b/pkg/k8s/commands/resource.go index 442649d9ba17..10557e5a62f0 100644 --- a/pkg/k8s/commands/resource.go +++ b/pkg/k8s/commands/resource.go @@ -32,7 +32,7 @@ func resourceRun(ctx context.Context, args []string, opts flag.Options, cluster trivyk = trivyk.Namespace(getNamespace(opts, cluster.GetCurrentNamespace())) } - if len(name) == 0 { // pods or configmaps etc + if name == "" { // pods or configmaps etc if err = validateReportArguments(opts); err != nil { return err } diff --git a/pkg/k8s/commands/run.go b/pkg/k8s/commands/run.go index 8efdd3244cbc..28cda3f67b99 100644 --- a/pkg/k8s/commands/run.go +++ b/pkg/k8s/commands/run.go @@ -7,7 +7,7 @@ import ( "github.com/spf13/viper" "golang.org/x/xerrors" - "github.com/aquasecurity/trivy-kubernetes/pkg/artifacts" + k8sArtifacts "github.com/aquasecurity/trivy-kubernetes/pkg/artifacts" "github.com/aquasecurity/trivy-kubernetes/pkg/k8s" cmd "github.com/aquasecurity/trivy/pkg/commands/artifact" "github.com/aquasecurity/trivy/pkg/commands/operation" @@ -65,7 +65,7 @@ func newRunner(flagOpts flag.Options, cluster string) *runner { } } -func (r *runner) run(ctx context.Context, artifacts []*artifacts.Artifact) error { +func (r *runner) run(ctx context.Context, artifacts []*k8sArtifacts.Artifact) error { runner, err := cmd.NewRunner(ctx, r.flagOpts) if err != nil { if errors.Is(err, cmd.SkipScan) { diff --git a/pkg/k8s/report/report.go b/pkg/k8s/report/report.go index 0db40e0d33dc..97784edf6a7a 100644 --- a/pkg/k8s/report/report.go +++ b/pkg/k8s/report/report.go @@ -86,7 +86,7 @@ func (r Report) consolidate() ConsolidatedReport { } index := make(map[string]Resource) - vulnerabilities := make([]Resource, 0) + var vulnerabilities []Resource for _, m := range r.Resources { if vulnerabilitiesOrSecretResource(m) { vulnerabilities = append(vulnerabilities, m) @@ -134,11 +134,7 @@ type reports struct { // - infra checks report func SeparateMisconfigReports(k8sReport Report, scanners types.Scanners, components []string) []reports { - workloadMisconfig := make([]Resource, 0) - infraMisconfig := make([]Resource, 0) - rbacAssessment := make([]Resource, 0) - workloadVulnerabilities := make([]Resource, 0) - workloadResource := make([]Resource, 0) + var workloadMisconfig, infraMisconfig, rbacAssessment, workloadVulnerabilities, workloadResource []Resource for _, resource := range k8sReport.Resources { if vulnerabilitiesOrSecretResource(resource) { workloadVulnerabilities = append(workloadVulnerabilities, resource) @@ -166,7 +162,7 @@ func SeparateMisconfigReports(k8sReport Report, scanners types.Scanners, compone } } - r := make([]reports, 0) + var r []reports workloadResource = append(workloadResource, workloadVulnerabilities...) workloadResource = append(workloadResource, workloadMisconfig...) if shouldAddWorkloadReport(scanners) { @@ -269,8 +265,7 @@ func splitInfraAndWorkloadResources(misconfig Resource) (Resource, Resource) { infraResults := make(types.Results, 0) for _, result := range misconfig.Results { - workloadMisconfigs := make([]types.DetectedMisconfiguration, 0) - infraMisconfigs := make([]types.DetectedMisconfiguration, 0) + var workloadMisconfigs, infraMisconfigs []types.DetectedMisconfiguration for _, m := range result.Misconfigurations { if strings.HasPrefix(m.ID, "KCV") { diff --git a/pkg/k8s/report/summary.go b/pkg/k8s/report/summary.go index 2e3f5856117f..420fba38b954 100644 --- a/pkg/k8s/report/summary.go +++ b/pkg/k8s/report/summary.go @@ -41,7 +41,7 @@ func ColumnHeading(scanners types.Scanners, components, availableColumns []strin ResourceColumn, } securityOptions := make(map[string]interface{}, 0) - //maintain column order (vuln,config,secret) + // maintain column order (vuln,config,secret) for _, check := range scanners { switch check { case types.VulnerabilityScanner: @@ -173,13 +173,13 @@ func accumulateSeverityCounts(finding Resource) (map[string]int, map[string]int, sCount := make(map[string]int) for _, r := range finding.Results { for _, rv := range r.Vulnerabilities { - vCount[rv.Severity] = vCount[rv.Severity] + 1 + vCount[rv.Severity]++ } for _, rv := range r.Misconfigurations { - mCount[rv.Severity] = mCount[rv.Severity] + 1 + mCount[rv.Severity]++ } for _, rv := range r.Secrets { - sCount[rv.Severity] = sCount[rv.Severity] + 1 + sCount[rv.Severity]++ } } return vCount, mCount, sCount diff --git a/pkg/k8s/scanner/io.go b/pkg/k8s/scanner/io.go index 38a0673dad6a..09709db6441e 100644 --- a/pkg/k8s/scanner/io.go +++ b/pkg/k8s/scanner/io.go @@ -13,11 +13,13 @@ import ( "github.com/aquasecurity/trivy/pkg/log" ) +var r = regexp.MustCompile("\\\\|/|:|\\*|\\?|<|>") + func createTempFile(artifact *artifacts.Artifact) (string, error) { filename := fmt.Sprintf("%s-%s-%s-*.yaml", artifact.Namespace, artifact.Kind, artifact.Name) if runtime.GOOS == "windows" { - //removes characters not permitted in file/directory names on Windows + // removes characters not permitted in file/directory names on Windows filename = filenameWindowsFriendly(filename) } file, err := os.CreateTemp("", filename) @@ -44,8 +46,6 @@ func removeFile(filename string) { } } -var r, _ = regexp.Compile("\\\\|/|:|\\*|\\?|<|>") - func filenameWindowsFriendly(name string) string { return r.ReplaceAllString(name, "_") } diff --git a/pkg/k8s/scanner/scanner.go b/pkg/k8s/scanner/scanner.go index e37256c9edac..f0434941997c 100644 --- a/pkg/k8s/scanner/scanner.go +++ b/pkg/k8s/scanner/scanner.go @@ -174,7 +174,7 @@ func (s *Scanner) scanMisconfigs(ctx context.Context, artifact *artifacts.Artifa s.opts.Target = configFile configReport, err := s.runner.ScanFilesystem(ctx, s.opts) - //remove config file after scanning + // remove config file after scanning removeFile(configFile) if err != nil { log.Logger.Debugf("failed to scan config %s/%s: %s", artifact.Kind, artifact.Name, err) @@ -203,7 +203,7 @@ const ( ) func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Component, error) { - coreComponents := make([]*core.Component, 0) + var coreComponents []*core.Component var cInfo *core.Component for _, artifact := range allArtifact { switch artifact.Kind { @@ -213,14 +213,14 @@ func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Comp if err != nil { return nil, err } - imageComponents := make([]*core.Component, 0) + var imageComponents []*core.Component for _, c := range comp.Containers { name := fmt.Sprintf("%s/%s", c.Registry, c.Repository) cDigest := c.Digest - if strings.Index(c.Digest, string(digest.SHA256)) == -1 { + if !strings.Contains(c.Digest, string(digest.SHA256)) { cDigest = fmt.Sprintf("%s:%s", string(digest.SHA256), cDigest) } - version := sanitizedVersion(c.Version) + ver := sanitizedVersion(c.Version) imagePURL, err := purl.NewPackageURL(purl.TypeOCI, types.Metadata{ RepoDigests: []string{ @@ -239,7 +239,7 @@ func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Comp Properties: []core.Property{ { Name: cyc.PropertyPkgID, - Value: fmt.Sprintf("%s:%s", name, version), + Value: fmt.Sprintf("%s:%s", name, ver), }, { Name: cyc.PropertyPkgType, @@ -288,8 +288,8 @@ func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Comp return rootComponent, nil } -func sanitizedVersion(version string) string { - return strings.TrimPrefix(version, "v") +func sanitizedVersion(ver string) string { + return strings.TrimPrefix(ver, "v") } func osNameVersion(name string) (string, string) { diff --git a/pkg/licensing/classifier.go b/pkg/licensing/classifier.go index 152f1d252891..0af770ef987a 100644 --- a/pkg/licensing/classifier.go +++ b/pkg/licensing/classifier.go @@ -43,7 +43,7 @@ func Classify(filePath string, r io.Reader, confidenceLevel float64) (*types.Lic var findings types.LicenseFindings var matchType types.LicenseType - seen := map[string]struct{}{} + seen := make(map[string]struct{}) // cf.Match is not thread safe m.Lock() diff --git a/pkg/licensing/expression/expression.go b/pkg/licensing/expression/expression.go index a57e506b765d..59848e57eef7 100644 --- a/pkg/licensing/expression/expression.go +++ b/pkg/licensing/expression/expression.go @@ -58,13 +58,14 @@ func normalize(expr Expression, fn ...NormalizeFunc) Expression { func NormalizeForSPDX(s string) string { var b strings.Builder for _, c := range s { - // idstring = 1*(ALPHA / DIGIT / "-" / "." ) - if isAlphabet(c) || unicode.IsNumber(c) || c == '-' || c == '.' { + switch { + // spec: idstring = 1*(ALPHA / DIGIT / "-" / "." ) + case isAlphabet(c) || unicode.IsNumber(c) || c == '-' || c == '.': _, _ = b.WriteRune(c) - } else if c == ':' { + case c == ':': // TODO: Support DocumentRef _, _ = b.WriteRune(c) - } else { + default: // Replace invalid characters with '-' _, _ = b.WriteRune('-') } diff --git a/pkg/mapfs/file.go b/pkg/mapfs/file.go index cc66ce1ed163..3bff68f19050 100644 --- a/pkg/mapfs/file.go +++ b/pkg/mapfs/file.go @@ -265,10 +265,7 @@ func (f *file) glob(pattern string) ([]string, error) { return false } for _, sub := range subEntries { - entries = append(entries, strings.Join([]string{ - name, - sub, - }, separator)) + entries = append(entries, name+separator+sub) } } } diff --git a/pkg/mapfs/types.go b/pkg/mapfs/types.go index 464ea1e2e325..545ab822429b 100644 --- a/pkg/mapfs/types.go +++ b/pkg/mapfs/types.go @@ -15,12 +15,12 @@ type fileStat struct { sys any } -func (fs *fileStat) Name() string { return fs.name } -func (fs *fileStat) Size() int64 { return fs.size } -func (fs *fileStat) Mode() fs.FileMode { return fs.mode } -func (fs *fileStat) IsDir() bool { return fs.mode.IsDir() } -func (fs *fileStat) ModTime() time.Time { return fs.modTime } -func (fs *fileStat) Sys() any { return &fs.sys } +func (fstat *fileStat) Name() string { return fstat.name } +func (fstat *fileStat) Size() int64 { return fstat.size } +func (fstat *fileStat) Mode() fs.FileMode { return fstat.mode } +func (fstat *fileStat) IsDir() bool { return fstat.mode.IsDir() } +func (fstat *fileStat) ModTime() time.Time { return fstat.modTime } +func (fstat *fileStat) Sys() any { return &fstat.sys } -func (fs *fileStat) Info() (fs.FileInfo, error) { return fs, nil } -func (fs *fileStat) Type() fs.FileMode { return fs.mode } +func (fstat *fileStat) Info() (fs.FileInfo, error) { return fstat, nil } +func (fstat *fileStat) Type() fs.FileMode { return fstat.mode } diff --git a/pkg/misconf/scanner.go b/pkg/misconf/scanner.go index 72f97f968e58..de06cb8edcb4 100644 --- a/pkg/misconf/scanner.go +++ b/pkg/misconf/scanner.go @@ -218,8 +218,10 @@ func scannerOptions(t detection.FileType, opt ScannerOption) ([]options.ScannerO if err != nil { return nil, err } - opts = append(opts, options.ScannerWithDataDirs(dataPaths...)) - opts = append(opts, options.ScannerWithDataFilesystem(dataFS)) + opts = append(opts, + options.ScannerWithDataDirs(dataPaths...), + options.ScannerWithDataFilesystem(dataFS), + ) if opt.Trace { opts = append(opts, options.ScannerWithPerResultTracing(true)) @@ -265,8 +267,10 @@ func addTFOpts(opts []options.ScannerOption, scannerOption ScannerOption) []opti opts = append(opts, tfscanner.ScannerWithTFVarsPaths(scannerOption.TerraformTFVars...)) } - opts = append(opts, tfscanner.ScannerWithAllDirectories(true)) - opts = append(opts, tfscanner.ScannerWithSkipDownloaded(scannerOption.TfExcludeDownloaded)) + opts = append(opts, + tfscanner.ScannerWithAllDirectories(true), + tfscanner.ScannerWithSkipDownloaded(scannerOption.TfExcludeDownloaded), + ) return opts } @@ -329,16 +333,16 @@ func CreatePolicyFS(policyPaths []string) (fs.FS, []string, error) { return mfs, policyPaths, nil } -func CreateDataFS(dataPaths []string, options ...string) (fs.FS, []string, error) { +func CreateDataFS(dataPaths []string, opts ...string) (fs.FS, []string, error) { fsys := mapfs.New() // Check if k8sVersion is provided - if len(options) > 0 { - k8sVersion := options[0] + if len(opts) > 0 { + k8sVersion := opts[0] if err := fsys.MkdirAll("system", 0700); err != nil { return nil, nil, err } - data := []byte(fmt.Sprintf(`{"k8s": {"version": "%s"}}`, k8sVersion)) + data := []byte(fmt.Sprintf(`{"k8s": {"version": %q}}`, k8sVersion)) if err := fsys.WriteVirtualFile("system/k8s-version.json", data, 0600); err != nil { return nil, nil, err } @@ -358,7 +362,7 @@ func CreateDataFS(dataPaths []string, options ...string) (fs.FS, []string, error // ResultsToMisconf is exported for trivy-plugin-aqua purposes only func ResultsToMisconf(configType types.ConfigType, scannerName string, results scan.Results) []types.Misconfiguration { - misconfs := map[string]types.Misconfiguration{} + misconfs := make(map[string]types.Misconfiguration) for _, result := range results { flattened := result.Flatten() diff --git a/pkg/module/serialize/types.go b/pkg/module/serialize/types.go index 11bc34bed844..21733f736082 100644 --- a/pkg/module/serialize/types.go +++ b/pkg/module/serialize/types.go @@ -15,12 +15,12 @@ type StringSlice []string //easyjson:json type AnalysisResult struct { // TODO: support other fields as well - //OS *types.OS - //Repository *types.Repository - //PackageInfos []types.PackageInfo - //Applications []types.Application - //Secrets []types.Secret - //SystemInstalledFiles []string // A list of files installed by OS package manager + // OS *types.OS + // Repository *types.Repository + // PackageInfos []types.PackageInfo + // Applications []types.Application + // Secrets []types.Secret + // SystemInstalledFiles []string // A list of files installed by OS package manager // Currently it supports custom resources only CustomResources []CustomResource diff --git a/pkg/policy/policy.go b/pkg/policy/policy.go index 9ed95e6230e0..081908ddd899 100644 --- a/pkg/policy/policy.go +++ b/pkg/policy/policy.go @@ -37,9 +37,9 @@ func WithOCIArtifact(art *oci.Artifact) Option { } // WithClock takes a clock -func WithClock(clock clock.Clock) Option { +func WithClock(c clock.Clock) Option { return func(opts *options) { - opts.clock = clock + opts.clock = c } } diff --git a/pkg/purl/purl.go b/pkg/purl/purl.go index f9adf4020bfb..cb5bfeb8c2d4 100644 --- a/pkg/purl/purl.go +++ b/pkg/purl/purl.go @@ -60,10 +60,7 @@ func (p *PackageURL) Package() *ftypes.Package { if p.Type == packageurl.TypeCocoapods && p.Subpath != "" { // CocoaPods uses / format for package name // e.g. `pkg:cocoapods/GoogleUtilities@7.5.2#NSData+zlib` => `GoogleUtilities/NSData+zlib` - pkg.Name = strings.Join([]string{ - p.Name, - p.Subpath, - }, "/") + pkg.Name = p.Name + "/" + p.Subpath } if p.Type == packageurl.TypeRPM { @@ -82,15 +79,9 @@ func (p *PackageURL) Package() *ftypes.Package { if p.Type == packageurl.TypeMaven || p.Type == string(ftypes.Gradle) { // Maven and Gradle packages separate ":" // e.g. org.springframework:spring-core - pkg.Name = strings.Join([]string{ - p.Namespace, - p.Name, - }, ":") + pkg.Name = p.Namespace + ":" + p.Name } else { - pkg.Name = strings.Join([]string{ - p.Namespace, - p.Name, - }, "/") + pkg.Name = p.Namespace + "/" + p.Name } return pkg @@ -346,11 +337,7 @@ func parseSwift(pkgName string) (string, string) { // ref. https://github.com/package-url/purl-spec/blob/a748c36ad415c8aeffe2b8a4a5d8a50d16d6d85f/PURL-TYPES.rst#cocoapods func parseCocoapods(pkgName string) (string, string) { var subpath string - index := strings.Index(pkgName, "/") - if index != -1 { - subpath = pkgName[index+1:] - pkgName = pkgName[:index] - } + pkgName, subpath, _ = strings.Cut(pkgName, "/") return pkgName, subpath } diff --git a/pkg/rekortest/server.go b/pkg/rekortest/server.go index 7053e546847c..72a9e6ef7c71 100644 --- a/pkg/rekortest/server.go +++ b/pkg/rekortest/server.go @@ -67,11 +67,26 @@ var ( Name: "alpine:3.16", PackageURL: "pkg:oci/alpine@sha256:bc41182d7ef5ffc53a40b044e725193bc10142a1243f395ee852a8d9730fc2ad?repository_url=index.docker.io%2Flibrary%2Falpine\u0026arch=amd64", Properties: &[]cyclonedx.Property{ - {Name: "aquasecurity:trivy:SchemaVersion", Value: "2"}, - {Name: "aquasecurity:trivy:ImageID", Value: "sha256:9c6f0724472873bb50a2ae67a9e7adcb57673a183cea8b06eb778dca859181b5"}, - {Name: "aquasecurity:trivy:RepoDigest", Value: "alpine@sha256:bc41182d7ef5ffc53a40b044e725193bc10142a1243f395ee852a8d9730fc2ad"}, - {Name: "aquasecurity:trivy:DiffID", Value: "sha256:994393dc58e7931862558d06e46aa2bb17487044f670f310dffe1d24e4d1eec7"}, - {Name: "aquasecurity:trivy:RepoTag", Value: "alpine:3.16"}, + { + Name: "aquasecurity:trivy:SchemaVersion", + Value: "2", + }, + { + Name: "aquasecurity:trivy:ImageID", + Value: "sha256:9c6f0724472873bb50a2ae67a9e7adcb57673a183cea8b06eb778dca859181b5", + }, + { + Name: "aquasecurity:trivy:RepoDigest", + Value: "alpine@sha256:bc41182d7ef5ffc53a40b044e725193bc10142a1243f395ee852a8d9730fc2ad", + }, + { + Name: "aquasecurity:trivy:DiffID", + Value: "sha256:994393dc58e7931862558d06e46aa2bb17487044f670f310dffe1d24e4d1eec7", + }, + { + Name: "aquasecurity:trivy:RepoTag", + Value: "alpine:3.16", + }, }, }, }, @@ -82,8 +97,14 @@ var ( Name: "alpine", Version: "3.16.2", Properties: &[]cyclonedx.Property{ - {Name: "aquasecurity:trivy:Type", Value: "alpine"}, - {Name: "aquasecurity:trivy:Class", Value: "os-pkgs"}, + { + Name: "aquasecurity:trivy:Type", + Value: "alpine", + }, + { + Name: "aquasecurity:trivy:Class", + Value: "os-pkgs", + }, }, }, { @@ -96,10 +117,22 @@ var ( }, PackageURL: "pkg:apk/alpine/musl@1.2.3-r0?distro=3.16.2", Properties: &[]cyclonedx.Property{ - {Name: "aquasecurity:trivy:PkgType", Value: "alpine"}, - {Name: "aquasecurity:trivy:SrcName", Value: "musl"}, - {Name: "aquasecurity:trivy:SrcVersion", Value: "1.2.3-r0"}, - {Name: "aquasecurity:trivy:LayerDiffID", Value: "sha256:994393dc58e7931862558d06e46aa2bb17487044f670f310dffe1d24e4d1eec7"}, + { + Name: "aquasecurity:trivy:PkgType", + Value: "alpine", + }, + { + Name: "aquasecurity:trivy:SrcName", + Value: "musl", + }, + { + Name: "aquasecurity:trivy:SrcVersion", + Value: "1.2.3-r0", + }, + { + Name: "aquasecurity:trivy:LayerDiffID", + Value: "sha256:994393dc58e7931862558d06e46aa2bb17487044f670f310dffe1d24e4d1eec7", + }, }, }, }, @@ -154,7 +187,10 @@ var ( Type: cyclonedx.ComponentTypeApplication, Name: "go.mod", Properties: &[]cyclonedx.Property{ - {Name: "aquasecurity:trivy:SchemaVersion", Value: "2"}, + { + Name: "aquasecurity:trivy:SchemaVersion", + Value: "2", + }, }, }, }, @@ -164,8 +200,14 @@ var ( Type: cyclonedx.ComponentTypeApplication, Name: "go.mod", Properties: &[]cyclonedx.Property{ - {Name: "aquasecurity:trivy:Type", Value: "gomod"}, - {Name: "aquasecurity:trivy:Class", Value: "lang-pkgs"}, + { + Name: "aquasecurity:trivy:Type", + Value: "gomod", + }, + { + Name: "aquasecurity:trivy:Class", + Value: "lang-pkgs", + }, }, }, { @@ -175,7 +217,10 @@ var ( Version: "1.5.0", PackageURL: "pkg:golang/github.com/spf13/cobra@1.5.0", Properties: &[]cyclonedx.Property{ - {Name: "aquasecurity:trivy:PkgType", Value: "gomod"}, + { + Name: "aquasecurity:trivy:PkgType", + Value: "gomod", + }, }, }, }, @@ -220,7 +265,7 @@ var ( IntegratedTime: lo.ToPtr(int64(1661476639)), LogID: lo.ToPtr("c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d"), LogIndex: lo.ToPtr(int64(3280165)), - Verification: nil, // TODO + Verification: nil, }, "392f8ecba72f4326eb624a7403756250b5f2ad58842a99d1653cd6f147f4ce9eda2da350bd908a55": { Attestation: &models.LogEntryAnonAttestation{ @@ -230,7 +275,7 @@ var ( IntegratedTime: lo.ToPtr(int64(1661476639)), LogID: lo.ToPtr("c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d"), LogIndex: lo.ToPtr(int64(3280165)), - Verification: nil, // TODO + Verification: nil, }, "24296fb24b8ad77aa715cdfd264ce34c4d544375d7bd7cd029bf5a48ef25217a13fdba562e0889ca": { Attestation: &models.LogEntryAnonAttestation{ @@ -240,7 +285,7 @@ var ( IntegratedTime: lo.ToPtr(int64(1664451604)), LogID: lo.ToPtr("c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d"), LogIndex: lo.ToPtr(int64(4215471)), - Verification: nil, // TODO + Verification: nil, }, "24296fb24b8ad77a8d47be2e40bfe910f0ffc842e86b5685dd85d1c903ef78bb6362125816426fe9": { Attestation: &models.LogEntryAnonAttestation{ @@ -250,7 +295,7 @@ var ( IntegratedTime: lo.ToPtr(int64(1661476639)), LogID: lo.ToPtr("c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d"), LogIndex: lo.ToPtr(int64(3280165)), - Verification: nil, // TODO + Verification: nil, }, } ) diff --git a/pkg/report/github/github.go b/pkg/report/github/github.go index 3f1ea7af7b5d..b17bc29fda9a 100644 --- a/pkg/report/github/github.go +++ b/pkg/report/github/github.go @@ -74,7 +74,7 @@ type Writer struct { func (w Writer) Write(report types.Report) error { snapshot := &DependencySnapshot{} - //use now() method that can be overwritten while integration tests run + // use now() method that can be overwritten while integration tests run snapshot.Scanned = clock.Now().Format(time.RFC3339) snapshot.Detector = Detector{ Name: "trivy", diff --git a/pkg/report/sarif.go b/pkg/report/sarif.go index 11b452867efe..d3bcce1c8aa5 100644 --- a/pkg/report/sarif.go +++ b/pkg/report/sarif.go @@ -129,7 +129,7 @@ func (sw *SarifWriter) Write(report types.Report) error { sw.run = sarif.NewRunWithInformationURI("Trivy", "https://github.com/aquasecurity/trivy") sw.run.Tool.Driver.WithVersion(sw.Version) sw.run.Tool.Driver.WithFullName("Trivy Vulnerability Scanner") - sw.locationCache = map[string][]location{} + sw.locationCache = make(map[string][]location) if report.ArtifactType == ftypes.ArtifactContainerImage { sw.run.Properties = sarif.Properties{ "imageName": report.ArtifactName, @@ -142,7 +142,7 @@ func (sw *SarifWriter) Write(report types.Report) error { rootPath = fmt.Sprintf("file://%s/", absPath) } - ruleIndexes := map[string]int{} + ruleIndexes := make(map[string]int) for _, res := range report.Results { target := ToPathUri(res.Target, res.Class) diff --git a/pkg/report/table/licensing.go b/pkg/report/table/licensing.go index e9bce99facdd..f758b9876df5 100644 --- a/pkg/report/table/licensing.go +++ b/pkg/report/table/licensing.go @@ -75,7 +75,7 @@ func (r pkgLicenseRenderer) setRows() { } func (r pkgLicenseRenderer) countSeverities() map[string]int { - severityCount := map[string]int{} + severityCount := make(map[string]int) for _, l := range r.result.Licenses { severityCount[l.Severity]++ } @@ -160,7 +160,7 @@ func (r fileLicenseRenderer) setRows() { } func (r fileLicenseRenderer) countSeverities() map[string]int { - severityCount := map[string]int{} + severityCount := make(map[string]int) for _, l := range r.result.Licenses { severityCount[l.Severity]++ } diff --git a/pkg/report/table/misconfig.go b/pkg/report/table/misconfig.go index 6da386c3520a..e4cef3a441ef 100644 --- a/pkg/report/table/misconfig.go +++ b/pkg/report/table/misconfig.go @@ -30,7 +30,7 @@ type misconfigRenderer struct { ansi bool } -func NewMisconfigRenderer(result types.Result, severities []dbTypes.Severity, trace, includeNonFailures bool, ansi bool) *misconfigRenderer { +func NewMisconfigRenderer(result types.Result, severities []dbTypes.Severity, trace, includeNonFailures, ansi bool) *misconfigRenderer { width, _, err := term.GetSize(0) if err != nil || width == 0 { width = 40 @@ -72,7 +72,7 @@ func (r *misconfigRenderer) Render() string { } func (r *misconfigRenderer) countSeverities() map[string]int { - severityCount := map[string]int{} + severityCount := make(map[string]int) for _, misconf := range r.result.Misconfigurations { if misconf.Status == types.StatusFailure { severityCount[misconf.Severity]++ @@ -177,9 +177,10 @@ func (r *misconfigRenderer) renderCode(misconf types.DetectedMisconfiguration) { r.printSingleDivider() for i, line := range lines { - if line.Truncated { + switch { + case line.Truncated: r.printf("%4s ", strings.Repeat(".", len(fmt.Sprintf("%d", line.Number)))) - } else if line.IsCause { + case line.IsCause: r.printf("%4d ", line.Number) switch { case (line.FirstCause && line.LastCause) || len(lines) == 1: @@ -191,9 +192,10 @@ func (r *misconfigRenderer) renderCode(misconf types.DetectedMisconfiguration) { default: r.printf("│ ") } - } else { + default: r.printf("%4d ", line.Number) } + if r.ansi { r.printf("%s\r\n", line.Highlighted) } else { diff --git a/pkg/report/table/secret.go b/pkg/report/table/secret.go index 5740e6db8ddb..30833dc8336d 100644 --- a/pkg/report/table/secret.go +++ b/pkg/report/table/secret.go @@ -55,7 +55,7 @@ func (r *secretRenderer) Render() string { } func (r *secretRenderer) countSeverities() map[string]int { - severityCount := map[string]int{} + severityCount := make(map[string]int) for _, secret := range r.secrets { severity := secret.Severity severityCount[severity]++ @@ -134,9 +134,10 @@ func (r *secretRenderer) renderCode(secret types.SecretFinding) { r.printSingleDivider() for i, line := range lines { - if line.Truncated { + switch { + case line.Truncated: r.printf("%4s ", strings.Repeat(".", len(fmt.Sprintf("%d", line.Number)))) - } else if line.IsCause { + case line.IsCause: r.printf("%4d ", line.Number) switch { case (line.FirstCause && line.LastCause) || len(lines) == 1: @@ -148,7 +149,7 @@ func (r *secretRenderer) renderCode(secret types.SecretFinding) { default: r.printf("│ ") } - } else { + default: r.printf("%4d ", line.Number) } if r.ansi { diff --git a/pkg/report/table/vulnerability.go b/pkg/report/table/vulnerability.go index b144f76089cf..62dec9ada824 100644 --- a/pkg/report/table/vulnerability.go +++ b/pkg/report/table/vulnerability.go @@ -144,7 +144,7 @@ func (r *vulnerabilityRenderer) setVulnerabilityRows(vulns []types.DetectedVulne } func (r *vulnerabilityRenderer) countSeverities(vulns []types.DetectedVulnerability) map[string]int { - severityCount := map[string]int{} + severityCount := make(map[string]int) for _, v := range vulns { severityCount[v.Severity]++ } @@ -166,11 +166,11 @@ Dependency Origin Tree (Reversed) // This count is next to the package ID. // e.g. node-fetch@1.7.3 (MEDIUM: 2, HIGH: 1, CRITICAL: 3) - pkgSeverityCount := map[string]map[string]int{} + pkgSeverityCount := make(map[string]map[string]int) for _, vuln := range r.result.Vulnerabilities { cnts, ok := pkgSeverityCount[vuln.PkgID] if !ok { - cnts = map[string]int{} + cnts = make(map[string]int) } cnts[vuln.Severity]++ @@ -207,7 +207,7 @@ func addParents(topItem treeprint.Tree, pkg ftypes.Package, parentMap map[string return } - roots := map[string]struct{}{} + roots := make(map[string]struct{}) for _, parent := range parentMap[pkg.ID] { if _, ok := seen[parent.ID]; ok { continue @@ -240,23 +240,24 @@ func addParents(topItem treeprint.Tree, pkg ftypes.Package, parentMap map[string } func traverseAncestors(pkgs []ftypes.Package, parentMap map[string]ftypes.Packages) map[string][]string { - ancestors := map[string][]string{} + ancestors := make(map[string][]string) for _, pkg := range pkgs { - ancestors[pkg.ID] = findAncestor(pkg.ID, parentMap, map[string]struct{}{}) + ancestors[pkg.ID] = findAncestor(pkg.ID, parentMap, make(map[string]struct{})) } return ancestors } func findAncestor(pkgID string, parentMap map[string]ftypes.Packages, seen map[string]struct{}) []string { - ancestors := map[string]struct{}{} + ancestors := make(map[string]struct{}) seen[pkgID] = struct{}{} for _, parent := range parentMap[pkgID] { if _, ok := seen[parent.ID]; ok { continue } - if !parent.Indirect { + switch { + case !parent.Indirect: ancestors[parent.ID] = struct{}{} - } else if len(parentMap[parent.ID]) == 0 { + case len(parentMap[parent.ID]) == 0: // Direct dependencies cannot be identified in some package managers like "package-lock.json" v1, // then the "Indirect" field can be always true. We try to guess direct dependencies in this case. // A dependency with no parents must be a direct dependency. @@ -270,7 +271,7 @@ func findAncestor(pkgID string, parentMap map[string]ftypes.Packages, seen map[s // Even if `styled-components` is not marked as a direct dependency, it must be a direct dependency // as it has no parents. Note that it doesn't mean `fbjs` is an indirect dependency. ancestors[parent.ID] = struct{}{} - } else { + default: for _, a := range findAncestor(parent.ID, parentMap, seen) { ancestors[a] = struct{}{} } @@ -279,7 +280,12 @@ func findAncestor(pkgID string, parentMap map[string]ftypes.Packages, seen map[s return maps.Keys(ancestors) } -var jarExtensions = []string{".jar", ".war", ".par", ".ear"} +var jarExtensions = []string{ + ".jar", + ".war", + ".par", + ".ear", +} func rootJarFromPath(path string) string { // File paths are always forward-slashed in Trivy diff --git a/pkg/report/template.go b/pkg/report/template.go index e2d126291fbc..4904b8472ecb 100644 --- a/pkg/report/template.go +++ b/pkg/report/template.go @@ -18,7 +18,7 @@ import ( ) // CustomTemplateFuncMap is used to overwrite existing functions for testing. -var CustomTemplateFuncMap = map[string]interface{}{} +var CustomTemplateFuncMap = make(map[string]interface{}) // TemplateWriter write result in custom format defined by user's template type TemplateWriter struct { @@ -50,9 +50,7 @@ func NewTemplateWriter(output io.Writer, outputTemplate string) (*TemplateWriter } return input } - templateFuncMap["escapeString"] = func(input string) string { - return html.EscapeString(input) - } + templateFuncMap["escapeString"] = html.EscapeString templateFuncMap["sourceID"] = func(input string) dbTypes.SourceID { return dbTypes.SourceID(input) } @@ -66,7 +64,10 @@ func NewTemplateWriter(output io.Writer, outputTemplate string) (*TemplateWriter if err != nil { return nil, xerrors.Errorf("error parsing template: %w", err) } - return &TemplateWriter{Output: output, Template: tmpl}, nil + return &TemplateWriter{ + Output: output, + Template: tmpl, + }, nil } // Write writes result diff --git a/pkg/result/filter.go b/pkg/result/filter.go index e0a020f9aaaf..8e2df0b92db9 100644 --- a/pkg/result/filter.go +++ b/pkg/result/filter.go @@ -110,15 +110,16 @@ func filterVulnerabilities(result *types.Result, severities []string, ignoreStat vuln.Severity = dbTypes.SeverityUnknown.String() } - if !slices.Contains(severities, vuln.Severity) { - // Filter by severity + switch { + // Filter by severity + case !slices.Contains(severities, vuln.Severity): continue - } else if slices.Contains(ignoreStatuses, vuln.Status) { - // Filter by status + // Filter by status + case slices.Contains(ignoreStatuses, vuln.Status): continue - } else if ignoreFindings.Match(result.Target, vuln.VulnerabilityID) || - ignoreFindings.Match(vuln.PkgPath, vuln.VulnerabilityID) { - // Filter by ignore file + // Filter by ignore file + case ignoreFindings.Match(result.Target, vuln.VulnerabilityID) || + ignoreFindings.Match(vuln.PkgPath, vuln.VulnerabilityID): continue } @@ -272,7 +273,7 @@ func evaluate(ctx context.Context, query rego.PreparedEvalQuery, input interface return ignore, nil } -func shouldOverwrite(old, new types.DetectedVulnerability) bool { +func shouldOverwrite(oldVuln, newVuln types.DetectedVulnerability) bool { // The same vulnerability must be picked always. - return old.FixedVersion < new.FixedVersion + return oldVuln.FixedVersion < newVuln.FixedVersion } diff --git a/pkg/rpc/client/client.go b/pkg/rpc/client/client.go index e2a967de9f26..36a69b88c04f 100644 --- a/pkg/rpc/client/client.go +++ b/pkg/rpc/client/client.go @@ -69,7 +69,7 @@ func (s Scanner) Scan(ctx context.Context, target, artifactKey string, blobKeys ctx = WithCustomHeaders(ctx, s.customHeaders) // Convert to the rpc struct - licenseCategories := map[string]*rpc.Licenses{} + licenseCategories := make(map[string]*rpc.Licenses) for category, names := range opts.LicenseCategories { licenseCategories[string(category)] = &rpc.Licenses{Names: names} } diff --git a/pkg/sbom/cyclonedx/core/cyclonedx.go b/pkg/sbom/cyclonedx/core/cyclonedx.go index dd8430997f33..9a2a7a14466f 100644 --- a/pkg/sbom/cyclonedx/core/cyclonedx.go +++ b/pkg/sbom/cyclonedx/core/cyclonedx.go @@ -65,9 +65,9 @@ func (c *CycloneDX) Marshal(root *Component) *cdx.BOM { bom.SerialNumber = uuid.New().URN() bom.Metadata = c.Metadata() - components := map[string]*cdx.Component{} - dependencies := map[string]*[]string{} - vulnerabilities := map[string]*cdx.Vulnerability{} + components := make(map[string]*cdx.Component) + dependencies := make(map[string]*[]string) + vulnerabilities := make(map[string]*cdx.Vulnerability) bom.Metadata.Component = c.MarshalComponent(root, components, dependencies, vulnerabilities) // Remove metadata component @@ -136,7 +136,7 @@ func (c *CycloneDX) MarshalComponent(component *Component, components map[string } } - dependencies := make([]string, 0) // Components that do not have their own dependencies must be declared as empty elements + dependencies := make([]string, 0) // nolint:gocritic // Components that do not have their own dependencies must be declared as empty elements for _, child := range component.Components { childComponent := c.MarshalComponent(child, components, deps, vulns) dependencies = append(dependencies, childComponent.BOMRef) @@ -231,11 +231,11 @@ func (c *CycloneDX) Vulnerabilities(uniq map[string]*cdx.Vulnerability) *[]cdx.V return &vulns } -func (c *CycloneDX) PackageURL(purl *purl.PackageURL) string { - if purl == nil { +func (c *CycloneDX) PackageURL(p *purl.PackageURL) string { + if p == nil { return "" } - return purl.String() + return p.String() } func (c *CycloneDX) Supplier(supplier string) *cdx.OrganizationalEntity { @@ -330,7 +330,7 @@ func LookupProperty(properties *[]cdx.Property, key string) string { } func UnmarshalProperties(properties *[]cdx.Property) map[string]string { - props := map[string]string{} + props := make(map[string]string) for _, prop := range lo.FromPtr(properties) { if !strings.HasPrefix(prop.Name, Namespace) { continue @@ -375,11 +375,11 @@ func cwes(cweIDs []string) *[]int { return &ret } -func cdxRatings(vulnerability types.DetectedVulnerability) *[]cdx.VulnerabilityRating { - rates := make([]cdx.VulnerabilityRating, 0) // To export an empty array in JSON - for sourceID, severity := range vulnerability.VendorSeverity { +func cdxRatings(vuln types.DetectedVulnerability) *[]cdx.VulnerabilityRating { + rates := make([]cdx.VulnerabilityRating, 0) // nolint:gocritic // To export an empty array in JSON + for sourceID, severity := range vuln.VendorSeverity { // When the vendor also provides CVSS score/vector - if cvss, ok := vulnerability.CVSS[sourceID]; ok { + if cvss, ok := vuln.CVSS[sourceID]; ok { if cvss.V2Score != 0 || cvss.V2Vector != "" { rates = append(rates, cdxRatingV2(sourceID, severity, cvss)) } diff --git a/pkg/sbom/cyclonedx/marshal.go b/pkg/sbom/cyclonedx/marshal.go index 6a523a0d67ae..9ee79da064c1 100644 --- a/pkg/sbom/cyclonedx/marshal.go +++ b/pkg/sbom/cyclonedx/marshal.go @@ -166,7 +166,7 @@ func (e *Marshaler) marshalPackages(metadata types.Metadata, result types.Result } // Recursive packages from direct dependencies - if component, err := e.marshalPackage(pkg, pkgs, map[string]*core.Component{}); err != nil { + if component, err := e.marshalPackage(pkg, pkgs, make(map[string]*core.Component)); err != nil { return nil, nil } else if component != nil { directComponents = append(directComponents, component) diff --git a/pkg/sbom/cyclonedx/unmarshal.go b/pkg/sbom/cyclonedx/unmarshal.go index f3e03553d59f..8de031e053f5 100644 --- a/pkg/sbom/cyclonedx/unmarshal.go +++ b/pkg/sbom/cyclonedx/unmarshal.go @@ -163,7 +163,7 @@ func (c *BOM) parseSBOM(bom *cdx.BOM) error { } func (c *BOM) parseOSPkgs(component cdx.Component, seen map[string]struct{}) (ftypes.PackageInfo, error) { - components := c.walkDependencies(component.BOMRef, map[string]struct{}{}) + components := c.walkDependencies(component.BOMRef, make(map[string]struct{})) pkgs, err := parsePkgs(components, seen) if err != nil { return ftypes.PackageInfo{}, xerrors.Errorf("failed to parse os package: %w", err) @@ -175,7 +175,7 @@ func (c *BOM) parseOSPkgs(component cdx.Component, seen map[string]struct{}) (ft } func (c *BOM) parseLangPkgs(component cdx.Component, seen map[string]struct{}) (*ftypes.Application, error) { - components := c.walkDependencies(component.BOMRef, map[string]struct{}{}) + components := c.walkDependencies(component.BOMRef, make(map[string]struct{})) components = lo.UniqBy(components, func(c cdx.Component) string { return c.BOMRef }) @@ -276,8 +276,8 @@ func dependencyMap(deps *[]cdx.Dependency) map[string][]string { } func aggregatePkgs(libs []cdx.Component) ([]ftypes.PackageInfo, []ftypes.Application, error) { - osPkgMap := map[ftypes.OSType]ftypes.Packages{} - langPkgMap := map[ftypes.LangType]ftypes.Packages{} + osPkgMap := make(map[ftypes.OSType]ftypes.Packages) + langPkgMap := make(map[ftypes.LangType]ftypes.Packages) for _, lib := range libs { isOSPkg, pkgType, pkg, err := toPackage(lib) if err != nil { diff --git a/pkg/sbom/spdx/marshal.go b/pkg/sbom/spdx/marshal.go index 437bc8406077..dbb72af2e69c 100644 --- a/pkg/sbom/spdx/marshal.go +++ b/pkg/sbom/spdx/marshal.go @@ -213,7 +213,7 @@ func (m *Marshaler) resultToSpdxPackage(result types.Result, os *ftypes.OS, pkgD } } -func (m *Marshaler) parseFile(filePath string, digest digest.Digest) (spdx.File, error) { +func (m *Marshaler) parseFile(filePath string, d digest.Digest) (spdx.File, error) { pkgID, err := calcPkgID(m.hasher, filePath) if err != nil { return spdx.File{}, xerrors.Errorf("failed to get %s package ID: %w", filePath, err) @@ -221,7 +221,7 @@ func (m *Marshaler) parseFile(filePath string, digest digest.Digest) (spdx.File, file := spdx.File{ FileSPDXIdentifier: spdx.ElementID(fmt.Sprintf("File-%s", pkgID)), FileName: filePath, - Checksums: digestToSpdxFileChecksum(digest), + Checksums: digestToSpdxFileChecksum(d), } return file, nil } diff --git a/pkg/sbom/spdx/unmarshal.go b/pkg/sbom/spdx/unmarshal.go index ff9d6c485662..1624d781ffdf 100644 --- a/pkg/sbom/spdx/unmarshal.go +++ b/pkg/sbom/spdx/unmarshal.go @@ -70,7 +70,7 @@ func (s *SPDX) UnmarshalJSON(b []byte) error { func (s *SPDX) unmarshal(spdxDocument *spdx.Document) error { var osPkgs []ftypes.Package - apps := map[common.ElementID]*ftypes.Application{} + apps := make(map[common.ElementID]*ftypes.Application) packageSPDXIdentifierMap := createPackageSPDXIdentifierMap(spdxDocument.Packages) packageFilePaths := getPackageFilePaths(spdxDocument) @@ -167,7 +167,7 @@ func (s *SPDX) unmarshal(spdxDocument *spdx.Document) error { func (s *SPDX) parsePackages(pkgs map[common.ElementID]*spdx.Package) error { var ( osPkgs []ftypes.Package - apps = map[ftypes.LangType]ftypes.Application{} + apps = make(map[ftypes.LangType]ftypes.Application) ) for _, p := range pkgs { @@ -281,15 +281,17 @@ func parsePkg(spdxPkg spdx.Package, packageFilePaths map[string]string) (*ftypes func parseExternalReferences(refs []*spdx.PackageExternalReference) (*ftypes.Package, *purl.PackageURL, error) { for _, ref := range refs { // Extract the package information from PURL - if ref.RefType == RefTypePurl && ref.Category == CategoryPackageManager { - packageURL, err := purl.FromString(ref.Locator) - if err != nil { - return nil, nil, xerrors.Errorf("failed to parse purl from string: %w", err) - } - pkg := packageURL.Package() - pkg.Ref = ref.Locator - return pkg, packageURL, nil + if ref.RefType != RefTypePurl || ref.Category != CategoryPackageManager { + continue + } + + packageURL, err := purl.FromString(ref.Locator) + if err != nil { + return nil, nil, xerrors.Errorf("failed to parse purl from string: %w", err) } + pkg := packageURL.Package() + pkg.Ref = ref.Locator + return pkg, packageURL, nil } return nil, nil, errUnknownPackageFormat } @@ -303,7 +305,7 @@ func lookupAttributionTexts(attributionTexts []string, key string) string { return "" } -func parseSourceInfo(pkgType string, sourceInfo string) (epoch int, name, ver, rel string, err error) { +func parseSourceInfo(pkgType, sourceInfo string) (epoch int, name, ver, rel string, err error) { srcNameVersion := strings.TrimPrefix(sourceInfo, fmt.Sprintf("%s: ", SourcePackagePrefix)) ss := strings.Split(srcNameVersion, " ") if len(ss) != 2 { @@ -323,7 +325,7 @@ func parseSourceInfo(pkgType string, sourceInfo string) (epoch int, name, ver, r // getPackageFilePaths parses Relationships and finds filepaths for packages func getPackageFilePaths(spdxDocument *spdx.Document) map[string]string { - packageFilePaths := map[string]string{} + packageFilePaths := make(map[string]string) fileSPDXIdentifierMap := createFileSPDXIdentifierMap(spdxDocument.Files) for _, rel := range spdxDocument.Relationships { if rel.Relationship != common.TypeRelationshipContains && rel.Relationship != "CONTAIN" { diff --git a/pkg/scanner/langpkg/scan.go b/pkg/scanner/langpkg/scan.go index 8a1783072db6..6f74f3488316 100644 --- a/pkg/scanner/langpkg/scan.go +++ b/pkg/scanner/langpkg/scan.go @@ -62,7 +62,7 @@ func (s *scanner) Scan(detail ftypes.ArtifactDetail, _ types.ScanOptions) (types } var results types.Results - printedTypes := map[ftypes.LangType]struct{}{} + printedTypes := make(map[ftypes.LangType]struct{}) for _, app := range apps { if len(app.Libraries) == 0 { continue diff --git a/pkg/scanner/local/scan.go b/pkg/scanner/local/scan.go index 1a81828f7d96..5539bf23efc0 100644 --- a/pkg/scanner/local/scan.go +++ b/pkg/scanner/local/scan.go @@ -46,10 +46,10 @@ type Scanner struct { } // NewScanner is the factory method for Scanner -func NewScanner(applier applier.Applier, osPkgScanner ospkg.Scanner, langPkgScanner langpkg.Scanner, +func NewScanner(a applier.Applier, osPkgScanner ospkg.Scanner, langPkgScanner langpkg.Scanner, vulnClient vulnerability.Client) Scanner { return Scanner{ - applier: applier, + applier: a, osPkgScanner: osPkgScanner, langPkgScanner: langPkgScanner, vulnClient: vulnClient, @@ -373,7 +373,7 @@ func toDetectedMisconfiguration(res ftypes.MisconfResult, defaultSeverity dbType res.References = append(res.References, primaryURL) } - if len(primaryURL) == 0 && len(res.References) > 0 { + if primaryURL == "" && len(res.References) > 0 { primaryURL = res.References[0] } diff --git a/pkg/scanner/ospkg/scan.go b/pkg/scanner/ospkg/scan.go index 510d15826050..ed255dd362e3 100644 --- a/pkg/scanner/ospkg/scan.go +++ b/pkg/scanner/ospkg/scan.go @@ -77,7 +77,7 @@ func (s *scanner) Scan(target string, detail ftypes.ArtifactDetail, options type func mergePkgs(pkgs, pkgsFromCommands []ftypes.Package) []ftypes.Package { // pkg has priority over pkgsFromCommands - uniqPkgs := map[string]struct{}{} + uniqPkgs := make(map[string]struct{}) for _, pkg := range pkgs { uniqPkgs[pkg.Name] = struct{}{} } diff --git a/pkg/scanner/post/post_scan.go b/pkg/scanner/post/post_scan.go index fd7292d0a3eb..53f72819b1c9 100644 --- a/pkg/scanner/post/post_scan.go +++ b/pkg/scanner/post/post_scan.go @@ -24,14 +24,14 @@ func DeregisterPostScanner(name string) { } func ScannerVersions() map[string]int { - versions := map[string]int{} + versions := make(map[string]int) for _, s := range postScanners { versions[s.Name()] = s.Version() } return versions } -var postScanners = map[string]Scanner{} +var postScanners = make(map[string]Scanner) func Scan(ctx context.Context, results types.Results) (types.Results, error) { var err error diff --git a/pkg/vex/vex.go b/pkg/vex/vex.go index 9df006a35057..05786d90dc14 100644 --- a/pkg/vex/vex.go +++ b/pkg/vex/vex.go @@ -74,7 +74,7 @@ type CycloneDX struct { logger *zap.SugaredLogger } -func newCycloneDX(sbom *ftypes.CycloneDX, vex *cdx.BOM) *CycloneDX { +func newCycloneDX(cdxSBOM *ftypes.CycloneDX, vex *cdx.BOM) *CycloneDX { var stmts []Statement for _, vuln := range lo.FromPtr(vex.Vulnerabilities) { affects := lo.Map(lo.FromPtr(vuln.Affects), func(item cdx.Affects, index int) string { @@ -91,7 +91,7 @@ func newCycloneDX(sbom *ftypes.CycloneDX, vex *cdx.BOM) *CycloneDX { }) } return &CycloneDX{ - sbom: sbom, + sbom: cdxSBOM, statements: stmts, logger: log.Logger.With(zap.String("VEX format", "CycloneDX")), } From f05bc4be4fa3e99e9f41917dae5c3e025e87f814 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 18:45:07 +0300 Subject: [PATCH 047/338] chore(deps): bump github.com/hashicorp/go-getter from 1.7.1 to 1.7.2 (#5289) Bumps [github.com/hashicorp/go-getter](https://github.com/hashicorp/go-getter) from 1.7.1 to 1.7.2. - [Release notes](https://github.com/hashicorp/go-getter/releases) - [Changelog](https://github.com/hashicorp/go-getter/blob/main/.goreleaser.yml) - [Commits](https://github.com/hashicorp/go-getter/compare/v1.7.1...v1.7.2) --- updated-dependencies: - dependency-name: github.com/hashicorp/go-getter dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e81c541a1ccc..ff920e839e48 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( github.com/google/licenseclassifier/v2 v2.0.0 github.com/google/uuid v1.3.0 github.com/google/wire v0.5.0 - github.com/hashicorp/go-getter v1.7.1 + github.com/hashicorp/go-getter v1.7.2 github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/golang-lru/v2 v2.0.6 github.com/in-toto/in-toto-golang v0.9.0 diff --git a/go.sum b/go.sum index c29220c1b74b..bec551d37081 100644 --- a/go.sum +++ b/go.sum @@ -1111,8 +1111,8 @@ github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= -github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.2 h1:uJDtyXwEfalmp1PqdxuhZqrNkUyClZAhVeZYTArbqkg= +github.com/hashicorp/go-getter v1.7.2/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= From 7e613cc5f774091dc2111ae5b550e79bf38f99b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 18:45:32 +0300 Subject: [PATCH 048/338] chore(deps): bump github.com/google/uuid from 1.3.0 to 1.3.1 (#5286) Bumps [github.com/google/uuid](https://github.com/google/uuid) from 1.3.0 to 1.3.1. - [Release notes](https://github.com/google/uuid/releases) - [Changelog](https://github.com/google/uuid/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/uuid/compare/v1.3.0...v1.3.1) --- updated-dependencies: - dependency-name: github.com/google/uuid dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index ff920e839e48..39336a826b67 100644 --- a/go.mod +++ b/go.mod @@ -46,7 +46,7 @@ require ( github.com/golang/protobuf v1.5.3 github.com/google/go-containerregistry v0.16.1 github.com/google/licenseclassifier/v2 v2.0.0 - github.com/google/uuid v1.3.0 + github.com/google/uuid v1.3.1 github.com/google/wire v0.5.0 github.com/hashicorp/go-getter v1.7.2 github.com/hashicorp/go-multierror v1.1.1 diff --git a/go.sum b/go.sum index bec551d37081..0b7673002743 100644 --- a/go.sum +++ b/go.sum @@ -1058,8 +1058,9 @@ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= From a346587b8d5fb9b783fc2570b3d505abeca2c17f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 18:54:49 +0300 Subject: [PATCH 049/338] chore(deps): bump actions/cache from 3.3.1 to 3.3.2 (#5293) Bumps [actions/cache](https://github.com/actions/cache) from 3.3.1 to 3.3.2. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.3.1...v3.3.2) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/canary.yaml | 2 +- .github/workflows/release.yaml | 2 +- .github/workflows/reusable-release.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/canary.yaml b/.github/workflows/canary.yaml index cad129726d51..79fbb726145a 100644 --- a/.github/workflows/canary.yaml +++ b/.github/workflows/canary.yaml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Restore Trivy binaries from cache - uses: actions/cache@v3.3.1 + uses: actions/cache@v3.3.2 with: path: dist/ key: ${{ runner.os }}-bins-${{github.workflow}}-${{github.sha}} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 660449783919..da322b8873fd 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 - name: Restore Trivy binaries from cache - uses: actions/cache@v3.3.1 + uses: actions/cache@v3.3.2 with: path: dist/ key: ${{ runner.os }}-bins-${{github.workflow}}-${{github.sha}} diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index ce701de9b4ca..9302f2c4042e 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -121,7 +121,7 @@ jobs: public.ecr.aws/aquasecurity/trivy:canary - name: Cache Trivy binaries - uses: actions/cache@v3.3.1 + uses: actions/cache@v3.3.2 with: path: dist/ # use 'github.sha' to create a unique cache folder for each run. From 6119878de1e8d27bee8109034fc7dd0bd4f9f1fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 08:25:12 +0000 Subject: [PATCH 050/338] chore(deps): bump docker/setup-buildx-action from 2 to 3 (#5292) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/reusable-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index 9302f2c4042e..db4932d96b45 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -43,7 +43,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Show available Docker Buildx platforms run: echo ${{ steps.buildx.outputs.platforms }} From 6c74ee11f0a0280fa7c7ad95f0eeac0d2cf03bf9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 12:01:37 +0300 Subject: [PATCH 051/338] chore(deps): bump docker/setup-qemu-action from 2 to 3 (#5290) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/reusable-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index db4932d96b45..d8aba85cd765 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -39,7 +39,7 @@ jobs: uses: sigstore/cosign-installer@4a861528be5e691840a69536975ada1d4c30349d - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx id: buildx From 76eb8a57b6f611da8699b02753a1fd540cf854e1 Mon Sep 17 00:00:00 2001 From: Anais Urlichs <33576047+AnaisUrlichs@users.noreply.github.com> Date: Tue, 3 Oct 2023 10:02:52 +0100 Subject: [PATCH 052/338] docs: add buildkite repository to ecosystem page (#5316) Signed-off-by: AnaisUrlichs --- docs/ecosystem/cicd.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/ecosystem/cicd.md b/docs/ecosystem/cicd.md index 3040a2267747..301902cee68b 100644 --- a/docs/ecosystem/cicd.md +++ b/docs/ecosystem/cicd.md @@ -9,6 +9,13 @@ GitHub Action for integrating Trivy into your GitHub pipeline 👉 Get it at: +## Azure DevOps (Official) +[Azure Devops](https://azure.microsoft.com/en-us/products/devops/#overview) is Microsoft Azure cloud native CI/CD service. + +Trivy has a "Azure Devops Pipelines Task" for Trivy, that lets you easily introduce security scanning into your workflow, with an integrated Azure Devops UI. + +👉 Get it at: + ### trivy-action (Community) GitHub Action to scan vulnerability using Trivy. If vulnerabilities are found by Trivy, it creates a GitHub Issue. @@ -21,12 +28,11 @@ In this action, Trivy scans the dependency files such as package-lock.json and g 👉 Get it at: -## Azure DevOps (Official) -[Azure Devops](https://azure.microsoft.com/en-us/products/devops/#overview) is Microsoft Azure cloud native CI/CD service. +### Buildkite Plugin (Community) -Trivy has a "Azure Devops Pipelines Task" for Trivy, that lets you easily introduce security scanning into your workflow, with an integrated Azure Devops UI. +The trivy buildkite plugin provides a convenient mechanism for running the open-source trivy static analysis tool on your project. -👉 Get it at: +👉 Get it at: https://github.com/equinixmetal-buildkite/trivy-buildkite-plugin ## Semaphore (Community) [Semaphore](https://semaphoreci.com/) is a CI/CD service. From 393bfdc1ac6307a0260fa4fe5919e7ea3de35928 Mon Sep 17 00:00:00 2001 From: j1nka Date: Tue, 3 Oct 2023 14:06:27 +0300 Subject: [PATCH 053/338] fix(sbom): use PURL or Group and Name in case of Java (#5154) --- pkg/sbom/cyclonedx/unmarshal.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkg/sbom/cyclonedx/unmarshal.go b/pkg/sbom/cyclonedx/unmarshal.go index 8de031e053f5..d8837980bd0b 100644 --- a/pkg/sbom/cyclonedx/unmarshal.go +++ b/pkg/sbom/cyclonedx/unmarshal.go @@ -345,7 +345,7 @@ func toPackage(component cdx.Component) (bool, ftypes.TargetType, *ftypes.Packag pkg := p.Package() // Trivy's marshall loses case-sensitivity in PURL used in SBOM for packages (Go, Npm, PyPI), // so we have to use an original package name - pkg.Name = getPackageName(p.Type, component) + pkg.Name = getPackageName(p.Type, pkg.Name, component) pkg.Ref = component.BOMRef for _, license := range lo.FromPtr(component.Licenses) { @@ -407,10 +407,15 @@ func toTrivyCdxComponent(component cdx.Component) ftypes.Component { } } -func getPackageName(typ string, component cdx.Component) string { - // Jar uses `Group` field for `GroupID` - if typ == packageurl.TypeMaven && component.Group != "" { - return fmt.Sprintf("%s:%s", component.Group, component.Name) +func getPackageName(typ, pkgNameFromPurl string, component cdx.Component) string { + if typ == packageurl.TypeMaven { + // Jar uses `Group` field for `GroupID` + if component.Group != "" { + return fmt.Sprintf("%s:%s", component.Group, component.Name) + } else { + // use name derived from purl if `Group` doesn't exist + return pkgNameFromPurl + } } return component.Name } From 74dbd8a1fd5a67ccf63e5039893d5c3a9f3536e0 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Tue, 3 Oct 2023 14:10:05 +0300 Subject: [PATCH 054/338] ci: do not trigger tests on the push event (#5313) Signed-off-by: knqyf263 --- .github/workflows/test.yaml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index bd29b1e8ca27..e5b3b46a6df7 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,14 +1,5 @@ name: Test on: - push: - branches-ignore: - - 'main' - - 'gh-readonly-queue/**' - paths-ignore: - - '**.md' - - 'docs/**' - - 'mkdocs.yml' - - 'LICENSE' pull_request: paths-ignore: - '**.md' From e6d5889ed4e5bc10c578f55f0807c1193e680dc1 Mon Sep 17 00:00:00 2001 From: Itay Shakury Date: Wed, 4 Oct 2023 15:13:20 +0300 Subject: [PATCH 055/338] chore: update adopters template (#5330) --- .github/DISCUSSION_TEMPLATE/adopters.yml | 44 +++++++++++------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/.github/DISCUSSION_TEMPLATE/adopters.yml b/.github/DISCUSSION_TEMPLATE/adopters.yml index 42550c13f6c8..c9eff61a98e6 100644 --- a/.github/DISCUSSION_TEMPLATE/adopters.yml +++ b/.github/DISCUSSION_TEMPLATE/adopters.yml @@ -1,35 +1,31 @@ -title: " " +title: "" labels: ["adopters"] body: - - type: checkboxes + - type: textarea + id: info attributes: - label: Please select all the scan targets that you are using - options: - - label: Container Images - - label: Filesystem - - label: Git Repository - - label: Virtual Machine Images - - label: Kubernetes - - label: AWS + label: "[Optional] How do you use Trivy?" validations: required: false - type: checkboxes attributes: - label: Which scanners are you using on those scan targets? + label: "[Optional] Which targets are you scanning with Trivy?" options: - - label: OS packages and software dependencies in use (SBOM) - - label: Known vulnerabilities (CVEs) - - label: IaC issues and misconfigurations - - label: Sensitive information and secrets - - label: Software licenses + - label: "Container Image" + - label: "Filesystem" + - label: "Git Repository" + - label: "Virtual Machine Image" + - label: "Kubernetes" + - label: "AWS" + - label: "SBOM" validations: required: false - - type: textarea - id: info + - type: checkboxes attributes: - label: "Additional Information" - description: "Please tell us more about your use case of Trivy -- anything that you would like to share 🎉" - value: | - ... - validations: - required: false \ No newline at end of file + label: "[Optional] What kind of issues are scanning with Trivy?" + options: + - label: "Software Bill of Materials (SBOM)" + - label: "Known vulnerabilities (CVEs)" + - label: "IaC issues and misconfigurations" + - label: "Sensitive information and secrets" + - label: "Software licenses" From 03b6787c44112b5f9767e97d4f6f31da6a027bc8 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Thu, 5 Oct 2023 13:36:02 +0600 Subject: [PATCH 056/338] ci: check only PR's in `actions/stale` (#5337) --- .github/workflows/stale-issues.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/stale-issues.yaml b/.github/workflows/stale-issues.yaml index 9d504e712d61..8827397755c8 100644 --- a/.github/workflows/stale-issues.yaml +++ b/.github/workflows/stale-issues.yaml @@ -1,4 +1,4 @@ -name: "Stale issues" +name: "Stale PR's" on: schedule: - cron: '0 0 * * *' @@ -10,11 +10,10 @@ jobs: - uses: actions/stale@v8 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: 'This issue is stale because it has been labeled with inactivity.' stale-pr-message: 'This PR is stale because it has been labeled with inactivity.' - exempt-issue-labels: 'lifecycle/frozen,lifecycle/active,priority/critical-urgent,priority/important-soon,priority/important-longterm,priority/backlog,priority/awaiting-more-evidence' exempt-pr-labels: 'lifecycle/active' stale-pr-label: 'lifecycle/stale' - stale-issue-label: 'lifecycle/stale' days-before-stale: 60 + days-before-issue-stale: '-1' days-before-close: 20 + days-before-issue-close: '-1' From 00d9c4666fd4d7e3c1f61f72704db893b334b5af Mon Sep 17 00:00:00 2001 From: Alexandr Hacicheant Date: Thu, 5 Oct 2023 11:16:50 +0300 Subject: [PATCH 057/338] feat: added `Metadata` into the k8s resource's scan report (#5322) --- pkg/k8s/report/report.go | 10 +++++---- pkg/k8s/report/report_test.go | 40 +++++++++++++++++++++++++++++++++++ pkg/k8s/scanner/scanner.go | 5 ++++- 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/pkg/k8s/report/report.go b/pkg/k8s/report/report.go index 97784edf6a7a..ca2e33cb39d8 100644 --- a/pkg/k8s/report/report.go +++ b/pkg/k8s/report/report.go @@ -56,10 +56,9 @@ type Resource struct { Namespace string `json:",omitempty"` Kind string Name string - // TODO(josedonizetti): should add metadata? per report? per Result? - // Metadata Metadata `json:",omitempty"` - Results types.Results `json:",omitempty"` - Error string `json:",omitempty"` + Metadata types.Metadata `json:",omitempty"` + Results types.Results `json:",omitempty"` + Error string `json:",omitempty"` // original report Report types.Report `json:"-"` @@ -103,6 +102,7 @@ func (r Report) consolidate() ConsolidatedReport { Namespace: res.Namespace, Kind: res.Kind, Name: res.Name, + Metadata: res.Metadata, Results: append(res.Results, v.Results...), Error: res.Error, } @@ -237,6 +237,7 @@ func CreateResource(artifact *artifacts.Artifact, report types.Report, err error Namespace: artifact.Namespace, Kind: artifact.Kind, Name: artifact.Name, + Metadata: report.Metadata, Results: results, Report: report, } @@ -299,6 +300,7 @@ func copyResource(r Resource) Resource { Namespace: r.Namespace, Kind: r.Kind, Name: r.Name, + Metadata: r.Metadata, Error: r.Error, Report: r.Report, } diff --git a/pkg/k8s/report/report_test.go b/pkg/k8s/report/report_test.go index 34a79d6e3278..b2b99804c62a 100644 --- a/pkg/k8s/report/report_test.go +++ b/pkg/k8s/report/report_test.go @@ -15,6 +15,14 @@ var ( Namespace: "default", Kind: "Deploy", Name: "orion", + Metadata: types.Metadata{ + RepoTags: []string{ + "alpine:3.14", + }, + RepoDigests: []string{ + "alpine:3.14@sha256:8fe1727132b2506c17ba0e1f6a6ed8a016bb1f5735e43b2738cd3fd1979b6260", + }, + }, Results: types.Results{ { Misconfigurations: []types.DetectedMisconfiguration{ @@ -62,6 +70,14 @@ var ( Namespace: "default", Kind: "Deploy", Name: "orion", + Metadata: types.Metadata{ + RepoTags: []string{ + "alpine:3.14", + }, + RepoDigests: []string{ + "alpine:3.14@sha256:8fe1727132b2506c17ba0e1f6a6ed8a016bb1f5735e43b2738cd3fd1979b6260", + }, + }, Results: types.Results{ { Vulnerabilities: []types.DetectedVulnerability{ @@ -102,6 +118,14 @@ var ( Namespace: "default", Kind: "Deploy", Name: "orion", + Metadata: types.Metadata{ + RepoTags: []string{ + "alpine:3.14", + }, + RepoDigests: []string{ + "alpine:3.14@sha256:8fe1727132b2506c17ba0e1f6a6ed8a016bb1f5735e43b2738cd3fd1979b6260", + }, + }, Results: types.Results{ { Misconfigurations: []types.DetectedMisconfiguration{ @@ -181,6 +205,14 @@ var ( Namespace: "default", Kind: "Cronjob", Name: "hello", + Metadata: types.Metadata{ + RepoTags: []string{ + "alpine:3.14", + }, + RepoDigests: []string{ + "alpine:3.14@sha256:8fe1727132b2506c17ba0e1f6a6ed8a016bb1f5735e43b2738cd3fd1979b6260", + }, + }, Results: types.Results{ {Vulnerabilities: []types.DetectedVulnerability{{VulnerabilityID: "CVE-2020-9999"}}}, }, @@ -190,6 +222,14 @@ var ( Namespace: "default", Kind: "Pod", Name: "prometheus", + Metadata: types.Metadata{ + RepoTags: []string{ + "alpine:3.14", + }, + RepoDigests: []string{ + "alpine:3.14@sha256:8fe1727132b2506c17ba0e1f6a6ed8a016bb1f5735e43b2738cd3fd1979b6260", + }, + }, Results: types.Results{ {Misconfigurations: []types.DetectedMisconfiguration{{ID: "ID100"}}}, }, diff --git a/pkg/k8s/scanner/scanner.go b/pkg/k8s/scanner/scanner.go index f0434941997c..30796af2d48f 100644 --- a/pkg/k8s/scanner/scanner.go +++ b/pkg/k8s/scanner/scanner.go @@ -122,7 +122,10 @@ func (s *Scanner) Scan(ctx context.Context, artifactsData []*artifacts.Artifact) onResult := func(result scanResult) error { resources = append(resources, result.vulns...) - resources = append(resources, result.misconfig) + // don't add empty misconfig results to resources slice to avoid an empty resource + if result.misconfig.Results != nil { + resources = append(resources, result.misconfig) + } return nil } From 008babfb8b6166aa398ccab3f44753188d8a4f7c Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Thu, 5 Oct 2023 13:06:32 +0300 Subject: [PATCH 058/338] build: fix a compile error with Go 1.21 (#5339) Signed-off-by: knqyf263 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 39336a826b67..1fd0af3b2e75 100644 --- a/go.mod +++ b/go.mod @@ -79,7 +79,7 @@ require ( github.com/samber/lo v1.38.1 github.com/saracen/walker v0.1.3 github.com/secure-systems-lab/go-securesystemslib v0.7.0 - github.com/sigstore/rekor v1.3.0 + github.com/sigstore/rekor v1.2.2 github.com/sirupsen/logrus v1.9.3 github.com/sosedoff/gitkit v0.4.0 github.com/spdx/tools-golang v0.5.0 diff --git a/go.sum b/go.sum index 0b7673002743..868e40d67d73 100644 --- a/go.sum +++ b/go.sum @@ -1579,8 +1579,8 @@ github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFR github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sigstore/rekor v1.3.0 h1:meiQhvzb7B4CwmRgGAHnsExoyf2fiGnXUNgm7rOHPIg= -github.com/sigstore/rekor v1.3.0/go.mod h1:aZH9c2g4nZS/+IfVm6WWhwRIY7In5TdUX7jfG4moI+E= +github.com/sigstore/rekor v1.2.2 h1:5JK/zKZvcQpL/jBmHvmFj3YbpDMBQnJQ6ygp8xdF3bY= +github.com/sigstore/rekor v1.2.2/go.mod h1:FGnWBGWzeNceJnp0x9eDFd41mI8aQqCjj+Zp0IEs0Qg= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= From af485b33fd63a71758f46bea8d2c8c94798a4067 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Thu, 5 Oct 2023 18:58:40 +0600 Subject: [PATCH 059/338] fix: fix MIME warnings after updating to Go 1.20 (#5336) --- go.mod | 10 +++++----- go.sum | 21 ++++++++++----------- pkg/fanal/analyzer/pkg/dpkg/dpkg.go | 3 ++- pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go | 5 +++++ 4 files changed, 22 insertions(+), 17 deletions(-) diff --git a/go.mod b/go.mod index 1fd0af3b2e75..4a3ecbdcb140 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/alicebob/miniredis/v2 v2.30.4 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 github.com/aquasecurity/defsec v0.93.0 - github.com/aquasecurity/go-dep-parser v0.0.0-20230830122616-841bc0f812c7 + github.com/aquasecurity/go-dep-parser v0.0.0-20231005073811-1237b47625e1 github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798 github.com/aquasecurity/go-pep440-version v0.0.0-20210121094942-22b2f8951d46 @@ -95,12 +95,12 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 github.com/xlab/treeprint v1.2.0 go.etcd.io/bbolt v1.3.7 - go.uber.org/zap v1.25.0 + go.uber.org/zap v1.26.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 golang.org/x/mod v0.12.0 golang.org/x/sync v0.3.0 golang.org/x/term v0.12.0 - golang.org/x/text v0.12.0 + golang.org/x/text v0.13.0 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v3 v3.0.1 @@ -357,8 +357,8 @@ require ( go.opentelemetry.io/otel/trace v1.14.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.12.0 // indirect - golang.org/x/net v0.14.0 // indirect + golang.org/x/crypto v0.13.0 // indirect + golang.org/x/net v0.15.0 // indirect golang.org/x/oauth2 v0.11.0 // indirect golang.org/x/sys v0.12.0 // indirect golang.org/x/time v0.3.0 // indirect diff --git a/go.sum b/go.sum index 868e40d67d73..de25358f2c9a 100644 --- a/go.sum +++ b/go.sum @@ -323,8 +323,8 @@ github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8= github.com/aquasecurity/defsec v0.93.0 h1:7I3A6xOa32ugsOcTDvc0FymAEbwR0HO1Jt5wYc8NmFc= github.com/aquasecurity/defsec v0.93.0/go.mod h1:BiRuveI3ATEzIwyg6SUeU7MHuPFczAmYmFmdYQLdSSU= -github.com/aquasecurity/go-dep-parser v0.0.0-20230830122616-841bc0f812c7 h1:FSfz2vfnL3EvTh04zDx4SYxKmgDbYSr8td6R8XbtbB8= -github.com/aquasecurity/go-dep-parser v0.0.0-20230830122616-841bc0f812c7/go.mod h1:0+GvQF0gL4YEAAUPpNeLeGpFDxMvvIHLMd7vk9bpwko= +github.com/aquasecurity/go-dep-parser v0.0.0-20231005073811-1237b47625e1 h1:OAmmfBXi/YdwezeN4qrWvZ2o7OXCMgFRCUJ5NMG/Oug= +github.com/aquasecurity/go-dep-parser v0.0.0-20231005073811-1237b47625e1/go.mod h1:jqzwhfRT0cboisqgN57znt0lDVVEp479OtMFVaReMAI= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce/go.mod h1:HXgVzOPvXhVGLJs4ZKO817idqr/xhwsTcj17CLYY74s= github.com/aquasecurity/go-mock-aws v0.0.0-20230810212901-d6feebd39060 h1:V7nC90NpRDEubNpNEgRDtTfLH3RKQlZeY9/HSqxEze8= @@ -509,7 +509,6 @@ github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J github.com/aws/smithy-go v1.14.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.14.2 h1:MJU9hqBGbvWZdApzpvoF2WAIJDbtjK2NDJSiJP7HblQ= github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -1785,8 +1784,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= -go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= +go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= +go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1817,8 +1816,8 @@ golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4 golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1930,8 +1929,8 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2135,8 +2134,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/pkg/fanal/analyzer/pkg/dpkg/dpkg.go b/pkg/fanal/analyzer/pkg/dpkg/dpkg.go index 763005b50b05..7a8f429f3c35 100644 --- a/pkg/fanal/analyzer/pkg/dpkg/dpkg.go +++ b/pkg/fanal/analyzer/pkg/dpkg/dpkg.go @@ -266,7 +266,8 @@ func (a dpkgAnalyzer) Required(filePath string, _ os.FileInfo) bool { return true } - if dir == statusDir { + // skip `*.md5sums` files from `status.d` directory + if dir == statusDir && filepath.Ext(fileName) != ".md5sums" { return true } return false diff --git a/pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go b/pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go index 3d73a550866c..0a1ae4e10f54 100644 --- a/pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go +++ b/pkg/fanal/analyzer/pkg/dpkg/dpkg_test.go @@ -1485,6 +1485,11 @@ func Test_dpkgAnalyzer_Required(t *testing.T) { filePath: "var/lib/dpkg/status.d/gcc", want: true, }, + { + name: "*.md5sums file in status dir", + filePath: "var/lib/dpkg/status.d/base-files.md5sums", + want: false, + }, { name: "list file", filePath: "var/lib/dpkg/info/bash.list", From 2798df916b86fafc1ee798457fb6302d107e717a Mon Sep 17 00:00:00 2001 From: Nikita Pivkin Date: Thu, 5 Oct 2023 15:59:47 +0300 Subject: [PATCH 060/338] fix: add config files to FS for post-analyzers (#5333) --- pkg/fanal/artifact/local/fs_test.go | 50 +++++++++++++++++++ .../terraform/tfvar-outside/main.tfvars | 1 + .../terraform/tfvar-outside/tf/main.tf | 7 +++ pkg/misconf/scanner.go | 36 ++++++++++++- 4 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 pkg/fanal/artifact/local/testdata/misconfig/terraform/tfvar-outside/main.tfvars create mode 100644 pkg/fanal/artifact/local/testdata/misconfig/terraform/tfvar-outside/tf/main.tf diff --git a/pkg/fanal/artifact/local/fs_test.go b/pkg/fanal/artifact/local/fs_test.go index d18048f8e97b..63ab74c65ca7 100644 --- a/pkg/fanal/artifact/local/fs_test.go +++ b/pkg/fanal/artifact/local/fs_test.go @@ -658,6 +658,56 @@ func TestTerraformMisconfigurationScan(t *testing.T) { }, }, }, + { + name: "tfvars outside the scan folder", + fields: fields{ + dir: "./testdata/misconfig/terraform/tfvar-outside/tf", + }, + artifactOpt: artifact.Option{ + MisconfScannerOption: misconf.ScannerOption{ + RegoOnly: true, + Namespaces: []string{"user"}, + PolicyPaths: []string{"./testdata/misconfig/terraform/rego"}, + TerraformTFVars: []string{"./testdata/misconfig/terraform/tfvar-outside/main.tfvars"}, + TfExcludeDownloaded: true, + DisableEmbeddedPolicies: true, + }, + }, + putBlobExpectation: cache.ArtifactCachePutBlobExpectation{ + Args: cache.ArtifactCachePutBlobArgs{ + BlobIDAnything: true, + BlobInfo: types.BlobInfo{ + SchemaVersion: 2, + Misconfigurations: []types.Misconfiguration{ + { + FileType: types.Terraform, + FilePath: ".", + Successes: types.MisconfResults{ + { + Namespace: "user.something", + Query: "data.user.something.deny", + PolicyMetadata: policyMetadata, + CauseMetadata: types.CauseMetadata{ + Provider: "Generic", + Service: "general", + }, + }, + }, + }, + }, + }, + }, + Returns: cache.ArtifactCachePutBlobReturns{}, + }, + want: types.ArtifactReference{ + Name: "testdata/misconfig/terraform/tfvar-outside/tf", + Type: types.ArtifactFilesystem, + ID: "sha256:4e2b9cba04625f1d9cc57f74640d039779b0ee176e958aaea37883e03842056d", + BlobIDs: []string{ + "sha256:4e2b9cba04625f1d9cc57f74640d039779b0ee176e958aaea37883e03842056d", + }, + }, + }, { name: "relative paths", fields: fields{ diff --git a/pkg/fanal/artifact/local/testdata/misconfig/terraform/tfvar-outside/main.tfvars b/pkg/fanal/artifact/local/testdata/misconfig/terraform/tfvar-outside/main.tfvars new file mode 100644 index 000000000000..6eb0b00dcbd0 --- /dev/null +++ b/pkg/fanal/artifact/local/testdata/misconfig/terraform/tfvar-outside/main.tfvars @@ -0,0 +1 @@ +bucket_name = "test" diff --git a/pkg/fanal/artifact/local/testdata/misconfig/terraform/tfvar-outside/tf/main.tf b/pkg/fanal/artifact/local/testdata/misconfig/terraform/tfvar-outside/tf/main.tf new file mode 100644 index 000000000000..d9e4a4745359 --- /dev/null +++ b/pkg/fanal/artifact/local/testdata/misconfig/terraform/tfvar-outside/tf/main.tf @@ -0,0 +1,7 @@ +resource "aws_s3_bucket" "this" { + bucket = var.bucket_name +} + +variable "bucket_name" { + type = string +} diff --git a/pkg/misconf/scanner.go b/pkg/misconf/scanner.go index de06cb8edcb4..d602bca7c948 100644 --- a/pkg/misconf/scanner.go +++ b/pkg/misconf/scanner.go @@ -71,6 +71,7 @@ type Scanner struct { fileType detection.FileType scanner scanners.FSScanner hasFilePattern bool + configFiles []string } func NewAzureARMScanner(filePatterns []string, opt ScannerOption) (*Scanner, error) { @@ -108,6 +109,7 @@ func newScanner(t detection.FileType, filePatterns []string, opt ScannerOption) } var scanner scanners.FSScanner + var configFiles []string switch t { case detection.FileTypeAzureARM: scanner = arm.New(opts...) @@ -117,10 +119,12 @@ func newScanner(t detection.FileType, filePatterns []string, opt ScannerOption) scanner = dfscanner.NewScanner(opts...) case detection.FileTypeHelm: scanner = helm.New(opts...) + configFiles = append(opt.HelmFileValues, opt.HelmValueFiles...) case detection.FileTypeKubernetes: scanner = k8sscanner.NewScanner(opts...) case detection.FileTypeTerraform: scanner = tfscanner.New(opts...) + configFiles = opt.TerraformTFVars case detection.FileTypeTerraformPlan: scanner = tfpscanner.New(opts...) } @@ -129,6 +133,7 @@ func newScanner(t detection.FileType, filePatterns []string, opt ScannerOption) fileType: t, scanner: scanner, hasFilePattern: hasFilePattern(t, filePatterns), + configFiles: configFiles, }, nil } @@ -141,10 +146,15 @@ func (s *Scanner) Scan(ctx context.Context, fsys fs.FS) ([]types.Misconfiguratio return nil, nil } + if err := addConfigFilesToFS(newfs, s.configFiles); err != nil { + return nil, xerrors.Errorf("failed to add config files to fs: %w", err) + } + log.Logger.Debugf("Scanning %s files for misconfigurations...", s.scanner.Name()) results, err := s.scanner.ScanFS(ctx, newfs, ".") if err != nil { - if _, ok := err.(*cfparser.InvalidContentError); ok { + var invalidContentError *cfparser.InvalidContentError + if errors.As(err, &invalidContentError) { log.Logger.Errorf("scan %q was broken with InvalidContentError: %v", s.scanner.Name(), err) return nil, nil } @@ -164,6 +174,30 @@ func (s *Scanner) Scan(ctx context.Context, fsys fs.FS) ([]types.Misconfiguratio return misconfs, nil } +func addConfigFilesToFS(fsys fs.FS, configFiles []string) error { + if len(configFiles) == 0 { + return nil + } + + mfs, ok := fsys.(*mapfs.FS) + if !ok { + return xerrors.Errorf("type assertion error: %T is not a *mapfs.FS", fsys) + } + for _, configFile := range configFiles { + if _, err := os.Stat(configFile); err != nil { + return xerrors.Errorf("config file %q not found: %w", configFile, err) + } + if err := mfs.MkdirAll(filepath.Dir(configFile), os.ModePerm); err != nil && !errors.Is(err, fs.ErrExist) { + return xerrors.Errorf("mkdir error: %w", err) + } + if err := mfs.WriteFile(configFile, configFile); err != nil { + return xerrors.Errorf("write file error: %w", err) + } + } + + return nil +} + func (s *Scanner) filterFS(fsys fs.FS) (fs.FS, error) { mfs, ok := fsys.(*mapfs.FS) if !ok { From ced54aced1b31230e9b73f64760a873ef94e6cb2 Mon Sep 17 00:00:00 2001 From: Doug Donohoe Date: Thu, 5 Oct 2023 10:45:45 -0400 Subject: [PATCH 061/338] fix: Report error when os.CreateTemp fails (to be consistent with other uses) (#5342) --- pkg/fanal/image/daemon/docker.go | 2 +- pkg/fanal/image/daemon/podman.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/fanal/image/daemon/docker.go b/pkg/fanal/image/daemon/docker.go index 9fc6e1b46357..45581c99b3c8 100644 --- a/pkg/fanal/image/daemon/docker.go +++ b/pkg/fanal/image/daemon/docker.go @@ -53,7 +53,7 @@ func DockerImage(ref name.Reference, host string) (Image, func(), error) { f, err := os.CreateTemp("", "fanal-*") if err != nil { - return nil, cleanup, xerrors.Errorf("failed to create a temporary file") + return nil, cleanup, xerrors.Errorf("failed to create a temporary file: %w", err) } cleanup = func() { diff --git a/pkg/fanal/image/daemon/podman.go b/pkg/fanal/image/daemon/podman.go index 399fff96602e..e5c24aec7faf 100644 --- a/pkg/fanal/image/daemon/podman.go +++ b/pkg/fanal/image/daemon/podman.go @@ -128,7 +128,7 @@ func PodmanImage(ref string) (Image, func(), error) { f, err := os.CreateTemp("", "fanal-*") if err != nil { - return nil, cleanup, xerrors.Errorf("failed to create a temporary file") + return nil, cleanup, xerrors.Errorf("failed to create a temporary file: %w", err) } cleanup = func() { From fef3ed43583c9da3672a4e7078d05dc5c3e55a3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 09:07:11 +0300 Subject: [PATCH 062/338] chore(deps): bump alpine from 3.18.3 to 3.18.4 (#5300) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Dockerfile | 2 +- Dockerfile.canary | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 865d6d9154f2..43d6ddeeb0ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.18.3 +FROM alpine:3.18.4 RUN apk --no-cache add ca-certificates git COPY trivy /usr/local/bin/trivy COPY contrib/*.tpl contrib/ diff --git a/Dockerfile.canary b/Dockerfile.canary index 724a763423a2..1ef0d0307810 100644 --- a/Dockerfile.canary +++ b/Dockerfile.canary @@ -1,4 +1,4 @@ -FROM alpine:3.18.3 +FROM alpine:3.18.4 RUN apk --no-cache add ca-certificates git # binaries were created with GoReleaser From 57ba05c766b3e41e8fc2933a7192b1e87e3cd612 Mon Sep 17 00:00:00 2001 From: simar7 <1254783+simar7@users.noreply.github.com> Date: Sun, 8 Oct 2023 06:40:21 -0600 Subject: [PATCH 063/338] chore(deps): Upgrade defsec to v0.93.1 (#5348) --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4a3ecbdcb140..dd886a3d5d83 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/NYTimes/gziphandler v1.1.1 github.com/alicebob/miniredis/v2 v2.30.4 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 - github.com/aquasecurity/defsec v0.93.0 + github.com/aquasecurity/defsec v0.93.1 github.com/aquasecurity/go-dep-parser v0.0.0-20231005073811-1237b47625e1 github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798 diff --git a/go.sum b/go.sum index de25358f2c9a..3fa78b035876 100644 --- a/go.sum +++ b/go.sum @@ -321,8 +321,8 @@ github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6 github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30xLN2sUZcMXl50hg+PJCIDdJgIvIbVcKqLJ/ZrtM= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8= -github.com/aquasecurity/defsec v0.93.0 h1:7I3A6xOa32ugsOcTDvc0FymAEbwR0HO1Jt5wYc8NmFc= -github.com/aquasecurity/defsec v0.93.0/go.mod h1:BiRuveI3ATEzIwyg6SUeU7MHuPFczAmYmFmdYQLdSSU= +github.com/aquasecurity/defsec v0.93.1 h1:y4XgRknjs2M58XVLANBT1wulO7N6Rz1oyfwNuzID+h4= +github.com/aquasecurity/defsec v0.93.1/go.mod h1:i80K4WRNbcIWDOQDWnTHkutBwplzw/uZD4laKbhu4sE= github.com/aquasecurity/go-dep-parser v0.0.0-20231005073811-1237b47625e1 h1:OAmmfBXi/YdwezeN4qrWvZ2o7OXCMgFRCUJ5NMG/Oug= github.com/aquasecurity/go-dep-parser v0.0.0-20231005073811-1237b47625e1/go.mod h1:jqzwhfRT0cboisqgN57znt0lDVVEp479OtMFVaReMAI= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM= From 91841f59bac14fe5fb7995e45dca9279cb0fab2e Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Mon, 9 Oct 2023 17:04:09 +0600 Subject: [PATCH 064/338] ci: add workflow to check Go versions of dependencies (#5340) --- .github/workflows/check-go-versions.yaml | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/check-go-versions.yaml diff --git a/.github/workflows/check-go-versions.yaml b/.github/workflows/check-go-versions.yaml new file mode 100644 index 000000000000..463a2d1f0917 --- /dev/null +++ b/.github/workflows/check-go-versions.yaml @@ -0,0 +1,31 @@ +name: Check Go versions of dependencies +on: + pull_request: + paths: + - 'go.mod' + workflow_dispatch: + +jobs: + check-go-versions: + name: Check Go versions of dependencies + runs-on: ubuntu-latest + steps: + - name: Check out code into the Go module directory + uses: actions/checkout@v4.1.0 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: stable + + # This workflow is a workaround before the "old stable" version becomes Go 1.21. + # To avoid updating dependencies that require Go 1.21, we use this workflow + # Example of wrong update: + # https://github.com/aquasecurity/trivy/discussions/5323#discussioncomment-7186321 + - name: Check that dependencies doesn't require Go 1.21 + run: | + go mod tidy + if grep -q "go 1.21" go.mod; then + echo "One of new dependencies requires Go '1.21'. Use 'go get go@1.20' to fix this." + exit 1 + fi \ No newline at end of file From 20ab7033b8b113f74622bcb8feb6d8f2ec566882 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Wed, 11 Oct 2023 13:38:07 +0600 Subject: [PATCH 065/338] fix(report): add escaping quotes in misconfig Title for asff template (#5351) --- contrib/asff.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/asff.tpl b/contrib/asff.tpl index 663d97c6619e..4c33de7e0b49 100644 --- a/contrib/asff.tpl +++ b/contrib/asff.tpl @@ -91,7 +91,7 @@ "Severity": { "Label": "{{ $severity }}" }, - "Title": "Trivy found a misconfiguration in {{ $target }}: {{ .Title }}", + "Title": "Trivy found a misconfiguration in {{ $target }}: {{ escapeString .Title }}", "Description": {{ escapeString $description | printf "%q" }}, "Remediation": { "Recommendation": { From c4134224a2f019dfdcc818766641d4958940bfad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 18:45:22 +0300 Subject: [PATCH 066/338] chore(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 (#5365) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index dd886a3d5d83..fbb71e929c8c 100644 --- a/go.mod +++ b/go.mod @@ -99,7 +99,7 @@ require ( golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 golang.org/x/mod v0.12.0 golang.org/x/sync v0.3.0 - golang.org/x/term v0.12.0 + golang.org/x/term v0.13.0 golang.org/x/text v0.13.0 golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 google.golang.org/protobuf v1.31.0 @@ -357,10 +357,10 @@ require ( go.opentelemetry.io/otel/trace v1.14.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.13.0 // indirect - golang.org/x/net v0.15.0 // indirect + golang.org/x/crypto v0.14.0 // indirect + golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.11.0 // indirect - golang.org/x/sys v0.12.0 // indirect + golang.org/x/sys v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.10.0 // indirect google.golang.org/api v0.138.0 // indirect diff --git a/go.sum b/go.sum index 3fa78b035876..e23b1cb268ee 100644 --- a/go.sum +++ b/go.sum @@ -1816,8 +1816,8 @@ golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4 golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1929,8 +1929,8 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2108,8 +2108,8 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2118,8 +2118,8 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From 6c12f0428627deb3e0dc4a11bfa7d2ee650283b9 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Fri, 13 Oct 2023 07:42:57 +0600 Subject: [PATCH 067/338] test: use maximize build space for VM tests (#5362) --- .github/workflows/test.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index e5b3b46a6df7..c665d8cf1481 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -130,6 +130,15 @@ jobs: name: VM Integration Test runs-on: ubuntu-latest steps: + - name: Maximize build space + uses: easimon/maximize-build-space@v8 + with: + root-reserve-mb: 35840 # The Go cache (`~/.cache/go-build` and `~/go/pkg`) requires a lot of storage space. + remove-android: 'true' + remove-docker-images: 'true' + remove-dotnet: 'true' + remove-haskell: 'true' + - name: Checkout uses: actions/checkout@v4.1.0 From 0c3e2f08b72c20395c8865e15dc853d91ea01ec9 Mon Sep 17 00:00:00 2001 From: Itay Shakury Date: Fri, 13 Oct 2023 12:00:28 +0300 Subject: [PATCH 068/338] docs: add kbom documentation (#5363) --- docs/docs/coverage/index.md | 3 +- docs/docs/coverage/kubernetes.md | 22 +++ docs/docs/scanner/vulnerability.md | 16 ++ docs/docs/target/kubernetes.md | 237 +++++++++++++++-------------- docs/docs/target/sbom.md | 31 ++++ mkdocs.yml | 1 + 6 files changed, 191 insertions(+), 119 deletions(-) create mode 100644 docs/docs/coverage/kubernetes.md diff --git a/docs/docs/coverage/index.md b/docs/docs/coverage/index.md index dbb06339c654..41637ef5a60b 100644 --- a/docs/docs/coverage/index.md +++ b/docs/docs/coverage/index.md @@ -5,4 +5,5 @@ For more detailed information about the specific platforms and languages, check - [OS Packages](os/index.md) - [Language-specific Packages](language/index.md) -- [IaC files](iac/index.md) \ No newline at end of file +- [IaC files](iac/index.md) +- [Kubernetes clusters](./kubernetes.md) \ No newline at end of file diff --git a/docs/docs/coverage/kubernetes.md b/docs/docs/coverage/kubernetes.md new file mode 100644 index 000000000000..66a144190bc7 --- /dev/null +++ b/docs/docs/coverage/kubernetes.md @@ -0,0 +1,22 @@ +# Kubernetes + +When scanning a Kubernetes cluster, Trivy differentiates between the following: + +1. Cluster infrastructure (e.g api-server, kubelet, addons) +1. Cluster configuration (e.g Roles, ClusterRoles). +1. Application workloads (e.g nginx, postgresql). + +Whenever Trivy scans either of these Kubernetes resources, the container image is scanned separately to the Kubernetes resource definition (the YAML manifest) that defines the resource. +When scanning any of the above, the container image is scanned separately to the Kubernetes resource definition (the YAML manifest) that defines the resource. + +Container image is scanned for: +- Vulnerabilities +- Misconfigurations +- Exposed secrets + +Kubernetes resource definition is scanned for: +- Vulnerabilities - partially supported through [KBOM scanning](#KBOM) +- Misconfigurations +- Exposed secrets + +To learn more, please see the [documentation for Kubernetes scanning](../target/kubernetes.md) diff --git a/docs/docs/scanner/vulnerability.md b/docs/docs/scanner/vulnerability.md index b6f200ec6b45..017d57510b65 100644 --- a/docs/docs/scanner/vulnerability.md +++ b/docs/docs/scanner/vulnerability.md @@ -6,6 +6,8 @@ The following packages are supported. - [OS packages](#os-packages) - [Language-specific packages](#language-specific-packages) +Trivy also detects known vulnerabilities in Kubernetes components using KBOM (Kubernetes bill of Material) scanning. To learn more, see the [documentation for Kubernetes scanning](../target/kubernetes.md#KBOM). + ## OS Packages Trivy is capable of automatically detecting installed OS packages when scanning container images, VM images and running hosts. @@ -98,6 +100,18 @@ See [here](../coverage/language/index.md#supported-languages) for the supported [^1]: Intentional delay between vulnerability disclosure and registration in the DB +## Kubernetes + +Trivy can detect vulnerabilities in Kubernetes clusters and components. + +### Data Sources + +| Vendor | Source | +| ------------- | ------------------------------------------------------------ | +| Kubernetes | [Kubernetes Official CVE feed][^1] | + +[^1]: Some manual triage and correction has been made. + ## Database Trivy downloads [the vulnerability database](https://github.com/aquasecurity/trivy-db) every 6 hours. Trivy uses two types of databases for vulnerability detection: @@ -180,3 +194,5 @@ Currently, specifying a username and password is not supported. [rust-osv]: https://osv.dev/list?q=&ecosystem=crates.io [nvd]: https://nvd.nist.gov/vuln + +[Kubernetes Official CVE feed]: https://kubernetes.io/docs/reference/issues-security/official-cve-feed/ diff --git a/docs/docs/target/kubernetes.md b/docs/docs/target/kubernetes.md index 894e9943e70d..c10546ed53f3 100644 --- a/docs/docs/target/kubernetes.md +++ b/docs/docs/target/kubernetes.md @@ -3,84 +3,115 @@ !!! warning "EXPERIMENTAL" This feature might change without preserving backwards compatibility. -## CLI -The Trivy K8s CLI allows you to scan your Kubernetes cluster for +Trivy can connect to your Kubernetes cluster and scan it for security issues using the `trivy k8s` command. This page covers the technical capabilities of Trivy Kubernetes scanning. +Trivy can also be installed *inside* your cluster as a Kubernetes Operator, and continuously scan it. For more about this, please see the [Trivy Operator][https://aquasecurity.github.io/trivy-operator/] project. +When scanning a Kubernetes cluster, Trivy differentiates between the following: + +1. Cluster infrastructure (e.g api-server, kubelet, addons) +1. Cluster configuration (e.g Roles, ClusterRoles). +1. Application workloads (e.g nginx, postgresql). + +When scanning any of the above, the container image is scanned separately to the Kubernetes resource definition (the YAML manifest) that defines the resource. + +Container image is scanned for: - Vulnerabilities - Misconfigurations -- Secrets - -You can either run the CLI locally or integrate it into your CI/CD pipeline. -The difference to the Trivy CLI is that the Trivy K8s CLI allows you to scan running workloads directly within your cluster. +- Exposed secrets -If you are looking for continuous cluster audit scanning, have a look at the Trivy K8s operator below. +Kubernetes resource definition is scanned for: +- Vulnerabilities - partially supported through [KBOM scanning](#KBOM) +- Misconfigurations +- Exposed secrets -Trivy uses your local kubectl configuration to access the API server to list artifacts. +## Kubernetes target configurations -### Commands +Trivy follows the behavior of the `kubectl` tool as much as possible. -Scan a full cluster and generate a simple summary report: +### Scope + +The command expects an argument that selects the scope of the scan (similarly to how `kubectl` expects an argument after `kubectl get`). This argument can be: +1. A Kubernetes Kind. e.g `pod`, `deployment`, etc. +2. A Kubernetes Resource. e.g `pods/mypod`, etc. +3. `all`. Scan common workload kinds, as listed [here](https://github.com/aquasecurity/trivy-kubernetes/blob/bf8cc2a00d9772e0aa271f06d375b936152b54b1/pkg/k8s/k8s.go#L296:L314) +4. `cluster` scan the entire cluster including all namespaced resources and cluster level resources. + +Examples: ``` -$ trivy k8s --report=summary cluster +trivy k8s all +trivy k8s pods +trivy k8s deploy myapp +trivy k8s pod/mypod +trivy k8s pods,deploy +trivy k8s cluster ``` -![k8s Summary Report](../../imgs/trivy-k8s.png) +Note that the scope argument must appear last in the command line, after any other flag. -The summary report is the default. To get all of the detail the output contains, use `--report all`. +### Cluster -Filter by severity: +By default Trivy will look for a [`kubeconfig` configuration file in the default location](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/), and use the default cluster that is specified. +You can also specify a `kubeconfig` using the `--kubeconfig` flag: ``` -$ trivy k8s --severity=CRITICAL --report=all cluster +trivy k8s --kubeconfig ~/.kube/config2 ``` -Filter by scanners (Vulnerabilities, Secrets or Misconfigurations): +### Namespace + +By default Trivy will scan all namespaces (following `kubectl` behavior). To specify a namespace use the `--namespace` flag: ``` -$ trivy k8s --scanners=secret --report=summary cluster -# or -$ trivy k8s --scanners=config --report=summary cluster +trivy k8s --kubeconfig ~/.kube/config2 --namespace default ``` +### Node -Scan a specific namespace: +You can exclude specific nodes from the scan using the `--exclude-nodes` flag, which takes a label in the format `label-name:label-value` and excludes all matching nodes: ``` -$ trivy k8s -n kube-system --report=summary all +trivy k8s cluster --report summary --exclude-nodes kubernetes.io/arch:arm6 ``` -Use a specific kubeconfig file: +### Components types -``` -$ trivy k8s --kubeconfig ~/.kube/config2 -n kube-system --report=summary all -``` +You can control what kinds of components are discovered using the `--components` flag: +- `--components infra` will discover only cluster infrastructure components. +- `--components workloads` will discover only application workloads. +- If the flag is omitted: infra, workloads, and RBAC are discovered. + +## Reporting and filtering + +Since scanning an entire cluster for any security issue can be overwhelming, By default Trivy summarizes the results in a simple "summary" view. +By scoping the scan on a specific resource, you can see the detailed report. +You can always choose the report granularity using the `--report summary`/`--report all` flag. -Scan a specific resource and get all the output: +Scan a full cluster and generate a simple summary report: ``` -$ trivy k8s deployment appname +$ trivy k8s --report=summary cluster ``` -Scan all deploys, or deploys and configmaps: +![k8s Summary Report](../../imgs/trivy-k8s.png) + +Filter by severity: ``` -$ trivy k8s --report=summary deployment -$ trivy k8s --report=summary deployment,configmaps +trivy k8s --severity=CRITICAL --report=all cluster ``` -If you want to pass in flags before scanning specific workloads, you will have to do it before the resource name. -For example, scanning a deployment in the app namespace of your Kubernetes cluster for critical vulnerabilities would be done through the following command: +Filter by scanners (Vulnerabilities, Secrets or Misconfigurations): ``` -$ trivy k8s -n app --severity=CRITICAL deployment/appname +trivy k8s --scanners=secret --report=summary cluster +# or +trivy k8s --scanners=config --report=summary cluster ``` -This is specific to all Trivy CLI commands. -The supported formats are `table`, which is the default, and `json`. -To get a JSON output on a full cluster scan: +The supported output formats are `table`, which is the default, and `json`. ``` -$ trivy k8s --format json -o results.json cluster +trivy k8s --format json -o results.json cluster ```
@@ -239,62 +270,10 @@ $ trivy k8s --format json -o results.json cluster
- - -### Infra checks - -Trivy by default scans kubernetes infra components (apiserver, controller-manager, scheduler and etcd) -if they exist under the `kube-system` namespace. For example, if you run a full cluster scan, or scan all -components under `kube-system` with commands: - -``` -$ trivy k8s cluster --report summary # full cluster scan -$ trivy k8s all -n kube-system --report summary # scan all components under kube-system -``` - -A table will be printed about misconfigurations found on kubernetes core components: - -``` -Summary Report for minikube -┌─────────────┬──────────────────────────────────────┬─────────────────────────────┐ -│ Namespace │ Resource │ Kubernetes Infra Assessment │ -│ │ ├────┬────┬────┬─────┬────────┤ -│ │ │ C │ H │ M │ L │ U │ -├─────────────┼──────────────────────────────────────┼────┼────┼────┼─────┼────────┤ -│ kube-system │ Pod/kube-apiserver-minikube │ │ │ 1 │ 10 │ │ -│ kube-system │ Pod/kube-controller-manager-minikube │ │ │ │ 3 │ │ -│ kube-system │ Pod/kube-scheduler-minikube │ │ │ │ 1 │ │ -└─────────────┴──────────────────────────────────────┴────┴────┴────┴─────┴────────┘ -Severities: C=CRITICAL H=HIGH M=MEDIUM L=LOW U=UNKNOWN -``` - -The infra checks are based on CIS Benchmarks recommendations for kubernetes. - - -If you want filter only for the infra checks, you can use the flag `--components` along with the `--scanners=config` - -``` -$ trivy k8s cluster --report summary --components=infra --scanners=config # scan only infra -``` - -Or, to filter for all other checks besides the infra checks, you can: - -``` -$ trivy k8s cluster --report summary --components=workload --scanners=config # scan all components besides infra -``` - -If you wish to exclude nodes from being scanned, you can use the flag `--exclude-nodes` with the node labels - -``` -trivy k8s cluster --report summary --exclude-nodes kubernetes.io/arch:arm6 -``` - -### Compliance +## Compliance This section describes Kubernetes specific compliance reports. For an overview of Trivy's Compliance feature, including working with custom compliance, check out the [Compliance documentation](../compliance/compliance.md). -#### Built in reports - The following reports are available out of the box: | Compliance | Name for command | More info | @@ -304,55 +283,77 @@ The following reports are available out of the box: | Pod Security Standards, Baseline | `k8s-pss-baseline` | [Link](https://kubernetes.io/docs/concepts/security/pod-security-standards/#baseline) | | Pod Security Standards, Restricted | `k8s-pss-restricted` | [Link](https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted) | -#### Examples +Examples: -Scan a full cluster and generate a compliance summary report: +Scan the cluster for Kubernetes Pod Security Standards Baseline compliance: ``` -$ trivy k8s cluster --compliance= --report summary +trivy k8s cluster --compliance=k8s-pss-baseline --report summary ``` -***Note*** : The `Issues` column represent the total number of failed checks for this control. - - -Get all of the detailed output for checks: +Get the detailed report for checks: ``` -trivy k8s cluster --compliance= --report all +trivy k8s cluster --compliance=k8s-cis --report all ``` -Report result in JSON format: +Get summary report in JSON format: ``` -trivy k8s cluster --compliance= --report summary --format json +trivy k8s cluster --compliance=k8s-cis --report summary --format json ``` +Get detailed report in JSON format: + ``` -trivy k8s cluster --compliance= --report all --format json +trivy k8s cluster --compliance=k8s-cis --report all --format json ``` -## Operator -Trivy has a native [Kubernetes Operator][operator] which continuously scans your Kubernetes cluster for security issues, and generates security reports as Kubernetes [Custom Resources][crd]. It does it by watching Kubernetes for state changes and automatically triggering scans in response to changes, for example initiating a vulnerability scan when a new Pod is created. +## KBOM -> Kubernetes-native security toolkit. ([Documentation][trivy-operator]). +KBOM, Kubernetes Bill of Materials, is a manifest of all the important components that make up your Kubernetes cluster – Control plane components, Node Components, and Addons, including their versions and images. Which “api-server” version are you currently running? Which flavor of "kubelet" is running on each node? What kind of etcd or storage are you currently using? And most importantly – are there any vulnerabilities known to affect these components? These are all questions that KBOM can help you answer. +For more background on KBOM, see [here](https://blog.aquasec.com/introducing-kbom-kubernetes-bill-of-materials). -
-
Workload reconcilers discover K8s controllers, manage scan jobs, and create VulnerabilityReport and ConfigAuditReport objects.
-
+Trivy can generate KBOM in CycloneDX format: -[operator]: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/ -[crd]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ -[trivy-operator]: https://aquasecurity.github.io/trivy-operator/latest +```sh +trivy k8s cluster --format cyclonedx --output mykbom.cdx.json +``` -## SBOM +Trivy can also scan that generated KBOM (or any SBOM) for vulnerabilities: -Trivy supports the generation of Kubernetes Bill of Materials (KBOM) for kubernetes cluster control plane components, node components and addons. +```sh +trivy sbom mykbom.cdx.json +``` -## KBOM +
+Result -KBOM, Kubernetes Bill of Materials, is a manifest of all the important components that make up your Kubernetes cluster – Control plane components, Node Components, and Addons, including their versions and images. Which “api-server” version are you currently running? Which flavor of “kubelet” is running on each node? What kind of etcd or storage are you currently using? And most importantly – are there any vulnerabilities known to affect these components? These are all questions that KBOM can help you answer. -Trivy can generate KBOM in CycloneDX format: +``` +2023-09-28T22:52:25.707+0300 INFO Vulnerability scanning is enabled + 2023-09-28T22:52:25.707+0300 INFO Detected SBOM format: cyclonedx-json + 2023-09-28T22:52:25.717+0300 WARN No OS package is detected. Make sure you haven't deleted any files that contain information about the installed packages. + 2023-09-28T22:52:25.717+0300 WARN e.g. files under "/lib/apk/db/", "/var/lib/dpkg/" and "/var/lib/rpm" + 2023-09-28T22:52:25.717+0300 INFO Detected OS: debian gnu/linux + 2023-09-28T22:52:25.717+0300 WARN unsupported os : debian gnu/linux + 2023-09-28T22:52:25.717+0300 INFO Number of language-specific files: 3 + 2023-09-28T22:52:25.717+0300 INFO Detecting kubernetes vulnerabilities... + 2023-09-28T22:52:25.718+0300 INFO Detecting gobinary vulnerabilities... + Kubernetes (kubernetes) + Total: 2 (UNKNOWN: 0, LOW: 1, MEDIUM: 0, HIGH: 1, CRITICAL: 0) + ┌────────────────┬────────────────┬──────────┬────────┬───────────────────┬─────────────────────────────────┬──────────────────────────────────────────────────┐ + │ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │ + ├────────────────┼────────────────┼──────────┼────────┼───────────────────┼─────────────────────────────────┼──────────────────────────────────────────────────┤ + │ k8s.io/kubelet │ CVE-2021-25749 │ HIGH │ fixed │ 1.24.0 │ 1.22.14, 1.23.11, 1.24.5 │ runAsNonRoot logic bypass for Windows containers │ + │ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-25749 │ + │ ├────────────────┼──────────┤ │ ├─────────────────────────────────┼──────────────────────────────────────────────────┤ + │ │ CVE-2023-2431 │ LOW │ │ │ 1.24.14, 1.25.9, 1.26.4, 1.27.1 │ Bypass of seccomp profile enforcement │ + │ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2023-2431 │ + └────────────────┴────────────────┴──────────┴────────┴───────────────────┴─────────────────────────────────┴──────────────────────────────────────────────────┘ +``` -```sh -trivy k8s cluster --format cyclonedx -``` \ No newline at end of file +
+ +Find more in the [documentation for SBOM scanning](./sbom.md). + +Currently KBOM vulnerability matching works for plain Kubernetes distributions and does not work well for vendor variants, including some cloud managed distributions. diff --git a/docs/docs/target/sbom.md b/docs/docs/target/sbom.md index 69a2ba4db88b..21670f2d3d85 100644 --- a/docs/docs/target/sbom.md +++ b/docs/docs/target/sbom.md @@ -5,6 +5,7 @@ Trivy can take the following SBOM formats as an input and scan for vulnerabiliti - SPDX - SPDX JSON - CycloneDX-type attestation +- [KBOM](./kubernetes.md#KBOM) in CycloneDX format To scan SBOM, you can use the `sbom` subcommand and pass the path to the SBOM. The input format is automatically detected. @@ -107,3 +108,33 @@ Total: 2 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 2) │ │ │ │ │ │ │ └────────────┴────────────────┴──────────┴───────────────────┴───────────────┴──────────────────────────────────────────────────────────┘ ``` + +## KBOM + +To read more about KBOM, see the [documentation for Kubernetes scanning](./kubernetes.md#KBOM). + +```shell + $ trivy k8s --format cyclonedx cluster -o kbom.json + $ trivy sbom kbom.json + 2023-09-28T22:52:25.707+0300 INFO Vulnerability scanning is enabled + 2023-09-28T22:52:25.707+0300 INFO Detected SBOM format: cyclonedx-json + 2023-09-28T22:52:25.717+0300 WARN No OS package is detected. Make sure you haven't deleted any files that contain information about the installed packages. + 2023-09-28T22:52:25.717+0300 WARN e.g. files under "/lib/apk/db/", "/var/lib/dpkg/" and "/var/lib/rpm" + 2023-09-28T22:52:25.717+0300 INFO Detected OS: debian gnu/linux + 2023-09-28T22:52:25.717+0300 WARN unsupported os : debian gnu/linux + 2023-09-28T22:52:25.717+0300 INFO Number of language-specific files: 3 + 2023-09-28T22:52:25.717+0300 INFO Detecting kubernetes vulnerabilities... + 2023-09-28T22:52:25.718+0300 INFO Detecting gobinary vulnerabilities... + Kubernetes (kubernetes) + Total: 2 (UNKNOWN: 0, LOW: 1, MEDIUM: 0, HIGH: 1, CRITICAL: 0) + ┌────────────────┬────────────────┬──────────┬────────┬───────────────────┬─────────────────────────────────┬──────────────────────────────────────────────────┐ + │ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │ + ├────────────────┼────────────────┼──────────┼────────┼───────────────────┼─────────────────────────────────┼──────────────────────────────────────────────────┤ + │ k8s.io/kubelet │ CVE-2021-25749 │ HIGH │ fixed │ 1.24.0 │ 1.22.14, 1.23.11, 1.24.5 │ runAsNonRoot logic bypass for Windows containers │ + │ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-25749 │ + │ ├────────────────┼──────────┤ │ ├─────────────────────────────────┼──────────────────────────────────────────────────┤ + │ │ CVE-2023-2431 │ LOW │ │ │ 1.24.14, 1.25.9, 1.26.4, 1.27.1 │ Bypass of seccomp profile enforcement │ + │ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2023-2431 │ + └────────────────┴────────────────┴──────────┴────────┴───────────────────┴─────────────────────────────────┴──────────────────────────────────────────────────┘ + ``` + \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index c3e84f5f9162..59ad99752b37 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -108,6 +108,7 @@ nav: - Helm: docs/coverage/iac/helm.md - Kubernetes: docs/coverage/iac/kubernetes.md - Terraform: docs/coverage/iac/terraform.md + - Kubernetes: docs/coverage/kubernetes.md - Configuration: - Overview: docs/configuration/index.md - Filtering: docs/configuration/filtering.md From 24a0d921453c2e5b46a3470e12ef9bdb4dcd2c60 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Sat, 14 Oct 2023 14:37:32 +0600 Subject: [PATCH 069/338] fix(python): override BOM in `requirements.txt` files (#5375) --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index fbb71e929c8c..ec0423d4d54c 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/alicebob/miniredis/v2 v2.30.4 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 github.com/aquasecurity/defsec v0.93.1 - github.com/aquasecurity/go-dep-parser v0.0.0-20231005073811-1237b47625e1 + github.com/aquasecurity/go-dep-parser v0.0.0-20231013060839-6f348921ea39 github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798 github.com/aquasecurity/go-pep440-version v0.0.0-20210121094942-22b2f8951d46 @@ -97,7 +97,7 @@ require ( go.etcd.io/bbolt v1.3.7 go.uber.org/zap v1.26.0 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 - golang.org/x/mod v0.12.0 + golang.org/x/mod v0.13.0 golang.org/x/sync v0.3.0 golang.org/x/term v0.13.0 golang.org/x/text v0.13.0 @@ -362,7 +362,7 @@ require ( golang.org/x/oauth2 v0.11.0 // indirect golang.org/x/sys v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.10.0 // indirect + golang.org/x/tools v0.13.0 // indirect google.golang.org/api v0.138.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect diff --git a/go.sum b/go.sum index e23b1cb268ee..40c3ed8d3435 100644 --- a/go.sum +++ b/go.sum @@ -323,8 +323,8 @@ github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8= github.com/aquasecurity/defsec v0.93.1 h1:y4XgRknjs2M58XVLANBT1wulO7N6Rz1oyfwNuzID+h4= github.com/aquasecurity/defsec v0.93.1/go.mod h1:i80K4WRNbcIWDOQDWnTHkutBwplzw/uZD4laKbhu4sE= -github.com/aquasecurity/go-dep-parser v0.0.0-20231005073811-1237b47625e1 h1:OAmmfBXi/YdwezeN4qrWvZ2o7OXCMgFRCUJ5NMG/Oug= -github.com/aquasecurity/go-dep-parser v0.0.0-20231005073811-1237b47625e1/go.mod h1:jqzwhfRT0cboisqgN57znt0lDVVEp479OtMFVaReMAI= +github.com/aquasecurity/go-dep-parser v0.0.0-20231013060839-6f348921ea39 h1:5yB6PHCaU4yZzN1mMFnrpBerz2pgqYdDRRVSOj4EjVo= +github.com/aquasecurity/go-dep-parser v0.0.0-20231013060839-6f348921ea39/go.mod h1:RpdbxLhxxvWmv83HWNEiv+reFkmnV+GqHqr66mIU8nU= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce/go.mod h1:HXgVzOPvXhVGLJs4ZKO817idqr/xhwsTcj17CLYY74s= github.com/aquasecurity/go-mock-aws v0.0.0-20230810212901-d6feebd39060 h1:V7nC90NpRDEubNpNEgRDtTfLH3RKQlZeY9/HSqxEze8= @@ -1857,8 +1857,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= +golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2213,8 +2213,8 @@ golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyj golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.10.0 h1:tvDr/iQoUqNdohiYm0LmmKcBk+q86lb9EprIUFhHHGg= -golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= +golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From cbbd1ce1f07ea2a440c08b6902958f0af6977b25 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Sat, 14 Oct 2023 21:32:55 +0900 Subject: [PATCH 070/338] feat(k8s): add support for vulnerability detection (#5268) Signed-off-by: knqyf263 Signed-off-by: chenk Co-authored-by: DmitriyLewen Co-authored-by: chenk --- docs/docs/scanner/vulnerability.md | 9 +- go.mod | 4 +- go.sum | 8 +- integration/sbom_test.go | 9 + .../testdata/fixtures/db/data-source.yaml | 5 + integration/testdata/fixtures/db/k8s.yaml | 16 + .../testdata/fixtures/db/vulnerability.yaml | 14 + .../testdata/fixtures/sbom/minikube-kbom.json | 434 ++++++++++++++++++ .../testdata/minikube-kbom.json.golden | 65 +++ pkg/detector/library/driver.go | 9 +- pkg/fanal/types/const.go | 7 + pkg/k8s/scanner/scanner.go | 67 ++- pkg/k8s/scanner/scanner_test.go | 233 ++++++++-- pkg/purl/purl.go | 76 ++- pkg/purl/purl_test.go | 44 ++ pkg/sbom/cyclonedx/testdata/happy/kbom.json | 434 ++++++++++++++++++ pkg/sbom/cyclonedx/unmarshal.go | 50 +- pkg/sbom/cyclonedx/unmarshal_test.go | 66 +++ pkg/sbom/spdx/unmarshal.go | 6 +- pkg/scanner/langpkg/scan.go | 11 +- pkg/types/report.go | 1 + 21 files changed, 1451 insertions(+), 117 deletions(-) create mode 100644 integration/testdata/fixtures/db/k8s.yaml create mode 100644 integration/testdata/fixtures/sbom/minikube-kbom.json create mode 100644 integration/testdata/minikube-kbom.json.golden create mode 100644 pkg/sbom/cyclonedx/testdata/happy/kbom.json diff --git a/docs/docs/scanner/vulnerability.md b/docs/docs/scanner/vulnerability.md index 017d57510b65..2ebd9ec7a5f8 100644 --- a/docs/docs/scanner/vulnerability.md +++ b/docs/docs/scanner/vulnerability.md @@ -5,6 +5,7 @@ The following packages are supported. - [OS packages](#os-packages) - [Language-specific packages](#language-specific-packages) +- [Kubernetes components (control plane, node and addons)](#kubernetes-components-control-plane-node-and-addons) Trivy also detects known vulnerabilities in Kubernetes components using KBOM (Kubernetes bill of Material) scanning. To learn more, see the [documentation for Kubernetes scanning](../target/kubernetes.md#KBOM). @@ -106,9 +107,9 @@ Trivy can detect vulnerabilities in Kubernetes clusters and components. ### Data Sources -| Vendor | Source | -| ------------- | ------------------------------------------------------------ | -| Kubernetes | [Kubernetes Official CVE feed][^1] | +| Vendor | Source | +| ------------- |---------------------------------------------| +| Kubernetes | [Kubernetes Official CVE feed][k8s-cve][^1] | [^1]: Some manual triage and correction has been made. @@ -195,4 +196,4 @@ Currently, specifying a username and password is not supported. [nvd]: https://nvd.nist.gov/vuln -[Kubernetes Official CVE feed]: https://kubernetes.io/docs/reference/issues-security/official-cve-feed/ +[k8s-cve]: https://kubernetes.io/docs/reference/issues-security/official-cve-feed/ diff --git a/go.mod b/go.mod index ec0423d4d54c..3275f1d4d3dc 100644 --- a/go.mod +++ b/go.mod @@ -23,9 +23,9 @@ require ( github.com/aquasecurity/table v1.8.0 github.com/aquasecurity/testdocker v0.0.0-20230111101738-e741bda259da github.com/aquasecurity/tml v0.6.1 - github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917 + github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 - github.com/aquasecurity/trivy-kubernetes v0.5.7 + github.com/aquasecurity/trivy-kubernetes v0.5.8-0.20230928134646-b414e546fe6d github.com/aws/aws-sdk-go v1.45.19 github.com/aws/aws-sdk-go-v2 v1.21.0 github.com/aws/aws-sdk-go-v2/config v1.18.38 diff --git a/go.sum b/go.sum index 40c3ed8d3435..a3c509514a3f 100644 --- a/go.sum +++ b/go.sum @@ -343,12 +343,12 @@ github.com/aquasecurity/testdocker v0.0.0-20230111101738-e741bda259da h1:pj/adfN github.com/aquasecurity/testdocker v0.0.0-20230111101738-e741bda259da/go.mod h1:852lbQLpK2nCwlR4ZLYIccxYCfoQao6q9Nl6tjz54v8= github.com/aquasecurity/tml v0.6.1 h1:y2ZlGSfrhnn7t4ZJ/0rotuH+v5Jgv6BDDO5jB6A9gwo= github.com/aquasecurity/tml v0.6.1/go.mod h1:OnYMWY5lvI9ejU7yH9LCberWaaTBW7hBFsITiIMY2yY= -github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917 h1:MQd7h7yUyA8UlUzhjNMzpUX0NpD7jfxmRfSKwp/Ji3E= -github.com/aquasecurity/trivy-db v0.0.0-20230831170347-f732860d4917/go.mod h1:WJ5Qnk5ZNGWvks07GOZe2IOsuXrPfSC5c8hYGOGfrsU= +github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d h1:fjI9mkoTUAkbGqpzt9nJsO24RAdfG+ZSiLFj0G2jO8c= +github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d/go.mod h1:cj9/QmD9N3OZnKQMp+/DvdV+ym3HyIkd4e+F0ZM3ZGs= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 h1:0eS+V7SXHgqoT99tV1mtMW6HL4HdoB9qGLMCb1fZp8A= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728/go.mod h1:Ldya37FLi0e/5Cjq2T5Bty7cFkzUDwTcPeQua+2M8i8= -github.com/aquasecurity/trivy-kubernetes v0.5.7 h1:+tIrSnIkvweL+cuK0SSiYxF8EvKT3Xk1iuE9EWduV+c= -github.com/aquasecurity/trivy-kubernetes v0.5.7/go.mod h1:e1RaMcs2R/C+eP1Pi7JyhDB7Qn1PNRg5rTVwuJL7AiE= +github.com/aquasecurity/trivy-kubernetes v0.5.8-0.20230928134646-b414e546fe6d h1:5urHj0NMGflp/M9Ll5QlKfo0Kf6nJ01RED1HRgl0CeE= +github.com/aquasecurity/trivy-kubernetes v0.5.8-0.20230928134646-b414e546fe6d/go.mod h1:e1RaMcs2R/C+eP1Pi7JyhDB7Qn1PNRg5rTVwuJL7AiE= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= diff --git a/integration/sbom_test.go b/integration/sbom_test.go index 6bdad20883f5..c195e23d43df 100644 --- a/integration/sbom_test.go +++ b/integration/sbom_test.go @@ -58,6 +58,15 @@ func TestSBOM(t *testing.T) { }, golden: "testdata/fluentd-multiple-lockfiles.json.golden", }, + { + name: "minikube KBOM", + args: args{ + input: "testdata/fixtures/sbom/minikube-kbom.json", + format: "json", + artifactType: "cyclonedx", + }, + golden: "testdata/minikube-kbom.json.golden", + }, { name: "centos7 in in-toto attestation", args: args{ diff --git a/integration/testdata/fixtures/db/data-source.yaml b/integration/testdata/fixtures/db/data-source.yaml index ca034600bd97..6a2570b1e977 100644 --- a/integration/testdata/fixtures/db/data-source.yaml +++ b/integration/testdata/fixtures/db/data-source.yaml @@ -144,3 +144,8 @@ ID: "cbl-mariner" Name: "CBL-Mariner Vulnerability Data" URL: "https://github.com/microsoft/CBL-MarinerVulnerabilityData" + - key: k8s::Official Kubernetes CVE Feed + value: + ID: "k8s" + Name: "Official Kubernetes CVE Feed" + URL: "https://kubernetes.io/docs/reference/issues-security/official-cve-feed/index.json" diff --git a/integration/testdata/fixtures/db/k8s.yaml b/integration/testdata/fixtures/db/k8s.yaml new file mode 100644 index 000000000000..4fa27ca07828 --- /dev/null +++ b/integration/testdata/fixtures/db/k8s.yaml @@ -0,0 +1,16 @@ +- bucket: "k8s::Official Kubernetes CVE Feed" + pairs: + - bucket: k8s.io/kubelet + pairs: + - key: CVE-2023-2431 + value: + PatchedVersions: + - 1.24.14 + - 1.25.9 + - 1.26.4 + - 1.27.1 + VulnerableVersions: + - "< 1.24.14" + - ">= 1.25.0, < 1.25.9" + - ">= 1.26.0, < 1.26.4" + - ">= 1.27.0, < 1.27.1" diff --git a/integration/testdata/fixtures/db/vulnerability.yaml b/integration/testdata/fixtures/db/vulnerability.yaml index 3165663ebf25..1cc7882214be 100644 --- a/integration/testdata/fixtures/db/vulnerability.yaml +++ b/integration/testdata/fixtures/db/vulnerability.yaml @@ -1037,6 +1037,20 @@ ghsa: 3.0 nvd: 3.0 redhat: 3.0 + - key: CVE-2023-2431 + value: + Title: "Bypass of seccomp profile enforcement " + Description: "A security issue was discovered in Kubelet that allows pods to bypass the seccomp profile enforcement..." + Severity: LOW + VendorSeverity: + k8s: 1 + CVSS: + k8s: + V3Vector: "CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N" + V3Score: 3.4 + References: + - https://github.com/kubernetes/kubernetes/issues/118690 + - https://www.cve.org/cverecord?id=CVE-2023-2431 - key: CVE-2021-3712 value: CVSS: diff --git a/integration/testdata/fixtures/sbom/minikube-kbom.json b/integration/testdata/fixtures/sbom/minikube-kbom.json new file mode 100644 index 000000000000..e63c5733a816 --- /dev/null +++ b/integration/testdata/fixtures/sbom/minikube-kbom.json @@ -0,0 +1,434 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.5", + "serialNumber": "urn:uuid:e2daaea6-d96f-4b84-960c-0d72c348cd23", + "version": 1, + "metadata": { + "timestamp": "2023-09-29T06:25:00+00:00", + "tools": [ + { + "vendor": "aquasecurity", + "name": "trivy", + "version": "0.45.1-15-g7bbd0d097" + } + ], + "component": { + "bom-ref": "pkg:k8s/k8s.io%2Fkubernetes@1.27.0", + "type": "platform", + "name": "k8s.io/kubernetes", + "version": "1.27.0", + "purl": "pkg:k8s/k8s.io%2Fkubernetes@1.27.0", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "cluster" + } + ] + } + }, + "components": [ + { + "bom-ref": "5262e708-f1a3-4fca-a1c3-0a8384f7f4a5", + "type": "operating-system", + "name": "ubuntu", + "version": "22.04.2", + "properties": [ + { + "name": "aquasecurity:trivy:Class", + "value": "os-pkgs" + }, + { + "name": "aquasecurity:trivy:Type", + "value": "ubuntu" + } + ] + }, + { + "bom-ref": "a62abb1f-cb38-4fde-90f3-2bda3b87ddb2", + "type": "application", + "name": "node-core-components", + "properties": [ + { + "name": "aquasecurity:trivy:Class", + "value": "lang-pkgs" + }, + { + "name": "aquasecurity:trivy:Type", + "value": "golang" + } + ] + }, + { + "bom-ref": "a6350ac3-52f6-4c5f-a3e3-184b9a634bef", + "type": "platform", + "name": "minikube", + "properties": [ + { + "name": "aquasecurity:trivy:Architecture", + "value": "arm64" + }, + { + "name": "aquasecurity:trivy:HostName", + "value": "minikube" + }, + { + "name": "aquasecurity:trivy:KernelVersion", + "value": "5.15.49-linuxkit-pr" + }, + { + "name": "aquasecurity:trivy:NodeRole", + "value": "master" + }, + { + "name": "aquasecurity:trivy:OperatingSystem", + "value": "linux" + }, + { + "name": "aquasecurity:trivy:resource:Name", + "value": "minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "node" + } + ] + }, + { + "bom-ref": "b19a88a3-017d-4e70-a73a-75f48696ec0f", + "type": "application", + "name": "kube-dns", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "coredns-5d78c9869d-nd92n" + } + ] + }, + { + "bom-ref": "b1c502c9-3c6e-43af-822b-1cb55c6c6ff3", + "type": "application", + "name": "go.etcd.io/etcd/v3", + "version": "3.5.7-0", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "etcd-minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "controlPlane" + } + ] + }, + { + "bom-ref": "pkg:golang/docker@24.0.4", + "type": "application", + "name": "docker", + "version": "24.0.4", + "purl": "pkg:golang/docker@24.0.4", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "docker" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "node" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fapiserver@1.27.0", + "type": "application", + "name": "k8s.io/apiserver", + "version": "1.27.0", + "purl": "pkg:k8s/k8s.io%2Fapiserver@1.27.0", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "kube-apiserver-minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "controlPlane" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fcontroller-manager@1.27.0", + "type": "application", + "name": "k8s.io/controller-manager", + "version": "1.27.0", + "purl": "pkg:k8s/k8s.io%2Fcontroller-manager@1.27.0", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "kube-controller-manager-minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "controlPlane" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fkube-proxy@1.27.0", + "type": "application", + "name": "k8s.io/kube-proxy", + "version": "1.27.0", + "purl": "pkg:k8s/k8s.io%2Fkube-proxy@1.27.0", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "kube-proxy-4wftc" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "node" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fkube-scheduler@1.27.0", + "type": "application", + "name": "k8s.io/kube-scheduler", + "version": "1.27.0", + "purl": "pkg:k8s/k8s.io%2Fkube-scheduler@1.27.0", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "kube-scheduler-minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "controlPlane" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fkubelet@1.27.0", + "type": "application", + "name": "k8s.io/kubelet", + "version": "1.27.0", + "purl": "pkg:k8s/k8s.io%2Fkubelet@1.27.0", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "k8s.io/kubelet" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "node" + } + ] + }, + { + "bom-ref": "pkg:oci/coredns@sha256%3Aa0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e?repository_url=registry.k8s.io%2Fcoredns%2Fcoredns", + "type": "container", + "name": "registry.k8s.io/coredns/coredns", + "version": "sha256:a0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e", + "purl": "pkg:oci/coredns@sha256%3Aa0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e?repository_url=registry.k8s.io%2Fcoredns%2Fcoredns", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/coredns/coredns:1.10.1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/etcd@sha256%3A51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83?repository_url=registry.k8s.io%2Fetcd", + "type": "container", + "name": "registry.k8s.io/etcd", + "version": "sha256:51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83", + "purl": "pkg:oci/etcd@sha256%3A51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83?repository_url=registry.k8s.io%2Fetcd", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/etcd:3.5.7-0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/kube-apiserver@sha256%3A697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d?repository_url=registry.k8s.io%2Fkube-apiserver", + "type": "container", + "name": "registry.k8s.io/kube-apiserver", + "version": "sha256:697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d", + "purl": "pkg:oci/kube-apiserver@sha256%3A697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d?repository_url=registry.k8s.io%2Fkube-apiserver", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/kube-apiserver:1.27.0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/kube-controller-manager@sha256%3A6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265?repository_url=registry.k8s.io%2Fkube-controller-manager", + "type": "container", + "name": "registry.k8s.io/kube-controller-manager", + "version": "sha256:6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265", + "purl": "pkg:oci/kube-controller-manager@sha256%3A6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265?repository_url=registry.k8s.io%2Fkube-controller-manager", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/kube-controller-manager:1.27.0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/kube-proxy@sha256%3A4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf?repository_url=registry.k8s.io%2Fkube-proxy", + "type": "container", + "name": "registry.k8s.io/kube-proxy", + "version": "sha256:4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf", + "purl": "pkg:oci/kube-proxy@sha256%3A4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf?repository_url=registry.k8s.io%2Fkube-proxy", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/kube-proxy:1.27.0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/kube-scheduler@sha256%3A5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af?repository_url=registry.k8s.io%2Fkube-scheduler", + "type": "container", + "name": "registry.k8s.io/kube-scheduler", + "version": "sha256:5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af", + "purl": "pkg:oci/kube-scheduler@sha256%3A5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af?repository_url=registry.k8s.io%2Fkube-scheduler", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/kube-scheduler:1.27.0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + } + ], + "dependencies": [ + { + "ref": "5262e708-f1a3-4fca-a1c3-0a8384f7f4a5", + "dependsOn": [] + }, + { + "ref": "a62abb1f-cb38-4fde-90f3-2bda3b87ddb2", + "dependsOn": [ + "pkg:golang/docker@24.0.4", + "pkg:k8s/k8s.io%2Fkubelet@1.27.0" + ] + }, + { + "ref": "a6350ac3-52f6-4c5f-a3e3-184b9a634bef", + "dependsOn": [ + "5262e708-f1a3-4fca-a1c3-0a8384f7f4a5", + "a62abb1f-cb38-4fde-90f3-2bda3b87ddb2" + ] + }, + { + "ref": "b19a88a3-017d-4e70-a73a-75f48696ec0f", + "dependsOn": [ + "pkg:oci/coredns@sha256%3Aa0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e?repository_url=registry.k8s.io%2Fcoredns%2Fcoredns" + ] + }, + { + "ref": "b1c502c9-3c6e-43af-822b-1cb55c6c6ff3", + "dependsOn": [ + "pkg:oci/etcd@sha256%3A51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83?repository_url=registry.k8s.io%2Fetcd" + ] + }, + { + "ref": "pkg:golang/docker@24.0.4", + "dependsOn": [] + }, + { + "ref": "pkg:k8s/k8s.io%2Fapiserver@1.27.0", + "dependsOn": [ + "pkg:oci/kube-apiserver@sha256%3A697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d?repository_url=registry.k8s.io%2Fkube-apiserver" + ] + }, + { + "ref": "pkg:k8s/k8s.io%2Fcontroller-manager@1.27.0", + "dependsOn": [ + "pkg:oci/kube-controller-manager@sha256%3A6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265?repository_url=registry.k8s.io%2Fkube-controller-manager" + ] + }, + { + "ref": "pkg:k8s/k8s.io%2Fkube-proxy@1.27.0", + "dependsOn": [ + "pkg:oci/kube-proxy@sha256%3A4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf?repository_url=registry.k8s.io%2Fkube-proxy" + ] + }, + { + "ref": "pkg:k8s/k8s.io%2Fkube-scheduler@1.27.0", + "dependsOn": [ + "pkg:oci/kube-scheduler@sha256%3A5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af?repository_url=registry.k8s.io%2Fkube-scheduler" + ] + }, + { + "ref": "pkg:k8s/k8s.io%2Fkubelet@1.27.0", + "dependsOn": [] + }, + { + "ref": "pkg:k8s/k8s.io%2Fkubernetes@1.27.0", + "dependsOn": [ + "a6350ac3-52f6-4c5f-a3e3-184b9a634bef", + "b19a88a3-017d-4e70-a73a-75f48696ec0f", + "b1c502c9-3c6e-43af-822b-1cb55c6c6ff3", + "pkg:k8s/k8s.io%2Fapiserver@1.27.0", + "pkg:k8s/k8s.io%2Fcontroller-manager@1.27.0", + "pkg:k8s/k8s.io%2Fkube-proxy@1.27.0", + "pkg:k8s/k8s.io%2Fkube-scheduler@1.27.0" + ] + }, + { + "ref": "pkg:oci/coredns@sha256%3Aa0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e?repository_url=registry.k8s.io%2Fcoredns%2Fcoredns", + "dependsOn": [] + }, + { + "ref": "pkg:oci/etcd@sha256%3A51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83?repository_url=registry.k8s.io%2Fetcd", + "dependsOn": [] + }, + { + "ref": "pkg:oci/kube-apiserver@sha256%3A697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d?repository_url=registry.k8s.io%2Fkube-apiserver", + "dependsOn": [] + }, + { + "ref": "pkg:oci/kube-controller-manager@sha256%3A6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265?repository_url=registry.k8s.io%2Fkube-controller-manager", + "dependsOn": [] + }, + { + "ref": "pkg:oci/kube-proxy@sha256%3A4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf?repository_url=registry.k8s.io%2Fkube-proxy", + "dependsOn": [] + }, + { + "ref": "pkg:oci/kube-scheduler@sha256%3A5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af?repository_url=registry.k8s.io%2Fkube-scheduler", + "dependsOn": [] + } + ], + "vulnerabilities": [] +} diff --git a/integration/testdata/minikube-kbom.json.golden b/integration/testdata/minikube-kbom.json.golden new file mode 100644 index 000000000000..267725173303 --- /dev/null +++ b/integration/testdata/minikube-kbom.json.golden @@ -0,0 +1,65 @@ +{ + "SchemaVersion": 2, + "ArtifactName": "testdata/fixtures/sbom/minikube-kbom.json", + "ArtifactType": "cyclonedx", + "Metadata": { + "OS": { + "Family": "ubuntu", + "Name": "22.04.2", + "EOSL": false + }, + "ImageConfig": { + "architecture": "", + "created": "0001-01-01T00:00:00Z", + "os": "", + "rootfs": { + "type": "", + "diff_ids": null + }, + "config": {} + } + }, + "Results": [ + { + "Target": "testdata/fixtures/sbom/minikube-kbom.json (ubuntu 22.04.2)", + "Class": "os-pkgs", + "Type": "ubuntu" + }, + { + "Target": "Kubernetes", + "Class": "lang-pkgs", + "Type": "kubernetes", + "Vulnerabilities": [ + { + "VulnerabilityID": "CVE-2023-2431", + "PkgName": "k8s.io/kubelet", + "InstalledVersion": "1.27.0", + "FixedVersion": "1.24.14, 1.25.9, 1.26.4, 1.27.1", + "Status": "fixed", + "Layer": {}, + "SeveritySource": "k8s", + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2023-2431", + "PkgRef": "pkg:k8s/k8s.io%2Fkubelet@1.27.0", + "DataSource": { + "ID": "k8s", + "Name": "Official Kubernetes CVE Feed", + "URL": "https://kubernetes.io/docs/reference/issues-security/official-cve-feed/index.json" + }, + "Title": "Bypass of seccomp profile enforcement ", + "Description": "A security issue was discovered in Kubelet that allows pods to bypass the seccomp profile enforcement...", + "Severity": "LOW", + "CVSS": { + "k8s": { + "V3Vector": "CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N", + "V3Score": 3.4 + } + }, + "References": [ + "https://github.com/kubernetes/kubernetes/issues/118690", + "https://www.cve.org/cverecord?id=CVE-2023-2431" + ] + } + ] + } + ] +} diff --git a/pkg/detector/library/driver.go b/pkg/detector/library/driver.go index c75c22caf678..bea534ba0727 100644 --- a/pkg/detector/library/driver.go +++ b/pkg/detector/library/driver.go @@ -65,9 +65,6 @@ func NewDriver(libType ftypes.LangType) (Driver, bool) { // https://www.swift.org/package-manager/#importing-dependencies ecosystem = vulnerability.Swift comparer = compare.GenericComparer{} - case ftypes.Bitnami: - ecosystem = vulnerability.Bitnami - comparer = compare.GenericComparer{} case ftypes.Cocoapods: // CocoaPods uses RubyGems version specifiers // https://guides.cocoapods.org/making/making-a-cocoapod.html#cocoapods-versioning-specifics @@ -76,6 +73,12 @@ func NewDriver(libType ftypes.LangType) (Driver, bool) { case ftypes.CondaPkg: log.Logger.Warn("Conda package is supported for SBOM, not for vulnerability scanning") return Driver{}, false + case ftypes.Bitnami: + ecosystem = vulnerability.Bitnami + comparer = compare.GenericComparer{} + case ftypes.K8sUpstream: + ecosystem = vulnerability.Kubernetes + comparer = compare.GenericComparer{} default: log.Logger.Warnf("The %q library type is not supported for vulnerability scanning", libType) return Driver{}, false diff --git a/pkg/fanal/types/const.go b/pkg/fanal/types/const.go index e36fa92c57d9..28e11d55beb9 100644 --- a/pkg/fanal/types/const.go +++ b/pkg/fanal/types/const.go @@ -71,6 +71,13 @@ const ( Pub LangType = "pub" Hex LangType = "hex" Bitnami LangType = "bitnami" + + K8sUpstream LangType = "kubernetes" + EKS LangType = "eks" // Amazon Elastic Kubernetes Service + GKE LangType = "gke" // Google Kubernetes Engine + AKS LangType = "aks" // Azure Kubernetes Service + RKE LangType = "rke" // Rancher Kubernetes Engine + OCP LangType = "ocp" // Red Hat OpenShift Container Platform ) // Config files diff --git a/pkg/k8s/scanner/scanner.go b/pkg/k8s/scanner/scanner.go index 30796af2d48f..e4676665aeaf 100644 --- a/pkg/k8s/scanner/scanner.go +++ b/pkg/k8s/scanner/scanner.go @@ -208,6 +208,17 @@ const ( func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Component, error) { var coreComponents []*core.Component var cInfo *core.Component + + // Find the first node name to identify AKS cluster + var nodeName string + for _, artifact := range allArtifact { + if artifact.Kind != nodeInfo { + continue + } + nodeName = artifact.Name + break + } + for _, artifact := range allArtifact { switch artifact.Kind { case pod: @@ -257,6 +268,7 @@ func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Comp Type: cdx.ComponentTypeApplication, Properties: toProperties(comp.Properties, k8sCoreComponentNamespace), Components: imageComponents, + PackageURL: generatePURL(comp.Name, comp.Version, nodeName), } coreComponents = append(coreComponents, rootComponent) case nodeInfo: @@ -287,6 +299,7 @@ func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Comp Type: cdx.ComponentTypePlatform, Properties: cInfo.Properties, Components: coreComponents, + PackageURL: generatePURL(cInfo.Name, cInfo.Version, nodeName), } return rootComponent, nil } @@ -313,20 +326,20 @@ func osNameVersion(name string) (string, string) { } func runtimeNameVersion(name string) (string, string) { - parts := strings.Split(name, "://") - if len(parts) == 2 { - name := parts[0] - switch parts[0] { - case "cri-o": - name = "github.com/cri-o/cri-o" - case "containerd": - name = "github.com/containerd/containerd" - case "cri-dockerd": - name = "github.com/Mirantis/cri-dockerd" - } - return name, parts[1] + runtime, ver, ok := strings.Cut(name, "://") + if !ok { + return "", "" } - return "", "" + + switch runtime { + case "cri-o": + name = "github.com/cri-o/cri-o" + case "containerd": + name = "github.com/containerd/containerd" + case "cri-dockerd": + name = "github.com/Mirantis/cri-dockerd" + } + return name, ver } func nodeComponent(nf bom.NodeInfo) *core.Component { @@ -388,9 +401,7 @@ func nodeComponent(nf bom.NodeInfo) *core.Component { Namespace: k8sCoreComponentNamespace, }, }, - PackageURL: &purl.PackageURL{ - PackageURL: *packageurl.NewPackageURL(golang, "", kubelet, kubeletVersion, packageurl.Qualifiers{}, ""), - }, + PackageURL: generatePURL(kubelet, kubeletVersion, nf.NodeName), }, { Type: cdx.ComponentTypeApplication, @@ -431,3 +442,27 @@ func toProperties(props map[string]string, namespace string) []core.Property { }) return properties } + +func generatePURL(name, ver, nodeName string) *purl.PackageURL { + // Identify k8s distribution. An empty namespace means upstream. + var namespace string + switch { + case strings.Contains(ver, "eks"): + namespace = purl.NamespaceEKS + case strings.Contains(ver, "gke"): + namespace = purl.NamespaceGKE + case strings.Contains(ver, "rke2"): + namespace = purl.NamespaceRKE + case strings.Contains(ver, "hotfix"): + if !strings.Contains(nodeName, "aks") { + // Unknown k8s distribution + return nil + } + namespace = purl.NamespaceAKS + case strings.Contains(nodeName, "ocp"): + namespace = purl.NamespaceOCP + } + return &purl.PackageURL{ + PackageURL: *packageurl.NewPackageURL(purl.TypeK8s, namespace, name, ver, nil, ""), + } +} diff --git a/pkg/k8s/scanner/scanner_test.go b/pkg/k8s/scanner/scanner_test.go index bee414223ddd..7a7253a3c24b 100644 --- a/pkg/k8s/scanner/scanner_test.go +++ b/pkg/k8s/scanner/scanner_test.go @@ -17,7 +17,7 @@ import ( "github.com/aquasecurity/trivy/pkg/sbom/cyclonedx/core" ) -func TestK8sClusterInfoReport(t *testing.T) { +func TestScanner_Scan(t *testing.T) { flagOpts := flag.Options{ReportOptions: flag.ReportOptions{Format: "cyclonedx"}} tests := []struct { name string @@ -34,31 +34,31 @@ func TestK8sClusterInfoReport(t *testing.T) { Kind: "ClusterInfo", Name: "k8s.io/kubernetes", RawResource: map[string]interface{}{ + "name": "k8s.io/kubernetes", + "version": "1.21.1", + "type": "ClusterInfo", "Properties": map[string]string{ - "Name": "kube-cluster", + "Name": "kind-kind", + "Type": "cluster", }, - "Name": "kube-apiserver-kind-control-plane", - "Version": "1.21.1", }, }, { Namespace: "kube-system", Kind: "PodInfo", - Name: "kube-apiserver-kind-control-plane", + Name: "k8s.io/apiserver", RawResource: map[string]interface{}{ - "Containers": []interface{}{map[string]interface{}{ - "Digest": "18e61c783b41758dd391ab901366ec3546b26fae00eef7e223d1f94da808e02f", - "ID": "kube-apiserver:v1.21.1", - "Registry": "k8s.gcr.io", - "Repository": "kube-apiserver", - "Version": "v1.21.1", - }, - }, - "Properties": map[string]string{ - "ControlPlaneComponents": "kube-apiserver", + "Containers": []interface{}{ + map[string]interface{}{ + "Digest": "18e61c783b41758dd391ab901366ec3546b26fae00eef7e223d1f94da808e02f", + "ID": "kube-apiserver:v1.21.1", + "Registry": "k8s.gcr.io", + "Repository": "kube-apiserver", + "Version": "v1.21.1", + }, }, - "Name": "kube-apiserver-kind-control-plane", - "Namespace": "kube-system", + "Name": "k8s.io/apiserver", + "Version": "1.21.1", }, }, { @@ -83,18 +83,40 @@ func TestK8sClusterInfoReport(t *testing.T) { }, want: &core.Component{ Type: cdx.ComponentTypePlatform, - Name: "kube-apiserver-kind-control-plane", + Name: "k8s.io/kubernetes", Version: "1.21.1", Properties: []core.Property{ - {Name: "Name", Value: "kube-cluster", Namespace: k8sCoreComponentNamespace}, + { + Name: "Name", + Value: "kind-kind", + Namespace: k8sCoreComponentNamespace, + }, + { + Name: "Type", + Value: "cluster", + Namespace: k8sCoreComponentNamespace, + }, + }, + PackageURL: &purl.PackageURL{ + PackageURL: packageurl.PackageURL{ + Type: purl.TypeK8s, + Name: "k8s.io/kubernetes", + Version: "1.21.1", + }, }, Components: []*core.Component{ { - Type: cdx.ComponentTypeApplication, - Name: "kube-apiserver-kind-control-plane", - Properties: []core.Property{ - {Name: "ControlPlaneComponents", Value: "kube-apiserver", Namespace: k8sCoreComponentNamespace}, + Type: cdx.ComponentTypeApplication, + Name: "k8s.io/apiserver", + Version: "1.21.1", + PackageURL: &purl.PackageURL{ + PackageURL: packageurl.PackageURL{ + Type: purl.TypeK8s, + Name: "k8s.io/apiserver", + Version: "1.21.1", + }, }, + Properties: []core.Property{}, Components: []*core.Component{ { Type: cdx.ComponentTypeContainer, @@ -110,15 +132,18 @@ func TestK8sClusterInfoReport(t *testing.T) { Key: "repository_url", Value: "k8s.gcr.io/kube-apiserver", }, - { - Key: "arch", - }, }, }, }, Properties: []core.Property{ - {Name: cyc.PropertyPkgID, Value: "k8s.gcr.io/kube-apiserver:1.21.1"}, - {Name: cyc.PropertyPkgType, Value: "oci"}, + { + Name: cyc.PropertyPkgID, + Value: "k8s.gcr.io/kube-apiserver:1.21.1", + }, + { + Name: cyc.PropertyPkgType, + Value: "oci", + }, }, }, }, @@ -127,13 +152,36 @@ func TestK8sClusterInfoReport(t *testing.T) { Type: cdx.ComponentTypePlatform, Name: "kind-control-plane", Properties: []core.Property{ - {Name: "Architecture", Value: "arm64"}, - {Name: "HostName", Value: "kind-control-plane"}, - {Name: "KernelVersion", Value: "6.2.15-300.fc38.aarch64"}, - {Name: "NodeRole", Value: "master"}, - {Name: "OperatingSystem", Value: "linux"}, - {Name: k8sComponentName, Value: "kind-control-plane", Namespace: k8sCoreComponentNamespace}, - {Name: k8sComponentType, Value: "node", Namespace: k8sCoreComponentNamespace}, + { + Name: "Architecture", + Value: "arm64", + }, + { + Name: "HostName", + Value: "kind-control-plane", + }, + { + Name: "KernelVersion", + Value: "6.2.15-300.fc38.aarch64", + }, + { + Name: "NodeRole", + Value: "master", + }, + { + Name: "OperatingSystem", + Value: "linux", + }, + { + Name: k8sComponentName, + Value: "kind-control-plane", + Namespace: k8sCoreComponentNamespace, + }, + { + Name: k8sComponentType, + Value: "node", + Namespace: k8sCoreComponentNamespace, + }, }, Components: []*core.Component{ { @@ -141,16 +189,32 @@ func TestK8sClusterInfoReport(t *testing.T) { Name: "ubuntu", Version: "21.04", Properties: []core.Property{ - {Name: "Class", Value: "os-pkgs", Namespace: ""}, - {Name: "Type", Value: "ubuntu", Namespace: ""}, + { + Name: "Class", + Value: "os-pkgs", + Namespace: "", + }, + { + Name: "Type", + Value: "ubuntu", + Namespace: "", + }, }, }, { Type: cdx.ComponentTypeApplication, Name: "node-core-components", Properties: []core.Property{ - {Name: "Class", Value: "lang-pkgs", Namespace: ""}, - {Name: "Type", Value: "golang", Namespace: ""}, + { + Name: "Class", + Value: "lang-pkgs", + Namespace: "", + }, + { + Name: "Type", + Value: "golang", + Namespace: "", + }, }, Components: []*core.Component{ { @@ -158,15 +222,22 @@ func TestK8sClusterInfoReport(t *testing.T) { Name: "k8s.io/kubelet", Version: "1.21.1", Properties: []core.Property{ - {Name: k8sComponentType, Value: "node", Namespace: k8sCoreComponentNamespace}, - {Name: k8sComponentName, Value: "k8s.io/kubelet", Namespace: k8sCoreComponentNamespace}, + { + Name: k8sComponentType, + Value: "node", + Namespace: k8sCoreComponentNamespace, + }, + { + Name: k8sComponentName, + Value: "k8s.io/kubelet", + Namespace: k8sCoreComponentNamespace, + }, }, PackageURL: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ - Type: "golang", - Name: "k8s.io/kubelet", - Version: "1.21.1", - Qualifiers: packageurl.Qualifiers{}, + Type: "k8s", + Name: "k8s.io/kubelet", + Version: "1.21.1", }, }, }, @@ -175,8 +246,16 @@ func TestK8sClusterInfoReport(t *testing.T) { Name: "github.com/containerd/containerd", Version: "1.5.2", Properties: []core.Property{ - {Name: k8sComponentType, Value: "node", Namespace: k8sCoreComponentNamespace}, - {Name: k8sComponentName, Value: "github.com/containerd/containerd", Namespace: k8sCoreComponentNamespace}, + { + Name: k8sComponentType, + Value: "node", + Namespace: k8sCoreComponentNamespace, + }, + { + Name: k8sComponentName, + Value: "github.com/containerd/containerd", + Namespace: k8sCoreComponentNamespace, + }, }, PackageURL: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ @@ -262,3 +341,63 @@ func TestTestOsNameVersion(t *testing.T) { }) } } + +func TestGeneratePURL(t *testing.T) { + tests := []struct { + name string + compName string + compVersion string + nodeName string + want string + }{ + { + name: "native k8s component", + compName: "k8s.io/kubelet", + compVersion: "1.24.10", + nodeName: "kind-kind", + want: "pkg:k8s/k8s.io%2Fkubelet@1.24.10", + }, + + { + name: "GKE", + compName: "k8s.io/kubelet", + compVersion: "1.24.10-gke.2300", + nodeName: "gke-gke1796-default-pool-768cb718-sk1d", + want: "pkg:k8s/gke/k8s.io%2Fkubelet@1.24.10-gke.2300", + }, + { + name: "AKS", + compName: "k8s.io/kubelet", + compVersion: "1.24.10-hotfix.20221110", + nodeName: "aks-default-23814474-vmss000000", + want: "pkg:k8s/aks/k8s.io%2Fkubelet@1.24.10-hotfix.20221110", + }, + { + name: "EKS", + compName: "k8s.io/kubelet", + compVersion: "1.23.17-eks-8ccc7ba", + nodeName: "eks-vmss000000", + want: "pkg:k8s/eks/k8s.io%2Fkubelet@1.23.17-eks-8ccc7ba", + }, + { + name: "Rancher", + compName: "k8s.io/kubelet", + compVersion: "1.24.11+rke2r1", + nodeName: "ip-10-0-5-23", + want: "pkg:k8s/rke/k8s.io%2Fkubelet@1.24.11%2Brke2r1", + }, + { + name: "OCP", + compName: "k8s.io/kubelet", + compVersion: "1.26.7+c7ee51f", + nodeName: "ocp413vpool14000-p8vnm-master-2", + want: "pkg:k8s/ocp/k8s.io%2Fkubelet@1.26.7%2Bc7ee51f", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := generatePURL(tt.compName, tt.compVersion, tt.nodeName) + assert.Equal(t, tt.want, got.String()) + }) + } +} diff --git a/pkg/purl/purl.go b/pkg/purl/purl.go index cb5bfeb8c2d4..a7bbbbfef6b3 100644 --- a/pkg/purl/purl.go +++ b/pkg/purl/purl.go @@ -18,6 +18,30 @@ import ( const ( TypeOCI = "oci" TypeDart = "dart" + + // TypeK8s is a custom type for Kubernetes components in PURL. + // - namespace: The service provider such as EKS or GKE. It is not case sensitive and must be lowercased. + // Known namespaces: + // - empty (upstream) + // - eks (AWS) + // - aks (GCP) + // - gke (Azure) + // - rke (Rancher) + // - name: The k8s component name and is case sensitive. + // - version: The combined version and release of a component. + // + // Examples: + // - pkg:k8s/upstream/k8s.io%2Fapiserver@1.24.1 + // - pkg:k8s/eks/k8s.io%2Fkube-proxy@1.26.2-eksbuild.1 + TypeK8s = "k8s" + + NamespaceEKS = "eks" + NamespaceAKS = "aks" + NamespaceGKE = "gke" + NamespaceRKE = "rke" + NamespaceOCP = "ocp" + + TypeUnknown = "unknown" ) type PackageURL struct { @@ -71,7 +95,7 @@ func (p *PackageURL) Package() *ftypes.Package { // Return packages without namespace. // OS packages are not supposed to have namespace. - if p.Namespace == "" || p.IsOSPkg() { + if p.Namespace == "" || p.Class() == types.ClassOSPkg { return pkg } @@ -88,6 +112,7 @@ func (p *PackageURL) Package() *ftypes.Package { } // LangType returns an application type in Trivy +// nolint: gocyclo func (p *PackageURL) LangType() ftypes.LangType { switch p.Type { case packageurl.TypeComposer: @@ -120,12 +145,39 @@ func (p *PackageURL) LangType() ftypes.LangType { return ftypes.Pub case packageurl.TypeBitnami: return ftypes.Bitnami + case TypeK8s: + switch p.Namespace { + case NamespaceEKS: + return ftypes.EKS + case NamespaceGKE: + return ftypes.GKE + case NamespaceAKS: + return ftypes.AKS + case NamespaceRKE: + return ftypes.RKE + case NamespaceOCP: + return ftypes.OCP + case "": + return ftypes.K8sUpstream + } + return TypeUnknown + default: + return TypeUnknown } - return "unknown" } -func (p *PackageURL) IsOSPkg() bool { - return p.Type == packageurl.TypeApk || p.Type == packageurl.TypeDebian || p.Type == packageurl.TypeRPM +func (p *PackageURL) Class() types.ResultClass { + switch p.Type { + case packageurl.TypeApk, packageurl.TypeDebian, packageurl.TypeRPM: + // OS packages + return types.ClassOSPkg + default: + if p.LangType() == TypeUnknown { + return types.ClassUnknown + } + // Language-specific packages + return types.ClassLangPkg + } } func (p *PackageURL) BOMRef() string { @@ -221,15 +273,19 @@ func parseOCI(metadata types.Metadata) (packageurl.PackageURL, error) { if index != -1 { name = name[index+1:] } - qualifiers := packageurl.Qualifiers{ - packageurl.Qualifier{ + + var qualifiers packageurl.Qualifiers + if repoURL := digest.Repository.Name(); repoURL != "" { + qualifiers = append(qualifiers, packageurl.Qualifier{ Key: "repository_url", - Value: digest.Repository.Name(), - }, - packageurl.Qualifier{ + Value: repoURL, + }) + } + if arch := metadata.ImageConfig.Architecture; arch != "" { + qualifiers = append(qualifiers, packageurl.Qualifier{ Key: "arch", Value: metadata.ImageConfig.Architecture, - }, + }) } return *packageurl.NewPackageURL(packageurl.TypeOCI, "", name, digest.DigestStr(), qualifiers, ""), nil diff --git a/pkg/purl/purl_test.go b/pkg/purl/purl_test.go index 4cdb3f7a2a60..dfb3bf841b28 100644 --- a/pkg/purl/purl_test.go +++ b/pkg/purl/purl_test.go @@ -717,3 +717,47 @@ func TestPackage(t *testing.T) { }) } } + +func TestPackageURL_LangType(t *testing.T) { + tests := []struct { + name string + purl packageurl.PackageURL + want ftypes.LangType + }{ + { + name: "maven", + purl: packageurl.PackageURL{ + Type: packageurl.TypeMaven, + Namespace: "org.springframework", + Name: "spring-core", + Version: "5.0.4.RELEASE", + }, + want: ftypes.Jar, + }, + { + name: "k8s", + purl: packageurl.PackageURL{ + Type: purl.TypeK8s, + Name: "kubelet", + Version: "1.21.1", + }, + want: ftypes.K8sUpstream, + }, + { + name: "eks", + purl: packageurl.PackageURL{ + Type: purl.TypeK8s, + Namespace: purl.NamespaceEKS, + Name: "kubelet", + Version: "1.21.1", + }, + want: ftypes.EKS, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + p := &purl.PackageURL{PackageURL: tt.purl} + assert.Equalf(t, tt.want, p.LangType(), "LangType()") + }) + } +} diff --git a/pkg/sbom/cyclonedx/testdata/happy/kbom.json b/pkg/sbom/cyclonedx/testdata/happy/kbom.json new file mode 100644 index 000000000000..a843dbdfd212 --- /dev/null +++ b/pkg/sbom/cyclonedx/testdata/happy/kbom.json @@ -0,0 +1,434 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.5", + "serialNumber": "urn:uuid:e2daaea6-d96f-4b84-960c-0d72c348cd23", + "version": 1, + "metadata": { + "timestamp": "2023-09-29T06:25:00+00:00", + "tools": [ + { + "vendor": "aquasecurity", + "name": "trivy", + "version": "0.45.1-15-g7bbd0d097" + } + ], + "component": { + "bom-ref": "pkg:k8s/k8s.io%2Fkubernetes@1.27.4", + "type": "platform", + "name": "k8s.io/kubernetes", + "version": "1.27.4", + "purl": "pkg:k8s/k8s.io%2Fkubernetes@1.27.4", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "cluster" + } + ] + } + }, + "components": [ + { + "bom-ref": "5262e708-f1a3-4fca-a1c3-0a8384f7f4a5", + "type": "operating-system", + "name": "ubuntu", + "version": "22.04.2", + "properties": [ + { + "name": "aquasecurity:trivy:Class", + "value": "os-pkgs" + }, + { + "name": "aquasecurity:trivy:Type", + "value": "ubuntu" + } + ] + }, + { + "bom-ref": "a62abb1f-cb38-4fde-90f3-2bda3b87ddb2", + "type": "application", + "name": "node-core-components", + "properties": [ + { + "name": "aquasecurity:trivy:Class", + "value": "lang-pkgs" + }, + { + "name": "aquasecurity:trivy:Type", + "value": "golang" + } + ] + }, + { + "bom-ref": "a6350ac3-52f6-4c5f-a3e3-184b9a634bef", + "type": "platform", + "name": "minikube", + "properties": [ + { + "name": "aquasecurity:trivy:Architecture", + "value": "arm64" + }, + { + "name": "aquasecurity:trivy:HostName", + "value": "minikube" + }, + { + "name": "aquasecurity:trivy:KernelVersion", + "value": "5.15.49-linuxkit-pr" + }, + { + "name": "aquasecurity:trivy:NodeRole", + "value": "master" + }, + { + "name": "aquasecurity:trivy:OperatingSystem", + "value": "linux" + }, + { + "name": "aquasecurity:trivy:resource:Name", + "value": "minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "node" + } + ] + }, + { + "bom-ref": "b19a88a3-017d-4e70-a73a-75f48696ec0f", + "type": "application", + "name": "kube-dns", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "coredns-5d78c9869d-nd92n" + } + ] + }, + { + "bom-ref": "b1c502c9-3c6e-43af-822b-1cb55c6c6ff3", + "type": "application", + "name": "go.etcd.io/etcd/v3", + "version": "3.5.7-0", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "etcd-minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "controlPlane" + } + ] + }, + { + "bom-ref": "pkg:golang/docker@24.0.4", + "type": "application", + "name": "docker", + "version": "24.0.4", + "purl": "pkg:golang/docker@24.0.4", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "docker" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "node" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fapiserver@1.27.4", + "type": "application", + "name": "k8s.io/apiserver", + "version": "1.27.4", + "purl": "pkg:k8s/k8s.io%2Fapiserver@1.27.4", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "kube-apiserver-minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "controlPlane" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fcontroller-manager@1.27.4", + "type": "application", + "name": "k8s.io/controller-manager", + "version": "1.27.4", + "purl": "pkg:k8s/k8s.io%2Fcontroller-manager@1.27.4", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "kube-controller-manager-minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "controlPlane" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fkube-proxy@1.27.4", + "type": "application", + "name": "k8s.io/kube-proxy", + "version": "1.27.4", + "purl": "pkg:k8s/k8s.io%2Fkube-proxy@1.27.4", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "kube-proxy-4wftc" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "node" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fkube-scheduler@1.27.4", + "type": "application", + "name": "k8s.io/kube-scheduler", + "version": "1.27.4", + "purl": "pkg:k8s/k8s.io%2Fkube-scheduler@1.27.4", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "kube-scheduler-minikube" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "controlPlane" + } + ] + }, + { + "bom-ref": "pkg:k8s/k8s.io%2Fkubelet@1.27.4", + "type": "application", + "name": "k8s.io/kubelet", + "version": "1.27.4", + "purl": "pkg:k8s/k8s.io%2Fkubelet@1.27.4", + "properties": [ + { + "name": "aquasecurity:trivy:resource:Name", + "value": "k8s.io/kubelet" + }, + { + "name": "aquasecurity:trivy:resource:Type", + "value": "node" + } + ] + }, + { + "bom-ref": "pkg:oci/coredns@sha256%3Aa0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e?repository_url=registry.k8s.io%2Fcoredns%2Fcoredns", + "type": "container", + "name": "registry.k8s.io/coredns/coredns", + "version": "sha256:a0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e", + "purl": "pkg:oci/coredns@sha256%3Aa0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e?repository_url=registry.k8s.io%2Fcoredns%2Fcoredns", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/coredns/coredns:1.10.1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/etcd@sha256%3A51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83?repository_url=registry.k8s.io%2Fetcd", + "type": "container", + "name": "registry.k8s.io/etcd", + "version": "sha256:51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83", + "purl": "pkg:oci/etcd@sha256%3A51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83?repository_url=registry.k8s.io%2Fetcd", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/etcd:3.5.7-0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/kube-apiserver@sha256%3A697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d?repository_url=registry.k8s.io%2Fkube-apiserver", + "type": "container", + "name": "registry.k8s.io/kube-apiserver", + "version": "sha256:697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d", + "purl": "pkg:oci/kube-apiserver@sha256%3A697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d?repository_url=registry.k8s.io%2Fkube-apiserver", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/kube-apiserver:1.27.4" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/kube-controller-manager@sha256%3A6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265?repository_url=registry.k8s.io%2Fkube-controller-manager", + "type": "container", + "name": "registry.k8s.io/kube-controller-manager", + "version": "sha256:6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265", + "purl": "pkg:oci/kube-controller-manager@sha256%3A6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265?repository_url=registry.k8s.io%2Fkube-controller-manager", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/kube-controller-manager:1.27.4" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/kube-proxy@sha256%3A4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf?repository_url=registry.k8s.io%2Fkube-proxy", + "type": "container", + "name": "registry.k8s.io/kube-proxy", + "version": "sha256:4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf", + "purl": "pkg:oci/kube-proxy@sha256%3A4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf?repository_url=registry.k8s.io%2Fkube-proxy", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/kube-proxy:1.27.4" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + }, + { + "bom-ref": "pkg:oci/kube-scheduler@sha256%3A5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af?repository_url=registry.k8s.io%2Fkube-scheduler", + "type": "container", + "name": "registry.k8s.io/kube-scheduler", + "version": "sha256:5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af", + "purl": "pkg:oci/kube-scheduler@sha256%3A5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af?repository_url=registry.k8s.io%2Fkube-scheduler", + "properties": [ + { + "name": "aquasecurity:trivy:PkgID", + "value": "registry.k8s.io/kube-scheduler:1.27.4" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "oci" + } + ] + } + ], + "dependencies": [ + { + "ref": "5262e708-f1a3-4fca-a1c3-0a8384f7f4a5", + "dependsOn": [] + }, + { + "ref": "a62abb1f-cb38-4fde-90f3-2bda3b87ddb2", + "dependsOn": [ + "pkg:golang/docker@24.0.4", + "pkg:k8s/k8s.io%2Fkubelet@1.27.4" + ] + }, + { + "ref": "a6350ac3-52f6-4c5f-a3e3-184b9a634bef", + "dependsOn": [ + "5262e708-f1a3-4fca-a1c3-0a8384f7f4a5", + "a62abb1f-cb38-4fde-90f3-2bda3b87ddb2" + ] + }, + { + "ref": "b19a88a3-017d-4e70-a73a-75f48696ec0f", + "dependsOn": [ + "pkg:oci/coredns@sha256%3Aa0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e?repository_url=registry.k8s.io%2Fcoredns%2Fcoredns" + ] + }, + { + "ref": "b1c502c9-3c6e-43af-822b-1cb55c6c6ff3", + "dependsOn": [ + "pkg:oci/etcd@sha256%3A51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83?repository_url=registry.k8s.io%2Fetcd" + ] + }, + { + "ref": "pkg:golang/docker@24.0.4", + "dependsOn": [] + }, + { + "ref": "pkg:k8s/k8s.io%2Fapiserver@1.27.4", + "dependsOn": [ + "pkg:oci/kube-apiserver@sha256%3A697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d?repository_url=registry.k8s.io%2Fkube-apiserver" + ] + }, + { + "ref": "pkg:k8s/k8s.io%2Fcontroller-manager@1.27.4", + "dependsOn": [ + "pkg:oci/kube-controller-manager@sha256%3A6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265?repository_url=registry.k8s.io%2Fkube-controller-manager" + ] + }, + { + "ref": "pkg:k8s/k8s.io%2Fkube-proxy@1.27.4", + "dependsOn": [ + "pkg:oci/kube-proxy@sha256%3A4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf?repository_url=registry.k8s.io%2Fkube-proxy" + ] + }, + { + "ref": "pkg:k8s/k8s.io%2Fkube-scheduler@1.27.4", + "dependsOn": [ + "pkg:oci/kube-scheduler@sha256%3A5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af?repository_url=registry.k8s.io%2Fkube-scheduler" + ] + }, + { + "ref": "pkg:k8s/k8s.io%2Fkubelet@1.27.4", + "dependsOn": [] + }, + { + "ref": "pkg:k8s/k8s.io%2Fkubernetes@1.27.4", + "dependsOn": [ + "a6350ac3-52f6-4c5f-a3e3-184b9a634bef", + "b19a88a3-017d-4e70-a73a-75f48696ec0f", + "b1c502c9-3c6e-43af-822b-1cb55c6c6ff3", + "pkg:k8s/k8s.io%2Fapiserver@1.27.4", + "pkg:k8s/k8s.io%2Fcontroller-manager@1.27.4", + "pkg:k8s/k8s.io%2Fkube-proxy@1.27.4", + "pkg:k8s/k8s.io%2Fkube-scheduler@1.27.4" + ] + }, + { + "ref": "pkg:oci/coredns@sha256%3Aa0ead06651cf580044aeb0a0feba63591858fb2e43ade8c9dea45a6a89ae7e5e?repository_url=registry.k8s.io%2Fcoredns%2Fcoredns", + "dependsOn": [] + }, + { + "ref": "pkg:oci/etcd@sha256%3A51eae8381dcb1078289fa7b4f3df2630cdc18d09fb56f8e56b41c40e191d6c83?repository_url=registry.k8s.io%2Fetcd", + "dependsOn": [] + }, + { + "ref": "pkg:oci/kube-apiserver@sha256%3A697cd88d94f7f2ef42144cb3072b016dcb2e9251f0e7d41a7fede557e555452d?repository_url=registry.k8s.io%2Fkube-apiserver", + "dependsOn": [] + }, + { + "ref": "pkg:oci/kube-controller-manager@sha256%3A6286e500782ad6d0b37a1b8be57fc73f597dc931dfc73ff18ce534059803b265?repository_url=registry.k8s.io%2Fkube-controller-manager", + "dependsOn": [] + }, + { + "ref": "pkg:oci/kube-proxy@sha256%3A4bcb707da9898d2625f5d4edc6d0c96519a24f16db914fc673aa8f97e41dbabf?repository_url=registry.k8s.io%2Fkube-proxy", + "dependsOn": [] + }, + { + "ref": "pkg:oci/kube-scheduler@sha256%3A5897d7a97d23dce25cbf36fcd6e919180a8ef904bf5156583ffdb6a733ab04af?repository_url=registry.k8s.io%2Fkube-scheduler", + "dependsOn": [] + } + ], + "vulnerabilities": [] +} diff --git a/pkg/sbom/cyclonedx/unmarshal.go b/pkg/sbom/cyclonedx/unmarshal.go index d8837980bd0b..8282edae2c3f 100644 --- a/pkg/sbom/cyclonedx/unmarshal.go +++ b/pkg/sbom/cyclonedx/unmarshal.go @@ -128,7 +128,7 @@ func (c *BOM) parseSBOM(bom *cdx.BOM) error { if _, ok := seen[ref]; ok { continue } - if component.Type == cdx.ComponentTypeLibrary { + if component.Type == cdx.ComponentTypeLibrary || component.PackageURL != "" { libComponents = append(libComponents, component) } @@ -194,13 +194,17 @@ func parsePkgs(components []cdx.Component, seen map[string]struct{}) ([]ftypes.P var pkgs []ftypes.Package for _, com := range components { seen[com.BOMRef] = struct{}{} - _, _, pkg, err := toPackage(com) - if err != nil { - if errors.Is(err, ErrPURLEmpty) { - continue - } + pkgURL, pkg, err := toPackage(com) + if errors.Is(err, ErrPURLEmpty) { + continue + } else if err != nil { return nil, xerrors.Errorf("failed to parse language package: %w", err) } + + // Skip unsupported package types + if pkgURL.Class() == types.ClassUnknown { + continue + } pkgs = append(pkgs, *pkg) } return pkgs, nil @@ -276,21 +280,22 @@ func dependencyMap(deps *[]cdx.Dependency) map[string][]string { } func aggregatePkgs(libs []cdx.Component) ([]ftypes.PackageInfo, []ftypes.Application, error) { - osPkgMap := make(map[ftypes.OSType]ftypes.Packages) + osPkgMap := make(map[string]ftypes.Packages) langPkgMap := make(map[ftypes.LangType]ftypes.Packages) for _, lib := range libs { - isOSPkg, pkgType, pkg, err := toPackage(lib) - if err != nil { - if errors.Is(err, ErrPURLEmpty) { - continue - } + pkgURL, pkg, err := toPackage(lib) + if errors.Is(err, ErrPURLEmpty) { + continue + } else if err != nil { return nil, nil, xerrors.Errorf("failed to parse the component: %w", err) } - if isOSPkg { - osPkgMap[pkgType] = append(osPkgMap[pkgType], *pkg) - } else { - langPkgMap[pkgType] = append(langPkgMap[pkgType], *pkg) + switch pkgURL.Class() { + case types.ClassOSPkg: + osPkgMap[pkgURL.Type] = append(osPkgMap[pkgURL.Type], *pkg) + case types.ClassLangPkg: + langType := pkgURL.LangType() + langPkgMap[langType] = append(langPkgMap[langType], *pkg) } } @@ -332,14 +337,14 @@ func toApplication(component cdx.Component) *ftypes.Application { } } -func toPackage(component cdx.Component) (bool, ftypes.TargetType, *ftypes.Package, error) { +func toPackage(component cdx.Component) (*purl.PackageURL, *ftypes.Package, error) { if component.PackageURL == "" { log.Logger.Warnf("Skip the component (BOM-Ref: %s) as the PURL is empty", component.BOMRef) - return false, "", nil, ErrPURLEmpty + return nil, nil, ErrPURLEmpty } p, err := purl.FromString(component.PackageURL) if err != nil { - return false, "", nil, xerrors.Errorf("failed to parse purl: %w", err) + return nil, nil, xerrors.Errorf("failed to parse purl: %w", err) } pkg := p.Package() @@ -365,7 +370,7 @@ func toPackage(component cdx.Component) (bool, ftypes.TargetType, *ftypes.Packag case PropertySrcEpoch: pkg.SrcEpoch, err = strconv.Atoi(value) if err != nil { - return false, "", nil, xerrors.Errorf("failed to parse source epoch: %w", err) + return nil, nil, xerrors.Errorf("failed to parse source epoch: %w", err) } case PropertyModularitylabel: pkg.Modularitylabel = value @@ -376,8 +381,7 @@ func toPackage(component cdx.Component) (bool, ftypes.TargetType, *ftypes.Packag } } - isOSPkg := p.IsOSPkg() - if isOSPkg { + if p.Class() == types.ClassOSPkg { // Fill source package information for components in third-party SBOMs . if pkg.SrcName == "" { pkg.SrcName = pkg.Name @@ -393,7 +397,7 @@ func toPackage(component cdx.Component) (bool, ftypes.TargetType, *ftypes.Packag } } - return isOSPkg, p.LangType(), pkg, nil + return p, pkg, nil } func toTrivyCdxComponent(component cdx.Component) ftypes.Component { diff --git a/pkg/sbom/cyclonedx/unmarshal_test.go b/pkg/sbom/cyclonedx/unmarshal_test.go index 4e3b4d5f01be..4ea9b17f44c1 100644 --- a/pkg/sbom/cyclonedx/unmarshal_test.go +++ b/pkg/sbom/cyclonedx/unmarshal_test.go @@ -130,6 +130,72 @@ func TestUnmarshaler_Unmarshal(t *testing.T) { }, }, }, + { + name: "happy path KBOM", + inputFile: "testdata/happy/kbom.json", + want: types.SBOM{ + OS: ftypes.OS{ + Family: "ubuntu", + Name: "22.04.2", + }, + Packages: []ftypes.PackageInfo{ + { + FilePath: "", + }, + }, + Applications: []ftypes.Application{ + { + Type: ftypes.GoBinary, + Libraries: ftypes.Packages{ + { + Name: "docker", + Version: "24.0.4", + Ref: "pkg:golang/docker@24.0.4", + }, + }, + }, + { + Type: "golang", + FilePath: "node-core-components", + }, + { + Type: ftypes.K8sUpstream, + Libraries: ftypes.Packages{ + { + Name: "k8s.io/apiserver", + Version: "1.27.4", + Ref: "pkg:k8s/k8s.io%2Fapiserver@1.27.4", + }, + { + Name: "k8s.io/controller-manager", + Version: "1.27.4", + Ref: "pkg:k8s/k8s.io%2Fcontroller-manager@1.27.4", + }, + { + Name: "k8s.io/kube-proxy", + Version: "1.27.4", + Ref: "pkg:k8s/k8s.io%2Fkube-proxy@1.27.4", + }, + { + Name: "k8s.io/kube-scheduler", + Version: "1.27.4", + Ref: "pkg:k8s/k8s.io%2Fkube-scheduler@1.27.4", + }, + { + Name: "k8s.io/kubelet", + Version: "1.27.4", + Ref: "pkg:k8s/k8s.io%2Fkubelet@1.27.4", + }, + { + Name: "k8s.io/kubernetes", + Version: "1.27.4", + Ref: "pkg:k8s/k8s.io%2Fkubernetes@1.27.4", + }, + }, + }, + }, + }, + }, { name: "happy path with infinity loop", inputFile: "testdata/happy/infinite-loop-bom.json", diff --git a/pkg/sbom/spdx/unmarshal.go b/pkg/sbom/spdx/unmarshal.go index 1624d781ffdf..e603e646be9b 100644 --- a/pkg/sbom/spdx/unmarshal.go +++ b/pkg/sbom/spdx/unmarshal.go @@ -177,10 +177,10 @@ func (s *SPDX) parsePackages(pkgs map[common.ElementID]*spdx.Package) error { } else if err != nil { return xerrors.Errorf("failed to parse package: %w", err) } - switch pkgURL.Type { - case packageurl.TypeApk, packageurl.TypeDebian, packageurl.TypeRPM: + switch pkgURL.Class() { + case types.ClassOSPkg: osPkgs = append(osPkgs, *pkg) - default: + case types.ClassLangPkg: // Language-specific packages pkgType := pkgURL.LangType() app, ok := apps[pkgType] diff --git a/pkg/scanner/langpkg/scan.go b/pkg/scanner/langpkg/scan.go index 6f74f3488316..df16c0c78476 100644 --- a/pkg/scanner/langpkg/scan.go +++ b/pkg/scanner/langpkg/scan.go @@ -13,11 +13,12 @@ import ( var ( PkgTargets = map[ftypes.LangType]string{ - ftypes.PythonPkg: "Python", - ftypes.CondaPkg: "Conda", - ftypes.GemSpec: "Ruby", - ftypes.NodePkg: "Node.js", - ftypes.Jar: "Java", + ftypes.PythonPkg: "Python", + ftypes.CondaPkg: "Conda", + ftypes.GemSpec: "Ruby", + ftypes.NodePkg: "Node.js", + ftypes.Jar: "Java", + ftypes.K8sUpstream: "Kubernetes", } ) diff --git a/pkg/types/report.go b/pkg/types/report.go index 13d58646b20c..e83ce3b6c394 100644 --- a/pkg/types/report.go +++ b/pkg/types/report.go @@ -41,6 +41,7 @@ type Compliance = string type Format string const ( + ClassUnknown ResultClass = "unknown" ClassOSPkg ResultClass = "os-pkgs" // For detected packages and vulnerabilities in OS packages ClassLangPkg ResultClass = "lang-pkgs" // For detected packages and vulnerabilities in language-specific packages ClassConfig ResultClass = "config" // For detected misconfigurations From 5b2b4ea380d91f1a8e30ed565ed99f77343a2ca8 Mon Sep 17 00:00:00 2001 From: AliDatadog <125997632+AliDatadog@users.noreply.github.com> Date: Mon, 16 Oct 2023 08:15:23 +0200 Subject: [PATCH 071/338] feat(report): Add `InstalledFiles` field to Package (#4706) Co-authored-by: Sylvain Baubeau Co-authored-by: knqyf263 --- integration/testdata/conda-spdx.json.golden | 16 +- pkg/fanal/analyzer/analyzer_test.go | 17 +- pkg/fanal/analyzer/pkg/apk/apk.go | 4 +- pkg/fanal/analyzer/pkg/apk/apk_test.go | 665 +- pkg/fanal/artifact/image/image_test.go | 107 + pkg/fanal/artifact/local/fs_test.go | 16 +- .../goldens/packages/alpine-310.json.golden | 130 +- .../goldens/packages/vulnimage.json.golden | 6778 ++++++++++++++++- pkg/fanal/types/artifact.go | 3 + 9 files changed, 7372 insertions(+), 364 deletions(-) diff --git a/integration/testdata/conda-spdx.json.golden b/integration/testdata/conda-spdx.json.golden index 59f288a94527..9be36f45a259 100644 --- a/integration/testdata/conda-spdx.json.golden +++ b/integration/testdata/conda-spdx.json.golden @@ -3,14 +3,14 @@ "dataLicense": "CC0-1.0", "SPDXID": "SPDXRef-DOCUMENT", "name": "testdata/fixtures/repo/conda", - "documentNamespace": "http://aquasecurity.github.io/trivy/filesystem/testdata/fixtures/repo/conda-08df146c-0996-4718-8648-b2a45769ab79", + "documentNamespace": "http://aquasecurity.github.io/trivy/filesystem/testdata/fixtures/repo/conda-3ff14136-e09f-4df9-80ea-000000000001", "creationInfo": { "licenseListVersion": "", "creators": [ "Organization: aquasecurity", "Tool: trivy-dev" ], - "created": "2023-06-27T05:37:40Z" + "created": "2020-09-10T14:20:30Z" }, "packages": [ { @@ -23,7 +23,7 @@ }, { "name": "openssl", - "SPDXID": "SPDXRef-Package-950f99cb9edd281", + "SPDXID": "SPDXRef-Package-c75d9dc75200186f", "versionInfo": "1.1.1q", "supplier": "NOASSERTION", "downloadLocation": "NONE", @@ -41,7 +41,7 @@ }, { "name": "pip", - "SPDXID": "SPDXRef-Package-39020c06af94ca53", + "SPDXID": "SPDXRef-Package-195557cddf18e4a9", "versionInfo": "22.2.2", "supplier": "NOASSERTION", "downloadLocation": "NONE", @@ -105,21 +105,21 @@ }, { "spdxElementId": "SPDXRef-Application-ee5ef1aa4ac89125", - "relatedSpdxElement": "SPDXRef-Package-950f99cb9edd281", + "relatedSpdxElement": "SPDXRef-Package-c75d9dc75200186f", "relationshipType": "CONTAINS" }, { - "spdxElementId": "SPDXRef-Package-950f99cb9edd281", + "spdxElementId": "SPDXRef-Package-c75d9dc75200186f", "relatedSpdxElement": "SPDXRef-File-600e5e0110a84891", "relationshipType": "CONTAINS" }, { "spdxElementId": "SPDXRef-Application-ee5ef1aa4ac89125", - "relatedSpdxElement": "SPDXRef-Package-39020c06af94ca53", + "relatedSpdxElement": "SPDXRef-Package-195557cddf18e4a9", "relationshipType": "CONTAINS" }, { - "spdxElementId": "SPDXRef-Package-39020c06af94ca53", + "spdxElementId": "SPDXRef-Package-195557cddf18e4a9", "relatedSpdxElement": "SPDXRef-File-7eb62e2a3edddc0a", "relationshipType": "CONTAINS" } diff --git a/pkg/fanal/analyzer/analyzer_test.go b/pkg/fanal/analyzer/analyzer_test.go index d35dfd0c6227..7752d408e9eb 100644 --- a/pkg/fanal/analyzer/analyzer_test.go +++ b/pkg/fanal/analyzer/analyzer_test.go @@ -335,14 +335,15 @@ func TestAnalyzerGroup_AnalyzeFile(t *testing.T) { FilePath: "/lib/apk/db/installed", Packages: types.Packages{ { - ID: "musl@1.1.24-r2", - Name: "musl", - Version: "1.1.24-r2", - SrcName: "musl", - SrcVersion: "1.1.24-r2", - Licenses: []string{"MIT"}, - Arch: "x86_64", - Digest: "sha1:cb2316a189ebee5282c4a9bd98794cc2477a74c6", + ID: "musl@1.1.24-r2", + Name: "musl", + Version: "1.1.24-r2", + SrcName: "musl", + SrcVersion: "1.1.24-r2", + Licenses: []string{"MIT"}, + Arch: "x86_64", + Digest: "sha1:cb2316a189ebee5282c4a9bd98794cc2477a74c6", + InstalledFiles: []string{"lib/libc.musl-x86_64.so.1", "lib/ld-musl-x86_64.so.1"}, }, }, }, diff --git a/pkg/fanal/analyzer/pkg/apk/apk.go b/pkg/fanal/analyzer/pkg/apk/apk.go index c700121d05d0..a319ebc6717f 100644 --- a/pkg/fanal/analyzer/pkg/apk/apk.go +++ b/pkg/fanal/analyzer/pkg/apk/apk.go @@ -89,7 +89,9 @@ func (a alpinePkgAnalyzer) parseApkInfo(scanner *bufio.Scanner) ([]types.Package case "F:": dir = line[2:] case "R:": - installedFiles = append(installedFiles, path.Join(dir, line[2:])) + absPath := path.Join(dir, line[2:]) + pkg.InstalledFiles = append(pkg.InstalledFiles, absPath) + installedFiles = append(installedFiles, absPath) case "p:": // provides (corresponds to provides in PKGINFO, concatenated by spaces into a single line) a.parseProvides(line, pkg.ID, provides) case "D:": // dependencies (corresponds to depend in PKGINFO, concatenated by spaces into a single line) diff --git a/pkg/fanal/analyzer/pkg/apk/apk_test.go b/pkg/fanal/analyzer/pkg/apk/apk_test.go index 1c1230404574..f7b308fcbd49 100644 --- a/pkg/fanal/analyzer/pkg/apk/apk_test.go +++ b/pkg/fanal/analyzer/pkg/apk/apk_test.go @@ -6,302 +6,415 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy/pkg/fanal/types" ) -func TestParseApkInfo(t *testing.T) { - var tests = map[string]struct { - path string - wantPkgs []types.Package - wantFiles []string - }{ - "Valid": { - path: "./testdata/apk", - wantPkgs: []types.Package{ - { - ID: "musl@1.1.14-r10", - Name: "musl", - Version: "1.1.14-r10", - SrcName: "musl", - SrcVersion: "1.1.14-r10", - Licenses: []string{"MIT"}, - Arch: "x86_64", - Digest: "sha1:d68b402f35f57750f49156b0cb4e886a2ad35d2d", - }, - { - ID: "busybox@1.24.2-r9", - Name: "busybox", - Version: "1.24.2-r9", - SrcName: "busybox", - SrcVersion: "1.24.2-r9", - Licenses: []string{"GPL-2.0"}, - DependsOn: []string{"musl@1.1.14-r10"}, - Arch: "x86_64", - Digest: "sha1:ca124719267cd0bedc2f4cb850a286ac13f0ad44", - }, - { - ID: "alpine-baselayout@3.0.3-r0", - Name: "alpine-baselayout", - Version: "3.0.3-r0", - SrcName: "alpine-baselayout", - SrcVersion: "3.0.3-r0", - Licenses: []string{"GPL-2.0"}, - DependsOn: []string{"busybox@1.24.2-r9", "musl@1.1.14-r10"}, - Arch: "x86_64", - Digest: "sha1:a214896150411d72dd1fafdb32d1c6c4855cccfa", - }, - { - ID: "alpine-keys@1.1-r0", - Name: "alpine-keys", - Version: "1.1-r0", - SrcName: "alpine-keys", - SrcVersion: "1.1-r0", - Licenses: []string{"GPL-3.0"}, - Arch: "x86_64", - Digest: "sha1:4def7ffaee6aeba700c1d62570326f75cbb8fa25", - }, - { - ID: "zlib@1.2.8-r2", - Name: "zlib", - Version: "1.2.8-r2", - SrcName: "zlib", - SrcVersion: "1.2.8-r2", - Licenses: []string{"Zlib"}, - DependsOn: []string{"musl@1.1.14-r10"}, - Arch: "x86_64", - Digest: "sha1:efd04d34d40aa8eb331480127364c27a8ba760ef", - }, - { - ID: "libcrypto1.0@1.0.2h-r1", - Name: "libcrypto1.0", - Version: "1.0.2h-r1", - SrcName: "openssl", - SrcVersion: "1.0.2h-r1", - Licenses: []string{"openssl"}, - DependsOn: []string{"musl@1.1.14-r10", "zlib@1.2.8-r2"}, - Arch: "x86_64", - Digest: "sha1:65c860ff8f103b664f40ba849a3f5a51c69c8beb", - }, - { - ID: "libssl1.0@1.0.2h-r1", - Name: "libssl1.0", - Version: "1.0.2h-r1", - SrcName: "openssl", - SrcVersion: "1.0.2h-r1", - Licenses: []string{"openssl"}, - Digest: "sha1:7120f337e93b2b4c44e0f5f31a15b60dc678ca14", - DependsOn: []string{ - "libcrypto1.0@1.0.2h-r1", - "musl@1.1.14-r10", - }, - Arch: "x86_64", - }, - { - ID: "apk-tools@2.6.7-r0", - Name: "apk-tools", - Version: "2.6.7-r0", - SrcName: "apk-tools", - SrcVersion: "2.6.7-r0", - Licenses: []string{"GPL-2.0"}, - Digest: "sha1:0990c0acd62b4175818c3a4cc60ed11f14e23bd8", - DependsOn: []string{ - "libcrypto1.0@1.0.2h-r1", - "libssl1.0@1.0.2h-r1", - "musl@1.1.14-r10", - "zlib@1.2.8-r2", - }, - Arch: "x86_64", - }, - { - ID: "scanelf@1.1.6-r0", - Name: "scanelf", - Version: "1.1.6-r0", - SrcName: "pax-utils", - SrcVersion: "1.1.6-r0", - Licenses: []string{"GPL-2.0"}, - Digest: "sha1:f9bab817c5ad93e92a6218bc0f7596b657c02d90", - DependsOn: []string{"musl@1.1.14-r10"}, - Arch: "x86_64", - }, - { - ID: "musl-utils@1.1.14-r10", - Name: "musl-utils", - Version: "1.1.14-r10", - SrcName: "musl", - SrcVersion: "1.1.14-r10", - Licenses: []string{"MIT", "BSD-3-Clause", "GPL-2.0"}, - Digest: "sha1:608aa1dd39eff7bc6615d3e5e33383750f8f5ecc", - DependsOn: []string{ - "musl@1.1.14-r10", - "scanelf@1.1.6-r0", - }, - Arch: "x86_64", - }, - { - ID: "libc-utils@0.7-r0", - Name: "libc-utils", - Version: "0.7-r0", - SrcName: "libc-dev", - SrcVersion: "0.7-r0", - Licenses: []string{"GPL-3.0"}, - Digest: "sha1:9055bc7afd76cf2672198042f72fc4a5ed4fa961", - DependsOn: []string{"musl-utils@1.1.14-r10"}, - Arch: "x86_64", - }, - { - ID: "pkgconf@1.6.0-r0", - Name: "pkgconf", - Version: "1.6.0-r0", - SrcName: "pkgconf", - SrcVersion: "1.6.0-r0", - Licenses: []string{"ISC"}, - Digest: "sha1:e6242ac29589c8a84a4b179b491ea7c29fce66a9", - DependsOn: []string{"musl@1.1.14-r10"}, - Arch: "x86_64", - }, +var pkgs = []types.Package{ + { + ID: "musl@1.1.14-r10", + Name: "musl", + Version: "1.1.14-r10", + SrcName: "musl", + SrcVersion: "1.1.14-r10", + Licenses: []string{"MIT"}, + Arch: "x86_64", + Digest: "sha1:d68b402f35f57750f49156b0cb4e886a2ad35d2d", + InstalledFiles: []string{ + "lib/libc.musl-x86_64.so.1", + "lib/ld-musl-x86_64.so.1", + }, + }, + { + ID: "busybox@1.24.2-r9", + Name: "busybox", + Version: "1.24.2-r9", + SrcName: "busybox", + SrcVersion: "1.24.2-r9", + Licenses: []string{"GPL-2.0"}, + DependsOn: []string{"musl@1.1.14-r10"}, + Arch: "x86_64", + Digest: "sha1:ca124719267cd0bedc2f4cb850a286ac13f0ad44", + InstalledFiles: []string{ + "bin/busybox", + "bin/sh", + "etc/securetty", + "etc/udhcpd.conf", + "etc/logrotate.d/acpid", + }, + }, + { + ID: "alpine-baselayout@3.0.3-r0", + Name: "alpine-baselayout", + Version: "3.0.3-r0", + SrcName: "alpine-baselayout", + SrcVersion: "3.0.3-r0", + Licenses: []string{"GPL-2.0"}, + DependsOn: []string{"busybox@1.24.2-r9", "musl@1.1.14-r10"}, + Arch: "x86_64", + Digest: "sha1:a214896150411d72dd1fafdb32d1c6c4855cccfa", + InstalledFiles: []string{ + "etc/hosts", + "etc/sysctl.conf", + "etc/group", + "etc/protocols", + "etc/fstab", + "etc/mtab", + "etc/profile", + "etc/TZ", + "etc/shells", + "etc/motd", + "etc/inittab", + "etc/hostname", + "etc/modules", + "etc/services", + "etc/shadow", + "etc/passwd", + "etc/profile.d/color_prompt", + "etc/sysctl.d/00-alpine.conf", + "etc/modprobe.d/i386.conf", + "etc/modprobe.d/blacklist.conf", + "etc/modprobe.d/aliases.conf", + "etc/modprobe.d/kms.conf", + "etc/crontabs/root", + "sbin/mkmntdirs", + "var/spool/cron/crontabs", + }, + }, + { + ID: "alpine-keys@1.1-r0", + Name: "alpine-keys", + Version: "1.1-r0", + SrcName: "alpine-keys", + SrcVersion: "1.1-r0", + Licenses: []string{"GPL-3.0"}, + Arch: "x86_64", + Digest: "sha1:4def7ffaee6aeba700c1d62570326f75cbb8fa25", + InstalledFiles: []string{ + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4d07755e.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + }, + }, + { + ID: "zlib@1.2.8-r2", + Name: "zlib", + Version: "1.2.8-r2", + SrcName: "zlib", + SrcVersion: "1.2.8-r2", + Licenses: []string{"Zlib"}, + DependsOn: []string{"musl@1.1.14-r10"}, + Arch: "x86_64", + Digest: "sha1:efd04d34d40aa8eb331480127364c27a8ba760ef", + InstalledFiles: []string{ + "lib/libz.so.1.2.8", + "lib/libz.so.1", + }, + }, + { + ID: "libcrypto1.0@1.0.2h-r1", + Name: "libcrypto1.0", + Version: "1.0.2h-r1", + SrcName: "openssl", + SrcVersion: "1.0.2h-r1", + Licenses: []string{"openssl"}, + DependsOn: []string{"musl@1.1.14-r10", "zlib@1.2.8-r2"}, + Arch: "x86_64", + Digest: "sha1:65c860ff8f103b664f40ba849a3f5a51c69c8beb", + InstalledFiles: []string{ + "lib/libcrypto.so.1.0.0", + "usr/bin/c_rehash", + "usr/lib/libcrypto.so.1.0.0", + "usr/lib/engines/libubsec.so", + "usr/lib/engines/libatalla.so", + "usr/lib/engines/libcapi.so", + "usr/lib/engines/libgost.so", + "usr/lib/engines/libcswift.so", + "usr/lib/engines/libchil.so", + "usr/lib/engines/libgmp.so", + "usr/lib/engines/libnuron.so", + "usr/lib/engines/lib4758cca.so", + "usr/lib/engines/libsureware.so", + "usr/lib/engines/libpadlock.so", + "usr/lib/engines/libaep.so", + }, + }, + { + ID: "libssl1.0@1.0.2h-r1", + Name: "libssl1.0", + Version: "1.0.2h-r1", + SrcName: "openssl", + SrcVersion: "1.0.2h-r1", + Licenses: []string{"openssl"}, + Digest: "sha1:7120f337e93b2b4c44e0f5f31a15b60dc678ca14", + DependsOn: []string{ + "libcrypto1.0@1.0.2h-r1", + "musl@1.1.14-r10", + }, + Arch: "x86_64", + InstalledFiles: []string{ + "lib/libssl.so.1.0.0", + "usr/lib/libssl.so.1.0.0", + }, + }, + { + ID: "apk-tools@2.6.7-r0", + Name: "apk-tools", + Version: "2.6.7-r0", + SrcName: "apk-tools", + SrcVersion: "2.6.7-r0", + Licenses: []string{"GPL-2.0"}, + Digest: "sha1:0990c0acd62b4175818c3a4cc60ed11f14e23bd8", + DependsOn: []string{ + "libcrypto1.0@1.0.2h-r1", + "libssl1.0@1.0.2h-r1", + "musl@1.1.14-r10", + "zlib@1.2.8-r2", + }, + Arch: "x86_64", + InstalledFiles: []string{ + "sbin/apk", + }, + }, + { + ID: "scanelf@1.1.6-r0", + Name: "scanelf", + Version: "1.1.6-r0", + SrcName: "pax-utils", + SrcVersion: "1.1.6-r0", + Licenses: []string{"GPL-2.0"}, + Digest: "sha1:f9bab817c5ad93e92a6218bc0f7596b657c02d90", + DependsOn: []string{"musl@1.1.14-r10"}, + Arch: "x86_64", + InstalledFiles: []string{ + "usr/bin/scanelf", + }, + }, + { + ID: "musl-utils@1.1.14-r10", + Name: "musl-utils", + Version: "1.1.14-r10", + SrcName: "musl", + SrcVersion: "1.1.14-r10", + Licenses: []string{"MIT", "BSD-3-Clause", "GPL-2.0"}, + Digest: "sha1:608aa1dd39eff7bc6615d3e5e33383750f8f5ecc", + DependsOn: []string{ + "musl@1.1.14-r10", + "scanelf@1.1.6-r0", + }, + Arch: "x86_64", + InstalledFiles: []string{ + "sbin/ldconfig", + "usr/bin/iconv", + "usr/bin/ldd", + "usr/bin/getconf", + "usr/bin/getent", + }, + }, + { + ID: "libc-utils@0.7-r0", + Name: "libc-utils", + Version: "0.7-r0", + SrcName: "libc-dev", + SrcVersion: "0.7-r0", + Licenses: []string{"GPL-3.0"}, + Digest: "sha1:9055bc7afd76cf2672198042f72fc4a5ed4fa961", + DependsOn: []string{"musl-utils@1.1.14-r10"}, + Arch: "x86_64", + //InstalledFiles: []string{}, + }, + { + ID: "pkgconf@1.6.0-r0", + Name: "pkgconf", + Version: "1.6.0-r0", + SrcName: "pkgconf", + SrcVersion: "1.6.0-r0", + Licenses: []string{"ISC"}, + Digest: "sha1:e6242ac29589c8a84a4b179b491ea7c29fce66a9", + DependsOn: []string{"musl@1.1.14-r10"}, + Arch: "x86_64", + InstalledFiles: []string{ + "usr/bin/pkgconf", + "usr/bin/pkg-config", + "usr/lib/libpkgconf.so.3.0.0", + "usr/lib/libpkgconf.so.3", + "usr/share/aclocal/pkg.m4", + }, + }, - { - ID: "sqlite-libs@3.26.0-r3", - Name: "sqlite-libs", - Version: "3.26.0-r3", - SrcName: "sqlite", - SrcVersion: "3.26.0-r3", - Licenses: []string{"Public-Domain"}, - Digest: "sha1:1464946c3a5f0dd5a67ca1af930fc17af7a74474", - DependsOn: []string{"musl@1.1.14-r10"}, - Arch: "x86_64", - }, + { + ID: "sqlite-libs@3.26.0-r3", + Name: "sqlite-libs", + Version: "3.26.0-r3", + SrcName: "sqlite", + SrcVersion: "3.26.0-r3", + Licenses: []string{"Public-Domain"}, + Digest: "sha1:1464946c3a5f0dd5a67ca1af930fc17af7a74474", + DependsOn: []string{"musl@1.1.14-r10"}, + Arch: "x86_64", + InstalledFiles: []string{ + "usr/lib/libsqlite3.so.0", + "usr/lib/libsqlite3.so.0.8.6", + }, + }, - { - ID: "test@2.9.11_pre20061021-r2", - Name: "test", - Version: "2.9.11_pre20061021-r2", - SrcName: "test-parent", - SrcVersion: "2.9.11_pre20061021-r2", - Licenses: []string{"Public-Domain"}, - Digest: "sha1:f0bf315ec54828188910e4a665c00bc48bdbdd7d", - DependsOn: []string{ - "pkgconf@1.6.0-r0", - "sqlite-libs@3.26.0-r3", - }, - Arch: "x86_64", - }, - }, - wantFiles: []string{ - // musl-1.1.14-r10 - "lib/libc.musl-x86_64.so.1", - "lib/ld-musl-x86_64.so.1", + { + ID: "test@2.9.11_pre20061021-r2", + Name: "test", + Version: "2.9.11_pre20061021-r2", + SrcName: "test-parent", + SrcVersion: "2.9.11_pre20061021-r2", + Licenses: []string{"Public-Domain"}, + Digest: "sha1:f0bf315ec54828188910e4a665c00bc48bdbdd7d", + DependsOn: []string{ + "pkgconf@1.6.0-r0", + "sqlite-libs@3.26.0-r3", + }, + Arch: "x86_64", + InstalledFiles: []string{ + "usr/lib/libsqlite3.so", + "usr/lib/pkgconfig/sqlite3.pc", + "usr/include/sqlite3ext.h", + "usr/include/sqlite3.h", + }, + }, +} + +var files = []string{ + // musl-1.1.14-r10 + "lib/libc.musl-x86_64.so.1", + "lib/ld-musl-x86_64.so.1", - // busybox-1.24.2-r9 - "bin/busybox", - "bin/sh", - "etc/securetty", - "etc/udhcpd.conf", - "etc/logrotate.d/acpid", + // busybox-1.24.2-r9 + "bin/busybox", + "bin/sh", + "etc/securetty", + "etc/udhcpd.conf", + "etc/logrotate.d/acpid", - // alpine-baselayout-3.0.3-r0 - "etc/hosts", - "etc/sysctl.conf", - "etc/group", - "etc/protocols", - "etc/fstab", - "etc/mtab", - "etc/profile", - "etc/TZ", - "etc/shells", - "etc/motd", - "etc/inittab", - "etc/hostname", - "etc/modules", - "etc/services", - "etc/shadow", - "etc/passwd", - "etc/profile.d/color_prompt", - "etc/sysctl.d/00-alpine.conf", - "etc/modprobe.d/i386.conf", - "etc/modprobe.d/blacklist.conf", - "etc/modprobe.d/aliases.conf", - "etc/modprobe.d/kms.conf", - "etc/crontabs/root", - "sbin/mkmntdirs", - "var/spool/cron/crontabs", + // alpine-baselayout-3.0.3-r0 + "etc/hosts", + "etc/sysctl.conf", + "etc/group", + "etc/protocols", + "etc/fstab", + "etc/mtab", + "etc/profile", + "etc/TZ", + "etc/shells", + "etc/motd", + "etc/inittab", + "etc/hostname", + "etc/modules", + "etc/services", + "etc/shadow", + "etc/passwd", + "etc/profile.d/color_prompt", + "etc/sysctl.d/00-alpine.conf", + "etc/modprobe.d/i386.conf", + "etc/modprobe.d/blacklist.conf", + "etc/modprobe.d/aliases.conf", + "etc/modprobe.d/kms.conf", + "etc/crontabs/root", + "sbin/mkmntdirs", + "var/spool/cron/crontabs", - // alpine-keys-1.1-r0 - "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4d07755e.rsa.pub", - "etc/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", - "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", - "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", - "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + // alpine-keys-1.1-r0 + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4d07755e.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", - // zlib-1.2.8-r2 - "lib/libz.so.1.2.8", - "lib/libz.so.1", + // zlib-1.2.8-r2 + "lib/libz.so.1.2.8", + "lib/libz.so.1", - // libcrypto1.0-1.0.2h-r1 - "lib/libcrypto.so.1.0.0", - "usr/bin/c_rehash", - "usr/lib/libcrypto.so.1.0.0", - "usr/lib/engines/libubsec.so", - "usr/lib/engines/libatalla.so", - "usr/lib/engines/libcapi.so", - "usr/lib/engines/libgost.so", - "usr/lib/engines/libcswift.so", - "usr/lib/engines/libchil.so", - "usr/lib/engines/libgmp.so", - "usr/lib/engines/libnuron.so", - "usr/lib/engines/lib4758cca.so", - "usr/lib/engines/libsureware.so", - "usr/lib/engines/libpadlock.so", - "usr/lib/engines/libaep.so", + // libcrypto1.0-1.0.2h-r1 + "lib/libcrypto.so.1.0.0", + "usr/bin/c_rehash", + "usr/lib/libcrypto.so.1.0.0", + "usr/lib/engines/libubsec.so", + "usr/lib/engines/libatalla.so", + "usr/lib/engines/libcapi.so", + "usr/lib/engines/libgost.so", + "usr/lib/engines/libcswift.so", + "usr/lib/engines/libchil.so", + "usr/lib/engines/libgmp.so", + "usr/lib/engines/libnuron.so", + "usr/lib/engines/lib4758cca.so", + "usr/lib/engines/libsureware.so", + "usr/lib/engines/libpadlock.so", + "usr/lib/engines/libaep.so", - // libssl1.0-1.0.2h-r1 - "lib/libssl.so.1.0.0", - "usr/lib/libssl.so.1.0.0", + // libssl1.0-1.0.2h-r1 + "lib/libssl.so.1.0.0", + "usr/lib/libssl.so.1.0.0", - // apk-tools-2.6.7-r0 - "sbin/apk", + // apk-tools-2.6.7-r0 + "sbin/apk", - // scanelf-1.1.6-r0 - "usr/bin/scanelf", + // scanelf-1.1.6-r0 + "usr/bin/scanelf", - // musl-utils-1.1.14-r10 - "sbin/ldconfig", - "usr/bin/iconv", - "usr/bin/ldd", - "usr/bin/getconf", - "usr/bin/getent", + // musl-utils-1.1.14-r10 + "sbin/ldconfig", + "usr/bin/iconv", + "usr/bin/ldd", + "usr/bin/getconf", + "usr/bin/getent", - // libc-utils-0.7-r0 + // libc-utils-0.7-r0 - // pkgconf-1.6.0-r0 - "usr/bin/pkgconf", - "usr/bin/pkg-config", - "usr/lib/libpkgconf.so.3.0.0", - "usr/lib/libpkgconf.so.3", - "usr/share/aclocal/pkg.m4", + // pkgconf-1.6.0-r0 + "usr/bin/pkgconf", + "usr/bin/pkg-config", + "usr/lib/libpkgconf.so.3.0.0", + "usr/lib/libpkgconf.so.3", + "usr/share/aclocal/pkg.m4", - // sqlite-libs-3.26.0-r3 - "usr/lib/libsqlite3.so.0", - "usr/lib/libsqlite3.so.0.8.6", + // sqlite-libs-3.26.0-r3 + "usr/lib/libsqlite3.so.0", + "usr/lib/libsqlite3.so.0.8.6", + + // test-2.9.11_pre20061021-r2 + "usr/lib/libsqlite3.so", + "usr/lib/pkgconfig/sqlite3.pc", + "usr/include/sqlite3ext.h", + "usr/include/sqlite3.h", +} - // test-2.9.11_pre20061021-r2 - "usr/lib/libsqlite3.so", - "usr/lib/pkgconfig/sqlite3.pc", - "usr/include/sqlite3ext.h", - "usr/include/sqlite3.h", - }, +func TestParseApkInfo(t *testing.T) { + var tests = map[string]struct { + path string + wantPkgs []types.Package + wantFiles []string + }{ + "Valid": { + path: "./testdata/apk", + wantPkgs: pkgs, + wantFiles: files, + }, + "do not retain pkg installed files": { + path: "./testdata/apk", + wantPkgs: pkgs, + wantFiles: files, }, } - a := alpinePkgAnalyzer{} - for testname, v := range tests { - read, err := os.Open(v.path) - if err != nil { - t.Errorf("%s : can't open file %s", testname, v.path) - } - scanner := bufio.NewScanner(read) - gotPkgs, gotFiles := a.parseApkInfo(scanner) - assert.Equal(t, v.wantPkgs, gotPkgs) - assert.Equal(t, v.wantFiles, gotFiles) + for testname, tt := range tests { + t.Run(testname, func(t *testing.T) { + a := alpinePkgAnalyzer{} + f, err := os.Open(tt.path) + defer f.Close() + require.NoError(t, err) + scanner := bufio.NewScanner(f) + gotPkgs, gotFiles := a.parseApkInfo(scanner) + + assert.Equal(t, tt.wantPkgs, gotPkgs) + assert.Equal(t, tt.wantFiles, gotFiles) + }) } } diff --git a/pkg/fanal/artifact/image/image_test.go b/pkg/fanal/artifact/image/image_test.go index adb1995a38f7..c257fccb30c2 100644 --- a/pkg/fanal/artifact/image/image_test.go +++ b/pkg/fanal/artifact/image/image_test.go @@ -47,6 +47,35 @@ func TestArtifact_Inspect(t *testing.T) { "musl@1.1.24-r2", }, Arch: "x86_64", + InstalledFiles: []string{ + "etc/hosts", + "etc/sysctl.conf", + "etc/group", + "etc/protocols", + "etc/fstab", + "etc/mtab", + "etc/profile", + "etc/shells", + "etc/motd", + "etc/inittab", + "etc/hostname", + "etc/modules", + "etc/services", + "etc/shadow", + "etc/passwd", + "etc/profile.d/locale", + "etc/profile.d/color_prompt", + "etc/sysctl.d/00-alpine.conf", + "etc/modprobe.d/i386.conf", + "etc/modprobe.d/blacklist.conf", + "etc/modprobe.d/aliases.conf", + "etc/modprobe.d/kms.conf", + "etc/crontabs/root", + "sbin/mkmntdirs", + "var/run", + "var/spool/mail", + "var/spool/cron/crontabs", + }, }, { ID: "alpine-keys@2.1-r2", @@ -57,6 +86,26 @@ func TestArtifact_Inspect(t *testing.T) { Licenses: []string{"MIT"}, Arch: "x86_64", Digest: "sha1:64929f85b7f8b4adbb664d905410312936b79d9b", + InstalledFiles: []string{ + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + }, }, { ID: "apk-tools@2.10.4-r3", @@ -73,6 +122,9 @@ func TestArtifact_Inspect(t *testing.T) { "zlib@1.2.11-r3", }, Arch: "x86_64", + InstalledFiles: []string{ + "sbin/apk", + }, }, { ID: "busybox@1.31.1-r9", @@ -86,6 +138,15 @@ func TestArtifact_Inspect(t *testing.T) { "musl@1.1.24-r2", }, Arch: "x86_64", + InstalledFiles: []string{ + "bin/busybox", + "bin/sh", + "etc/securetty", + "etc/udhcpd.conf", + "etc/logrotate.d/acpid", + "etc/network/if-up.d/dad", + "usr/share/udhcpc/default.script", + }, }, { ID: "ca-certificates-cacert@20191127-r1", @@ -99,6 +160,9 @@ func TestArtifact_Inspect(t *testing.T) { }, Arch: "x86_64", Digest: "sha1:3aeb8a90d7179d2a187782e980a964494e08c5fb", + InstalledFiles: []string{ + "etc/ssl/cert.pem", + }, }, { ID: "libc-utils@0.7.2-r0", @@ -125,6 +189,20 @@ func TestArtifact_Inspect(t *testing.T) { "musl@1.1.24-r2", }, Arch: "x86_64", + InstalledFiles: []string{ + "etc/ssl/openssl.cnf.dist", + "etc/ssl/ct_log_list.cnf", + "etc/ssl/ct_log_list.cnf.dist", + "etc/ssl/openssl.cnf", + "etc/ssl/misc/CA.pl", + "etc/ssl/misc/tsget.pl", + "etc/ssl/misc/tsget", + "lib/libcrypto.so.1.1", + "usr/lib/libcrypto.so.1.1", + "usr/lib/engines-1.1/capi.so", + "usr/lib/engines-1.1/padlock.so", + "usr/lib/engines-1.1/afalg.so", + }, }, { ID: "libssl1.1@1.1.1d-r3", @@ -139,6 +217,10 @@ func TestArtifact_Inspect(t *testing.T) { "musl@1.1.24-r2", }, Arch: "x86_64", + InstalledFiles: []string{ + "lib/libssl.so.1.1", + "usr/lib/libssl.so.1.1", + }, }, { ID: "libtls-standalone@2.9.1-r0", @@ -155,6 +237,10 @@ func TestArtifact_Inspect(t *testing.T) { "musl@1.1.24-r2", }, Arch: "x86_64", + InstalledFiles: []string{ + "usr/lib/libtls-standalone.so.1.0.0", + "usr/lib/libtls-standalone.so.1", + }, }, { ID: "musl@1.1.24-r2", @@ -165,6 +251,10 @@ func TestArtifact_Inspect(t *testing.T) { Licenses: []string{"MIT"}, Arch: "x86_64", Digest: "sha1:cb2316a189ebee5282c4a9bd98794cc2477a74c6", + InstalledFiles: []string{ + "lib/libc.musl-x86_64.so.1", + "lib/ld-musl-x86_64.so.1", + }, }, { ID: "musl-utils@1.1.24-r2", @@ -183,6 +273,13 @@ func TestArtifact_Inspect(t *testing.T) { "scanelf@1.2.4-r0", }, Arch: "x86_64", + InstalledFiles: []string{ + "sbin/ldconfig", + "usr/bin/iconv", + "usr/bin/ldd", + "usr/bin/getconf", + "usr/bin/getent", + }, }, { ID: "scanelf@1.2.4-r0", @@ -196,6 +293,9 @@ func TestArtifact_Inspect(t *testing.T) { "musl@1.1.24-r2", }, Arch: "x86_64", + InstalledFiles: []string{ + "usr/bin/scanelf", + }, }, { ID: "ssl_client@1.31.1-r9", @@ -210,6 +310,9 @@ func TestArtifact_Inspect(t *testing.T) { "musl@1.1.24-r2", }, Arch: "x86_64", + InstalledFiles: []string{ + "usr/bin/ssl_client", + }, }, { ID: "zlib@1.2.11-r3", @@ -223,6 +326,10 @@ func TestArtifact_Inspect(t *testing.T) { "musl@1.1.24-r2", }, Arch: "x86_64", + InstalledFiles: []string{ + "lib/libz.so.1.2.11", + "lib/libz.so.1", + }, }, } diff --git a/pkg/fanal/artifact/local/fs_test.go b/pkg/fanal/artifact/local/fs_test.go index 63ab74c65ca7..a18288cd1ba3 100644 --- a/pkg/fanal/artifact/local/fs_test.go +++ b/pkg/fanal/artifact/local/fs_test.go @@ -47,7 +47,7 @@ func TestArtifact_Inspect(t *testing.T) { }, putBlobExpectation: cache.ArtifactCachePutBlobExpectation{ Args: cache.ArtifactCachePutBlobArgs{ - BlobID: "sha256:9101fcb54fd63b7dfde027bd669e159ed65aff15842057780f4b0c846bab6369", + BlobID: "sha256:bb194ca778e3ecfa4b2addeae7b2c6b22ed10ab054b9d23e601c54e332913055", BlobInfo: types.BlobInfo{ SchemaVersion: types.BlobJSONSchemaVersion, OS: types.OS{ @@ -67,6 +67,10 @@ func TestArtifact_Inspect(t *testing.T) { Licenses: []string{"MIT"}, Arch: "x86_64", Digest: "sha1:cb2316a189ebee5282c4a9bd98794cc2477a74c6", + InstalledFiles: []string{ + "lib/libc.musl-x86_64.so.1", + "lib/ld-musl-x86_64.so.1", + }, }, }, }, @@ -78,9 +82,9 @@ func TestArtifact_Inspect(t *testing.T) { want: types.ArtifactReference{ Name: "host", Type: types.ArtifactFilesystem, - ID: "sha256:9101fcb54fd63b7dfde027bd669e159ed65aff15842057780f4b0c846bab6369", + ID: "sha256:bb194ca778e3ecfa4b2addeae7b2c6b22ed10ab054b9d23e601c54e332913055", BlobIDs: []string{ - "sha256:9101fcb54fd63b7dfde027bd669e159ed65aff15842057780f4b0c846bab6369", + "sha256:bb194ca778e3ecfa4b2addeae7b2c6b22ed10ab054b9d23e601c54e332913055", }, }, }, @@ -121,7 +125,7 @@ func TestArtifact_Inspect(t *testing.T) { }, putBlobExpectation: cache.ArtifactCachePutBlobExpectation{ Args: cache.ArtifactCachePutBlobArgs{ - BlobID: "sha256:9101fcb54fd63b7dfde027bd669e159ed65aff15842057780f4b0c846bab6369", + BlobID: "sha256:bb194ca778e3ecfa4b2addeae7b2c6b22ed10ab054b9d23e601c54e332913055", BlobInfo: types.BlobInfo{ SchemaVersion: types.BlobJSONSchemaVersion, OS: types.OS{ @@ -141,6 +145,10 @@ func TestArtifact_Inspect(t *testing.T) { Licenses: []string{"MIT"}, Arch: "x86_64", Digest: "sha1:cb2316a189ebee5282c4a9bd98794cc2477a74c6", + InstalledFiles: []string{ + "lib/libc.musl-x86_64.so.1", + "lib/ld-musl-x86_64.so.1", + }, }, }, }, diff --git a/pkg/fanal/test/integration/testdata/goldens/packages/alpine-310.json.golden b/pkg/fanal/test/integration/testdata/goldens/packages/alpine-310.json.golden index ab6041b77636..801661d8deed 100644 --- a/pkg/fanal/test/integration/testdata/goldens/packages/alpine-310.json.golden +++ b/pkg/fanal/test/integration/testdata/goldens/packages/alpine-310.json.golden @@ -17,7 +17,34 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:574d490311b68db01c0a3e44f5491be0cdc79250" + "Digest": "sha1:574d490311b68db01c0a3e44f5491be0cdc79250", + "InstalledFiles": [ + "etc/hosts", + "etc/sysctl.conf", + "etc/group", + "etc/protocols", + "etc/fstab", + "etc/mtab", + "etc/profile", + "etc/shells", + "etc/motd", + "etc/inittab", + "etc/hostname", + "etc/modules", + "etc/services", + "etc/shadow", + "etc/passwd", + "etc/profile.d/color_prompt", + "etc/sysctl.d/00-alpine.conf", + "etc/modprobe.d/i386.conf", + "etc/modprobe.d/blacklist.conf", + "etc/modprobe.d/aliases.conf", + "etc/modprobe.d/kms.conf", + "etc/crontabs/root", + "sbin/mkmntdirs", + "var/run", + "var/spool/cron/crontabs" + ] }, { "ID": "alpine-keys@2.1-r2", @@ -33,7 +60,27 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:6dd672e2dabc14aa324cf9cd4553e98b69a769c1" + "Digest": "sha1:6dd672e2dabc14aa324cf9cd4553e98b69a769c1", + "InstalledFiles": [ + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub" + ] }, { "ID": "apk-tools@2.10.4-r2", @@ -55,7 +102,10 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:e6393c9419776955346cddd70ad4ec66082a2705" + "Digest": "sha1:e6393c9419776955346cddd70ad4ec66082a2705", + "InstalledFiles": [ + "sbin/apk" + ] }, { "ID": "busybox@1.30.1-r2", @@ -74,7 +124,15 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:9c244d7f4909bffcef4c67380b6aed145c41a232" + "Digest": "sha1:9c244d7f4909bffcef4c67380b6aed145c41a232", + "InstalledFiles": [ + "bin/busybox", + "bin/sh", + "etc/securetty", + "etc/udhcpd.conf", + "etc/logrotate.d/acpid", + "etc/network/if-up.d/dad" + ] }, { "ID": "ca-certificates-cacert@20190108-r0", @@ -91,7 +149,10 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:0d69933c7cd071e82acb24c6e4268e4752f7a3f7" + "Digest": "sha1:0d69933c7cd071e82acb24c6e4268e4752f7a3f7", + "InstalledFiles": [ + "etc/ssl/cert.pem" + ] }, { "ID": "libc-utils@0.7.1-r0", @@ -129,7 +190,21 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:547053af84ac3667548b11b990d7b80ef23b9a3f" + "Digest": "sha1:547053af84ac3667548b11b990d7b80ef23b9a3f", + "InstalledFiles": [ + "etc/ssl/openssl.cnf.dist", + "etc/ssl/ct_log_list.cnf", + "etc/ssl/ct_log_list.cnf.dist", + "etc/ssl/openssl.cnf", + "etc/ssl/misc/CA.pl", + "etc/ssl/misc/tsget.pl", + "etc/ssl/misc/tsget", + "lib/libcrypto.so.1.1", + "usr/lib/libcrypto.so.1.1", + "usr/lib/engines-1.1/capi.so", + "usr/lib/engines-1.1/padlock.so", + "usr/lib/engines-1.1/afalg.so" + ] }, { "ID": "libssl1.1@1.1.1c-r0", @@ -149,7 +224,11 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:6f37a428d6f8de036a523d42e6b0c99288153c38" + "Digest": "sha1:6f37a428d6f8de036a523d42e6b0c99288153c38", + "InstalledFiles": [ + "lib/libssl.so.1.1", + "usr/lib/libssl.so.1.1" + ] }, { "ID": "libtls-standalone@2.9.1-r0", @@ -171,7 +250,11 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:f149b608e1e33cfad61fbcf9e3fdb6494f7d691a" + "Digest": "sha1:f149b608e1e33cfad61fbcf9e3fdb6494f7d691a", + "InstalledFiles": [ + "usr/lib/libtls-standalone.so.1.0.0", + "usr/lib/libtls-standalone.so.1" + ] }, { "ID": "musl@1.1.22-r3", @@ -187,7 +270,11 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:d489e0f3fbb5548758f5ccd2c5a0cef70260ef62" + "Digest": "sha1:d489e0f3fbb5548758f5ccd2c5a0cef70260ef62", + "InstalledFiles": [ + "lib/libc.musl-x86_64.so.1", + "lib/ld-musl-x86_64.so.1" + ] }, { "ID": "musl-utils@1.1.22-r3", @@ -209,7 +296,14 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:8bb14c727be819d07a1e9d8b998dc94bde989205" + "Digest": "sha1:8bb14c727be819d07a1e9d8b998dc94bde989205", + "InstalledFiles": [ + "sbin/ldconfig", + "usr/bin/iconv", + "usr/bin/ldd", + "usr/bin/getconf", + "usr/bin/getent" + ] }, { "ID": "scanelf@1.2.3-r0", @@ -228,7 +322,10 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:cb3059ce358cea0f5f78a0220a2980e6c4916a94" + "Digest": "sha1:cb3059ce358cea0f5f78a0220a2980e6c4916a94", + "InstalledFiles": [ + "usr/bin/scanelf" + ] }, { "ID": "ssl_client@1.30.1-r2", @@ -248,7 +345,10 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:1f7afca8301f00cef8a9797124721d9f8c16f586" + "Digest": "sha1:1f7afca8301f00cef8a9797124721d9f8c16f586", + "InstalledFiles": [ + "usr/bin/ssl_client" + ] }, { "ID": "zlib@1.2.11-r1", @@ -267,6 +367,10 @@ "Digest": "sha256:9d48c3bd43c520dc2784e868a780e976b207cbf493eaff8c6596eb871cbd9609", "DiffID": "sha256:03901b4a2ea88eeaad62dbe59b072b28b6efa00491962b8741081c5df50c65e0" }, - "Digest": "sha1:bacb380dfa6f2f5e8dc366144f09b3181001cf76" + "Digest": "sha1:bacb380dfa6f2f5e8dc366144f09b3181001cf76", + "InstalledFiles": [ + "lib/libz.so.1.2.11", + "lib/libz.so.1" + ] } ] \ No newline at end of file diff --git a/pkg/fanal/test/integration/testdata/goldens/packages/vulnimage.json.golden b/pkg/fanal/test/integration/testdata/goldens/packages/vulnimage.json.golden index 6f49b9c2b616..a4ca8c82c17d 100644 --- a/pkg/fanal/test/integration/testdata/goldens/packages/vulnimage.json.golden +++ b/pkg/fanal/test/integration/testdata/goldens/packages/vulnimage.json.golden @@ -72,7 +72,35 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:6e1c83d84d2369825ec44b335e246cc812ee21e8" + "Digest": "sha1:6e1c83d84d2369825ec44b335e246cc812ee21e8", + "InstalledFiles": [ + "etc/hosts", + "etc/sysctl.conf", + "etc/group", + "etc/protocols", + "etc/fstab", + "etc/mtab", + "etc/profile", + "etc/TZ", + "etc/shells", + "etc/motd", + "etc/inittab", + "etc/hostname", + "etc/modules", + "etc/services", + "etc/shadow", + "etc/passwd", + "etc/profile.d/color_prompt", + "etc/sysctl.d/00-alpine.conf", + "etc/modprobe.d/i386.conf", + "etc/modprobe.d/blacklist.conf", + "etc/modprobe.d/aliases.conf", + "etc/modprobe.d/kms.conf", + "etc/crontabs/root", + "sbin/mkmntdirs", + "var/run", + "var/spool/cron/crontabs" + ] }, { "ID": "alpine-keys@2.1-r1", @@ -88,7 +116,27 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:3458e5b2ab168697409f61d2afd35dea6287fbd2" + "Digest": "sha1:3458e5b2ab168697409f61d2afd35dea6287fbd2", + "InstalledFiles": [ + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub" + ] }, { "ID": "apk-tools@2.10.1-r0", @@ -110,7 +158,10 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:599116788034fe9c0f9486edd4f4a5bf589f4806" + "Digest": "sha1:599116788034fe9c0f9486edd4f4a5bf589f4806", + "InstalledFiles": [ + "sbin/apk" + ] }, { "ID": "apr@1.6.3-r0", @@ -130,7 +181,12 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:ef13fd7436617f0d1664d824b0e89e516d57dbf6" + "Digest": "sha1:ef13fd7436617f0d1664d824b0e89e516d57dbf6", + "InstalledFiles": [ + "usr/lib/libapr-1.so", + "usr/lib/libapr-1.so.0.6.3", + "usr/lib/libapr-1.so.0" + ] }, { "ID": "apr-util@1.6.1-r1", @@ -152,7 +208,13 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:bafbf610de141db01418fa88e91b05c69efeb608" + "Digest": "sha1:bafbf610de141db01418fa88e91b05c69efeb608", + "InstalledFiles": [ + "usr/lib/libaprutil-1.so.0.6.1", + "usr/lib/libaprutil-1.so.0", + "usr/lib/apr-util-1/apr_crypto_openssl.so", + "usr/lib/apr-util-1/apr_crypto_openssl-1.so" + ] }, { "ID": "bash@4.4.19-r1", @@ -174,7 +236,96 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:2a2bb204890224c98f6327d5c4da7ea291ad370f" + "Digest": "sha1:2a2bb204890224c98f6327d5c4da7ea291ad370f", + "InstalledFiles": [ + "bin/bashbug", + "bin/bash", + "usr/lib/pkgconfig/bash.pc", + "usr/lib/bash/unlink", + "usr/lib/bash/tty", + "usr/lib/bash/pathchk", + "usr/lib/bash/mypid", + "usr/lib/bash/basename", + "usr/lib/bash/sync", + "usr/lib/bash/mkdir", + "usr/lib/bash/logname", + "usr/lib/bash/sleep", + "usr/lib/bash/whoami", + "usr/lib/bash/head", + "usr/lib/bash/uname", + "usr/lib/bash/setpgid", + "usr/lib/bash/tee", + "usr/lib/bash/id", + "usr/lib/bash/strftime", + "usr/lib/bash/realpath", + "usr/lib/bash/truefalse", + "usr/lib/bash/finfo", + "usr/lib/bash/dirname", + "usr/lib/bash/ln", + "usr/lib/bash/print", + "usr/lib/bash/Makefile.inc", + "usr/lib/bash/printenv", + "usr/lib/bash/rmdir", + "usr/lib/bash/push", + "usr/include/bash/unwind_prot.h", + "usr/include/bash/config-bot.h", + "usr/include/bash/hashlib.h", + "usr/include/bash/siglist.h", + "usr/include/bash/make_cmd.h", + "usr/include/bash/version.h", + "usr/include/bash/bashjmp.h", + "usr/include/bash/error.h", + "usr/include/bash/config.h", + "usr/include/bash/dispose_cmd.h", + "usr/include/bash/xmalloc.h", + "usr/include/bash/general.h", + "usr/include/bash/y.tab.h", + "usr/include/bash/arrayfunc.h", + "usr/include/bash/alias.h", + "usr/include/bash/quit.h", + "usr/include/bash/externs.h", + "usr/include/bash/bashansi.h", + "usr/include/bash/signames.h", + "usr/include/bash/config-top.h", + "usr/include/bash/bashintl.h", + "usr/include/bash/syntax.h", + "usr/include/bash/shell.h", + "usr/include/bash/builtins.h", + "usr/include/bash/bashtypes.h", + "usr/include/bash/variables.h", + "usr/include/bash/pathnames.h", + "usr/include/bash/sig.h", + "usr/include/bash/array.h", + "usr/include/bash/conftypes.h", + "usr/include/bash/command.h", + "usr/include/bash/jobs.h", + "usr/include/bash/assoc.h", + "usr/include/bash/subst.h", + "usr/include/bash/builtins/bashgetopt.h", + "usr/include/bash/builtins/getopt.h", + "usr/include/bash/builtins/common.h", + "usr/include/bash/builtins/builtext.h", + "usr/include/bash/include/posixdir.h", + "usr/include/bash/include/maxpath.h", + "usr/include/bash/include/stat-time.h", + "usr/include/bash/include/filecntl.h", + "usr/include/bash/include/posixwait.h", + "usr/include/bash/include/typemax.h", + "usr/include/bash/include/posixtime.h", + "usr/include/bash/include/ocache.h", + "usr/include/bash/include/posixjmp.h", + "usr/include/bash/include/chartypes.h", + "usr/include/bash/include/shmbchar.h", + "usr/include/bash/include/shmbutil.h", + "usr/include/bash/include/stdc.h", + "usr/include/bash/include/unionwait.h", + "usr/include/bash/include/posixstat.h", + "usr/include/bash/include/ansi_stdlib.h", + "usr/include/bash/include/memalloc.h", + "usr/include/bash/include/shtty.h", + "usr/include/bash/include/systimes.h", + "usr/include/bash/include/gettext.h" + ] }, { "ID": "busybox@1.27.2-r11", @@ -193,7 +344,15 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:7f9617f0e3abb6430216d33201e6d5b30d049fc5" + "Digest": "sha1:7f9617f0e3abb6430216d33201e6d5b30d049fc5", + "InstalledFiles": [ + "bin/busybox", + "bin/sh", + "etc/securetty", + "etc/udhcpd.conf", + "etc/logrotate.d/acpid", + "etc/network/if-up.d/dad" + ] }, { "ID": "ca-certificates@20171114-r0", @@ -215,7 +374,165 @@ "Digest": "sha256:88777455d910410652665cec0149a02db3584d6dc26e306788a3532d480b00ae", "DiffID": "sha256:0ea33a93585cf1917ba522b2304634c3073654062d5282c1346322967790ef33" }, - "Digest": "sha1:5aa669d28ef467b64451bd754af97b4f68cdd884" + "Digest": "sha1:5aa669d28ef467b64451bd754af97b4f68cdd884", + "InstalledFiles": [ + "etc/ca-certificates.conf", + "etc/ca-certificates/update.d/certhash", + "etc/apk/protected_paths.d/ca-certificates.list", + "usr/sbin/update-ca-certificates", + "usr/bin/c_rehash", + "usr/share/ca-certificates/mozilla/Taiwan_GRCA.crt", + "usr/share/ca-certificates/mozilla/LuxTrust_Global_Root_2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Class_2_CA.crt", + "usr/share/ca-certificates/mozilla/UTN_USERFirst_Email_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Izenpe.com.crt", + "usr/share/ca-certificates/mozilla/Certinomis_-_Autorité_Racine.crt", + "usr/share/ca-certificates/mozilla/SecureTrust_CA.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2011.crt", + "usr/share/ca-certificates/mozilla/Go_Daddy_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/OpenTrust_Root_CA_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_2_G3.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.crt", + "usr/share/ca-certificates/mozilla/CA_Disig_Root_R2.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.crt", + "usr/share/ca-certificates/mozilla/ComSign_CA.crt", + "usr/share/ca-certificates/mozilla/Deutsche_Telekom_Root_CA_2.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt", + "usr/share/ca-certificates/mozilla/Comodo_AAA_Services_root.crt", + "usr/share/ca-certificates/mozilla/CFCA_EV_ROOT.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Trusted_Root_G4.crt", + "usr/share/ca-certificates/mozilla/TÜRKTRUST_Elektronik_Sertifika_Hizmet_Sağlayıcısı_H5.crt", + "usr/share/ca-certificates/mozilla/DST_ACES_CA_X6.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GA_CA.crt", + "usr/share/ca-certificates/mozilla/OpenTrust_Root_CA_G2.crt", + "usr/share/ca-certificates/mozilla/SZAFIR_ROOT_CA2.crt", + "usr/share/ca-certificates/mozilla/AddTrust_Low-Value_Services_Root.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_2.crt", + "usr/share/ca-certificates/mozilla/TURKTRUST_Certificate_Services_Provider_Root_2007.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R3.crt", + "usr/share/ca-certificates/mozilla/Global_Chambersign_Root_-_2008.crt", + "usr/share/ca-certificates/mozilla/AffirmTrust_Commercial.crt", + "usr/share/ca-certificates/mozilla/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.crt", + "usr/share/ca-certificates/mozilla/ACEDICOM_Root.crt", + "usr/share/ca-certificates/mozilla/SwissSign_Gold_CA_-_G2.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA.crt", + "usr/share/ca-certificates/mozilla/AC_RAIZ_FNMT-RCM.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G3.crt", + "usr/share/ca-certificates/mozilla/Symantec_Class_1_Public_Primary_Certification_Authority_-_G6.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_2011.crt", + "usr/share/ca-certificates/mozilla/GeoTrust_Primary_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/certSIGN_ROOT_CA.crt", + "usr/share/ca-certificates/mozilla/thawte_Primary_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Hongkong_Post_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Certinomis_-_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Cybertrust_Global_Root.crt", + "usr/share/ca-certificates/mozilla/Starfield_Services_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_2.crt", + "usr/share/ca-certificates/mozilla/GeoTrust_Global_CA.crt", + "usr/share/ca-certificates/mozilla/AddTrust_External_Root.crt", + "usr/share/ca-certificates/mozilla/SecureSign_RootCA11.crt", + "usr/share/ca-certificates/mozilla/Go_Daddy_Class_2_CA.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Commercial_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/TWCA_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Staat_der_Nederlanden_EV_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Visa_eCommerce_Root.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GB_CA.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/EE_Certification_Centre_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_2_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TeliaSonera_Root_CA_v1.crt", + "usr/share/ca-certificates/mozilla/AffirmTrust_Networking.crt", + "usr/share/ca-certificates/mozilla/AffirmTrust_Premium_ECC.crt", + "usr/share/ca-certificates/mozilla/ACCVRAIZ1.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_CA.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/SwissSign_Silver_CA_-_G2.crt", + "usr/share/ca-certificates/mozilla/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.crt", + "usr/share/ca-certificates/mozilla/GeoTrust_Primary_Certification_Authority_-_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_1_G3.crt", + "usr/share/ca-certificates/mozilla/Entrust_Root_Certification_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/Staat_der_Nederlanden_Root_CA_-_G3.crt", + "usr/share/ca-certificates/mozilla/COMODO_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/COMODO_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Certplus_Class_2_Primary_CA.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_EV_2009.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G2.crt", + "usr/share/ca-certificates/mozilla/Entrust_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/EC-ACC.crt", + "usr/share/ca-certificates/mozilla/XRamp_Global_CA_Root.crt", + "usr/share/ca-certificates/mozilla/Trustis_FPS_Root_CA.crt", + "usr/share/ca-certificates/mozilla/GeoTrust_Primary_Certification_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/thawte_Primary_Root_CA_-_G3.crt", + "usr/share/ca-certificates/mozilla/Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.crt", + "usr/share/ca-certificates/mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_2.crt", + "usr/share/ca-certificates/mozilla/TC_TrustCenter_Class_3_CA_II.crt", + "usr/share/ca-certificates/mozilla/Camerfirma_Global_Chambersign_Root.crt", + "usr/share/ca-certificates/mozilla/AC_Raíz_Certicámara_S.A..crt", + "usr/share/ca-certificates/mozilla/Swisscom_Root_CA_2.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_4.crt", + "usr/share/ca-certificates/mozilla/Symantec_Class_2_Public_Primary_Certification_Authority_-_G6.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_CA.crt", + "usr/share/ca-certificates/mozilla/ePKI_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/TÜBİTAK_UEKAE_Kök_Sertifika_Hizmet_Sağlayıcısı_-_Sürüm_3.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_CA_3_2013.crt", + "usr/share/ca-certificates/mozilla/VeriSign_Universal_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA.crt", + "usr/share/ca-certificates/mozilla/COMODO_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/S-TRUST_Universal_Root_CA.crt", + "usr/share/ca-certificates/mozilla/SwissSign_Platinum_CA_-_G2.crt", + "usr/share/ca-certificates/mozilla/Camerfirma_Chambers_of_Commerce_Root.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_3.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G3.crt", + "usr/share/ca-certificates/mozilla/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.crt", + "usr/share/ca-certificates/mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.crt", + "usr/share/ca-certificates/mozilla/Secure_Global_CA.crt", + "usr/share/ca-certificates/mozilla/Actalis_Authentication_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/USERTrust_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_2009.crt", + "usr/share/ca-certificates/mozilla/AffirmTrust_Premium.crt", + "usr/share/ca-certificates/mozilla/Certigna.crt", + "usr/share/ca-certificates/mozilla/Certplus_Root_CA_G2.crt", + "usr/share/ca-certificates/mozilla/TWCA_Global_Root_CA.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Public_Sector_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/OpenTrust_Root_CA_G1.crt", + "usr/share/ca-certificates/mozilla/Staat_der_Nederlanden_Root_CA_-_G2.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_3_G3.crt", + "usr/share/ca-certificates/mozilla/Chambers_of_Commerce_Root_-_2008.crt", + "usr/share/ca-certificates/mozilla/DST_Root_CA_X3.crt", + "usr/share/ca-certificates/mozilla/Entrust.net_Premium_2048_Secure_Server_CA.crt", + "usr/share/ca-certificates/mozilla/Certplus_Root_CA_G1.crt", + "usr/share/ca-certificates/mozilla/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.crt", + "usr/share/ca-certificates/mozilla/USERTrust_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/DigiCert_High_Assurance_EV_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_EV_RootCA1.crt", + "usr/share/ca-certificates/mozilla/PSCProcert.crt", + "usr/share/ca-certificates/mozilla/thawte_Primary_Root_CA_-_G2.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R2.crt", + "usr/share/ca-certificates/mozilla/GeoTrust_Universal_CA.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R4.crt", + "usr/share/ca-certificates/mozilla/Baltimore_CyberTrust_Root.crt", + "usr/share/ca-certificates/mozilla/Sonera_Class_2_Root_CA.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R5.crt", + "usr/share/ca-certificates/mozilla/Microsec_e-Szigno_Root_CA_2009.crt", + "usr/share/ca-certificates/mozilla/GeoTrust_Universal_CA_2.crt", + "usr/share/ca-certificates/mozilla/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.crt", + "usr/share/ca-certificates/mozilla/CA_Disig_Root_R1.crt", + "usr/share/ca-certificates/mozilla/Entrust_Root_Certification_Authority_-_EC1.crt", + "usr/share/ca-certificates/mozilla/E-Tugra_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_3_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Network_Solutions_Certificate_Authority.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA_2.crt" + ] }, { "ID": "curl@7.61.0-r0", @@ -237,7 +554,10 @@ "Digest": "sha256:88777455d910410652665cec0149a02db3584d6dc26e306788a3532d480b00ae", "DiffID": "sha256:0ea33a93585cf1917ba522b2304634c3073654062d5282c1346322967790ef33" }, - "Digest": "sha1:016d483d30cfea67c126965281160db475b6ca65" + "Digest": "sha1:016d483d30cfea67c126965281160db475b6ca65", + "InstalledFiles": [ + "usr/bin/curl" + ] }, { "ID": "db@5.3.28-r0", @@ -256,7 +576,10 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:6a4d69ccb4da10b07ede9649b08aa323a8902790" + "Digest": "sha1:6a4d69ccb4da10b07ede9649b08aa323a8902790", + "InstalledFiles": [ + "usr/lib/libdb-5.3.so" + ] }, { "ID": "expat@2.2.5-r0", @@ -275,7 +598,12 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:5096efd90f782b0e54927539aa30f4134181d477" + "Digest": "sha1:5096efd90f782b0e54927539aa30f4134181d477", + "InstalledFiles": [ + "usr/bin/xmlwf", + "usr/lib/libexpat.so.1.6.7", + "usr/lib/libexpat.so.1" + ] }, { "ID": "gdbm@1.13-r1", @@ -294,7 +622,16 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:331bccf0688c10645a51523ef5590f3f2bebcbf9" + "Digest": "sha1:331bccf0688c10645a51523ef5590f3f2bebcbf9", + "InstalledFiles": [ + "usr/bin/gdbm_dump", + "usr/bin/gdbm_load", + "usr/bin/gdbmtool", + "usr/lib/libgdbm.so.4.0.0", + "usr/lib/libgdbm_compat.so.4.0.0", + "usr/lib/libgdbm.so.4", + "usr/lib/libgdbm_compat.so.4" + ] }, { "ID": "git@2.15.2-r0", @@ -317,7 +654,200 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:acfbed348e588d90838c4a308428a16042ee9f30" + "Digest": "sha1:acfbed348e588d90838c4a308428a16042ee9f30", + "InstalledFiles": [ + "usr/libexec/git-core/git-fmt-merge-msg", + "usr/libexec/git-core/git-parse-remote", + "usr/libexec/git-core/git-describe", + "usr/libexec/git-core/git-repack", + "usr/libexec/git-core/git-bisect--helper", + "usr/libexec/git-core/git-whatchanged", + "usr/libexec/git-core/git-revert", + "usr/libexec/git-core/git-cat-file", + "usr/libexec/git-core/git-merge-tree", + "usr/libexec/git-core/git-merge-subtree", + "usr/libexec/git-core/git-read-tree", + "usr/libexec/git-core/git-verify-tag", + "usr/libexec/git-core/git-commit", + "usr/libexec/git-core/git-var", + "usr/libexec/git-core/git-rebase--helper", + "usr/libexec/git-core/git-reset", + "usr/libexec/git-core/git-diff", + "usr/libexec/git-core/git-clean", + "usr/libexec/git-core/git-verify-commit", + "usr/libexec/git-core/git-push", + "usr/libexec/git-core/git-remote-ftps", + "usr/libexec/git-core/git-credential-cache--daemon", + "usr/libexec/git-core/git-merge-base", + "usr/libexec/git-core/git-branch", + "usr/libexec/git-core/git-bisect", + "usr/libexec/git-core/git-pack-redundant", + "usr/libexec/git-core/git-interpret-trailers", + "usr/libexec/git-core/git-prune-packed", + "usr/libexec/git-core/git", + "usr/libexec/git-core/git-diff-index", + "usr/libexec/git-core/git-show-branch", + "usr/libexec/git-core/git-rebase--interactive", + "usr/libexec/git-core/git-check-mailmap", + "usr/libexec/git-core/git-cherry-pick", + "usr/libexec/git-core/git-worktree", + "usr/libexec/git-core/git-fetch-pack", + "usr/libexec/git-core/git-mailinfo", + "usr/libexec/git-core/git-format-patch", + "usr/libexec/git-core/git-tag", + "usr/libexec/git-core/git-add", + "usr/libexec/git-core/git-column", + "usr/libexec/git-core/git-mailsplit", + "usr/libexec/git-core/git-filter-branch", + "usr/libexec/git-core/git-stash", + "usr/libexec/git-core/git-name-rev", + "usr/libexec/git-core/git-rebase--am", + "usr/libexec/git-core/git-rev-list", + "usr/libexec/git-core/git-notes", + "usr/libexec/git-core/git-init", + "usr/libexec/git-core/git-init-db", + "usr/libexec/git-core/git-shortlog", + "usr/libexec/git-core/git-rerere", + "usr/libexec/git-core/git-fsck-objects", + "usr/libexec/git-core/git-mv", + "usr/libexec/git-core/git-fetch", + "usr/libexec/git-core/git-for-each-ref", + "usr/libexec/git-core/git-difftool--helper", + "usr/libexec/git-core/git-stage", + "usr/libexec/git-core/git-pull", + "usr/libexec/git-core/git-diff-tree", + "usr/libexec/git-core/git-rev-parse", + "usr/libexec/git-core/git-check-attr", + "usr/libexec/git-core/git-credential-store", + "usr/libexec/git-core/git-remote-fd", + "usr/libexec/git-core/git-annotate", + "usr/libexec/git-core/git-apply", + "usr/libexec/git-core/git-checkout-index", + "usr/libexec/git-core/git-pack-objects", + "usr/libexec/git-core/git-http-push", + "usr/libexec/git-core/git-mergetool", + "usr/libexec/git-core/git-update-ref", + "usr/libexec/git-core/git-merge-octopus", + "usr/libexec/git-core/git-blame", + "usr/libexec/git-core/git-merge-one-file", + "usr/libexec/git-core/git-symbolic-ref", + "usr/libexec/git-core/git-ls-remote", + "usr/libexec/git-core/git-commit-tree", + "usr/libexec/git-core/git-merge-recursive", + "usr/libexec/git-core/git-check-ref-format", + "usr/libexec/git-core/git-grep", + "usr/libexec/git-core/git-merge-ours", + "usr/libexec/git-core/git-bundle", + "usr/libexec/git-core/git-show-index", + "usr/libexec/git-core/git-mergetool--lib", + "usr/libexec/git-core/git-upload-pack", + "usr/libexec/git-core/git-merge-resolve", + "usr/libexec/git-core/git-update-index", + "usr/libexec/git-core/git-sh-i18n--envsubst", + "usr/libexec/git-core/git-mktag", + "usr/libexec/git-core/git-write-tree", + "usr/libexec/git-core/git-credential", + "usr/libexec/git-core/git-remote-http", + "usr/libexec/git-core/git-quiltimport", + "usr/libexec/git-core/git-cherry", + "usr/libexec/git-core/git-archive", + "usr/libexec/git-core/git-get-tar-commit-id", + "usr/libexec/git-core/git-send-pack", + "usr/libexec/git-core/git-fsck", + "usr/libexec/git-core/git-difftool", + "usr/libexec/git-core/git-gc", + "usr/libexec/git-core/git-fast-export", + "usr/libexec/git-core/git-check-ignore", + "usr/libexec/git-core/git-reflog", + "usr/libexec/git-core/git-remote-ext", + "usr/libexec/git-core/git-merge-file", + "usr/libexec/git-core/git-mktree", + "usr/libexec/git-core/git-hash-object", + "usr/libexec/git-core/git-web--browse", + "usr/libexec/git-core/git-submodule--helper", + "usr/libexec/git-core/git-receive-pack", + "usr/libexec/git-core/git-pack-refs", + "usr/libexec/git-core/git-help", + "usr/libexec/git-core/git-stripspace", + "usr/libexec/git-core/git-sh-setup", + "usr/libexec/git-core/git-archimport", + "usr/libexec/git-core/git-merge", + "usr/libexec/git-core/git-add--interactive", + "usr/libexec/git-core/git-verify-pack", + "usr/libexec/git-core/git-rebase--merge", + "usr/libexec/git-core/git-rebase", + "usr/libexec/git-core/git-am", + "usr/libexec/git-core/git-request-pull", + "usr/libexec/git-core/git-log", + "usr/libexec/git-core/git-unpack-file", + "usr/libexec/git-core/git-checkout", + "usr/libexec/git-core/git-status", + "usr/libexec/git-core/git-remote-https", + "usr/libexec/git-core/git-http-fetch", + "usr/libexec/git-core/git-index-pack", + "usr/libexec/git-core/git-upload-archive", + "usr/libexec/git-core/git-rm", + "usr/libexec/git-core/git-remote-ftp", + "usr/libexec/git-core/git-count-objects", + "usr/libexec/git-core/git-unpack-objects", + "usr/libexec/git-core/git-ls-files", + "usr/libexec/git-core/git-merge-index", + "usr/libexec/git-core/git-show-ref", + "usr/libexec/git-core/git-sh-i18n", + "usr/libexec/git-core/git-diff-files", + "usr/libexec/git-core/git-patch-id", + "usr/libexec/git-core/git-show", + "usr/libexec/git-core/git-remote", + "usr/libexec/git-core/git-submodule", + "usr/libexec/git-core/git-prune", + "usr/libexec/git-core/git-update-server-info", + "usr/libexec/git-core/git-ls-tree", + "usr/libexec/git-core/git-credential-cache", + "usr/libexec/git-core/git-clone", + "usr/libexec/git-core/git-config", + "usr/libexec/git-core/git-replace", + "usr/libexec/git-core/mergetools/meld", + "usr/libexec/git-core/mergetools/examdiff", + "usr/libexec/git-core/mergetools/opendiff", + "usr/libexec/git-core/mergetools/gvimdiff", + "usr/libexec/git-core/mergetools/bc", + "usr/libexec/git-core/mergetools/araxis", + "usr/libexec/git-core/mergetools/emerge", + "usr/libexec/git-core/mergetools/vimdiff", + "usr/libexec/git-core/mergetools/vimdiff3", + "usr/libexec/git-core/mergetools/tkdiff", + "usr/libexec/git-core/mergetools/codecompare", + "usr/libexec/git-core/mergetools/kdiff3", + "usr/libexec/git-core/mergetools/vimdiff2", + "usr/libexec/git-core/mergetools/kompare", + "usr/libexec/git-core/mergetools/ecmerge", + "usr/libexec/git-core/mergetools/diffmerge", + "usr/libexec/git-core/mergetools/xxdiff", + "usr/libexec/git-core/mergetools/winmerge", + "usr/libexec/git-core/mergetools/gvimdiff3", + "usr/libexec/git-core/mergetools/tortoisemerge", + "usr/libexec/git-core/mergetools/diffuse", + "usr/libexec/git-core/mergetools/deltawalker", + "usr/libexec/git-core/mergetools/gvimdiff2", + "usr/libexec/git-core/mergetools/bc3", + "usr/bin/git", + "usr/bin/git-upload-pack", + "usr/bin/git-receive-pack", + "usr/bin/git-upload-archive", + "usr/bin/git-shell", + "usr/share/git-core/templates/description", + "usr/share/git-core/templates/info/exclude", + "usr/share/git-core/templates/hooks/pre-push.sample", + "usr/share/git-core/templates/hooks/commit-msg.sample", + "usr/share/git-core/templates/hooks/prepare-commit-msg.sample", + "usr/share/git-core/templates/hooks/pre-applypatch.sample", + "usr/share/git-core/templates/hooks/pre-receive.sample", + "usr/share/git-core/templates/hooks/update.sample", + "usr/share/git-core/templates/hooks/pre-commit.sample", + "usr/share/git-core/templates/hooks/pre-rebase.sample", + "usr/share/git-core/templates/hooks/applypatch-msg.sample", + "usr/share/git-core/templates/hooks/post-update.sample" + ] }, { "ID": "libbz2@1.0.6-r6", @@ -336,7 +866,11 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:132242e396d99c2d06ee14c7ea4c3f3d02be102a" + "Digest": "sha1:132242e396d99c2d06ee14c7ea4c3f3d02be102a", + "InstalledFiles": [ + "usr/lib/libbz2.so.1.0.6", + "usr/lib/libbz2.so.1" + ] }, { "ID": "libc-utils@0.7.1-r0", @@ -379,7 +913,11 @@ "Digest": "sha256:3d6152f6ac208640f9fb494d1c379fe508db1fc5754cd08fefec200bddd13e0e", "DiffID": "sha256:6408527580eade39c2692dbb6b0f6a9321448d06ea1c2eef06bb7f37da9c5013" }, - "Digest": "sha1:3dbd4ffbb43027efba686b75e4418d7e94ad8b46" + "Digest": "sha1:3dbd4ffbb43027efba686b75e4418d7e94ad8b46", + "InstalledFiles": [ + "usr/lib/libcurl.so.4", + "usr/lib/libcurl.so.4.5.0" + ] }, { "ID": "libedit@20170329.3.1-r3", @@ -399,7 +937,11 @@ "Digest": "sha256:3d6152f6ac208640f9fb494d1c379fe508db1fc5754cd08fefec200bddd13e0e", "DiffID": "sha256:6408527580eade39c2692dbb6b0f6a9321448d06ea1c2eef06bb7f37da9c5013" }, - "Digest": "sha1:4d393236e43554c60c5aaaffbcca394f45adcfb8" + "Digest": "sha1:4d393236e43554c60c5aaaffbcca394f45adcfb8", + "InstalledFiles": [ + "usr/lib/libedit.so.0.0.56", + "usr/lib/libedit.so.0" + ] }, { "ID": "libffi@3.2.1-r4", @@ -418,7 +960,11 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:9b28ec06ab670657cd47582bf4fe4b803cd93e28" + "Digest": "sha1:9b28ec06ab670657cd47582bf4fe4b803cd93e28", + "InstalledFiles": [ + "usr/lib/libffi.so.6.0.4", + "usr/lib/libffi.so.6" + ] }, { "ID": "libressl@2.6.5-r0", @@ -440,7 +986,11 @@ "Digest": "sha256:88777455d910410652665cec0149a02db3584d6dc26e306788a3532d480b00ae", "DiffID": "sha256:0ea33a93585cf1917ba522b2304634c3073654062d5282c1346322967790ef33" }, - "Digest": "sha1:684940a8557dc097623cdc6a551b2baad7a08b06" + "Digest": "sha1:684940a8557dc097623cdc6a551b2baad7a08b06", + "InstalledFiles": [ + "usr/bin/openssl", + "usr/bin/ocspcheck" + ] }, { "ID": "libressl2.6-libcrypto@2.6.5-r0", @@ -459,7 +1009,16 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:2718dc7d5a9a34ac650614600e16118e466317f7" + "Digest": "sha1:2718dc7d5a9a34ac650614600e16118e466317f7", + "InstalledFiles": [ + "etc/ssl/cert.pem", + "etc/ssl/x509v3.cnf", + "etc/ssl/openssl.cnf", + "lib/libcrypto.so.42", + "lib/libcrypto.so.42.0.0", + "usr/lib/libcrypto.so.42", + "usr/lib/libcrypto.so.42.0.0" + ] }, { "ID": "libressl2.6-libssl@2.6.5-r0", @@ -479,7 +1038,13 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:df902e38eab7ecbdf3d143a56c3caa511522f524" + "Digest": "sha1:df902e38eab7ecbdf3d143a56c3caa511522f524", + "InstalledFiles": [ + "lib/libssl.so.44.0.1", + "lib/libssl.so.44", + "usr/lib/libssl.so.44.0.1", + "usr/lib/libssl.so.44" + ] }, { "ID": "libressl2.6-libtls@2.6.5-r0", @@ -500,7 +1065,13 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:7740cbc6dee93683e6893edbe89715a2a99aa9b4" + "Digest": "sha1:7740cbc6dee93683e6893edbe89715a2a99aa9b4", + "InstalledFiles": [ + "lib/libtls.so.16.0.1", + "lib/libtls.so.16", + "usr/lib/libtls.so.16.0.1", + "usr/lib/libtls.so.16" + ] }, { "ID": "libsasl@2.1.26-r11", @@ -520,7 +1091,20 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:1f14d6b5e172b3b4643106f49a4dc85c9c517060" + "Digest": "sha1:1f14d6b5e172b3b4643106f49a4dc85c9c517060", + "InstalledFiles": [ + "usr/lib/libsasl2.so.3.0.0", + "usr/lib/libsasl2.so.3", + "usr/lib/sasl2/liblogin.so", + "usr/lib/sasl2/liblogin.so.3", + "usr/lib/sasl2/libsasldb.so.3", + "usr/lib/sasl2/libsasldb.so.3.0.0", + "usr/lib/sasl2/liblogin.so.3.0.0", + "usr/lib/sasl2/libplain.so", + "usr/lib/sasl2/libplain.so.3", + "usr/lib/sasl2/libplain.so.3.0.0", + "usr/lib/sasl2/libsasldb.so" + ] }, { "ID": "libsodium@1.0.15-r0", @@ -539,7 +1123,11 @@ "Digest": "sha256:3d6152f6ac208640f9fb494d1c379fe508db1fc5754cd08fefec200bddd13e0e", "DiffID": "sha256:6408527580eade39c2692dbb6b0f6a9321448d06ea1c2eef06bb7f37da9c5013" }, - "Digest": "sha1:7fbed17399609f0613bede5c686d7a02169da7ee" + "Digest": "sha1:7fbed17399609f0613bede5c686d7a02169da7ee", + "InstalledFiles": [ + "usr/lib/libsodium.so.23", + "usr/lib/libsodium.so.23.0.0" + ] }, { "ID": "libssh2@1.8.0-r2", @@ -560,7 +1148,11 @@ "Digest": "sha256:88777455d910410652665cec0149a02db3584d6dc26e306788a3532d480b00ae", "DiffID": "sha256:0ea33a93585cf1917ba522b2304634c3073654062d5282c1346322967790ef33" }, - "Digest": "sha1:953a992e9e05e10134651f8826403854240e739b" + "Digest": "sha1:953a992e9e05e10134651f8826403854240e739b", + "InstalledFiles": [ + "usr/lib/libssh2.so.1", + "usr/lib/libssh2.so.1.0.1" + ] }, { "ID": "libuuid@2.31-r0", @@ -584,7 +1176,11 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:d95c3db24000cb62331d3892fc1e44292799b4b2" + "Digest": "sha1:d95c3db24000cb62331d3892fc1e44292799b4b2", + "InstalledFiles": [ + "lib/libuuid.so.1.3.0", + "lib/libuuid.so.1" + ] }, { "ID": "libxml2@2.9.7-r0", @@ -604,7 +1200,11 @@ "Digest": "sha256:3d6152f6ac208640f9fb494d1c379fe508db1fc5754cd08fefec200bddd13e0e", "DiffID": "sha256:6408527580eade39c2692dbb6b0f6a9321448d06ea1c2eef06bb7f37da9c5013" }, - "Digest": "sha1:990af059bbdb87a870c12f0959bb1b9b91bd57ba" + "Digest": "sha1:990af059bbdb87a870c12f0959bb1b9b91bd57ba", + "InstalledFiles": [ + "usr/lib/libxml2.so.2.9.7", + "usr/lib/libxml2.so.2" + ] }, { "ID": "mercurial@4.5.2-r0", @@ -624,7 +1224,728 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:42cc6d472044ac2936f00c412af0ae4e08fd599e" + "Digest": "sha1:42cc6d472044ac2936f00c412af0ae4e08fd599e", + "InstalledFiles": [ + "usr/bin/hgk", + "usr/bin/hg", + "usr/bin/hgeditor", + "usr/lib/python2.7/site-packages/mercurial-4.5.2-py2.7.egg-info", + "usr/lib/python2.7/site-packages/hgext/journal.py", + "usr/lib/python2.7/site-packages/hgext/acl.pyc", + "usr/lib/python2.7/site-packages/hgext/clonebundles.py", + "usr/lib/python2.7/site-packages/hgext/releasenotes.py", + "usr/lib/python2.7/site-packages/hgext/__init__.pyc", + "usr/lib/python2.7/site-packages/hgext/rebase.pyc", + "usr/lib/python2.7/site-packages/hgext/churn.pyc", + "usr/lib/python2.7/site-packages/hgext/bugzilla.pyc", + "usr/lib/python2.7/site-packages/hgext/uncommit.pyc", + "usr/lib/python2.7/site-packages/hgext/censor.py", + "usr/lib/python2.7/site-packages/hgext/mq.pyc", + "usr/lib/python2.7/site-packages/hgext/notify.py", + "usr/lib/python2.7/site-packages/hgext/histedit.py", + "usr/lib/python2.7/site-packages/hgext/blackbox.py", + "usr/lib/python2.7/site-packages/hgext/hgk.py", + "usr/lib/python2.7/site-packages/hgext/children.pyc", + "usr/lib/python2.7/site-packages/hgext/acl.py", + "usr/lib/python2.7/site-packages/hgext/githelp.pyc", + "usr/lib/python2.7/site-packages/hgext/censor.pyc", + "usr/lib/python2.7/site-packages/hgext/record.pyc", + "usr/lib/python2.7/site-packages/hgext/pager.pyc", + "usr/lib/python2.7/site-packages/hgext/strip.py", + "usr/lib/python2.7/site-packages/hgext/eol.pyc", + "usr/lib/python2.7/site-packages/hgext/purge.pyc", + "usr/lib/python2.7/site-packages/hgext/patchbomb.py", + "usr/lib/python2.7/site-packages/hgext/hgk.pyc", + "usr/lib/python2.7/site-packages/hgext/split.py", + "usr/lib/python2.7/site-packages/hgext/patchbomb.pyc", + "usr/lib/python2.7/site-packages/hgext/sparse.py", + "usr/lib/python2.7/site-packages/hgext/__init__.py", + "usr/lib/python2.7/site-packages/hgext/rebase.py", + "usr/lib/python2.7/site-packages/hgext/win32text.py", + "usr/lib/python2.7/site-packages/hgext/factotum.py", + "usr/lib/python2.7/site-packages/hgext/clonebundles.pyc", + "usr/lib/python2.7/site-packages/hgext/split.pyc", + "usr/lib/python2.7/site-packages/hgext/journal.pyc", + "usr/lib/python2.7/site-packages/hgext/relink.pyc", + "usr/lib/python2.7/site-packages/hgext/gpg.py", + "usr/lib/python2.7/site-packages/hgext/schemes.pyc", + "usr/lib/python2.7/site-packages/hgext/logtoprocess.py", + "usr/lib/python2.7/site-packages/hgext/extdiff.pyc", + "usr/lib/python2.7/site-packages/hgext/children.py", + "usr/lib/python2.7/site-packages/hgext/fetch.pyc", + "usr/lib/python2.7/site-packages/hgext/churn.py", + "usr/lib/python2.7/site-packages/hgext/share.py", + "usr/lib/python2.7/site-packages/hgext/win32text.pyc", + "usr/lib/python2.7/site-packages/hgext/notify.pyc", + "usr/lib/python2.7/site-packages/hgext/relink.py", + "usr/lib/python2.7/site-packages/hgext/keyword.py", + "usr/lib/python2.7/site-packages/hgext/factotum.pyc", + "usr/lib/python2.7/site-packages/hgext/show.pyc", + "usr/lib/python2.7/site-packages/hgext/shelve.pyc", + "usr/lib/python2.7/site-packages/hgext/record.py", + "usr/lib/python2.7/site-packages/hgext/extdiff.py", + "usr/lib/python2.7/site-packages/hgext/keyword.pyc", + "usr/lib/python2.7/site-packages/hgext/automv.pyc", + "usr/lib/python2.7/site-packages/hgext/eol.py", + "usr/lib/python2.7/site-packages/hgext/transplant.pyc", + "usr/lib/python2.7/site-packages/hgext/sparse.pyc", + "usr/lib/python2.7/site-packages/hgext/schemes.py", + "usr/lib/python2.7/site-packages/hgext/purge.py", + "usr/lib/python2.7/site-packages/hgext/releasenotes.pyc", + "usr/lib/python2.7/site-packages/hgext/fetch.py", + "usr/lib/python2.7/site-packages/hgext/commitextras.pyc", + "usr/lib/python2.7/site-packages/hgext/graphlog.py", + "usr/lib/python2.7/site-packages/hgext/gpg.pyc", + "usr/lib/python2.7/site-packages/hgext/uncommit.py", + "usr/lib/python2.7/site-packages/hgext/mq.py", + "usr/lib/python2.7/site-packages/hgext/show.py", + "usr/lib/python2.7/site-packages/hgext/graphlog.pyc", + "usr/lib/python2.7/site-packages/hgext/amend.pyc", + "usr/lib/python2.7/site-packages/hgext/pager.py", + "usr/lib/python2.7/site-packages/hgext/bugzilla.py", + "usr/lib/python2.7/site-packages/hgext/automv.py", + "usr/lib/python2.7/site-packages/hgext/win32mbcs.py", + "usr/lib/python2.7/site-packages/hgext/win32mbcs.pyc", + "usr/lib/python2.7/site-packages/hgext/blackbox.pyc", + "usr/lib/python2.7/site-packages/hgext/amend.py", + "usr/lib/python2.7/site-packages/hgext/transplant.py", + "usr/lib/python2.7/site-packages/hgext/commitextras.py", + "usr/lib/python2.7/site-packages/hgext/githelp.py", + "usr/lib/python2.7/site-packages/hgext/histedit.pyc", + "usr/lib/python2.7/site-packages/hgext/logtoprocess.pyc", + "usr/lib/python2.7/site-packages/hgext/shelve.py", + "usr/lib/python2.7/site-packages/hgext/strip.pyc", + "usr/lib/python2.7/site-packages/hgext/share.pyc", + "usr/lib/python2.7/site-packages/hgext/zeroconf/__init__.pyc", + "usr/lib/python2.7/site-packages/hgext/zeroconf/Zeroconf.py", + "usr/lib/python2.7/site-packages/hgext/zeroconf/__init__.py", + "usr/lib/python2.7/site-packages/hgext/zeroconf/Zeroconf.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/__init__.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/wirestore.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/storefactory.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/localstore.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/lfutil.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/proto.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/lfutil.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/proto.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/__init__.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/overrides.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/reposetup.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/lfcommands.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/overrides.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/uisetup.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/basestore.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/basestore.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/wirestore.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/remotestore.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/storefactory.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/remotestore.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/localstore.py", + "usr/lib/python2.7/site-packages/hgext/largefiles/uisetup.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/reposetup.pyc", + "usr/lib/python2.7/site-packages/hgext/largefiles/lfcommands.py", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/__init__.pyc", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/watchmanclient.pyc", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/__init__.py", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/watchmanclient.py", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/state.py", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/state.pyc", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/__init__.pyc", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/encoding.pyc", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/load.py", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/pybser.pyc", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/__init__.py", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/compat.py", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/pybser.py", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/capabilities.pyc", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/capabilities.py", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/load.pyc", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/compat.pyc", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/bser.so", + "usr/lib/python2.7/site-packages/hgext/fsmonitor/pywatchman/encoding.py", + "usr/lib/python2.7/site-packages/hgext/convert/monotone.py", + "usr/lib/python2.7/site-packages/hgext/convert/__init__.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/subversion.py", + "usr/lib/python2.7/site-packages/hgext/convert/common.py", + "usr/lib/python2.7/site-packages/hgext/convert/hg.py", + "usr/lib/python2.7/site-packages/hgext/convert/darcs.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/gnuarch.py", + "usr/lib/python2.7/site-packages/hgext/convert/cvs.py", + "usr/lib/python2.7/site-packages/hgext/convert/bzr.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/monotone.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/convcmd.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/convcmd.py", + "usr/lib/python2.7/site-packages/hgext/convert/__init__.py", + "usr/lib/python2.7/site-packages/hgext/convert/darcs.py", + "usr/lib/python2.7/site-packages/hgext/convert/cvs.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/subversion.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/git.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/transport.py", + "usr/lib/python2.7/site-packages/hgext/convert/cvsps.py", + "usr/lib/python2.7/site-packages/hgext/convert/git.py", + "usr/lib/python2.7/site-packages/hgext/convert/filemap.py", + "usr/lib/python2.7/site-packages/hgext/convert/p4.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/transport.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/p4.py", + "usr/lib/python2.7/site-packages/hgext/convert/common.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/hg.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/filemap.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/bzr.py", + "usr/lib/python2.7/site-packages/hgext/convert/gnuarch.pyc", + "usr/lib/python2.7/site-packages/hgext/convert/cvsps.pyc", + "usr/lib/python2.7/site-packages/hgext/lfs/__init__.pyc", + "usr/lib/python2.7/site-packages/hgext/lfs/__init__.py", + "usr/lib/python2.7/site-packages/hgext/lfs/pointer.py", + "usr/lib/python2.7/site-packages/hgext/lfs/wrapper.py", + "usr/lib/python2.7/site-packages/hgext/lfs/blobstore.py", + "usr/lib/python2.7/site-packages/hgext/lfs/blobstore.pyc", + "usr/lib/python2.7/site-packages/hgext/lfs/wrapper.pyc", + "usr/lib/python2.7/site-packages/hgext/lfs/pointer.pyc", + "usr/lib/python2.7/site-packages/hgext/highlight/__init__.pyc", + "usr/lib/python2.7/site-packages/hgext/highlight/highlight.py", + "usr/lib/python2.7/site-packages/hgext/highlight/__init__.py", + "usr/lib/python2.7/site-packages/hgext/highlight/highlight.pyc", + "usr/lib/python2.7/site-packages/mercurial/lock.py", + "usr/lib/python2.7/site-packages/mercurial/hook.pyc", + "usr/lib/python2.7/site-packages/mercurial/progress.py", + "usr/lib/python2.7/site-packages/mercurial/repoview.py", + "usr/lib/python2.7/site-packages/mercurial/manifest.py", + "usr/lib/python2.7/site-packages/mercurial/sslutil.py", + "usr/lib/python2.7/site-packages/mercurial/revset.pyc", + "usr/lib/python2.7/site-packages/mercurial/policy.pyc", + "usr/lib/python2.7/site-packages/mercurial/sshpeer.py", + "usr/lib/python2.7/site-packages/mercurial/byterange.pyc", + "usr/lib/python2.7/site-packages/mercurial/__init__.pyc", + "usr/lib/python2.7/site-packages/mercurial/streamclone.pyc", + "usr/lib/python2.7/site-packages/mercurial/color.py", + "usr/lib/python2.7/site-packages/mercurial/mergeutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/scmposix.pyc", + "usr/lib/python2.7/site-packages/mercurial/treediscovery.pyc", + "usr/lib/python2.7/site-packages/mercurial/dirstate.py", + "usr/lib/python2.7/site-packages/mercurial/manifest.pyc", + "usr/lib/python2.7/site-packages/mercurial/profiling.pyc", + "usr/lib/python2.7/site-packages/mercurial/upgrade.py", + "usr/lib/python2.7/site-packages/mercurial/context.py", + "usr/lib/python2.7/site-packages/mercurial/statichttprepo.pyc", + "usr/lib/python2.7/site-packages/mercurial/tags.pyc", + "usr/lib/python2.7/site-packages/mercurial/help.py", + "usr/lib/python2.7/site-packages/mercurial/server.pyc", + "usr/lib/python2.7/site-packages/mercurial/encoding.pyc", + "usr/lib/python2.7/site-packages/mercurial/dirstateguard.pyc", + "usr/lib/python2.7/site-packages/mercurial/minifileset.py", + "usr/lib/python2.7/site-packages/mercurial/mdiff.pyc", + "usr/lib/python2.7/site-packages/mercurial/discovery.py", + "usr/lib/python2.7/site-packages/mercurial/hg.py", + "usr/lib/python2.7/site-packages/mercurial/pathutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/store.pyc", + "usr/lib/python2.7/site-packages/mercurial/archival.py", + "usr/lib/python2.7/site-packages/mercurial/revsetlang.py", + "usr/lib/python2.7/site-packages/mercurial/win32.py", + "usr/lib/python2.7/site-packages/mercurial/__modulepolicy__.pyc", + "usr/lib/python2.7/site-packages/mercurial/mail.py", + "usr/lib/python2.7/site-packages/mercurial/merge.py", + "usr/lib/python2.7/site-packages/mercurial/treediscovery.py", + "usr/lib/python2.7/site-packages/mercurial/pvec.py", + "usr/lib/python2.7/site-packages/mercurial/progress.pyc", + "usr/lib/python2.7/site-packages/mercurial/dagparser.pyc", + "usr/lib/python2.7/site-packages/mercurial/copies.py", + "usr/lib/python2.7/site-packages/mercurial/lsprofcalltree.py", + "usr/lib/python2.7/site-packages/mercurial/vfs.py", + "usr/lib/python2.7/site-packages/mercurial/unionrepo.py", + "usr/lib/python2.7/site-packages/mercurial/repair.py", + "usr/lib/python2.7/site-packages/mercurial/cmdutil.py", + "usr/lib/python2.7/site-packages/mercurial/upgrade.pyc", + "usr/lib/python2.7/site-packages/mercurial/simplemerge.pyc", + "usr/lib/python2.7/site-packages/mercurial/templatekw.pyc", + "usr/lib/python2.7/site-packages/mercurial/localrepo.py", + "usr/lib/python2.7/site-packages/mercurial/merge.pyc", + "usr/lib/python2.7/site-packages/mercurial/pycompat.py", + "usr/lib/python2.7/site-packages/mercurial/rcutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/templatefilters.pyc", + "usr/lib/python2.7/site-packages/mercurial/dagutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/revset.py", + "usr/lib/python2.7/site-packages/mercurial/copies.pyc", + "usr/lib/python2.7/site-packages/mercurial/urllibcompat.py", + "usr/lib/python2.7/site-packages/mercurial/subrepo.pyc", + "usr/lib/python2.7/site-packages/mercurial/windows.py", + "usr/lib/python2.7/site-packages/mercurial/error.pyc", + "usr/lib/python2.7/site-packages/mercurial/transaction.py", + "usr/lib/python2.7/site-packages/mercurial/tagmerge.pyc", + "usr/lib/python2.7/site-packages/mercurial/logexchange.py", + "usr/lib/python2.7/site-packages/mercurial/repair.pyc", + "usr/lib/python2.7/site-packages/mercurial/rewriteutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/formatter.pyc", + "usr/lib/python2.7/site-packages/mercurial/dagutil.py", + "usr/lib/python2.7/site-packages/mercurial/dispatch.py", + "usr/lib/python2.7/site-packages/mercurial/sparse.py", + "usr/lib/python2.7/site-packages/mercurial/graphmod.pyc", + "usr/lib/python2.7/site-packages/mercurial/__init__.py", + "usr/lib/python2.7/site-packages/mercurial/pycompat.pyc", + "usr/lib/python2.7/site-packages/mercurial/fileset.py", + "usr/lib/python2.7/site-packages/mercurial/scmutil.py", + "usr/lib/python2.7/site-packages/mercurial/error.py", + "usr/lib/python2.7/site-packages/mercurial/repository.py", + "usr/lib/python2.7/site-packages/mercurial/obsutil.py", + "usr/lib/python2.7/site-packages/mercurial/lsprof.pyc", + "usr/lib/python2.7/site-packages/mercurial/subrepo.py", + "usr/lib/python2.7/site-packages/mercurial/dagop.pyc", + "usr/lib/python2.7/site-packages/mercurial/unionrepo.pyc", + "usr/lib/python2.7/site-packages/mercurial/bundle2.py", + "usr/lib/python2.7/site-packages/mercurial/server.py", + "usr/lib/python2.7/site-packages/mercurial/repoview.pyc", + "usr/lib/python2.7/site-packages/mercurial/util.py", + "usr/lib/python2.7/site-packages/mercurial/rcutil.py", + "usr/lib/python2.7/site-packages/mercurial/registrar.pyc", + "usr/lib/python2.7/site-packages/mercurial/crecord.pyc", + "usr/lib/python2.7/site-packages/mercurial/store.py", + "usr/lib/python2.7/site-packages/mercurial/phases.py", + "usr/lib/python2.7/site-packages/mercurial/profiling.py", + "usr/lib/python2.7/site-packages/mercurial/txnutil.py", + "usr/lib/python2.7/site-packages/mercurial/httpconnection.pyc", + "usr/lib/python2.7/site-packages/mercurial/worker.py", + "usr/lib/python2.7/site-packages/mercurial/revlog.py", + "usr/lib/python2.7/site-packages/mercurial/lsprof.py", + "usr/lib/python2.7/site-packages/mercurial/ui.pyc", + "usr/lib/python2.7/site-packages/mercurial/streamclone.py", + "usr/lib/python2.7/site-packages/mercurial/crecord.py", + "usr/lib/python2.7/site-packages/mercurial/filelog.py", + "usr/lib/python2.7/site-packages/mercurial/repository.pyc", + "usr/lib/python2.7/site-packages/mercurial/__version__.py", + "usr/lib/python2.7/site-packages/mercurial/registrar.py", + "usr/lib/python2.7/site-packages/mercurial/patch.py", + "usr/lib/python2.7/site-packages/mercurial/pvec.pyc", + "usr/lib/python2.7/site-packages/mercurial/simplemerge.py", + "usr/lib/python2.7/site-packages/mercurial/setdiscovery.pyc", + "usr/lib/python2.7/site-packages/mercurial/commands.py", + "usr/lib/python2.7/site-packages/mercurial/revsetlang.pyc", + "usr/lib/python2.7/site-packages/mercurial/scmutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/ancestor.pyc", + "usr/lib/python2.7/site-packages/mercurial/hook.py", + "usr/lib/python2.7/site-packages/mercurial/node.py", + "usr/lib/python2.7/site-packages/mercurial/chgserver.pyc", + "usr/lib/python2.7/site-packages/mercurial/wireproto.py", + "usr/lib/python2.7/site-packages/mercurial/namespaces.pyc", + "usr/lib/python2.7/site-packages/mercurial/i18n.pyc", + "usr/lib/python2.7/site-packages/mercurial/changegroup.pyc", + "usr/lib/python2.7/site-packages/mercurial/cacheutil.py", + "usr/lib/python2.7/site-packages/mercurial/hbisect.py", + "usr/lib/python2.7/site-packages/mercurial/revlog.pyc", + "usr/lib/python2.7/site-packages/mercurial/sshserver.pyc", + "usr/lib/python2.7/site-packages/mercurial/lock.pyc", + "usr/lib/python2.7/site-packages/mercurial/worker.pyc", + "usr/lib/python2.7/site-packages/mercurial/config.py", + "usr/lib/python2.7/site-packages/mercurial/exchange.py", + "usr/lib/python2.7/site-packages/mercurial/tagmerge.py", + "usr/lib/python2.7/site-packages/mercurial/dummycert.pem", + "usr/lib/python2.7/site-packages/mercurial/ancestor.py", + "usr/lib/python2.7/site-packages/mercurial/url.pyc", + "usr/lib/python2.7/site-packages/mercurial/graphmod.py", + "usr/lib/python2.7/site-packages/mercurial/peer.py", + "usr/lib/python2.7/site-packages/mercurial/wireproto.pyc", + "usr/lib/python2.7/site-packages/mercurial/configitems.py", + "usr/lib/python2.7/site-packages/mercurial/pushkey.pyc", + "usr/lib/python2.7/site-packages/mercurial/rewriteutil.py", + "usr/lib/python2.7/site-packages/mercurial/fileset.pyc", + "usr/lib/python2.7/site-packages/mercurial/similar.py", + "usr/lib/python2.7/site-packages/mercurial/obsutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/verify.pyc", + "usr/lib/python2.7/site-packages/mercurial/bookmarks.py", + "usr/lib/python2.7/site-packages/mercurial/setdiscovery.py", + "usr/lib/python2.7/site-packages/mercurial/smartset.pyc", + "usr/lib/python2.7/site-packages/mercurial/sshserver.py", + "usr/lib/python2.7/site-packages/mercurial/fancyopts.pyc", + "usr/lib/python2.7/site-packages/mercurial/commandserver.pyc", + "usr/lib/python2.7/site-packages/mercurial/debugcommands.py", + "usr/lib/python2.7/site-packages/mercurial/match.pyc", + "usr/lib/python2.7/site-packages/mercurial/minirst.py", + "usr/lib/python2.7/site-packages/mercurial/sparse.pyc", + "usr/lib/python2.7/site-packages/mercurial/mail.pyc", + "usr/lib/python2.7/site-packages/mercurial/filemerge.pyc", + "usr/lib/python2.7/site-packages/mercurial/util.pyc", + "usr/lib/python2.7/site-packages/mercurial/keepalive.py", + "usr/lib/python2.7/site-packages/mercurial/templatekw.py", + "usr/lib/python2.7/site-packages/mercurial/bundlerepo.py", + "usr/lib/python2.7/site-packages/mercurial/verify.py", + "usr/lib/python2.7/site-packages/mercurial/__version__.pyc", + "usr/lib/python2.7/site-packages/mercurial/bundlerepo.pyc", + "usr/lib/python2.7/site-packages/mercurial/url.py", + "usr/lib/python2.7/site-packages/mercurial/destutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/byterange.py", + "usr/lib/python2.7/site-packages/mercurial/logexchange.pyc", + "usr/lib/python2.7/site-packages/mercurial/httppeer.py", + "usr/lib/python2.7/site-packages/mercurial/scmwindows.pyc", + "usr/lib/python2.7/site-packages/mercurial/phases.pyc", + "usr/lib/python2.7/site-packages/mercurial/txnutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/destutil.py", + "usr/lib/python2.7/site-packages/mercurial/context.pyc", + "usr/lib/python2.7/site-packages/mercurial/minifileset.pyc", + "usr/lib/python2.7/site-packages/mercurial/templater.pyc", + "usr/lib/python2.7/site-packages/mercurial/mdiff.py", + "usr/lib/python2.7/site-packages/mercurial/dirstate.pyc", + "usr/lib/python2.7/site-packages/mercurial/extensions.py", + "usr/lib/python2.7/site-packages/mercurial/commands.pyc", + "usr/lib/python2.7/site-packages/mercurial/httpconnection.py", + "usr/lib/python2.7/site-packages/mercurial/dagop.py", + "usr/lib/python2.7/site-packages/mercurial/localrepo.pyc", + "usr/lib/python2.7/site-packages/mercurial/help.pyc", + "usr/lib/python2.7/site-packages/mercurial/chgserver.py", + "usr/lib/python2.7/site-packages/mercurial/keepalive.pyc", + "usr/lib/python2.7/site-packages/mercurial/changegroup.py", + "usr/lib/python2.7/site-packages/mercurial/bookmarks.pyc", + "usr/lib/python2.7/site-packages/mercurial/branchmap.pyc", + "usr/lib/python2.7/site-packages/mercurial/color.pyc", + "usr/lib/python2.7/site-packages/mercurial/extensions.pyc", + "usr/lib/python2.7/site-packages/mercurial/vfs.pyc", + "usr/lib/python2.7/site-packages/mercurial/sslutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/dirstateguard.py", + "usr/lib/python2.7/site-packages/mercurial/dispatch.pyc", + "usr/lib/python2.7/site-packages/mercurial/dagparser.py", + "usr/lib/python2.7/site-packages/mercurial/cmdutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/parser.py", + "usr/lib/python2.7/site-packages/mercurial/windows.pyc", + "usr/lib/python2.7/site-packages/mercurial/peer.pyc", + "usr/lib/python2.7/site-packages/mercurial/discovery.pyc", + "usr/lib/python2.7/site-packages/mercurial/statprof.pyc", + "usr/lib/python2.7/site-packages/mercurial/fancyopts.py", + "usr/lib/python2.7/site-packages/mercurial/scmposix.py", + "usr/lib/python2.7/site-packages/mercurial/branchmap.py", + "usr/lib/python2.7/site-packages/mercurial/configitems.pyc", + "usr/lib/python2.7/site-packages/mercurial/win32.pyc", + "usr/lib/python2.7/site-packages/mercurial/filemerge.py", + "usr/lib/python2.7/site-packages/mercurial/similar.pyc", + "usr/lib/python2.7/site-packages/mercurial/obsolete.py", + "usr/lib/python2.7/site-packages/mercurial/encoding.py", + "usr/lib/python2.7/site-packages/mercurial/debugcommands.pyc", + "usr/lib/python2.7/site-packages/mercurial/commandserver.py", + "usr/lib/python2.7/site-packages/mercurial/transaction.pyc", + "usr/lib/python2.7/site-packages/mercurial/changelog.py", + "usr/lib/python2.7/site-packages/mercurial/httppeer.pyc", + "usr/lib/python2.7/site-packages/mercurial/scmwindows.py", + "usr/lib/python2.7/site-packages/mercurial/mergeutil.py", + "usr/lib/python2.7/site-packages/mercurial/patch.pyc", + "usr/lib/python2.7/site-packages/mercurial/hg.pyc", + "usr/lib/python2.7/site-packages/mercurial/urllibcompat.pyc", + "usr/lib/python2.7/site-packages/mercurial/sshpeer.pyc", + "usr/lib/python2.7/site-packages/mercurial/namespaces.py", + "usr/lib/python2.7/site-packages/mercurial/minirst.pyc", + "usr/lib/python2.7/site-packages/mercurial/hbisect.pyc", + "usr/lib/python2.7/site-packages/mercurial/changelog.pyc", + "usr/lib/python2.7/site-packages/mercurial/exchange.pyc", + "usr/lib/python2.7/site-packages/mercurial/posix.py", + "usr/lib/python2.7/site-packages/mercurial/i18n.py", + "usr/lib/python2.7/site-packages/mercurial/tags.py", + "usr/lib/python2.7/site-packages/mercurial/filelog.pyc", + "usr/lib/python2.7/site-packages/mercurial/archival.pyc", + "usr/lib/python2.7/site-packages/mercurial/pushkey.py", + "usr/lib/python2.7/site-packages/mercurial/zstd.so", + "usr/lib/python2.7/site-packages/mercurial/templatefilters.py", + "usr/lib/python2.7/site-packages/mercurial/__modulepolicy__.py", + "usr/lib/python2.7/site-packages/mercurial/ui.py", + "usr/lib/python2.7/site-packages/mercurial/statprof.py", + "usr/lib/python2.7/site-packages/mercurial/match.py", + "usr/lib/python2.7/site-packages/mercurial/statichttprepo.py", + "usr/lib/python2.7/site-packages/mercurial/policy.py", + "usr/lib/python2.7/site-packages/mercurial/parser.pyc", + "usr/lib/python2.7/site-packages/mercurial/lsprofcalltree.pyc", + "usr/lib/python2.7/site-packages/mercurial/templater.py", + "usr/lib/python2.7/site-packages/mercurial/pathutil.py", + "usr/lib/python2.7/site-packages/mercurial/node.pyc", + "usr/lib/python2.7/site-packages/mercurial/formatter.py", + "usr/lib/python2.7/site-packages/mercurial/posix.pyc", + "usr/lib/python2.7/site-packages/mercurial/obsolete.pyc", + "usr/lib/python2.7/site-packages/mercurial/config.pyc", + "usr/lib/python2.7/site-packages/mercurial/bundle2.pyc", + "usr/lib/python2.7/site-packages/mercurial/cacheutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/smartset.py", + "usr/lib/python2.7/site-packages/mercurial/cffi/osutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/cffi/__init__.pyc", + "usr/lib/python2.7/site-packages/mercurial/cffi/mpatchbuild.pyc", + "usr/lib/python2.7/site-packages/mercurial/cffi/mpatch.pyc", + "usr/lib/python2.7/site-packages/mercurial/cffi/osutilbuild.py", + "usr/lib/python2.7/site-packages/mercurial/cffi/bdiffbuild.pyc", + "usr/lib/python2.7/site-packages/mercurial/cffi/bdiff.py", + "usr/lib/python2.7/site-packages/mercurial/cffi/__init__.py", + "usr/lib/python2.7/site-packages/mercurial/cffi/mpatchbuild.py", + "usr/lib/python2.7/site-packages/mercurial/cffi/osutilbuild.pyc", + "usr/lib/python2.7/site-packages/mercurial/cffi/bdiff.pyc", + "usr/lib/python2.7/site-packages/mercurial/cffi/osutil.py", + "usr/lib/python2.7/site-packages/mercurial/cffi/bdiffbuild.py", + "usr/lib/python2.7/site-packages/mercurial/cffi/mpatch.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/__init__.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/__init__.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/selectors2.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/selectors2.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/__init__.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/_compat.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/_make.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/_config.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/exceptions.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/__init__.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/_make.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/converters.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/_config.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/_compat.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/exceptions.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/filters.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/validators.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/filters.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/validators.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/_funcs.pyc", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/converters.py", + "usr/lib/python2.7/site-packages/mercurial/thirdparty/attr/_funcs.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/__init__.pyc", + "usr/lib/python2.7/site-packages/mercurial/hgweb/server.pyc", + "usr/lib/python2.7/site-packages/mercurial/hgweb/hgweb_mod.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/request.pyc", + "usr/lib/python2.7/site-packages/mercurial/hgweb/common.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/protocol.pyc", + "usr/lib/python2.7/site-packages/mercurial/hgweb/webcommands.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/webcommands.pyc", + "usr/lib/python2.7/site-packages/mercurial/hgweb/__init__.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/server.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/protocol.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/wsgicgi.pyc", + "usr/lib/python2.7/site-packages/mercurial/hgweb/request.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/hgwebdir_mod.pyc", + "usr/lib/python2.7/site-packages/mercurial/hgweb/webutil.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/webutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/hgweb/common.pyc", + "usr/lib/python2.7/site-packages/mercurial/hgweb/wsgicgi.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/hgwebdir_mod.py", + "usr/lib/python2.7/site-packages/mercurial/hgweb/hgweb_mod.pyc", + "usr/lib/python2.7/site-packages/mercurial/cext/__init__.pyc", + "usr/lib/python2.7/site-packages/mercurial/cext/base85.so", + "usr/lib/python2.7/site-packages/mercurial/cext/__init__.py", + "usr/lib/python2.7/site-packages/mercurial/cext/mpatch.so", + "usr/lib/python2.7/site-packages/mercurial/cext/diffhelpers.so", + "usr/lib/python2.7/site-packages/mercurial/cext/bdiff.so", + "usr/lib/python2.7/site-packages/mercurial/cext/parsers.so", + "usr/lib/python2.7/site-packages/mercurial/cext/osutil.so", + "usr/lib/python2.7/site-packages/mercurial/pure/osutil.pyc", + "usr/lib/python2.7/site-packages/mercurial/pure/__init__.pyc", + "usr/lib/python2.7/site-packages/mercurial/pure/diffhelpers.py", + "usr/lib/python2.7/site-packages/mercurial/pure/diffhelpers.pyc", + "usr/lib/python2.7/site-packages/mercurial/pure/charencode.py", + "usr/lib/python2.7/site-packages/mercurial/pure/mpatch.pyc", + "usr/lib/python2.7/site-packages/mercurial/pure/charencode.pyc", + "usr/lib/python2.7/site-packages/mercurial/pure/bdiff.py", + "usr/lib/python2.7/site-packages/mercurial/pure/parsers.py", + "usr/lib/python2.7/site-packages/mercurial/pure/__init__.py", + "usr/lib/python2.7/site-packages/mercurial/pure/base85.pyc", + "usr/lib/python2.7/site-packages/mercurial/pure/parsers.pyc", + "usr/lib/python2.7/site-packages/mercurial/pure/bdiff.pyc", + "usr/lib/python2.7/site-packages/mercurial/pure/osutil.py", + "usr/lib/python2.7/site-packages/mercurial/pure/base85.py", + "usr/lib/python2.7/site-packages/mercurial/pure/mpatch.py", + "usr/lib/python2.7/site-packages/mercurial/templates/map-cmdline.status", + "usr/lib/python2.7/site-packages/mercurial/templates/map-cmdline.changelog", + "usr/lib/python2.7/site-packages/mercurial/templates/map-cmdline.default", + "usr/lib/python2.7/site-packages/mercurial/templates/map-cmdline.xml", + "usr/lib/python2.7/site-packages/mercurial/templates/map-cmdline.phases", + "usr/lib/python2.7/site-packages/mercurial/templates/map-cmdline.bisect", + "usr/lib/python2.7/site-packages/mercurial/templates/map-cmdline.show", + "usr/lib/python2.7/site-packages/mercurial/templates/map-cmdline.compact", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/branches.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/filecomparison.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/help.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/changelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/notfound.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/footer.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/manifest.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/summary.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/changeset.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/helptopics.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/error.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/tags.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/filelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/filerevision.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/filediff.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/graph.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/fileannotate.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/changelogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/graphentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/header.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/index.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/search.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/map", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/bookmarks.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/monoblue/shortlog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/filelogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/branches.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/shortlogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/changelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/notfound.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/footer.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/manifest.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/changeset.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/error.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/tags.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/filelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/filerevision.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/filediff.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/graph.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/fileannotate.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/changelogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/graphentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/header.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/index.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/search.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/map", + "usr/lib/python2.7/site-packages/mercurial/templates/spartan/shortlog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/json/changelist.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/json/graph.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/json/map", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/filelogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/branches.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/shortlogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/filecomparison.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/help.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/notfound.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/diffstat.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/footer.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/manifest.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/changeset.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/helptopics.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/error.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/tags.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/filelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/filerevision.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/filediff.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/graph.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/fileannotate.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/graphentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/header.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/index.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/search.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/map", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/bookmarks.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/paper/shortlog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/graphedge.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/changelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/notfound.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/graphnode.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/manifest.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/changeset.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/error.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/logentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/filediff.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/graph.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/fileannotate.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/index.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/search.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/raw/map", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/filelogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/branches.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/changelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/error.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/tags.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/filelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/changelogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/header.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/bookmarkentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/map", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/bookmarks.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/tagentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/rss/branchentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/static/background.png", + "usr/lib/python2.7/site-packages/mercurial/templates/static/hglogo.png", + "usr/lib/python2.7/site-packages/mercurial/templates/static/coal-folder.png", + "usr/lib/python2.7/site-packages/mercurial/templates/static/style-extra-coal.css", + "usr/lib/python2.7/site-packages/mercurial/templates/static/style-gitweb.css", + "usr/lib/python2.7/site-packages/mercurial/templates/static/style-monoblue.css", + "usr/lib/python2.7/site-packages/mercurial/templates/static/style-paper.css", + "usr/lib/python2.7/site-packages/mercurial/templates/static/followlines.js", + "usr/lib/python2.7/site-packages/mercurial/templates/static/feed-icon-14x14.png", + "usr/lib/python2.7/site-packages/mercurial/templates/static/coal-file.png", + "usr/lib/python2.7/site-packages/mercurial/templates/static/mercurial.js", + "usr/lib/python2.7/site-packages/mercurial/templates/static/hgicon.png", + "usr/lib/python2.7/site-packages/mercurial/templates/static/style.css", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/branches.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/filecomparison.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/help.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/changelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/notfound.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/footer.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/manifest.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/summary.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/changeset.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/helptopics.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/error.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/tags.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/filelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/filerevision.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/filediff.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/graph.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/fileannotate.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/changelogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/graphentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/header.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/index.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/search.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/map", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/bookmarks.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/gitweb/shortlog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/coal/header.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/coal/map", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/branches.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/changelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/error.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/tags.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/filelog.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/changelogentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/header.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/bookmarkentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/map", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/bookmarks.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/tagentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/templates/atom/branchentry.tmpl", + "usr/lib/python2.7/site-packages/mercurial/help/common.txt", + "usr/lib/python2.7/site-packages/mercurial/help/hgignore.5.txt", + "usr/lib/python2.7/site-packages/mercurial/help/dates.txt", + "usr/lib/python2.7/site-packages/mercurial/help/hgweb.txt", + "usr/lib/python2.7/site-packages/mercurial/help/filesets.txt", + "usr/lib/python2.7/site-packages/mercurial/help/urls.txt", + "usr/lib/python2.7/site-packages/mercurial/help/extensions.txt", + "usr/lib/python2.7/site-packages/mercurial/help/diffs.txt", + "usr/lib/python2.7/site-packages/mercurial/help/flags.txt", + "usr/lib/python2.7/site-packages/mercurial/help/hg.1.txt", + "usr/lib/python2.7/site-packages/mercurial/help/merge-tools.txt", + "usr/lib/python2.7/site-packages/mercurial/help/pager.txt", + "usr/lib/python2.7/site-packages/mercurial/help/hgignore.txt", + "usr/lib/python2.7/site-packages/mercurial/help/templates.txt", + "usr/lib/python2.7/site-packages/mercurial/help/patterns.txt", + "usr/lib/python2.7/site-packages/mercurial/help/subrepos.txt", + "usr/lib/python2.7/site-packages/mercurial/help/glossary.txt", + "usr/lib/python2.7/site-packages/mercurial/help/config.txt", + "usr/lib/python2.7/site-packages/mercurial/help/bundlespec.txt", + "usr/lib/python2.7/site-packages/mercurial/help/hg-ssh.8.txt", + "usr/lib/python2.7/site-packages/mercurial/help/color.txt", + "usr/lib/python2.7/site-packages/mercurial/help/hgrc.5.txt", + "usr/lib/python2.7/site-packages/mercurial/help/scripting.txt", + "usr/lib/python2.7/site-packages/mercurial/help/environment.txt", + "usr/lib/python2.7/site-packages/mercurial/help/revisions.txt", + "usr/lib/python2.7/site-packages/mercurial/help/phases.txt", + "usr/lib/python2.7/site-packages/mercurial/help/internals/changegroups.txt", + "usr/lib/python2.7/site-packages/mercurial/help/internals/config.txt", + "usr/lib/python2.7/site-packages/mercurial/help/internals/requirements.txt", + "usr/lib/python2.7/site-packages/mercurial/help/internals/censor.txt", + "usr/lib/python2.7/site-packages/mercurial/help/internals/revlogs.txt", + "usr/lib/python2.7/site-packages/mercurial/help/internals/bundles.txt", + "usr/lib/python2.7/site-packages/mercurial/help/internals/wireprotocol.txt", + "usr/lib/python2.7/site-packages/mercurial/httpclient/__init__.pyc", + "usr/lib/python2.7/site-packages/mercurial/httpclient/_readers.pyc", + "usr/lib/python2.7/site-packages/mercurial/httpclient/__init__.py", + "usr/lib/python2.7/site-packages/mercurial/httpclient/_readers.py", + "usr/lib/python2.7/site-packages/mercurial/default.d/mergetools.rc", + "usr/lib/python2.7/site-packages/hgdemandimport/__init__.pyc", + "usr/lib/python2.7/site-packages/hgdemandimport/__init__.py", + "usr/lib/python2.7/site-packages/hgdemandimport/demandimportpy3.py", + "usr/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.py", + "usr/lib/python2.7/site-packages/hgdemandimport/demandimportpy2.pyc", + "usr/lib/python2.7/site-packages/hgdemandimport/demandimportpy3.pyc", + "usr/lib/python2.7/site-packages/hgext3rd/__init__.pyc", + "usr/lib/python2.7/site-packages/hgext3rd/__init__.py" + ] }, { "ID": "musl@1.1.18-r3", @@ -640,7 +1961,11 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:5595b2575962e133096977497ef1582bcc76429e" + "Digest": "sha1:5595b2575962e133096977497ef1582bcc76429e", + "InstalledFiles": [ + "lib/libc.musl-x86_64.so.1", + "lib/ld-musl-x86_64.so.1" + ] }, { "ID": "musl-utils@1.1.18-r3", @@ -662,7 +1987,14 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:87d95e8fc8f4792b3e544a3576cb73f0a89bfa41" + "Digest": "sha1:87d95e8fc8f4792b3e544a3576cb73f0a89bfa41", + "InstalledFiles": [ + "sbin/ldconfig", + "usr/bin/iconv", + "usr/bin/ldd", + "usr/bin/getconf", + "usr/bin/getent" + ] }, { "ID": "ncurses-libs@6.0_p20171125-r1", @@ -683,7 +2015,18 @@ "Digest": "sha256:3d6152f6ac208640f9fb494d1c379fe508db1fc5754cd08fefec200bddd13e0e", "DiffID": "sha256:6408527580eade39c2692dbb6b0f6a9321448d06ea1c2eef06bb7f37da9c5013" }, - "Digest": "sha1:f784fc9499dda6c6d13da34507efa7546368fff3" + "Digest": "sha1:f784fc9499dda6c6d13da34507efa7546368fff3", + "InstalledFiles": [ + "usr/lib/terminfo", + "usr/lib/libncursesw.so.6", + "usr/lib/libmenuw.so.6", + "usr/lib/libformw.so.6", + "usr/lib/libncursesw.so.6.0", + "usr/lib/libformw.so.6.0", + "usr/lib/libpanelw.so.6.0", + "usr/lib/libmenuw.so.6.0", + "usr/lib/libpanelw.so.6" + ] }, { "ID": "ncurses-terminfo@6.0_p20171125-r1", @@ -702,7 +2045,2738 @@ "Digest": "sha256:3d6152f6ac208640f9fb494d1c379fe508db1fc5754cd08fefec200bddd13e0e", "DiffID": "sha256:6408527580eade39c2692dbb6b0f6a9321448d06ea1c2eef06bb7f37da9c5013" }, - "Digest": "sha1:113144a8d7eeb534dc692b66d45ec8ccdd4b972d" + "Digest": "sha1:113144a8d7eeb534dc692b66d45ec8ccdd4b972d", + "InstalledFiles": [ + "usr/share/terminfo/a/att4425", + "usr/share/terminfo/a/avt-w-rv", + "usr/share/terminfo/a/aaa-60", + "usr/share/terminfo/a/avt-rv-ns", + "usr/share/terminfo/a/ampex80", + "usr/share/terminfo/a/atari-color", + "usr/share/terminfo/a/alto-heath", + "usr/share/terminfo/a/apple-videx2", + "usr/share/terminfo/a/att6386", + "usr/share/terminfo/a/apple-80", + "usr/share/terminfo/a/adm2", + "usr/share/terminfo/a/adm5", + "usr/share/terminfo/a/ansi80x30", + "usr/share/terminfo/a/alto-h19", + "usr/share/terminfo/a/aaa-60-rv", + "usr/share/terminfo/a/att2350", + "usr/share/terminfo/a/a80", + "usr/share/terminfo/a/att510a", + "usr/share/terminfo/a/aaa-s", + "usr/share/terminfo/a/att7300", + "usr/share/terminfo/a/amp219", + "usr/share/terminfo/a/att620-103k-w", + "usr/share/terminfo/a/avt-w-ns", + "usr/share/terminfo/a/aj510", + "usr/share/terminfo/a/altos-2", + "usr/share/terminfo/a/avt", + "usr/share/terminfo/a/ansi+sgrul", + "usr/share/terminfo/a/att630", + "usr/share/terminfo/a/att5410", + "usr/share/terminfo/a/att5620-34", + "usr/share/terminfo/a/apple-ae", + "usr/share/terminfo/a/att615", + "usr/share/terminfo/a/abm85e", + "usr/share/terminfo/a/apple-videx3", + "usr/share/terminfo/a/alt7pc", + "usr/share/terminfo/a/ansil-mono", + "usr/share/terminfo/a/addrinfo", + "usr/share/terminfo/a/att5420+nl", + "usr/share/terminfo/a/att620-103k", + "usr/share/terminfo/a/altos5", + "usr/share/terminfo/a/ansi+idl1", + "usr/share/terminfo/a/arm100-am", + "usr/share/terminfo/a/aaa-48", + "usr/share/terminfo/a/abm80", + "usr/share/terminfo/a/adm20", + "usr/share/terminfo/a/avatar1", + "usr/share/terminfo/a/annarbor4080", + "usr/share/terminfo/a/avatar", + "usr/share/terminfo/a/ap-vm80", + "usr/share/terminfo/a/ansi+idl", + "usr/share/terminfo/a/ansi+rep", + "usr/share/terminfo/a/aaa-rv-unk", + "usr/share/terminfo/a/aaa-60-s-rv", + "usr/share/terminfo/a/att615-103k-w", + "usr/share/terminfo/a/ansis-mono", + "usr/share/terminfo/a/att5410v1-w", + "usr/share/terminfo/a/appleIIc", + "usr/share/terminfo/a/apple2e-p", + "usr/share/terminfo/a/adm1", + "usr/share/terminfo/a/aaa-rv", + "usr/share/terminfo/a/ansi-emx", + "usr/share/terminfo/a/aixterm-m-old", + "usr/share/terminfo/a/altos7pc", + "usr/share/terminfo/a/att610", + "usr/share/terminfo/a/att4426", + "usr/share/terminfo/a/avt-w-rv-s", + "usr/share/terminfo/a/att4415+nl", + "usr/share/terminfo/a/ambas", + "usr/share/terminfo/a/aaa-60-s", + "usr/share/terminfo/a/att5320", + "usr/share/terminfo/a/att4425-w", + "usr/share/terminfo/a/at-m", + "usr/share/terminfo/a/att5420-rv-nl", + "usr/share/terminfo/a/att610-w", + "usr/share/terminfo/a/att5620", + "usr/share/terminfo/a/altos2", + "usr/share/terminfo/a/att4415-rv-nl", + "usr/share/terminfo/a/aaa-30-s", + "usr/share/terminfo/a/altos3", + "usr/share/terminfo/a/att5420-nl", + "usr/share/terminfo/a/ansi80x25-raw", + "usr/share/terminfo/a/ampex175-b", + "usr/share/terminfo/a/apple80p", + "usr/share/terminfo/a/att5620-1", + "usr/share/terminfo/a/att5420-w", + "usr/share/terminfo/a/att4418", + "usr/share/terminfo/a/ansi-nt", + "usr/share/terminfo/a/att5420-w-rv-n", + "usr/share/terminfo/a/att5418", + "usr/share/terminfo/a/abm85h", + "usr/share/terminfo/a/amiga", + "usr/share/terminfo/a/att5310", + "usr/share/terminfo/a/aas1901", + "usr/share/terminfo/a/atari_st", + "usr/share/terminfo/a/altos4", + "usr/share/terminfo/a/ansiw", + "usr/share/terminfo/a/ansi+rca", + "usr/share/terminfo/a/att730-41", + "usr/share/terminfo/a/aaa-40-rv", + "usr/share/terminfo/a/att4424", + "usr/share/terminfo/a/att2300", + "usr/share/terminfo/a/att5410v1", + "usr/share/terminfo/a/arm100", + "usr/share/terminfo/a/ansi+local", + "usr/share/terminfo/a/att4415-nl", + "usr/share/terminfo/a/ansi+sgrdim", + "usr/share/terminfo/a/addsvp60", + "usr/share/terminfo/a/ampex-219w", + "usr/share/terminfo/a/act5", + "usr/share/terminfo/a/aaa-60-dec-rv", + "usr/share/terminfo/a/att610-103k-w", + "usr/share/terminfo/a/act4", + "usr/share/terminfo/a/a980", + "usr/share/terminfo/a/ampex219", + "usr/share/terminfo/a/atari_st-color", + "usr/share/terminfo/a/ansi+erase", + "usr/share/terminfo/a/att4424m", + "usr/share/terminfo/a/aaa-30-s-rv", + "usr/share/terminfo/a/att4418-w", + "usr/share/terminfo/a/att615-103k", + "usr/share/terminfo/a/att700", + "usr/share/terminfo/a/ansi-color-3-emx", + "usr/share/terminfo/a/avatar0+", + "usr/share/terminfo/a/atari-old", + "usr/share/terminfo/a/att4425-nl", + "usr/share/terminfo/a/a210", + "usr/share/terminfo/a/ansi", + "usr/share/terminfo/a/ansi+sgrbold", + "usr/share/terminfo/a/altos-4", + "usr/share/terminfo/a/adm12", + "usr/share/terminfo/a/apollo", + "usr/share/terminfo/a/ambassador", + "usr/share/terminfo/a/ansi80x43", + "usr/share/terminfo/a/aaa-22", + "usr/share/terminfo/a/att5420-w-nl", + "usr/share/terminfo/a/att730-24", + "usr/share/terminfo/a/ansi-color-2-emx", + "usr/share/terminfo/a/aaa-30", + "usr/share/terminfo/a/appleII", + "usr/share/terminfo/a/ansi80x60-mono", + "usr/share/terminfo/a/avt-s", + "usr/share/terminfo/a/apple-uterm-vb", + "usr/share/terminfo/a/ampex219w", + "usr/share/terminfo/a/att605-w", + "usr/share/terminfo/a/avatar0", + "usr/share/terminfo/a/aaa-24", + "usr/share/terminfo/a/ampex210", + "usr/share/terminfo/a/att5420_2-w", + "usr/share/terminfo/a/aaa-30-rv", + "usr/share/terminfo/a/ansi-m", + "usr/share/terminfo/a/aa4080", + "usr/share/terminfo/a/at-color", + "usr/share/terminfo/a/att4410v1-w", + "usr/share/terminfo/a/aaa-18-rv", + "usr/share/terminfo/a/apple-soroc", + "usr/share/terminfo/a/altos-3", + "usr/share/terminfo/a/amiga-8bit", + "usr/share/terminfo/a/ansi+pp", + "usr/share/terminfo/a/att510d", + "usr/share/terminfo/a/aaa-30-s-rv-ct", + "usr/share/terminfo/a/att5420-w-rv", + "usr/share/terminfo/a/avt-rv", + "usr/share/terminfo/a/att730", + "usr/share/terminfo/a/adm3a+", + "usr/share/terminfo/a/apple-vm80", + "usr/share/terminfo/a/adm3a", + "usr/share/terminfo/a/ansil", + "usr/share/terminfo/a/att4415-w", + "usr/share/terminfo/a/ansis", + "usr/share/terminfo/a/ansi77", + "usr/share/terminfo/a/aaa-30-ctxt", + "usr/share/terminfo/a/apple-videx", + "usr/share/terminfo/a/aaa+unk", + "usr/share/terminfo/a/alt3", + "usr/share/terminfo/a/adm1178", + "usr/share/terminfo/a/arm100-wam", + "usr/share/terminfo/a/appleIIgs", + "usr/share/terminfo/a/adm21", + "usr/share/terminfo/a/att5430", + "usr/share/terminfo/a/adm42", + "usr/share/terminfo/a/ansi.sys", + "usr/share/terminfo/a/ansi80x25-mono", + "usr/share/terminfo/a/aaa-18", + "usr/share/terminfo/a/att730r-41", + "usr/share/terminfo/a/ansi-mono", + "usr/share/terminfo/a/adm31-old", + "usr/share/terminfo/a/att4415-w-nl", + "usr/share/terminfo/a/altos7", + "usr/share/terminfo/a/apple2e", + "usr/share/terminfo/a/aaa-db", + "usr/share/terminfo/a/ansiterm", + "usr/share/terminfo/a/att620", + "usr/share/terminfo/a/adds980", + "usr/share/terminfo/a/ansi80x50-mono", + "usr/share/terminfo/a/amiga-h", + "usr/share/terminfo/a/aaa-30-rv-ctxt", + "usr/share/terminfo/a/altoheath", + "usr/share/terminfo/a/ansi80x30-mono", + "usr/share/terminfo/a/adm22", + "usr/share/terminfo/a/apollo_color", + "usr/share/terminfo/a/att5420", + "usr/share/terminfo/a/aaa-s-rv-ctxt", + "usr/share/terminfo/a/att5425", + "usr/share/terminfo/a/att4410v1", + "usr/share/terminfo/a/aaa-36-rv", + "usr/share/terminfo/a/avt-w", + "usr/share/terminfo/a/avt-w-s", + "usr/share/terminfo/a/att630-24", + "usr/share/terminfo/a/aaa-s-ctxt", + "usr/share/terminfo/a/att5425-nl", + "usr/share/terminfo/a/aaa-40", + "usr/share/terminfo/a/aj", + "usr/share/terminfo/a/ampex175", + "usr/share/terminfo/a/aj832", + "usr/share/terminfo/a/ansi+sgr", + "usr/share/terminfo/a/aixterm-m", + "usr/share/terminfo/a/adm3", + "usr/share/terminfo/a/att505-24", + "usr/share/terminfo/a/atarist-m", + "usr/share/terminfo/a/ansi-mr", + "usr/share/terminfo/a/aixterm-16color", + "usr/share/terminfo/a/aaa-48-rv", + "usr/share/terminfo/a/aaa+dec", + "usr/share/terminfo/a/ansi-generic", + "usr/share/terminfo/a/avt-ns", + "usr/share/terminfo/a/ansi+csr", + "usr/share/terminfo/a/att4420", + "usr/share/terminfo/a/ansi43m", + "usr/share/terminfo/a/ansi+tabs", + "usr/share/terminfo/a/att5620-24", + "usr/share/terminfo/a/ansi80x25", + "usr/share/terminfo/a/alt2", + "usr/share/terminfo/a/ansi+enq", + "usr/share/terminfo/a/att4424-1", + "usr/share/terminfo/a/att4415", + "usr/share/terminfo/a/att4415-w-rv-n", + "usr/share/terminfo/a/att5420-rv", + "usr/share/terminfo/a/avt-w-rv-ns", + "usr/share/terminfo/a/avt+s", + "usr/share/terminfo/a/aaa-30-s-ctxt", + "usr/share/terminfo/a/addsviewpoint", + "usr/share/terminfo/a/att5410-w", + "usr/share/terminfo/a/ansi80x50", + "usr/share/terminfo/a/aaa-20", + "usr/share/terminfo/a/aaa-rv-ctxt", + "usr/share/terminfo/a/apollo_19L", + "usr/share/terminfo/a/altos-5", + "usr/share/terminfo/a/aj830", + "usr/share/terminfo/a/att4415-w-rv", + "usr/share/terminfo/a/ansisysk", + "usr/share/terminfo/a/att605", + "usr/share/terminfo/a/adm42-ns", + "usr/share/terminfo/a/altoh19", + "usr/share/terminfo/a/ansi.sysk", + "usr/share/terminfo/a/at", + "usr/share/terminfo/a/att5418-w", + "usr/share/terminfo/a/aixterm", + "usr/share/terminfo/a/aepro", + "usr/share/terminfo/a/att615-w", + "usr/share/terminfo/a/appleIIe", + "usr/share/terminfo/a/att500", + "usr/share/terminfo/a/abm85h-old", + "usr/share/terminfo/a/ampex232w", + "usr/share/terminfo/a/adm+sgr", + "usr/share/terminfo/a/aaa-36", + "usr/share/terminfo/a/adm1a", + "usr/share/terminfo/a/ansi+inittabs", + "usr/share/terminfo/a/ansi+idc", + "usr/share/terminfo/a/att730r-24", + "usr/share/terminfo/a/ansi+cup", + "usr/share/terminfo/a/atari-m", + "usr/share/terminfo/a/att4410-w", + "usr/share/terminfo/a/aaa-26", + "usr/share/terminfo/a/ampex-219", + "usr/share/terminfo/a/ampex232", + "usr/share/terminfo/a/ansi+arrows", + "usr/share/terminfo/a/apl", + "usr/share/terminfo/a/ansi+local1", + "usr/share/terminfo/a/ampex-232", + "usr/share/terminfo/a/att513", + "usr/share/terminfo/a/att5425-w", + "usr/share/terminfo/a/att5420_2", + "usr/share/terminfo/a/att730r", + "usr/share/terminfo/a/adm11", + "usr/share/terminfo/a/aaa-24-rv", + "usr/share/terminfo/a/aaa-ctxt", + "usr/share/terminfo/a/att4415-rv", + "usr/share/terminfo/a/aterm", + "usr/share/terminfo/a/ansi+sgrso", + "usr/share/terminfo/a/att620-w", + "usr/share/terminfo/a/amp219w", + "usr/share/terminfo/a/ansi-mini", + "usr/share/terminfo/a/arm100-w", + "usr/share/terminfo/a/aaa-unk", + "usr/share/terminfo/a/att505", + "usr/share/terminfo/a/alt4", + "usr/share/terminfo/a/att610-103k", + "usr/share/terminfo/a/att5620-s", + "usr/share/terminfo/a/at386", + "usr/share/terminfo/a/alt7", + "usr/share/terminfo/a/aaa-28", + "usr/share/terminfo/a/apollo_15P", + "usr/share/terminfo/a/ansi-mtabs", + "usr/share/terminfo/a/awsc", + "usr/share/terminfo/a/ansi.sys-old", + "usr/share/terminfo/a/ansi80x60", + "usr/share/terminfo/a/aaa-s-rv", + "usr/share/terminfo/a/atari", + "usr/share/terminfo/a/att4410", + "usr/share/terminfo/a/aaa", + "usr/share/terminfo/a/aws", + "usr/share/terminfo/a/adm31", + "usr/share/terminfo/a/amiga-vnc", + "usr/share/terminfo/a/aaa+rv", + "usr/share/terminfo/a/abm85", + "usr/share/terminfo/a/apple-uterm", + "usr/share/terminfo/a/adm36", + "usr/share/terminfo/a/ansi80x43-mono", + "usr/share/terminfo/a/alt5", + "usr/share/terminfo/a/avt-rv-s", + "usr/share/terminfo/a/att605-pc", + "usr/share/terminfo/r/regent40", + "usr/share/terminfo/r/rt6221-w", + "usr/share/terminfo/r/rebus3180", + "usr/share/terminfo/r/rbcomm", + "usr/share/terminfo/r/rcons-color", + "usr/share/terminfo/r/rxvt+pcfkeys", + "usr/share/terminfo/r/rxvt-16color", + "usr/share/terminfo/r/rxvt-cygwin-native", + "usr/share/terminfo/r/rt6221", + "usr/share/terminfo/r/rcons", + "usr/share/terminfo/r/rxvt-color", + "usr/share/terminfo/r/regent25", + "usr/share/terminfo/r/regent", + "usr/share/terminfo/r/rxvt-cygwin", + "usr/share/terminfo/r/regent100", + "usr/share/terminfo/r/regent40+", + "usr/share/terminfo/r/rxvt", + "usr/share/terminfo/r/rca", + "usr/share/terminfo/r/rxvt-basic", + "usr/share/terminfo/r/rtpc", + "usr/share/terminfo/r/rbcomm-w", + "usr/share/terminfo/r/rbcomm-nam", + "usr/share/terminfo/r/rxvt-88color", + "usr/share/terminfo/r/rxvt-256color", + "usr/share/terminfo/r/regent60", + "usr/share/terminfo/r/regent20", + "usr/share/terminfo/r/rxvt-xpm", + "usr/share/terminfo/r/regent200", + "usr/share/terminfo/d/d211-7b", + "usr/share/terminfo/d/d413-dg", + "usr/share/terminfo/d/d555-7b-w", + "usr/share/terminfo/d/d430-dg-ccc", + "usr/share/terminfo/d/djgpp204", + "usr/share/terminfo/d/d412+w", + "usr/share/terminfo/d/d462-unix", + "usr/share/terminfo/d/d210-dg", + "usr/share/terminfo/d/d555-7b", + "usr/share/terminfo/d/darwin-90x30", + "usr/share/terminfo/d/dt100w", + "usr/share/terminfo/d/diablo1740-lm", + "usr/share/terminfo/d/d217-unix-25", + "usr/share/terminfo/d/dialogue80", + "usr/share/terminfo/d/d216-unix-25", + "usr/share/terminfo/d/darwin-128x48-m", + "usr/share/terminfo/d/dgmode+color", + "usr/share/terminfo/d/d461-dg", + "usr/share/terminfo/d/d410", + "usr/share/terminfo/d/djgpp203", + "usr/share/terminfo/d/dumb-emacs-ansi", + "usr/share/terminfo/d/dg211", + "usr/share/terminfo/d/d430-unix-sr-ccc", + "usr/share/terminfo/d/dg210", + "usr/share/terminfo/d/d470c-7b", + "usr/share/terminfo/d/d470-dg", + "usr/share/terminfo/d/dw4", + "usr/share/terminfo/d/d411-7b", + "usr/share/terminfo/d/diablo1640-m8", + "usr/share/terminfo/d/darwin-200x64-m", + "usr/share/terminfo/d/dvtm", + "usr/share/terminfo/d/datagraphix", + "usr/share/terminfo/d/darwin-128x40", + "usr/share/terminfo/d/d220", + "usr/share/terminfo/d/d463-unix-w", + "usr/share/terminfo/d/diablo450", + "usr/share/terminfo/d/diablo1620", + "usr/share/terminfo/d/d400", + "usr/share/terminfo/d/d430-unix-25-ccc", + "usr/share/terminfo/d/d412+sr", + "usr/share/terminfo/d/d410-7b-w", + "usr/share/terminfo/d/datamedia2500", + "usr/share/terminfo/d/dg-ansi", + "usr/share/terminfo/d/diablo630", + "usr/share/terminfo/d/dku7202", + "usr/share/terminfo/d/d412-unix-sr", + "usr/share/terminfo/d/dec+pp", + "usr/share/terminfo/d/d216e-dg", + "usr/share/terminfo/d/dg605x", + "usr/share/terminfo/d/darwin-200x75", + "usr/share/terminfo/d/dm3045", + "usr/share/terminfo/d/dg100", + "usr/share/terminfo/d/dmd", + "usr/share/terminfo/d/ddr3180", + "usr/share/terminfo/d/darwin-100x37-m", + "usr/share/terminfo/d/dgunix+ccc", + "usr/share/terminfo/d/d577-7b-w", + "usr/share/terminfo/d/dec-vt330", + "usr/share/terminfo/d/darwin", + "usr/share/terminfo/d/d462+25", + "usr/share/terminfo/d/darwin-256x96-m", + "usr/share/terminfo/d/dgkeys+11", + "usr/share/terminfo/d/d430c-unix-ccc", + "usr/share/terminfo/d/darwin-144x48-m", + "usr/share/terminfo/d/djgpp", + "usr/share/terminfo/d/d413-unix-s", + "usr/share/terminfo/d/d410-w", + "usr/share/terminfo/d/dg200", + "usr/share/terminfo/d/dp3360", + "usr/share/terminfo/d/d216e+dg", + "usr/share/terminfo/d/d412+s", + "usr/share/terminfo/d/dg450", + "usr/share/terminfo/d/d578-7b", + "usr/share/terminfo/d/dg+fixed", + "usr/share/terminfo/d/d217-unix", + "usr/share/terminfo/d/darwin-100x37", + "usr/share/terminfo/d/d464-unix-s", + "usr/share/terminfo/d/dm2500", + "usr/share/terminfo/d/d430c-unix-w-ccc", + "usr/share/terminfo/d/d200-dg", + "usr/share/terminfo/d/d215-dg", + "usr/share/terminfo/d/d217-dg", + "usr/share/terminfo/d/darwin-80x30-m", + "usr/share/terminfo/d/d413-unix", + "usr/share/terminfo/d/darwin-m-b", + "usr/share/terminfo/d/d430c-unix-s-ccc", + "usr/share/terminfo/d/d464-unix-sr", + "usr/share/terminfo/d/darwin-80x25", + "usr/share/terminfo/d/d211-dg", + "usr/share/terminfo/d/dw3", + "usr/share/terminfo/d/d464-unix", + "usr/share/terminfo/d/d413-unix-25", + "usr/share/terminfo/d/darwin-160x64-m", + "usr/share/terminfo/d/dmchat", + "usr/share/terminfo/d/dm3025", + "usr/share/terminfo/d/dtterm", + "usr/share/terminfo/d/d132", + "usr/share/terminfo/d/d430-dg", + "usr/share/terminfo/d/d470c-dg", + "usr/share/terminfo/d/d400-dg", + "usr/share/terminfo/d/d220-7b", + "usr/share/terminfo/d/d410-7b", + "usr/share/terminfo/d/dg6053", + "usr/share/terminfo/d/d230", + "usr/share/terminfo/d/d412-unix-25", + "usr/share/terminfo/d/dmd1", + "usr/share/terminfo/d/d462+dg", + "usr/share/terminfo/d/dp8242", + "usr/share/terminfo/d/dw2", + "usr/share/terminfo/d/darwin-160x64", + "usr/share/terminfo/d/dec+sl", + "usr/share/terminfo/d/dku7103-sna", + "usr/share/terminfo/d/d463-unix", + "usr/share/terminfo/d/dgkeys+7b", + "usr/share/terminfo/d/diablo1740", + "usr/share/terminfo/d/ds40-2", + "usr/share/terminfo/d/dwk-vt", + "usr/share/terminfo/d/d462-unix-s", + "usr/share/terminfo/d/d414-unix-w", + "usr/share/terminfo/d/d430-unix", + "usr/share/terminfo/d/diablo1640", + "usr/share/terminfo/d/d577-w", + "usr/share/terminfo/d/dt80-sas", + "usr/share/terminfo/d/diablo1620-m8", + "usr/share/terminfo/d/darwin-90x30-m", + "usr/share/terminfo/d/d200", + "usr/share/terminfo/d/ds40", + "usr/share/terminfo/d/darwin-200x64", + "usr/share/terminfo/d/d450", + "usr/share/terminfo/d/dg460-ansi", + "usr/share/terminfo/d/dgunix+fixed", + "usr/share/terminfo/d/d80", + "usr/share/terminfo/d/d461-w", + "usr/share/terminfo/d/d470", + "usr/share/terminfo/d/darwin-f2", + "usr/share/terminfo/d/darwin-128x40-m", + "usr/share/terminfo/d/d216-unix", + "usr/share/terminfo/d/d577-7b", + "usr/share/terminfo/d/d412+25", + "usr/share/terminfo/d/dt80", + "usr/share/terminfo/d/d463-unix-s", + "usr/share/terminfo/d/d216+25", + "usr/share/terminfo/d/d462e-dg", + "usr/share/terminfo/d/d214-dg", + "usr/share/terminfo/d/d430c-unix-25", + "usr/share/terminfo/d/darwin-m-f", + "usr/share/terminfo/d/dec-vt400", + "usr/share/terminfo/d/dwk", + "usr/share/terminfo/d/d430c-dg-ccc", + "usr/share/terminfo/d/d462-unix-w", + "usr/share/terminfo/d/d411-w", + "usr/share/terminfo/d/d460-7b", + "usr/share/terminfo/d/d414-unix-25", + "usr/share/terminfo/d/darwin-144x48", + "usr/share/terminfo/d/dku7102-sna", + "usr/share/terminfo/d/d460-dg", + "usr/share/terminfo/d/d430c-unix-w", + "usr/share/terminfo/d/d470-7b", + "usr/share/terminfo/d/diablo1720", + "usr/share/terminfo/d/dm1521", + "usr/share/terminfo/d/d411", + "usr/share/terminfo/d/dgkeys+15", + "usr/share/terminfo/d/d578-dg", + "usr/share/terminfo/d/d413-unix-w", + "usr/share/terminfo/d/darwin-f", + "usr/share/terminfo/d/d410-dg", + "usr/share/terminfo/d/d577", + "usr/share/terminfo/d/d220-dg", + "usr/share/terminfo/d/decpro", + "usr/share/terminfo/d/d555-w", + "usr/share/terminfo/d/dg6134", + "usr/share/terminfo/d/d430c-unix-sr", + "usr/share/terminfo/d/d461-7b", + "usr/share/terminfo/d/d2", + "usr/share/terminfo/d/d414-unix-sr", + "usr/share/terminfo/d/d462+s", + "usr/share/terminfo/d/diablo", + "usr/share/terminfo/d/d216-dg", + "usr/share/terminfo/d/dg+color", + "usr/share/terminfo/d/decansi", + "usr/share/terminfo/d/d450-dg", + "usr/share/terminfo/d/dm80w", + "usr/share/terminfo/d/ddr", + "usr/share/terminfo/d/diablo1640-lm", + "usr/share/terminfo/d/diablo-lm", + "usr/share/terminfo/d/d430-unix-s", + "usr/share/terminfo/d/d412+dg", + "usr/share/terminfo/d/d216e-unix", + "usr/share/terminfo/d/dmdt80", + "usr/share/terminfo/d/dgmode+color8", + "usr/share/terminfo/d/dw", + "usr/share/terminfo/d/dtc382", + "usr/share/terminfo/d/d464-unix-25", + "usr/share/terminfo/d/darwin-112x37", + "usr/share/terminfo/d/darwin-80x25-m", + "usr/share/terminfo/d/d430-unix-25", + "usr/share/terminfo/d/d578", + "usr/share/terminfo/d/dmterm", + "usr/share/terminfo/d/d800", + "usr/share/terminfo/d/dec-vt100", + "usr/share/terminfo/d/darwin-128x48", + "usr/share/terminfo/d/d414-unix", + "usr/share/terminfo/d/dt-100", + "usr/share/terminfo/d/decwriter", + "usr/share/terminfo/d/d210", + "usr/share/terminfo/d/dt80w", + "usr/share/terminfo/d/d460", + "usr/share/terminfo/d/d462+sr", + "usr/share/terminfo/d/d216+", + "usr/share/terminfo/d/d430-unix-w", + "usr/share/terminfo/d/dd5000", + "usr/share/terminfo/d/dumb", + "usr/share/terminfo/d/dialogue", + "usr/share/terminfo/d/dm1520", + "usr/share/terminfo/d/d430c-unix-s", + "usr/share/terminfo/d/d411-dg", + "usr/share/terminfo/d/d230-dg", + "usr/share/terminfo/d/dw1", + "usr/share/terminfo/d/darwin-256x96", + "usr/share/terminfo/d/d462-dg", + "usr/share/terminfo/d/d555", + "usr/share/terminfo/d/datapoint", + "usr/share/terminfo/d/dvtm-256color", + "usr/share/terminfo/d/d460-w", + "usr/share/terminfo/d/d430c-unix", + "usr/share/terminfo/d/d215", + "usr/share/terminfo/d/d463-unix-sr", + "usr/share/terminfo/d/dku7003-dumb", + "usr/share/terminfo/d/d463-unix-25", + "usr/share/terminfo/d/d430c-dg", + "usr/share/terminfo/d/d214", + "usr/share/terminfo/d/dm80", + "usr/share/terminfo/d/dataspeed40", + "usr/share/terminfo/d/d462+w", + "usr/share/terminfo/d/delta", + "usr/share/terminfo/d/darwin-80x30", + "usr/share/terminfo/d/d463-dg", + "usr/share/terminfo/d/d230c-dg", + "usr/share/terminfo/d/dku7003", + "usr/share/terminfo/d/dec-vt340", + "usr/share/terminfo/d/diablo1730", + "usr/share/terminfo/d/d462-unix-25", + "usr/share/terminfo/d/darwin-112x37-m", + "usr/share/terminfo/d/d460-7b-w", + "usr/share/terminfo/d/dec-vt220", + "usr/share/terminfo/d/d211", + "usr/share/terminfo/d/digilog", + "usr/share/terminfo/d/d462+", + "usr/share/terminfo/d/d412-dg", + "usr/share/terminfo/d/dku7102", + "usr/share/terminfo/d/dg6053-old", + "usr/share/terminfo/d/d216+dg", + "usr/share/terminfo/d/dmdt80w", + "usr/share/terminfo/d/d430-unix-sr", + "usr/share/terminfo/d/d412-unix", + "usr/share/terminfo/d/dt-100w", + "usr/share/terminfo/d/d216e+", + "usr/share/terminfo/d/darwin-m", + "usr/share/terminfo/d/d430-unix-ccc", + "usr/share/terminfo/d/dmd-34", + "usr/share/terminfo/d/d461", + "usr/share/terminfo/d/d2-dg", + "usr/share/terminfo/d/d430c-unix-sr-ccc", + "usr/share/terminfo/d/d555-dg", + "usr/share/terminfo/d/d464-unix-w", + "usr/share/terminfo/d/d412-unix-w", + "usr/share/terminfo/d/d430-unix-w-ccc", + "usr/share/terminfo/d/d414-unix-s", + "usr/share/terminfo/d/dt100", + "usr/share/terminfo/d/dg+color8", + "usr/share/terminfo/d/dmd-24", + "usr/share/terminfo/d/d430-unix-s-ccc", + "usr/share/terminfo/d/d470c", + "usr/share/terminfo/d/dgkeys+8b", + "usr/share/terminfo/d/darwin-200x75-m", + "usr/share/terminfo/d/d411-7b-w", + "usr/share/terminfo/d/dg+ccc", + "usr/share/terminfo/d/darwin-b", + "usr/share/terminfo/d/d412+", + "usr/share/terminfo/d/dg-generic", + "usr/share/terminfo/d/d577-dg", + "usr/share/terminfo/d/dt110", + "usr/share/terminfo/d/d430c-unix-25-ccc", + "usr/share/terminfo/d/dtc300s", + "usr/share/terminfo/d/d412-unix-s", + "usr/share/terminfo/d/d413-unix-sr", + "usr/share/terminfo/d/d215-7b", + "usr/share/terminfo/d/d230c", + "usr/share/terminfo/d/d462-unix-sr", + "usr/share/terminfo/d/d461-7b-w", + "usr/share/terminfo/d/darwin-m-f2", + "usr/share/terminfo/d/dku7102-old", + "usr/share/terminfo/b/b-128", + "usr/share/terminfo/b/bq300-8-pc-w-rv", + "usr/share/terminfo/b/basis", + "usr/share/terminfo/b/bsdos-pc", + "usr/share/terminfo/b/bh4", + "usr/share/terminfo/b/bq300-8", + "usr/share/terminfo/b/bg3.10", + "usr/share/terminfo/b/beehive", + "usr/share/terminfo/b/bg2.0rv", + "usr/share/terminfo/b/basic4", + "usr/share/terminfo/b/bq300", + "usr/share/terminfo/b/bsdos-pc-m", + "usr/share/terminfo/b/bq300-pc-w", + "usr/share/terminfo/b/beehiveIIIm", + "usr/share/terminfo/b/bq300-rv", + "usr/share/terminfo/b/bg3.10nv", + "usr/share/terminfo/b/bq300-pc-rv", + "usr/share/terminfo/b/bobcat", + "usr/share/terminfo/b/bee", + "usr/share/terminfo/b/bg1.25rv", + "usr/share/terminfo/b/bq300-8rv", + "usr/share/terminfo/b/bct510a", + "usr/share/terminfo/b/bsdos-pc-mono", + "usr/share/terminfo/b/bg1.25nv", + "usr/share/terminfo/b/bh3m", + "usr/share/terminfo/b/bsdos-ppc", + "usr/share/terminfo/b/beehive4", + "usr/share/terminfo/b/bg3.10rv", + "usr/share/terminfo/b/bg1.25", + "usr/share/terminfo/b/bq300-8-pc-w", + "usr/share/terminfo/b/bq300-w", + "usr/share/terminfo/b/bg2.0", + "usr/share/terminfo/b/bq300-8-pc", + "usr/share/terminfo/b/bct510d", + "usr/share/terminfo/b/bg2.0nv", + "usr/share/terminfo/b/bq300-8w", + "usr/share/terminfo/b/beterm", + "usr/share/terminfo/b/bq300-8-pc-rv", + "usr/share/terminfo/b/bq300-w-8rv", + "usr/share/terminfo/b/beacon", + "usr/share/terminfo/b/bsdos-sparc", + "usr/share/terminfo/b/bantam", + "usr/share/terminfo/b/bterm", + "usr/share/terminfo/b/bq300-pc", + "usr/share/terminfo/b/blit", + "usr/share/terminfo/b/bsdos-pc-nobold", + "usr/share/terminfo/b/beehive3", + "usr/share/terminfo/b/bitgraph", + "usr/share/terminfo/b/bq300-w-rv", + "usr/share/terminfo/b/bq300-pc-w-rv", + "usr/share/terminfo/w/wy160-wvb", + "usr/share/terminfo/w/wyse370", + "usr/share/terminfo/w/wyse185-wvb", + "usr/share/terminfo/w/wy520-48pc", + "usr/share/terminfo/w/wy30-vb", + "usr/share/terminfo/w/wy520-48wpc", + "usr/share/terminfo/w/wyse60-25", + "usr/share/terminfo/w/wyse150", + "usr/share/terminfo/w/wy30-mc", + "usr/share/terminfo/w/wyse325-25", + "usr/share/terminfo/w/wy60-wvb", + "usr/share/terminfo/w/wyse520-48", + "usr/share/terminfo/w/wy75-wvb", + "usr/share/terminfo/w/wy120-w-vb", + "usr/share/terminfo/w/wy160-25-w", + "usr/share/terminfo/w/wyse99gt", + "usr/share/terminfo/w/wyse185-vb", + "usr/share/terminfo/w/wyse350-w", + "usr/share/terminfo/w/wyse520-36pc", + "usr/share/terminfo/w/wy325-w-vb", + "usr/share/terminfo/w/wy99fgt", + "usr/share/terminfo/w/wy75ap", + "usr/share/terminfo/w/wyse99gt-25", + "usr/share/terminfo/w/wyse350-wvb", + "usr/share/terminfo/w/wy85", + "usr/share/terminfo/w/wy370-101k", + "usr/share/terminfo/w/wy50-wvb", + "usr/share/terminfo/w/wyse60-42", + "usr/share/terminfo/w/wy99a-ansi", + "usr/share/terminfo/w/wyse520-36", + "usr/share/terminfo/w/wyse85-8bit", + "usr/share/terminfo/w/wyse520-48wpc", + "usr/share/terminfo/w/wy60-vb", + "usr/share/terminfo/w/wyse60-43", + "usr/share/terminfo/w/wy99fgta", + "usr/share/terminfo/w/wy325", + "usr/share/terminfo/w/wy-99fgta", + "usr/share/terminfo/w/wyse520-36wpc", + "usr/share/terminfo/w/wy60-43", + "usr/share/terminfo/w/wyse50-w", + "usr/share/terminfo/w/wyse60-25-w", + "usr/share/terminfo/w/wyse160-43", + "usr/share/terminfo/w/wyse325", + "usr/share/terminfo/w/wy350", + "usr/share/terminfo/w/wyse99gt-25-w", + "usr/share/terminfo/w/wyse120-wvb", + "usr/share/terminfo/w/wy85-w", + "usr/share/terminfo/w/wy85-vb", + "usr/share/terminfo/w/wyse120-25-w", + "usr/share/terminfo/w/wyse520-p-wvb", + "usr/share/terminfo/w/wsvt25m", + "usr/share/terminfo/w/wy370-wvb", + "usr/share/terminfo/w/wy120-vb", + "usr/share/terminfo/w/wyse520-vb", + "usr/share/terminfo/w/wyse75-wvb", + "usr/share/terminfo/w/wy99fa", + "usr/share/terminfo/w/wy99gt-wvb", + "usr/share/terminfo/w/wyse520-24", + "usr/share/terminfo/w/wy99gt-25", + "usr/share/terminfo/w/wyse-325", + "usr/share/terminfo/w/wyse99gt-wvb", + "usr/share/terminfo/w/wy99f", + "usr/share/terminfo/w/wy75-mc", + "usr/share/terminfo/w/wy60-w-vb", + "usr/share/terminfo/w/wy75-w", + "usr/share/terminfo/w/wy520-36w", + "usr/share/terminfo/w/wy99gt-w-vb", + "usr/share/terminfo/w/wyse99gt-vb", + "usr/share/terminfo/w/wy520-epc-vb", + "usr/share/terminfo/w/wyse85", + "usr/share/terminfo/w/wy160-w-vb", + "usr/share/terminfo/w/wy520-36pc", + "usr/share/terminfo/w/wyse185", + "usr/share/terminfo/w/wyse120", + "usr/share/terminfo/w/wy325-80", + "usr/share/terminfo/w/wyse325-w", + "usr/share/terminfo/w/wy120-25-w", + "usr/share/terminfo/w/wy350-vb", + "usr/share/terminfo/w/wy99gt-w", + "usr/share/terminfo/w/wyse325-wvb", + "usr/share/terminfo/w/wy160-43-w", + "usr/share/terminfo/w/wyse150-w", + "usr/share/terminfo/w/wy99gt", + "usr/share/terminfo/w/wy160", + "usr/share/terminfo/w/wyse85-w", + "usr/share/terminfo/w/wyse60-wvb", + "usr/share/terminfo/w/wyse520-36w", + "usr/share/terminfo/w/wyse30-mc", + "usr/share/terminfo/w/wy60-42", + "usr/share/terminfo/w/wyse50-wvb", + "usr/share/terminfo/w/wyse150-vb", + "usr/share/terminfo/w/wyse85-wvb", + "usr/share/terminfo/w/wyse160-vb", + "usr/share/terminfo/w/wyse185-24", + "usr/share/terminfo/w/wy325-43wvb", + "usr/share/terminfo/w/wyse99gt-w", + "usr/share/terminfo/w/wyse60-PC", + "usr/share/terminfo/w/wy520-epc-w", + "usr/share/terminfo/w/wy50-vb", + "usr/share/terminfo/w/wy520-vb", + "usr/share/terminfo/w/wyse325-vb", + "usr/share/terminfo/w/wy370-vb", + "usr/share/terminfo/w/wy60-AT", + "usr/share/terminfo/w/wy325-42w-vb", + "usr/share/terminfo/w/wyse325-42", + "usr/share/terminfo/w/wyse325-43w", + "usr/share/terminfo/w/wyse30", + "usr/share/terminfo/w/wy30", + "usr/share/terminfo/w/wy60-43-w", + "usr/share/terminfo/w/wy-75ap", + "usr/share/terminfo/w/wy350-w", + "usr/share/terminfo/w/wy85-8bit", + "usr/share/terminfo/w/wy325w-24", + "usr/share/terminfo/w/wy100q", + "usr/share/terminfo/w/wyse520-w", + "usr/share/terminfo/w/wy370-tek", + "usr/share/terminfo/w/wy150-25-w", + "usr/share/terminfo/w/wy325-43", + "usr/share/terminfo/w/wy520-epc", + "usr/share/terminfo/w/wyse60", + "usr/share/terminfo/w/wyse160-25-w", + "usr/share/terminfo/w/wyse60-42-w", + "usr/share/terminfo/w/wyse520-48pc", + "usr/share/terminfo/w/wyse120-vb", + "usr/share/terminfo/w/wyse60-43-w", + "usr/share/terminfo/w/wyse60-vb", + "usr/share/terminfo/w/wyse85-vb", + "usr/share/terminfo/w/wsvt25", + "usr/share/terminfo/w/wyse75ap", + "usr/share/terminfo/w/wy99gt-tek", + "usr/share/terminfo/w/wy60", + "usr/share/terminfo/w/wyse150-25-w", + "usr/share/terminfo/w/wy160-43", + "usr/share/terminfo/w/wyse520-pc-24", + "usr/share/terminfo/w/wy520-36wpc", + "usr/share/terminfo/w/wy325-w", + "usr/share/terminfo/w/wyse325-25w", + "usr/share/terminfo/w/wrenw", + "usr/share/terminfo/w/wy50-w", + "usr/share/terminfo/w/wy185-24", + "usr/share/terminfo/w/wyse160", + "usr/share/terminfo/w/wyse75-mc", + "usr/share/terminfo/w/wy60-42-w", + "usr/share/terminfo/w/wy120-wvb", + "usr/share/terminfo/w/wy520", + "usr/share/terminfo/w/wy-99fgt", + "usr/share/terminfo/w/wyse75-w", + "usr/share/terminfo/w/wy350-wvb", + "usr/share/terminfo/w/wy325-25w", + "usr/share/terminfo/w/wyse-75ap", + "usr/share/terminfo/w/wy60-25", + "usr/share/terminfo/w/wy520-wvb", + "usr/share/terminfo/w/wy325-vb", + "usr/share/terminfo/w/wy325-43w", + "usr/share/terminfo/w/wyse75", + "usr/share/terminfo/w/wy160-42", + "usr/share/terminfo/w/wsiris", + "usr/share/terminfo/w/wyse50-vb", + "usr/share/terminfo/w/wy520-epc-wvb", + "usr/share/terminfo/w/wy150-w", + "usr/share/terminfo/w/wyse185-w", + "usr/share/terminfo/w/wy370", + "usr/share/terminfo/w/wy120", + "usr/share/terminfo/w/wyse160-43-w", + "usr/share/terminfo/w/wy100", + "usr/share/terminfo/w/wyse325-42w", + "usr/share/terminfo/w/wy520-24", + "usr/share/terminfo/w/wyse350-vb", + "usr/share/terminfo/w/wyse120-w", + "usr/share/terminfo/w/wy370-nk", + "usr/share/terminfo/w/wy325-43w-vb", + "usr/share/terminfo/w/wy370-EPC", + "usr/share/terminfo/w/wy99gt-25-w", + "usr/share/terminfo/w/wyse30-vb", + "usr/share/terminfo/w/wy160-tek", + "usr/share/terminfo/w/wy75-vb", + "usr/share/terminfo/w/wy325-42w", + "usr/share/terminfo/w/wyse60-AT", + "usr/share/terminfo/w/wyse60-w", + "usr/share/terminfo/w/wyse520-epc", + "usr/share/terminfo/w/wyse-vp", + "usr/share/terminfo/w/wy85-wvb", + "usr/share/terminfo/w/wy150-w-vb", + "usr/share/terminfo/w/wy520-48w", + "usr/share/terminfo/w/wyse120-25", + "usr/share/terminfo/w/wyse75-vb", + "usr/share/terminfo/w/wyse50-mc", + "usr/share/terminfo/w/wyse160-w", + "usr/share/terminfo/w/wy325-42wvb", + "usr/share/terminfo/w/wyse520-pc-vb", + "usr/share/terminfo/w/wy325-25", + "usr/share/terminfo/w/wy370-w", + "usr/share/terminfo/w/wyse150-25", + "usr/share/terminfo/w/wyse520-wvb", + "usr/share/terminfo/w/wyse520-48w", + "usr/share/terminfo/w/wy50-mc", + "usr/share/terminfo/w/wyse150-w-vb", + "usr/share/terminfo/w/wy185-wvb", + "usr/share/terminfo/w/wy160-vb", + "usr/share/terminfo/w/wy120-w", + "usr/share/terminfo/w/wyse520", + "usr/share/terminfo/w/wy185-vb", + "usr/share/terminfo/w/wy520-36", + "usr/share/terminfo/w/wy60-25-w", + "usr/share/terminfo/w/wy150-vb", + "usr/share/terminfo/w/wyse160-42-w", + "usr/share/terminfo/w/wy160-w", + "usr/share/terminfo/w/wyse520-epc-w", + "usr/share/terminfo/w/wyse160-25", + "usr/share/terminfo/w/wy120-25", + "usr/share/terminfo/w/wyse50", + "usr/share/terminfo/w/wren", + "usr/share/terminfo/w/wy50", + "usr/share/terminfo/w/wyse160-42", + "usr/share/terminfo/w/wy150", + "usr/share/terminfo/w/wy99gt-vb", + "usr/share/terminfo/w/wy60-316X", + "usr/share/terminfo/w/wy370-105k", + "usr/share/terminfo/w/wyse160-wvb", + "usr/share/terminfo/w/wy160-25", + "usr/share/terminfo/w/wy185", + "usr/share/terminfo/w/wy370-rv", + "usr/share/terminfo/w/wy520-epc-24", + "usr/share/terminfo/w/wy60-PC", + "usr/share/terminfo/w/wyse60-316X", + "usr/share/terminfo/w/wy520-48", + "usr/share/terminfo/w/wy99-ansi", + "usr/share/terminfo/w/wy150-25", + "usr/share/terminfo/w/wy185-w", + "usr/share/terminfo/w/wy60-w", + "usr/share/terminfo/w/wy160-42-w", + "usr/share/terminfo/w/wy325-42", + "usr/share/terminfo/w/wyse350", + "usr/share/terminfo/w/wy325-wvb", + "usr/share/terminfo/w/wyse325-43", + "usr/share/terminfo/w/wy75", + "usr/share/terminfo/w/wy520-w", + "usr/share/terminfo/E/Eterm-color", + "usr/share/terminfo/E/Eterm-256color", + "usr/share/terminfo/E/Eterm", + "usr/share/terminfo/E/Eterm-88color", + "usr/share/terminfo/t/tek4014", + "usr/share/terminfo/t/tvi912b-vb-unk", + "usr/share/terminfo/t/tvi920", + "usr/share/terminfo/t/tvi912c-vb-unk", + "usr/share/terminfo/t/tek4112-5", + "usr/share/terminfo/t/tvi912b-p", + "usr/share/terminfo/t/tty5410", + "usr/share/terminfo/t/tandem6510", + "usr/share/terminfo/t/ti928", + "usr/share/terminfo/t/tek4025-17-ws", + "usr/share/terminfo/t/ti916-8-132", + "usr/share/terminfo/t/tt505-22", + "usr/share/terminfo/t/tmux-256color", + "usr/share/terminfo/t/tvi912c-unk", + "usr/share/terminfo/t/tvi955-hb", + "usr/share/terminfo/t/tty5410v1-w", + "usr/share/terminfo/t/tvi92D", + "usr/share/terminfo/t/tvi912c-unk-vb", + "usr/share/terminfo/t/tvi925-hi", + "usr/share/terminfo/t/tek4025ex", + "usr/share/terminfo/t/tek4015-sm", + "usr/share/terminfo/t/tty4420", + "usr/share/terminfo/t/ts100-ctxt", + "usr/share/terminfo/t/tek4106brl", + "usr/share/terminfo/t/tvi912b+2p", + "usr/share/terminfo/t/tvi920b-unk-vb", + "usr/share/terminfo/t/tty5420-w", + "usr/share/terminfo/t/tty5420-w-nl", + "usr/share/terminfo/t/tvi920c-vb-p", + "usr/share/terminfo/t/tvi910+", + "usr/share/terminfo/t/tty5620-1", + "usr/share/terminfo/t/ti926", + "usr/share/terminfo/t/tvi912b", + "usr/share/terminfo/t/tty5420-w-rv", + "usr/share/terminfo/t/tvi920b-mc-2p", + "usr/share/terminfo/t/tvi912b-p-vb", + "usr/share/terminfo/t/tek", + "usr/share/terminfo/t/tvi920b-unk", + "usr/share/terminfo/t/tvi803", + "usr/share/terminfo/t/tvi912c", + "usr/share/terminfo/t/tvi912c-mc-vb", + "usr/share/terminfo/t/teraterm", + "usr/share/terminfo/t/tab132-15", + "usr/share/terminfo/t/ts1", + "usr/share/terminfo/t/tek4025a", + "usr/share/terminfo/t/tty37", + "usr/share/terminfo/t/tek4014-sm", + "usr/share/terminfo/t/ti916-8", + "usr/share/terminfo/t/ti924w", + "usr/share/terminfo/t/tek4112-nd", + "usr/share/terminfo/t/tvi912c-unk-2p", + "usr/share/terminfo/t/tvi9065", + "usr/share/terminfo/t/tvi950-rv-4p", + "usr/share/terminfo/t/tvi970-2p", + "usr/share/terminfo/t/ti_ansi", + "usr/share/terminfo/t/tandem653", + "usr/share/terminfo/t/tvi920c-2p-unk", + "usr/share/terminfo/t/tvi912c-mc", + "usr/share/terminfo/t/tvi912b-vb-p", + "usr/share/terminfo/t/tty5410v1", + "usr/share/terminfo/t/tty5620-34", + "usr/share/terminfo/t/tty5420-nl", + "usr/share/terminfo/t/tek4113-34", + "usr/share/terminfo/t/tty4424", + "usr/share/terminfo/t/tek4113", + "usr/share/terminfo/t/tn1200", + "usr/share/terminfo/t/tab132-w-rv", + "usr/share/terminfo/t/terminet300", + "usr/share/terminfo/t/tvi950-rv", + "usr/share/terminfo/t/ti800", + "usr/share/terminfo/t/ts1p", + "usr/share/terminfo/t/ti924", + "usr/share/terminfo/t/tws2103", + "usr/share/terminfo/t/tw52-m", + "usr/share/terminfo/t/tvi920c-p", + "usr/share/terminfo/t/tek4207-s", + "usr/share/terminfo/t/tvi920c-mc-2p", + "usr/share/terminfo/t/teken", + "usr/share/terminfo/t/ti745", + "usr/share/terminfo/t/tvi920b-2p-p", + "usr/share/terminfo/t/tty5420+nl", + "usr/share/terminfo/t/tvi955", + "usr/share/terminfo/t/tvi912b-p-2p", + "usr/share/terminfo/t/tek4025", + "usr/share/terminfo/t/tvi912b-2p-mc", + "usr/share/terminfo/t/tvi970", + "usr/share/terminfo/t/tek4013", + "usr/share/terminfo/t/ti931", + "usr/share/terminfo/t/teraterm4.59", + "usr/share/terminfo/t/tt52", + "usr/share/terminfo/t/tvi950-rv-2p", + "usr/share/terminfo/t/tty35", + "usr/share/terminfo/t/trs16", + "usr/share/terminfo/t/tvi955-w", + "usr/share/terminfo/t/ts100-sp", + "usr/share/terminfo/t/tvi912b-unk-vb", + "usr/share/terminfo/t/tvi920b+fn", + "usr/share/terminfo/t/tty43", + "usr/share/terminfo/t/ti924-8", + "usr/share/terminfo/t/tvi920b-unk-2p", + "usr/share/terminfo/t/terminet1200", + "usr/share/terminfo/t/tvi912c-vb-mc", + "usr/share/terminfo/t/tek4025-cr", + "usr/share/terminfo/t/tvi912c-2p", + "usr/share/terminfo/t/tvi920b-2p-mc", + "usr/share/terminfo/t/tvi970-vb", + "usr/share/terminfo/t/tek4112", + "usr/share/terminfo/t/ts-1", + "usr/share/terminfo/t/tws2102-sna", + "usr/share/terminfo/t/tty5425-nl", + "usr/share/terminfo/t/tek4107", + "usr/share/terminfo/t/terminology-0.6.1", + "usr/share/terminfo/t/tvi920c", + "usr/share/terminfo/t/ti928-8", + "usr/share/terminfo/t/tty4424m", + "usr/share/terminfo/t/tvi920c-p-2p", + "usr/share/terminfo/t/tws2103-sna", + "usr/share/terminfo/t/tek4105", + "usr/share/terminfo/t/ti735", + "usr/share/terminfo/t/tvi912c-mc-2p", + "usr/share/terminfo/t/tvi912b+printer", + "usr/share/terminfo/t/tty5425-w", + "usr/share/terminfo/t/ti916-132", + "usr/share/terminfo/t/tek4205", + "usr/share/terminfo/t/tn300", + "usr/share/terminfo/t/t10", + "usr/share/terminfo/t/tvi920b-2p-unk", + "usr/share/terminfo/t/tvi920c-2p-mc", + "usr/share/terminfo/t/tek4015", + "usr/share/terminfo/t/ti916-220-8", + "usr/share/terminfo/t/tvi925", + "usr/share/terminfo/t/tek4107brl", + "usr/share/terminfo/t/t3800", + "usr/share/terminfo/t/tab132", + "usr/share/terminfo/t/tvi912c-vb-p", + "usr/share/terminfo/t/tty5420", + "usr/share/terminfo/t/tvi912b-2p", + "usr/share/terminfo/t/tab132-w", + "usr/share/terminfo/t/tty4424-1", + "usr/share/terminfo/t/tek4115", + "usr/share/terminfo/t/tvi912b-2p-p", + "usr/share/terminfo/t/t16", + "usr/share/terminfo/t/tvi920b-p-vb", + "usr/share/terminfo/t/tty5420-rv-nl", + "usr/share/terminfo/t/tvi912cc", + "usr/share/terminfo/t/tek4105-30", + "usr/share/terminfo/t/tvi920b-vb-unk", + "usr/share/terminfo/t/terminator", + "usr/share/terminfo/t/tab", + "usr/share/terminfo/t/tvi912c-p", + "usr/share/terminfo/t/tvi920b-vb", + "usr/share/terminfo/t/tty4426", + "usr/share/terminfo/t/trs80II", + "usr/share/terminfo/t/tvi912c-2p-p", + "usr/share/terminfo/t/tvi914", + "usr/share/terminfo/t/tvi912b-vb", + "usr/share/terminfo/t/ti924-8w", + "usr/share/terminfo/t/tty33", + "usr/share/terminfo/t/tvi920c-vb-unk", + "usr/share/terminfo/t/tvi920c-mc-vb", + "usr/share/terminfo/t/tek4025-ex", + "usr/share/terminfo/t/ttydmd", + "usr/share/terminfo/t/tvi920c-2p", + "usr/share/terminfo/t/tvi920c-unk-vb", + "usr/share/terminfo/t/tek4114", + "usr/share/terminfo/t/tek4125", + "usr/share/terminfo/t/t1061f", + "usr/share/terminfo/t/tek4109brl", + "usr/share/terminfo/t/tvi912c-p-2p", + "usr/share/terminfo/t/tvi920b-p", + "usr/share/terminfo/t/tek4023", + "usr/share/terminfo/t/tab132-rv", + "usr/share/terminfo/t/tvi912b-mc-vb", + "usr/share/terminfo/t/tvi920b-vb-p", + "usr/share/terminfo/t/teletec", + "usr/share/terminfo/t/teleray", + "usr/share/terminfo/t/tvi910", + "usr/share/terminfo/t/tvi920b-2p", + "usr/share/terminfo/t/tty5620-s", + "usr/share/terminfo/t/tvi920b-mc", + "usr/share/terminfo/t/tvi912b+dim", + "usr/share/terminfo/t/tvi950-4p", + "usr/share/terminfo/t/tty40", + "usr/share/terminfo/t/tvi920c-vb-mc", + "usr/share/terminfo/t/tvi920b", + "usr/share/terminfo/t/tvi912c-2p-unk", + "usr/share/terminfo/t/tvi920c-unk", + "usr/share/terminfo/t/tek4113-nd", + "usr/share/terminfo/t/terminology-1.0.0", + "usr/share/terminfo/t/ts100", + "usr/share/terminfo/t/tek4012", + "usr/share/terminfo/t/ts-1p", + "usr/share/terminfo/t/t653x", + "usr/share/terminfo/t/tek4024", + "usr/share/terminfo/t/tkterm", + "usr/share/terminfo/t/tvi912b+vb", + "usr/share/terminfo/t/tw52", + "usr/share/terminfo/t/teraterm2.3", + "usr/share/terminfo/t/tty5425", + "usr/share/terminfo/t/tvi912c-vb", + "usr/share/terminfo/t/tek4027-ex", + "usr/share/terminfo/t/ti916-220-7", + "usr/share/terminfo/t/tvi912b-mc", + "usr/share/terminfo/t/tvi912b-mc-2p", + "usr/share/terminfo/t/tw100", + "usr/share/terminfo/t/trs2", + "usr/share/terminfo/t/tvi912c-2p-mc", + "usr/share/terminfo/t/terminology", + "usr/share/terminfo/t/tek4404", + "usr/share/terminfo/t/tws-generic", + "usr/share/terminfo/t/tty5620-24", + "usr/share/terminfo/t/tvi912b-unk-2p", + "usr/share/terminfo/t/trsII", + "usr/share/terminfo/t/tty5620", + "usr/share/terminfo/t/tvi920c-unk-2p", + "usr/share/terminfo/t/tvi912b+mc", + "usr/share/terminfo/t/tvi912b-vb-mc", + "usr/share/terminfo/t/ti926-8", + "usr/share/terminfo/t/tvi920c-p-vb", + "usr/share/terminfo/t/terminet", + "usr/share/terminfo/t/ti700", + "usr/share/terminfo/t/tvi912c-p-vb", + "usr/share/terminfo/t/tmux", + "usr/share/terminfo/t/tvi912", + "usr/share/terminfo/t/tek4207", + "usr/share/terminfo/t/tvi950", + "usr/share/terminfo/t/tvi920c-2p-p", + "usr/share/terminfo/t/tek4027", + "usr/share/terminfo/t/tvi920c-mc", + "usr/share/terminfo/t/tvi920b-p-2p", + "usr/share/terminfo/t/t3700", + "usr/share/terminfo/t/tvi924", + "usr/share/terminfo/t/ti916", + "usr/share/terminfo/t/tty5420-w-rv-n", + "usr/share/terminfo/t/ti733", + "usr/share/terminfo/t/tvi920b-vb-mc", + "usr/share/terminfo/t/tek4025-17", + "usr/share/terminfo/t/tvi920c-vb", + "usr/share/terminfo/t/tvi920b-mc-vb", + "usr/share/terminfo/t/tvi912b-2p-unk", + "usr/share/terminfo/t/tt", + "usr/share/terminfo/t/tvipt", + "usr/share/terminfo/t/tvi921", + "usr/share/terminfo/t/tty5410-w", + "usr/share/terminfo/t/tek4105a", + "usr/share/terminfo/t/tw52-color", + "usr/share/terminfo/t/tvi912b-unk", + "usr/share/terminfo/t/t1061", + "usr/share/terminfo/t/tvi950-2p", + "usr/share/terminfo/t/tgtelnet", + "usr/share/terminfo/t/tvi92B", + "usr/share/terminfo/t/tty5420-rv", + "usr/share/terminfo/t/tek4109", + "usr/share/terminfo/l/luna", + "usr/share/terminfo/l/linux-koi8", + "usr/share/terminfo/l/linux-16color", + "usr/share/terminfo/l/ln03", + "usr/share/terminfo/l/linux-c-nc", + "usr/share/terminfo/l/linux-koi8r", + "usr/share/terminfo/l/liswb", + "usr/share/terminfo/l/linux2.2", + "usr/share/terminfo/l/linux-lat", + "usr/share/terminfo/l/lisaterm-w", + "usr/share/terminfo/l/linux-m", + "usr/share/terminfo/l/lft", + "usr/share/terminfo/l/linux-m2", + "usr/share/terminfo/l/lft-pc850", + "usr/share/terminfo/l/ln03-w", + "usr/share/terminfo/l/linux3.0", + "usr/share/terminfo/l/lisa", + "usr/share/terminfo/l/lpr", + "usr/share/terminfo/l/linux-basic", + "usr/share/terminfo/l/linux-m1b", + "usr/share/terminfo/l/lisaterm", + "usr/share/terminfo/l/linux", + "usr/share/terminfo/l/luna68k", + "usr/share/terminfo/l/linux-vt", + "usr/share/terminfo/l/linux-nic", + "usr/share/terminfo/l/linux-c", + "usr/share/terminfo/l/la120", + "usr/share/terminfo/l/layer", + "usr/share/terminfo/l/linux2.6", + "usr/share/terminfo/l/linux2.6.26", + "usr/share/terminfo/l/linux-m1", + "usr/share/terminfo/p/pccon0", + "usr/share/terminfo/p/pro350", + "usr/share/terminfo/p/prism14-m", + "usr/share/terminfo/p/pcix", + "usr/share/terminfo/p/pcansi-33", + "usr/share/terminfo/p/pt505-24", + "usr/share/terminfo/p/prism8gl", + "usr/share/terminfo/p/pc3-bold", + "usr/share/terminfo/p/pcvt25", + "usr/share/terminfo/p/p12-m", + "usr/share/terminfo/p/putty-m1", + "usr/share/terminfo/p/putty-noapp", + "usr/share/terminfo/p/pcansi-mono", + "usr/share/terminfo/p/pcz19", + "usr/share/terminfo/p/pccon+colors", + "usr/share/terminfo/p/pcvt43", + "usr/share/terminfo/p/pcansi25m", + "usr/share/terminfo/p/pcvt28", + "usr/share/terminfo/p/pcplot", + "usr/share/terminfo/p/pty", + "usr/share/terminfo/p/pckermit120", + "usr/share/terminfo/p/p19", + "usr/share/terminfo/p/p9", + "usr/share/terminfo/p/pcansi-25", + "usr/share/terminfo/p/prism12", + "usr/share/terminfo/p/prism12-m", + "usr/share/terminfo/p/pccon+sgr+acs", + "usr/share/terminfo/p/psterm-96x48", + "usr/share/terminfo/p/pt250", + "usr/share/terminfo/p/pcvt43w", + "usr/share/terminfo/p/pe6312", + "usr/share/terminfo/p/pccon", + "usr/share/terminfo/p/pcansi43", + "usr/share/terminfo/p/pt505", + "usr/share/terminfo/p/prism9-8-w", + "usr/share/terminfo/p/p4", + "usr/share/terminfo/p/p12-w", + "usr/share/terminfo/p/pe7000m", + "usr/share/terminfo/p/pcansi-43", + "usr/share/terminfo/p/pcvt25-color", + "usr/share/terminfo/p/pccon0-m", + "usr/share/terminfo/p/prism12-w", + "usr/share/terminfo/p/pccons", + "usr/share/terminfo/p/putty+fnkeys+esc", + "usr/share/terminfo/p/p12-m-w", + "usr/share/terminfo/p/pcvt40w", + "usr/share/terminfo/p/pcvt40", + "usr/share/terminfo/p/pcansi25", + "usr/share/terminfo/p/pt100", + "usr/share/terminfo/p/pe1100", + "usr/share/terminfo/p/p9-8-w", + "usr/share/terminfo/p/ps300", + "usr/share/terminfo/p/p9-8", + "usr/share/terminfo/p/psterm-80x24", + "usr/share/terminfo/p/putty", + "usr/share/terminfo/p/putty-vt100", + "usr/share/terminfo/p/prism14-w", + "usr/share/terminfo/p/psterm", + "usr/share/terminfo/p/pccon-m", + "usr/share/terminfo/p/pcansi-m", + "usr/share/terminfo/p/psterm-90x28", + "usr/share/terminfo/p/pcansi-33-m", + "usr/share/terminfo/p/p7", + "usr/share/terminfo/p/pc3", + "usr/share/terminfo/p/pt200w", + "usr/share/terminfo/p/putty+fnkeys+sco", + "usr/share/terminfo/p/putty+fnkeys+linux", + "usr/share/terminfo/p/pcmw", + "usr/share/terminfo/p/pmcons", + "usr/share/terminfo/p/prism14", + "usr/share/terminfo/p/pccon+keys", + "usr/share/terminfo/p/pt100w", + "usr/share/terminfo/p/putty+fnkeys+vt400", + "usr/share/terminfo/p/pcconsole", + "usr/share/terminfo/p/pmconsole", + "usr/share/terminfo/p/psterm-fast", + "usr/share/terminfo/p/prism12-m-w", + "usr/share/terminfo/p/pc3r-m", + "usr/share/terminfo/p/prism8-w", + "usr/share/terminfo/p/putty+fnkeys+xterm", + "usr/share/terminfo/p/pilot", + "usr/share/terminfo/p/pcvt50w", + "usr/share/terminfo/p/pe1200", + "usr/share/terminfo/p/p14-w", + "usr/share/terminfo/p/pcvt25w", + "usr/share/terminfo/p/pe550", + "usr/share/terminfo/p/pe1251", + "usr/share/terminfo/p/pc-coherent", + "usr/share/terminfo/p/pckermit12", + "usr/share/terminfo/p/psterm-basic", + "usr/share/terminfo/p/pc-venix", + "usr/share/terminfo/p/p12", + "usr/share/terminfo/p/pcvt35w", + "usr/share/terminfo/p/prism5", + "usr/share/terminfo/p/pt210", + "usr/share/terminfo/p/printer", + "usr/share/terminfo/p/pcansi-43-m", + "usr/share/terminfo/p/pe7000c", + "usr/share/terminfo/p/pt505-22", + "usr/share/terminfo/p/pcansi33m", + "usr/share/terminfo/p/pc7300", + "usr/share/terminfo/p/prism14-m-w", + "usr/share/terminfo/p/prism9-8", + "usr/share/terminfo/p/p14-m", + "usr/share/terminfo/p/pccon+sgr+acs0", + "usr/share/terminfo/p/prism9-w", + "usr/share/terminfo/p/pcansi", + "usr/share/terminfo/p/putty-m2", + "usr/share/terminfo/p/pcansi-25-m", + "usr/share/terminfo/p/putty-256color", + "usr/share/terminfo/p/p5", + "usr/share/terminfo/p/prism7", + "usr/share/terminfo/p/pcvt28w", + "usr/share/terminfo/p/putty-sco", + "usr/share/terminfo/p/psx_ansi", + "usr/share/terminfo/p/pcvt50", + "usr/share/terminfo/p/pt200", + "usr/share/terminfo/p/pckermit", + "usr/share/terminfo/p/p8-w", + "usr/share/terminfo/p/putty+fnkeys+vt100", + "usr/share/terminfo/p/pc-minix", + "usr/share/terminfo/p/prism8", + "usr/share/terminfo/p/pcansi33", + "usr/share/terminfo/p/putty+fnkeys", + "usr/share/terminfo/p/pc6300plus", + "usr/share/terminfo/p/p14", + "usr/share/terminfo/p/prism9", + "usr/share/terminfo/p/pc3r", + "usr/share/terminfo/p/pe6300", + "usr/share/terminfo/p/prism4", + "usr/share/terminfo/p/pccon+base", + "usr/share/terminfo/p/p14-m-w", + "usr/share/terminfo/p/p8", + "usr/share/terminfo/p/pt250w", + "usr/share/terminfo/p/pe6100", + "usr/share/terminfo/p/putty-m1b", + "usr/share/terminfo/p/p8gl", + "usr/share/terminfo/p/pcvt35", + "usr/share/terminfo/p/pcvtXX", + "usr/share/terminfo/p/prism2", + "usr/share/terminfo/p/p9-w", + "usr/share/terminfo/9/955-hb", + "usr/share/terminfo/9/9term", + "usr/share/terminfo/9/955-w", + "usr/share/terminfo/6/605x", + "usr/share/terminfo/6/605x-dg", + "usr/share/terminfo/6/630-lm", + "usr/share/terminfo/6/6053-dg", + "usr/share/terminfo/6/630MTG-24", + "usr/share/terminfo/6/6053", + "usr/share/terminfo/Q/Q306-8-pc", + "usr/share/terminfo/Q/Q310-vip-w", + "usr/share/terminfo/Q/Q310-vip-H", + "usr/share/terminfo/Q/Q310-vip-w-am", + "usr/share/terminfo/Q/Q310-vip-Hw", + "usr/share/terminfo/Q/Q310-vip-H-am", + "usr/share/terminfo/x/xnuppc+80x25", + "usr/share/terminfo/x/xterm-sun", + "usr/share/terminfo/x/xterm+sm+1006", + "usr/share/terminfo/x/xterm-1005", + "usr/share/terminfo/x/xnuppc-90x30-m", + "usr/share/terminfo/x/xterm-24", + "usr/share/terminfo/x/xterm-noapp", + "usr/share/terminfo/x/xterm-xf86-v40", + "usr/share/terminfo/x/xterm+r6f2", + "usr/share/terminfo/x/xtermm", + "usr/share/terminfo/x/xnuppc+90x30", + "usr/share/terminfo/x/xnuppc-200x75-m", + "usr/share/terminfo/x/xtalk", + "usr/share/terminfo/x/xnuppc+128x40", + "usr/share/terminfo/x/xterm-xf86-v333", + "usr/share/terminfo/x/xterm+x11hilite", + "usr/share/terminfo/x/xterm+pcc0", + "usr/share/terminfo/x/xfce", + "usr/share/terminfo/x/xterm-x11hilite", + "usr/share/terminfo/x/x68k", + "usr/share/terminfo/x/x10term", + "usr/share/terminfo/x/xterm+vt+edit", + "usr/share/terminfo/x/xterm+88color", + "usr/share/terminfo/x/xnuppc-128x40", + "usr/share/terminfo/x/xterm+pcc3", + "usr/share/terminfo/x/xterm-pcolor", + "usr/share/terminfo/x/xnuppc-b", + "usr/share/terminfo/x/xterm-256color", + "usr/share/terminfo/x/xterm-xf86-v43", + "usr/share/terminfo/x/x1700", + "usr/share/terminfo/x/xtermc", + "usr/share/terminfo/x/xerox1720", + "usr/share/terminfo/x/xterms", + "usr/share/terminfo/x/xl83", + "usr/share/terminfo/x/xterm+x10mouse", + "usr/share/terminfo/x/xnuppc-m-f", + "usr/share/terminfo/x/xterm-vt52", + "usr/share/terminfo/x/xterm-r6", + "usr/share/terminfo/x/xterm-1006", + "usr/share/terminfo/x/xnuppc-f", + "usr/share/terminfo/x/xnuppc-128x48", + "usr/share/terminfo/x/xterm-hp", + "usr/share/terminfo/x/xnuppc-80x25", + "usr/share/terminfo/x/xerox", + "usr/share/terminfo/x/xterm+pcfkeys", + "usr/share/terminfo/x/xnuppc-128x40-m", + "usr/share/terminfo/x/xnuppc+160x64", + "usr/share/terminfo/x/xterm-x11mouse", + "usr/share/terminfo/x/xterm-r5", + "usr/share/terminfo/x/xterm-1003", + "usr/share/terminfo/x/xterm+pcf0", + "usr/share/terminfo/x/xterm", + "usr/share/terminfo/x/xterm+pce2", + "usr/share/terminfo/x/xterm+noapp", + "usr/share/terminfo/x/xnuppc", + "usr/share/terminfo/x/xnuppc+basic", + "usr/share/terminfo/x/xnuppc+b", + "usr/share/terminfo/x/x68k-ite", + "usr/share/terminfo/x/xnuppc+200x64", + "usr/share/terminfo/x/xterm+sl", + "usr/share/terminfo/x/xnuppc-m-f2", + "usr/share/terminfo/x/xterm-xf86-v33", + "usr/share/terminfo/x/xterm+256color", + "usr/share/terminfo/x/xnuppc+256x96", + "usr/share/terminfo/x/x1750", + "usr/share/terminfo/x/xdku", + "usr/share/terminfo/x/xnuppc-200x75", + "usr/share/terminfo/x/xterm+kbs", + "usr/share/terminfo/x/xterm+sm+1002", + "usr/share/terminfo/x/xerox-lm", + "usr/share/terminfo/x/xnuppc-90x30", + "usr/share/terminfo/x/xterm-xf86-v44", + "usr/share/terminfo/x/xnuppc-m-b", + "usr/share/terminfo/x/xterm+sm+1003", + "usr/share/terminfo/x/xnuppc+100x37", + "usr/share/terminfo/x/xnuppc+80x30", + "usr/share/terminfo/x/xnuppc-128x48-m", + "usr/share/terminfo/x/xterm+edit", + "usr/share/terminfo/x/xterm-basic", + "usr/share/terminfo/x/xnuppc+112x37", + "usr/share/terminfo/x/xterm-color", + "usr/share/terminfo/x/xiterm", + "usr/share/terminfo/x/xnuppc-100x37", + "usr/share/terminfo/x/xnuppc+c", + "usr/share/terminfo/x/xnuppc-256x96-m", + "usr/share/terminfo/x/xterm+pc+edit", + "usr/share/terminfo/x/xterm+app", + "usr/share/terminfo/x/x1700-lm", + "usr/share/terminfo/x/xterm+pcc1", + "usr/share/terminfo/x/xterm+pcc2", + "usr/share/terminfo/x/xterm-xi", + "usr/share/terminfo/x/xnuppc-144x48", + "usr/share/terminfo/x/xterm-x10mouse", + "usr/share/terminfo/x/xnuppc+144x48", + "usr/share/terminfo/x/xwsh", + "usr/share/terminfo/x/xterm1", + "usr/share/terminfo/x/xterm-xfree86", + "usr/share/terminfo/x/xnuppc-200x64", + "usr/share/terminfo/x/xterm-utf8", + "usr/share/terminfo/x/xnuppc-144x48-m", + "usr/share/terminfo/x/xterm-xf86-v32", + "usr/share/terminfo/x/xenix", + "usr/share/terminfo/x/xnuppc-160x64-m", + "usr/share/terminfo/x/xnuppc-112x37-m", + "usr/share/terminfo/x/x820", + "usr/share/terminfo/x/xterm-new", + "usr/share/terminfo/x/xnuppc-112x37", + "usr/share/terminfo/x/xnuppc+128x48", + "usr/share/terminfo/x/xterm-sco", + "usr/share/terminfo/x/xnuppc-160x64", + "usr/share/terminfo/x/xterm-8bit", + "usr/share/terminfo/x/xterm+tmux", + "usr/share/terminfo/x/xterm-nic", + "usr/share/terminfo/x/xnuppc-80x25-m", + "usr/share/terminfo/x/xnuppc+f", + "usr/share/terminfo/x/xterm+sl-twm", + "usr/share/terminfo/x/x1720", + "usr/share/terminfo/x/xterm+x11mouse", + "usr/share/terminfo/x/xnuppc+200x75", + "usr/share/terminfo/x/xerox820", + "usr/share/terminfo/x/xterms-sun", + "usr/share/terminfo/x/xterm-16color", + "usr/share/terminfo/x/xnuppc-100x37-m", + "usr/share/terminfo/x/xnuppc-200x64-m", + "usr/share/terminfo/x/xnuppc-f2", + "usr/share/terminfo/x/xnuppc-256x96", + "usr/share/terminfo/x/xterm-bold", + "usr/share/terminfo/x/xterm-88color", + "usr/share/terminfo/x/xnuppc+f2", + "usr/share/terminfo/x/xterm-old", + "usr/share/terminfo/x/xterm+pcf2", + "usr/share/terminfo/x/xnuppc-80x30-m", + "usr/share/terminfo/x/xnuppc-m", + "usr/share/terminfo/x/xnuppc-80x30", + "usr/share/terminfo/x/xterm-vt220", + "usr/share/terminfo/x/xterm+256setaf", + "usr/share/terminfo/x/xterm+sm+1005", + "usr/share/terminfo/x/xterm-1002", + "usr/share/terminfo/j/jfbterm", + "usr/share/terminfo/j/jaixterm-m", + "usr/share/terminfo/j/jaixterm", + "usr/share/terminfo/j/jerq", + "usr/share/terminfo/n/ncr260vt100wan", + "usr/share/terminfo/n/news28-a", + "usr/share/terminfo/n/nwe501-o", + "usr/share/terminfo/n/nwp512-a", + "usr/share/terminfo/n/ncrvt100pp", + "usr/share/terminfo/n/news", + "usr/share/terminfo/n/nsterm-7-s", + "usr/share/terminfo/n/nsterm-c", + "usr/share/terminfo/n/nsterm-s-7", + "usr/share/terminfo/n/news-unk", + "usr/share/terminfo/n/news-42", + "usr/share/terminfo/n/nansi.sysk", + "usr/share/terminfo/n/ntconsole-25-w-vt", + "usr/share/terminfo/n/ncr260vt300pp", + "usr/share/terminfo/n/ncr260vt200wpp", + "usr/share/terminfo/n/news-33", + "usr/share/terminfo/n/nwp512", + "usr/share/terminfo/n/ntconsole-25", + "usr/share/terminfo/n/nsterm-m-7", + "usr/share/terminfo/n/nec", + "usr/share/terminfo/n/nwp513-a", + "usr/share/terminfo/n/news-a", + "usr/share/terminfo/n/ntconsole-w", + "usr/share/terminfo/n/ncsa-vt220-8", + "usr/share/terminfo/n/nwp517-w", + "usr/share/terminfo/n/news31", + "usr/share/terminfo/n/ncr7901", + "usr/share/terminfo/n/ncr260intpp", + "usr/share/terminfo/n/news-29-euc", + "usr/share/terminfo/n/nwp518-o", + "usr/share/terminfo/n/ncr160vt200wan", + "usr/share/terminfo/n/ncr7900iv", + "usr/share/terminfo/n/ndr9500-mc-nl", + "usr/share/terminfo/n/ncr260intwpp", + "usr/share/terminfo/n/nwp251-o", + "usr/share/terminfo/n/nsterm-build361", + "usr/share/terminfo/n/netbsd6", + "usr/share/terminfo/n/nwp513-o", + "usr/share/terminfo/n/nsterm-c-s", + "usr/share/terminfo/n/ncr260wy325wpp", + "usr/share/terminfo/n/news-o", + "usr/share/terminfo/n/nsterm-acs-c", + "usr/share/terminfo/n/ncr260vpwpp", + "usr/share/terminfo/n/nsterm-m-acs", + "usr/share/terminfo/n/nsterm-256color", + "usr/share/terminfo/n/ndr9500-25-mc", + "usr/share/terminfo/n/nsterm-7-m", + "usr/share/terminfo/n/nsterm-acs-m", + "usr/share/terminfo/n/nwp-517", + "usr/share/terminfo/n/newscbm-o", + "usr/share/terminfo/n/ntconsole-35-nti", + "usr/share/terminfo/n/ncsa", + "usr/share/terminfo/n/nwp518-a", + "usr/share/terminfo/n/ncr160vppp", + "usr/share/terminfo/n/ntconsole-60-nti", + "usr/share/terminfo/n/ncr260wy60pp", + "usr/share/terminfo/n/news-33-euc", + "usr/share/terminfo/n/ntconsole-35-w", + "usr/share/terminfo/n/nsterm-7-c", + "usr/share/terminfo/n/nextshell", + "usr/share/terminfo/n/ncr160wy50+wpp", + "usr/share/terminfo/n/nsterm-s", + "usr/share/terminfo/n/nsterm-bce", + "usr/share/terminfo/n/news-33-sjis", + "usr/share/terminfo/n/ndr9500-25-nl", + "usr/share/terminfo/n/news-29-sjis", + "usr/share/terminfo/n/news-42-sjis", + "usr/share/terminfo/n/ntconsole-60-w", + "usr/share/terminfo/n/news-29", + "usr/share/terminfo/n/nwp514", + "usr/share/terminfo/n/northstar", + "usr/share/terminfo/n/nsterm-7-c-s", + "usr/share/terminfo/n/nsterm-acs-m-s", + "usr/share/terminfo/n/nxterm", + "usr/share/terminfo/n/ncr260wy350pp", + "usr/share/terminfo/n/nansisysk", + "usr/share/terminfo/n/newhpkeyboard", + "usr/share/terminfo/n/newscbm33", + "usr/share/terminfo/n/nwe501-a", + "usr/share/terminfo/n/ncr260wy50+pp", + "usr/share/terminfo/n/nec5520", + "usr/share/terminfo/n/news40-o", + "usr/share/terminfo/n/nansisys", + "usr/share/terminfo/n/nsterm-7", + "usr/share/terminfo/n/news31-o", + "usr/share/terminfo/n/ncr160wy60wpp", + "usr/share/terminfo/n/ncr260wy325pp", + "usr/share/terminfo/n/newhp", + "usr/share/terminfo/n/ntconsole-35", + "usr/share/terminfo/n/nwp513", + "usr/share/terminfo/n/ncr260vt100wpp", + "usr/share/terminfo/n/nwp-517-w", + "usr/share/terminfo/n/ntconsole-50-nti", + "usr/share/terminfo/n/nsterm", + "usr/share/terminfo/n/nwp511", + "usr/share/terminfo/n/ncr160vt300an", + "usr/share/terminfo/n/ncrvt100wpp", + "usr/share/terminfo/n/ncsa-m", + "usr/share/terminfo/n/ncr7900i", + "usr/share/terminfo/n/ntconsole-25-w", + "usr/share/terminfo/n/ncr260intan", + "usr/share/terminfo/n/ncr260vt100pp", + "usr/share/terminfo/n/nwp512-o", + "usr/share/terminfo/n/ncr260wy350wpp", + "usr/share/terminfo/n/ncr160vt300wpp", + "usr/share/terminfo/n/nsterm-c-s-7", + "usr/share/terminfo/n/ncr260vt300wpp", + "usr/share/terminfo/n/ncr260vt100an", + "usr/share/terminfo/n/ndr9500-25", + "usr/share/terminfo/n/nsterm-16color", + "usr/share/terminfo/n/ncr160vt200wpp", + "usr/share/terminfo/n/ncr160vt200pp", + "usr/share/terminfo/n/nwe501", + "usr/share/terminfo/n/next", + "usr/share/terminfo/n/nsterm-acs-c-s", + "usr/share/terminfo/n/ncrvt100an", + "usr/share/terminfo/n/news28", + "usr/share/terminfo/n/news40-a", + "usr/share/terminfo/n/ncr260vt300an", + "usr/share/terminfo/n/ncr260vt200wan", + "usr/share/terminfo/n/nsterm+mac", + "usr/share/terminfo/n/nsterm-m", + "usr/share/terminfo/n/ncr260vt200an", + "usr/share/terminfo/n/ncr260intwan", + "usr/share/terminfo/n/nsterm-build343", + "usr/share/terminfo/n/nsterm-c-s-acs", + "usr/share/terminfo/n/news42", + "usr/share/terminfo/n/newscbm", + "usr/share/terminfo/n/ncr7900", + "usr/share/terminfo/n/news29", + "usr/share/terminfo/n/ncsa-ns", + "usr/share/terminfo/n/news33", + "usr/share/terminfo/n/nsterm-m-s-acs", + "usr/share/terminfo/n/ntconsole", + "usr/share/terminfo/n/nsterm-acs", + "usr/share/terminfo/n/nsterm+c", + "usr/share/terminfo/n/ndr9500", + "usr/share/terminfo/n/ncr160vpwpp", + "usr/share/terminfo/n/ndr9500-nl", + "usr/share/terminfo/n/nsterm-m-s-7", + "usr/share/terminfo/n/nsterm+7", + "usr/share/terminfo/n/nwp514-a", + "usr/share/terminfo/n/ncsa-vt220", + "usr/share/terminfo/n/ndr9500-mc", + "usr/share/terminfo/n/ncr160vt100pp", + "usr/share/terminfo/n/ntconsole-w-vt", + "usr/share/terminfo/n/ncr160vt300pp", + "usr/share/terminfo/n/nansi.sys", + "usr/share/terminfo/n/ntconsole-60", + "usr/share/terminfo/n/newscbm-a", + "usr/share/terminfo/n/ndr9500-25-mc-nl", + "usr/share/terminfo/n/nsterm-c-acs", + "usr/share/terminfo/n/nsterm+s", + "usr/share/terminfo/n/nsterm+acs", + "usr/share/terminfo/n/nsterm-old", + "usr/share/terminfo/n/ncr160vt100wan", + "usr/share/terminfo/n/ncr260vt300wan", + "usr/share/terminfo/n/news40", + "usr/share/terminfo/n/ntconsole-50-w", + "usr/share/terminfo/n/ncr260wy50+wpp", + "usr/share/terminfo/n/nwp251-a", + "usr/share/terminfo/n/ncr160wy50+pp", + "usr/share/terminfo/n/ntconsole-25-nti", + "usr/share/terminfo/n/ncr160vt100wpp", + "usr/share/terminfo/n/nsterm-7-m-s", + "usr/share/terminfo/n/ncr160vt200an", + "usr/share/terminfo/n/ncsa-m-ns", + "usr/share/terminfo/n/ncr260vppp", + "usr/share/terminfo/n/nwp-511", + "usr/share/terminfo/n/nsterm-m-s", + "usr/share/terminfo/n/nsterm+c41", + "usr/share/terminfo/n/nsterm-c-7", + "usr/share/terminfo/n/ncr160vt100an", + "usr/share/terminfo/n/nwp518", + "usr/share/terminfo/n/nsterm-build326", + "usr/share/terminfo/n/ncrvt100wan", + "usr/share/terminfo/n/ncr160vt300wan", + "usr/share/terminfo/n/news31-a", + "usr/share/terminfo/n/ncr260wy60wpp", + "usr/share/terminfo/n/ncr260vt200pp", + "usr/share/terminfo/n/nwp517", + "usr/share/terminfo/n/ntconsole-50", + "usr/share/terminfo/n/news-old-unk", + "usr/share/terminfo/n/news-42-euc", + "usr/share/terminfo/n/nsterm-s-acs", + "usr/share/terminfo/n/ncr160wy60pp", + "usr/share/terminfo/n/nd9500", + "usr/share/terminfo/n/ntconsole-100-nti", + "usr/share/terminfo/n/ntconsole-100", + "usr/share/terminfo/n/nwp514-o", + "usr/share/terminfo/n/nsterm-acs-s", + "usr/share/terminfo/c/cbunix", + "usr/share/terminfo/c/cops10", + "usr/share/terminfo/c/cs10", + "usr/share/terminfo/c/cbblit", + "usr/share/terminfo/c/crt", + "usr/share/terminfo/c/cons25r", + "usr/share/terminfo/c/cons25l1", + "usr/share/terminfo/c/c301", + "usr/share/terminfo/c/concept", + "usr/share/terminfo/c/cons60-iso-m", + "usr/share/terminfo/c/c321", + "usr/share/terminfo/c/cons50r", + "usr/share/terminfo/c/c100-4p", + "usr/share/terminfo/c/c108-rv", + "usr/share/terminfo/c/cons60-iso", + "usr/share/terminfo/c/c300", + "usr/share/terminfo/c/cdc456", + "usr/share/terminfo/c/cit101e-132", + "usr/share/terminfo/c/citoh-pica", + "usr/share/terminfo/c/cons25-koi8-r", + "usr/share/terminfo/c/cons30-m", + "usr/share/terminfo/c/cx", + "usr/share/terminfo/c/cons43", + "usr/share/terminfo/c/cygwin", + "usr/share/terminfo/c/c108-4p", + "usr/share/terminfo/c/cons25r-m", + "usr/share/terminfo/c/c108-w", + "usr/share/terminfo/c/citc", + "usr/share/terminfo/c/cdc721", + "usr/share/terminfo/c/cit101", + "usr/share/terminfo/c/citoh-8lpi", + "usr/share/terminfo/c/cs10-w", + "usr/share/terminfo/c/c100-rv", + "usr/share/terminfo/c/cons60", + "usr/share/terminfo/c/contel320", + "usr/share/terminfo/c/cons25w", + "usr/share/terminfo/c/cit80", + "usr/share/terminfo/c/cit-80", + "usr/share/terminfo/c/cit500", + "usr/share/terminfo/c/concept108-8p", + "usr/share/terminfo/c/cons25-iso8859", + "usr/share/terminfo/c/cons60-m", + "usr/share/terminfo/c/cons50l1-m", + "usr/share/terminfo/c/cons60r-m", + "usr/share/terminfo/c/concept100-rv", + "usr/share/terminfo/c/cons60-koi8r", + "usr/share/terminfo/c/c108-rv-4p", + "usr/share/terminfo/c/ct8500", + "usr/share/terminfo/c/colorscan", + "usr/share/terminfo/c/cons43-m", + "usr/share/terminfo/c/concept108-4p", + "usr/share/terminfo/c/cygwinDBG", + "usr/share/terminfo/c/contel300", + "usr/share/terminfo/c/cops-10", + "usr/share/terminfo/c/crt-vt220", + "usr/share/terminfo/c/coherent", + "usr/share/terminfo/c/cygwinB19", + "usr/share/terminfo/c/c100-1p", + "usr/share/terminfo/c/ci8510", + "usr/share/terminfo/c/cit101e", + "usr/share/terminfo/c/cons50-m", + "usr/share/terminfo/c/cons50-koi8r", + "usr/share/terminfo/c/contel301", + "usr/share/terminfo/c/cons60r", + "usr/share/terminfo/c/cyb83", + "usr/share/terminfo/c/concept100", + "usr/share/terminfo/c/cons25-m", + "usr/share/terminfo/c/cad68-2", + "usr/share/terminfo/c/cons60l1-m", + "usr/share/terminfo/c/color_xterm", + "usr/share/terminfo/c/cci1", + "usr/share/terminfo/c/cit101e-n", + "usr/share/terminfo/c/cdc721ll", + "usr/share/terminfo/c/cons50r-m", + "usr/share/terminfo/c/c104", + "usr/share/terminfo/c/c108", + "usr/share/terminfo/c/cons25l1-m", + "usr/share/terminfo/c/cyb110", + "usr/share/terminfo/c/citoh-comp", + "usr/share/terminfo/c/cci", + "usr/share/terminfo/c/cg7900", + "usr/share/terminfo/c/cons50-iso8859", + "usr/share/terminfo/c/concept108-w-8", + "usr/share/terminfo/c/cgc3", + "usr/share/terminfo/c/cons50-koi8r-m", + "usr/share/terminfo/c/c108-8p", + "usr/share/terminfo/c/citoh-6lpi", + "usr/share/terminfo/c/cons50-iso-m", + "usr/share/terminfo/c/citoh-elite", + "usr/share/terminfo/c/coco3", + "usr/share/terminfo/c/cdc752", + "usr/share/terminfo/c/cons25-iso-m", + "usr/share/terminfo/c/cons50l1", + "usr/share/terminfo/c/cons60l1", + "usr/share/terminfo/c/cdc756", + "usr/share/terminfo/c/cons30", + "usr/share/terminfo/c/cops", + "usr/share/terminfo/c/cons25-debian", + "usr/share/terminfo/c/cgc2", + "usr/share/terminfo/c/c100", + "usr/share/terminfo/c/cad68-3", + "usr/share/terminfo/c/citoh", + "usr/share/terminfo/c/cdc721-esc", + "usr/share/terminfo/c/ct82", + "usr/share/terminfo/c/cons60-koi8r-m", + "usr/share/terminfo/c/c108-w-8p", + "usr/share/terminfo/c/c100-rv-4p", + "usr/share/terminfo/c/concept108-w8p", + "usr/share/terminfo/c/citoh-prop", + "usr/share/terminfo/c/commodore", + "usr/share/terminfo/c/chromatics", + "usr/share/terminfo/c/concept108", + "usr/share/terminfo/c/contel321", + "usr/share/terminfo/c/cons50", + "usr/share/terminfo/c/cons25-koi8r-m", + "usr/share/terminfo/c/ctrm", + "usr/share/terminfo/c/c108-rv-8p", + "usr/share/terminfo/c/citoh-ps", + "usr/share/terminfo/c/cx100", + "usr/share/terminfo/c/ca22851", + "usr/share/terminfo/c/concept108rv4p", + "usr/share/terminfo/c/concept-avt", + "usr/share/terminfo/c/cit101e-rv", + "usr/share/terminfo/c/cons25", + "usr/share/terminfo/c/cit101e-n132", + "usr/share/terminfo/v/vt52", + "usr/share/terminfo/v/vip7800-H", + "usr/share/terminfo/v/vi50adm", + "usr/share/terminfo/v/vt100-s", + "usr/share/terminfo/v/vt200", + "usr/share/terminfo/v/vt220", + "usr/share/terminfo/v/vte-2007", + "usr/share/terminfo/v/vt400", + "usr/share/terminfo/v/v320n", + "usr/share/terminfo/v/vte+pcfkeys", + "usr/share/terminfo/v/vt50h", + "usr/share/terminfo/v/vte-2012", + "usr/share/terminfo/v/vt200-8", + "usr/share/terminfo/v/vip7800-w", + "usr/share/terminfo/v/vt100-nav", + "usr/share/terminfo/v/vt125", + "usr/share/terminfo/v/vt-utf8", + "usr/share/terminfo/v/vt300-w-nam", + "usr/share/terminfo/v/vt330", + "usr/share/terminfo/v/vt320-k311", + "usr/share/terminfo/v/vt510pcdos", + "usr/share/terminfo/v/vt420f", + "usr/share/terminfo/v/vc414h", + "usr/share/terminfo/v/vt200-w", + "usr/share/terminfo/v/vt100-top-s", + "usr/share/terminfo/v/vt61.5", + "usr/share/terminfo/v/vt420pcdos", + "usr/share/terminfo/v/vitty", + "usr/share/terminfo/v/vt300-nam", + "usr/share/terminfo/v/vi50", + "usr/share/terminfo/v/vc303a", + "usr/share/terminfo/v/vt100-bm", + "usr/share/terminfo/v/vp90", + "usr/share/terminfo/v/vt100-nam", + "usr/share/terminfo/v/vte-2014", + "usr/share/terminfo/v/vt320-w", + "usr/share/terminfo/v/v200-nam", + "usr/share/terminfo/v/vanilla", + "usr/share/terminfo/v/vt220-js", + "usr/share/terminfo/v/vt102+enq", + "usr/share/terminfo/v/vt100+", + "usr/share/terminfo/v/vt100-bot-s", + "usr/share/terminfo/v/vt200-8bit", + "usr/share/terminfo/v/vt100-putty", + "usr/share/terminfo/v/vc404", + "usr/share/terminfo/v/vremote", + "usr/share/terminfo/v/vv100", + "usr/share/terminfo/v/vt100+pfkeys", + "usr/share/terminfo/v/viewpoint60", + "usr/share/terminfo/v/vt132", + "usr/share/terminfo/v/vip-Hw", + "usr/share/terminfo/v/vt200-old", + "usr/share/terminfo/v/vapple", + "usr/share/terminfo/v/vt100-nam-w", + "usr/share/terminfo/v/vc404-s", + "usr/share/terminfo/v/vt100-bm-o", + "usr/share/terminfo/v/vt100-s-top", + "usr/share/terminfo/v/viewdata-rv", + "usr/share/terminfo/v/vt102-w", + "usr/share/terminfo/v/vt400-24", + "usr/share/terminfo/v/vt100-s-bot", + "usr/share/terminfo/v/vt100-w-nav", + "usr/share/terminfo/v/vk100", + "usr/share/terminfo/v/vt340", + "usr/share/terminfo/v/viewdata", + "usr/share/terminfo/v/vt320-w-nam", + "usr/share/terminfo/v/viewpoint90", + "usr/share/terminfo/v/vt61", + "usr/share/terminfo/v/vt100-w-am", + "usr/share/terminfo/v/vi300-old", + "usr/share/terminfo/v/vt420", + "usr/share/terminfo/v/vt100-am", + "usr/share/terminfo/v/viewdata-o", + "usr/share/terminfo/v/vt100-w-nam", + "usr/share/terminfo/v/vt525", + "usr/share/terminfo/v/vc103", + "usr/share/terminfo/v/vt100-w", + "usr/share/terminfo/v/vc414", + "usr/share/terminfo/v/vsc", + "usr/share/terminfo/v/vi603", + "usr/share/terminfo/v/vip-H", + "usr/share/terminfo/v/vt102", + "usr/share/terminfo/v/vs100", + "usr/share/terminfo/v/vi200-f", + "usr/share/terminfo/v/vt320-k3", + "usr/share/terminfo/v/vt420pc", + "usr/share/terminfo/v/vt50", + "usr/share/terminfo/v/vt220-8", + "usr/share/terminfo/v/vte", + "usr/share/terminfo/v/vc203", + "usr/share/terminfo/v/vc403a", + "usr/share/terminfo/v/vt100-nav-w", + "usr/share/terminfo/v/vp60", + "usr/share/terminfo/v/vt220-old", + "usr/share/terminfo/v/vwmterm", + "usr/share/terminfo/v/vt220-nam", + "usr/share/terminfo/v/vt102-nsgr", + "usr/share/terminfo/v/venix", + "usr/share/terminfo/v/vip-w", + "usr/share/terminfo/v/vt100+4bsd", + "usr/share/terminfo/v/vt100+fnkeys", + "usr/share/terminfo/v/visual603", + "usr/share/terminfo/v/vt100nam", + "usr/share/terminfo/v/vt100+enq", + "usr/share/terminfo/v/vi500", + "usr/share/terminfo/v/vc303", + "usr/share/terminfo/v/vt220-w", + "usr/share/terminfo/v/vp3a+", + "usr/share/terminfo/v/v5410", + "usr/share/terminfo/v/vt220-8bit", + "usr/share/terminfo/v/vtnt", + "usr/share/terminfo/v/vt320", + "usr/share/terminfo/v/vi550", + "usr/share/terminfo/v/vt220+keypad", + "usr/share/terminfo/v/vt-61", + "usr/share/terminfo/v/vi200-rv", + "usr/share/terminfo/v/vt320-nam", + "usr/share/terminfo/v/vt100-vb", + "usr/share/terminfo/v/vi55", + "usr/share/terminfo/v/vt320nam", + "usr/share/terminfo/v/vt220d", + "usr/share/terminfo/v/visa50", + "usr/share/terminfo/v/viewpoint3a+", + "usr/share/terminfo/v/vt510", + "usr/share/terminfo/v/vt100", + "usr/share/terminfo/v/v3220", + "usr/share/terminfo/v/vt131", + "usr/share/terminfo/v/vte-256color", + "usr/share/terminfo/v/vc415", + "usr/share/terminfo/v/vt300-w", + "usr/share/terminfo/v/vi200", + "usr/share/terminfo/v/vt300", + "usr/share/terminfo/v/vt100+keypad", + "usr/share/terminfo/v/viewpoint", + "usr/share/terminfo/v/vip7800-Hw", + "usr/share/terminfo/v/vs100-x10", + "usr/share/terminfo/v/versaterm", + "usr/share/terminfo/v/vt520", + "usr/share/terminfo/v/vt510pc", + "usr/share/terminfo/v/vip", + "usr/share/terminfo/v/vte-2008", + "usr/share/terminfo/v/vt200-js", + "usr/share/terminfo/v/vt520ansi", + "usr/share/terminfo/v/vi300", + "usr/share/terminfo/g/guru-76-wm", + "usr/share/terminfo/g/guru-76-w-s", + "usr/share/terminfo/g/gigi", + "usr/share/terminfo/g/guru+rv", + "usr/share/terminfo/g/go-225", + "usr/share/terminfo/g/gnome-rh62", + "usr/share/terminfo/g/gnome-fc5", + "usr/share/terminfo/g/gs6300", + "usr/share/terminfo/g/go225", + "usr/share/terminfo/g/gator", + "usr/share/terminfo/g/guru+unk", + "usr/share/terminfo/g/guru-33", + "usr/share/terminfo/g/guru+s", + "usr/share/terminfo/g/gnome", + "usr/share/terminfo/g/guru-76-s", + "usr/share/terminfo/g/guru-76-lp", + "usr/share/terminfo/g/gator-52t", + "usr/share/terminfo/g/gnome-256color", + "usr/share/terminfo/g/gt42", + "usr/share/terminfo/g/gnome-rh72", + "usr/share/terminfo/g/gnome-2007", + "usr/share/terminfo/g/guru-76", + "usr/share/terminfo/g/guru-44-s", + "usr/share/terminfo/g/gnome+pcfkeys", + "usr/share/terminfo/g/gs5430-24", + "usr/share/terminfo/g/glasstty", + "usr/share/terminfo/g/graphos", + "usr/share/terminfo/g/guru-76-w", + "usr/share/terminfo/g/gsi", + "usr/share/terminfo/g/guru-s", + "usr/share/terminfo/g/guru-33-rv", + "usr/share/terminfo/g/gnome-2008", + "usr/share/terminfo/g/guru-24", + "usr/share/terminfo/g/gt100a", + "usr/share/terminfo/g/guru-nctxt", + "usr/share/terminfo/g/gator-t", + "usr/share/terminfo/g/gnome-2012", + "usr/share/terminfo/g/graphos-30", + "usr/share/terminfo/g/guru", + "usr/share/terminfo/g/gs5430-22", + "usr/share/terminfo/g/guru-rv", + "usr/share/terminfo/g/gnome-rh80", + "usr/share/terminfo/g/guru-33-s", + "usr/share/terminfo/g/go140w", + "usr/share/terminfo/g/gnome-rh90", + "usr/share/terminfo/g/guru-lp", + "usr/share/terminfo/g/gator-52", + "usr/share/terminfo/g/go140", + "usr/share/terminfo/g/gt100", + "usr/share/terminfo/g/gs5430", + "usr/share/terminfo/g/gt40", + "usr/share/terminfo/g/guru-44", + "usr/share/terminfo/A/Apple_Terminal", + "usr/share/terminfo/k/konsole-256color", + "usr/share/terminfo/k/kermit", + "usr/share/terminfo/k/kds7372-w", + "usr/share/terminfo/k/konsole-solaris", + "usr/share/terminfo/k/k45", + "usr/share/terminfo/k/kt7", + "usr/share/terminfo/k/kds6402", + "usr/share/terminfo/k/kon2", + "usr/share/terminfo/k/ktm", + "usr/share/terminfo/k/klone+color", + "usr/share/terminfo/k/konsole-xf3x", + "usr/share/terminfo/k/konsole-16color", + "usr/share/terminfo/k/konsole-xf4x", + "usr/share/terminfo/k/kaypro2", + "usr/share/terminfo/k/konsole-base", + "usr/share/terminfo/k/konsole", + "usr/share/terminfo/k/kterm-color", + "usr/share/terminfo/k/kvt", + "usr/share/terminfo/k/kterm", + "usr/share/terminfo/k/klone+koi8acs", + "usr/share/terminfo/k/klone+sgr-dumb", + "usr/share/terminfo/k/kon", + "usr/share/terminfo/k/klone+sgr", + "usr/share/terminfo/k/klone+acs", + "usr/share/terminfo/k/konsole-linux", + "usr/share/terminfo/k/kterm-co", + "usr/share/terminfo/k/konsole-vt100", + "usr/share/terminfo/k/kaypro", + "usr/share/terminfo/k/kds7372", + "usr/share/terminfo/k/kt7ix", + "usr/share/terminfo/k/konsole+pcfkeys", + "usr/share/terminfo/k/klone+sgr8", + "usr/share/terminfo/k/kermit-am", + "usr/share/terminfo/k/konsole-vt420pc", + "usr/share/terminfo/f/fixterm", + "usr/share/terminfo/f/f200vi", + "usr/share/terminfo/f/freedom110", + "usr/share/terminfo/f/fenixw", + "usr/share/terminfo/f/f100", + "usr/share/terminfo/f/fos", + "usr/share/terminfo/f/freedom200", + "usr/share/terminfo/f/fox", + "usr/share/terminfo/f/freedom100", + "usr/share/terminfo/f/f1720", + "usr/share/terminfo/f/f200-w", + "usr/share/terminfo/f/freedom-rv", + "usr/share/terminfo/f/f200", + "usr/share/terminfo/f/fortune", + "usr/share/terminfo/f/f110-14", + "usr/share/terminfo/f/freedom", + "usr/share/terminfo/f/f110", + "usr/share/terminfo/f/f1720a", + "usr/share/terminfo/f/fenix", + "usr/share/terminfo/f/f200vi-w", + "usr/share/terminfo/f/falco", + "usr/share/terminfo/f/f100-rv", + "usr/share/terminfo/f/fbterm", + "usr/share/terminfo/f/f110-w", + "usr/share/terminfo/f/f110-14w", + "usr/share/terminfo/f/falco-p", + "usr/share/terminfo/z/z110", + "usr/share/terminfo/z/ztx11", + "usr/share/terminfo/z/z39a", + "usr/share/terminfo/z/zen8001", + "usr/share/terminfo/z/z30", + "usr/share/terminfo/z/zenith29", + "usr/share/terminfo/z/zenith", + "usr/share/terminfo/z/z29a", + "usr/share/terminfo/z/ztx", + "usr/share/terminfo/z/z-100", + "usr/share/terminfo/z/z39-a", + "usr/share/terminfo/z/z110bw", + "usr/share/terminfo/z/z29", + "usr/share/terminfo/z/zenith39-ansi", + "usr/share/terminfo/z/z8001", + "usr/share/terminfo/z/z340", + "usr/share/terminfo/z/ztx-1-a", + "usr/share/terminfo/z/zen30", + "usr/share/terminfo/z/zenith39-a", + "usr/share/terminfo/z/zen50", + "usr/share/terminfo/z/z340-nam", + "usr/share/terminfo/z/z29a-kc-bc", + "usr/share/terminfo/z/z-100bw", + "usr/share/terminfo/z/zt-1", + "usr/share/terminfo/z/z100bw", + "usr/share/terminfo/z/z100", + "usr/share/terminfo/z/z50", + "usr/share/terminfo/z/z29a-nkc-uc", + "usr/share/terminfo/z/z29a-nkc-bc", + "usr/share/terminfo/z/z19", + "usr/share/terminfo/z/z29a-kc-uc", + "usr/share/terminfo/z/z29b", + "usr/share/terminfo/M/MtxOrb162", + "usr/share/terminfo/M/MtxOrb", + "usr/share/terminfo/M/MtxOrb204", + "usr/share/terminfo/L/LFT-PC850", + "usr/share/terminfo/1/1730-lm", + "usr/share/terminfo/1/1178", + "usr/share/terminfo/s/scoansi", + "usr/share/terminfo/s/sun-ss5", + "usr/share/terminfo/s/screen-bce.mrxvt", + "usr/share/terminfo/s/screen-bce.gnome", + "usr/share/terminfo/s/spinwriter", + "usr/share/terminfo/s/sb1", + "usr/share/terminfo/s/screen-256color-bce", + "usr/share/terminfo/s/sun-e", + "usr/share/terminfo/s/sun-color", + "usr/share/terminfo/s/st-256color", + "usr/share/terminfo/s/sun-c", + "usr/share/terminfo/s/screen.minitel1b", + "usr/share/terminfo/s/simpleterm", + "usr/share/terminfo/s/simterm", + "usr/share/terminfo/s/st52-m", + "usr/share/terminfo/s/screen-16color-s", + "usr/share/terminfo/s/screen", + "usr/share/terminfo/s/sun-48", + "usr/share/terminfo/s/st", + "usr/share/terminfo/s/swtp", + "usr/share/terminfo/s/screen+italics", + "usr/share/terminfo/s/screen.teraterm", + "usr/share/terminfo/s/sun-il", + "usr/share/terminfo/s/soroc120", + "usr/share/terminfo/s/screen-16color-bce", + "usr/share/terminfo/s/screen.minitel2-80", + "usr/share/terminfo/s/soroc140", + "usr/share/terminfo/s/sun", + "usr/share/terminfo/s/sibo", + "usr/share/terminfo/s/stv52", + "usr/share/terminfo/s/screen.xterm-r6", + "usr/share/terminfo/s/sbobcat", + "usr/share/terminfo/s/superbrain", + "usr/share/terminfo/s/sb2", + "usr/share/terminfo/s/stterm-256color", + "usr/share/terminfo/s/screen3", + "usr/share/terminfo/s/screen.konsole-256color", + "usr/share/terminfo/s/screen.minitel1b-nb", + "usr/share/terminfo/s/sv80", + "usr/share/terminfo/s/screen.minitel12-80", + "usr/share/terminfo/s/screen.mlterm", + "usr/share/terminfo/s/screen.minitel1", + "usr/share/terminfo/s/st52-old", + "usr/share/terminfo/s/synertek380", + "usr/share/terminfo/s/superbeeic", + "usr/share/terminfo/s/sun-s", + "usr/share/terminfo/s/screen.linux-m1b", + "usr/share/terminfo/s/sc415", + "usr/share/terminfo/s/screwpoint", + "usr/share/terminfo/s/sbi", + "usr/share/terminfo/s/screen.vte-256color", + "usr/share/terminfo/s/scoansi-old", + "usr/share/terminfo/s/screen.gnome", + "usr/share/terminfo/s/screen+fkeys", + "usr/share/terminfo/s/st-0.7", + "usr/share/terminfo/s/screen.mlterm-256color", + "usr/share/terminfo/s/sun-24", + "usr/share/terminfo/s/st52", + "usr/share/terminfo/s/screen.Eterm", + "usr/share/terminfo/s/screen.putty-m1", + "usr/share/terminfo/s/screen.minitel1-nb", + "usr/share/terminfo/s/screen-bce.Eterm", + "usr/share/terminfo/s/screen-s", + "usr/share/terminfo/s/system1", + "usr/share/terminfo/s/sun-s-e", + "usr/share/terminfo/s/superbee-xsb", + "usr/share/terminfo/s/screen-bce.konsole", + "usr/share/terminfo/s/scanset", + "usr/share/terminfo/s/screen.putty", + "usr/share/terminfo/s/st52-color", + "usr/share/terminfo/s/sun2", + "usr/share/terminfo/s/screen-bce", + "usr/share/terminfo/s/screen.rxvt", + "usr/share/terminfo/s/screen.mrxvt", + "usr/share/terminfo/s/stv52pc", + "usr/share/terminfo/s/sun+sl", + "usr/share/terminfo/s/screen.putty-256color", + "usr/share/terminfo/s/sc410", + "usr/share/terminfo/s/sun-cmd", + "usr/share/terminfo/s/sun-nic", + "usr/share/terminfo/s/stterm", + "usr/share/terminfo/s/sun-17", + "usr/share/terminfo/s/st-16color", + "usr/share/terminfo/s/soroc", + "usr/share/terminfo/s/screen.linux-m1", + "usr/share/terminfo/s/screen-256color", + "usr/share/terminfo/s/scoansi-new", + "usr/share/terminfo/s/screen.konsole", + "usr/share/terminfo/s/screen-16color", + "usr/share/terminfo/s/s4", + "usr/share/terminfo/s/screen-bce.xterm-new", + "usr/share/terminfo/s/screen.xterm-256color", + "usr/share/terminfo/s/screen.putty-m2", + "usr/share/terminfo/s/synertek", + "usr/share/terminfo/s/sb3", + "usr/share/terminfo/s/screen-256color-s", + "usr/share/terminfo/s/screen-w", + "usr/share/terminfo/s/screen-bce.linux", + "usr/share/terminfo/s/screen-16color-bce-s", + "usr/share/terminfo/s/scrhp", + "usr/share/terminfo/s/screen.putty-m1b", + "usr/share/terminfo/s/sun-12", + "usr/share/terminfo/s/st-0.6", + "usr/share/terminfo/s/stterm-16color", + "usr/share/terminfo/s/screen.xterm-new", + "usr/share/terminfo/s/screen.linux", + "usr/share/terminfo/s/sun1", + "usr/share/terminfo/s/screen-bce.rxvt", + "usr/share/terminfo/s/sun-1", + "usr/share/terminfo/s/sune", + "usr/share/terminfo/s/sun-type4", + "usr/share/terminfo/s/screen.minitel1b-80", + "usr/share/terminfo/s/sun-e-s", + "usr/share/terminfo/s/screen.vte", + "usr/share/terminfo/s/screen-256color-bce-s", + "usr/share/terminfo/s/superbee", + "usr/share/terminfo/s/sun-cgsix", + "usr/share/terminfo/s/screen.linux-m2", + "usr/share/terminfo/s/sun-34", + "usr/share/terminfo/s/screen2", + "usr/share/terminfo/s/screen.xterm-xfree86", + "usr/share/terminfo/3/3b1", + "usr/share/terminfo/3/386at", + "usr/share/terminfo/e/envision230", + "usr/share/terminfo/e/elks", + "usr/share/terminfo/e/ecma+color", + "usr/share/terminfo/e/excel64-w", + "usr/share/terminfo/e/ecma+strikeout", + "usr/share/terminfo/e/excel62", + "usr/share/terminfo/e/eterm", + "usr/share/terminfo/e/env230", + "usr/share/terminfo/e/elks-vt52", + "usr/share/terminfo/e/emu-220", + "usr/share/terminfo/e/emu", + "usr/share/terminfo/e/ep40", + "usr/share/terminfo/e/ep48", + "usr/share/terminfo/e/excel64", + "usr/share/terminfo/e/esprit", + "usr/share/terminfo/e/elks-glasstty", + "usr/share/terminfo/e/ecma+italics", + "usr/share/terminfo/e/esprit-am", + "usr/share/terminfo/e/eterm-color", + "usr/share/terminfo/e/emots", + "usr/share/terminfo/e/excel62-rv", + "usr/share/terminfo/e/ergo4000", + "usr/share/terminfo/e/excel62-w", + "usr/share/terminfo/e/emx-base", + "usr/share/terminfo/e/excel64-rv", + "usr/share/terminfo/e/ep4000", + "usr/share/terminfo/e/ecma+sgr", + "usr/share/terminfo/e/ex155", + "usr/share/terminfo/e/elks-ansi", + "usr/share/terminfo/e/exec80", + "usr/share/terminfo/e/ep4080", + "usr/share/terminfo/8/8510", + "usr/share/terminfo/2/2621-wl", + "usr/share/terminfo/2/2621A", + "usr/share/terminfo/2/2621", + "usr/share/terminfo/2/2621a", + "usr/share/terminfo/h/hp98550", + "usr/share/terminfo/h/hp2621-wl", + "usr/share/terminfo/h/h100", + "usr/share/terminfo/h/hp2640a", + "usr/share/terminfo/h/hft-old", + "usr/share/terminfo/h/hpsub", + "usr/share/terminfo/h/hp2624a-10p", + "usr/share/terminfo/h/hirez100-w", + "usr/share/terminfo/h/hp2626-s", + "usr/share/terminfo/h/h19-b", + "usr/share/terminfo/h/heath-19", + "usr/share/terminfo/h/hurd", + "usr/share/terminfo/h/h19-u", + "usr/share/terminfo/h/hp2621p-a", + "usr/share/terminfo/h/hp2621b-kx-p", + "usr/share/terminfo/h/hz1510", + "usr/share/terminfo/h/hft-c", + "usr/share/terminfo/h/hp+pfk+cr", + "usr/share/terminfo/h/hp2627c", + "usr/share/terminfo/h/h19-us", + "usr/share/terminfo/h/hpex", + "usr/share/terminfo/h/ha8675", + "usr/share/terminfo/h/hp98721", + "usr/share/terminfo/h/hp2382a", + "usr/share/terminfo/h/hp2624-10p", + "usr/share/terminfo/h/hp2621-48", + "usr/share/terminfo/h/h19-g", + "usr/share/terminfo/h/hp2626-ns", + "usr/share/terminfo/h/hp262x", + "usr/share/terminfo/h/hp2624b", + "usr/share/terminfo/h/hp700", + "usr/share/terminfo/h/hp+pfk+arrows", + "usr/share/terminfo/h/hp70092", + "usr/share/terminfo/h/hp2626a", + "usr/share/terminfo/h/hp2621A", + "usr/share/terminfo/h/hp2627a-rev", + "usr/share/terminfo/h/hp2621-nl", + "usr/share/terminfo/h/hp+pfk-cr", + "usr/share/terminfo/h/hp2645a", + "usr/share/terminfo/h/hp2626p", + "usr/share/terminfo/h/hp2644a", + "usr/share/terminfo/h/he80", + "usr/share/terminfo/h/h19kermit", + "usr/share/terminfo/h/hp2626-12-s", + "usr/share/terminfo/h/hpterm-color", + "usr/share/terminfo/h/hp2647a", + "usr/share/terminfo/h/hz1000", + "usr/share/terminfo/h/hmod1", + "usr/share/terminfo/h/hp2624b-10p", + "usr/share/terminfo/h/hp+printer", + "usr/share/terminfo/h/hz1552", + "usr/share/terminfo/h/hp2621a-a", + "usr/share/terminfo/h/hp2626-12x40", + "usr/share/terminfo/h/h19g", + "usr/share/terminfo/h/hp236", + "usr/share/terminfo/h/hp2621b-kx", + "usr/share/terminfo/h/hp2623a", + "usr/share/terminfo/h/hp2624b-4p-p", + "usr/share/terminfo/h/hp2621a", + "usr/share/terminfo/h/hp45", + "usr/share/terminfo/h/hp2645", + "usr/share/terminfo/h/h29a-nkc-bc", + "usr/share/terminfo/h/hds200", + "usr/share/terminfo/h/h19a", + "usr/share/terminfo/h/hp2621-nt", + "usr/share/terminfo/h/hp2624b-p", + "usr/share/terminfo/h/hp700-wy", + "usr/share/terminfo/h/hp2648a", + "usr/share/terminfo/h/hz2000", + "usr/share/terminfo/h/hz1552-rv", + "usr/share/terminfo/h/hp98550a", + "usr/share/terminfo/h/hp2623", + "usr/share/terminfo/h/hz1500", + "usr/share/terminfo/h/hp+color", + "usr/share/terminfo/h/hz1420", + "usr/share/terminfo/h/hp2392", + "usr/share/terminfo/h/h29a-nkc-uc", + "usr/share/terminfo/h/hp2382", + "usr/share/terminfo/h/hpex2", + "usr/share/terminfo/h/hp2626-x40", + "usr/share/terminfo/h/hazel", + "usr/share/terminfo/h/h19k", + "usr/share/terminfo/h/hp150", + "usr/share/terminfo/h/ha8686", + "usr/share/terminfo/h/hp2621b", + "usr/share/terminfo/h/hp2", + "usr/share/terminfo/h/hp2641a", + "usr/share/terminfo/h/hpgeneric", + "usr/share/terminfo/h/hp2621-a", + "usr/share/terminfo/h/hp2621", + "usr/share/terminfo/h/hp2622", + "usr/share/terminfo/h/h-100bw", + "usr/share/terminfo/h/h19-a", + "usr/share/terminfo/h/hz1520", + "usr/share/terminfo/h/h29a-kc-uc", + "usr/share/terminfo/h/hp2626-12", + "usr/share/terminfo/h/hp2626", + "usr/share/terminfo/h/hp2397a", + "usr/share/terminfo/h/heath-ansi", + "usr/share/terminfo/h/hp110", + "usr/share/terminfo/h/hp2624", + "usr/share/terminfo/h/hp2621p", + "usr/share/terminfo/h/htx11", + "usr/share/terminfo/h/heathkit-a", + "usr/share/terminfo/h/hp2624a", + "usr/share/terminfo/h/h100bw", + "usr/share/terminfo/h/hp9837", + "usr/share/terminfo/h/h19us", + "usr/share/terminfo/h/hp2627a", + "usr/share/terminfo/h/hirez100", + "usr/share/terminfo/h/hp2640b", + "usr/share/terminfo/h/h80", + "usr/share/terminfo/h/hp2621-fl", + "usr/share/terminfo/h/hp2621-ba", + "usr/share/terminfo/h/hp2624b-4p", + "usr/share/terminfo/h/hp70092a", + "usr/share/terminfo/h/hp98720", + "usr/share/terminfo/h/hz1520-noesc", + "usr/share/terminfo/h/h29a-kc-bc", + "usr/share/terminfo/h/h-100", + "usr/share/terminfo/h/hp2621-k45", + "usr/share/terminfo/h/h19-bs", + "usr/share/terminfo/h/heathkit", + "usr/share/terminfo/h/hp70092A", + "usr/share/terminfo/h/h19", + "usr/share/terminfo/h/hp9845", + "usr/share/terminfo/h/hp2621b-p", + "usr/share/terminfo/h/hp", + "usr/share/terminfo/h/hp2648", + "usr/share/terminfo/h/hp+arrows", + "usr/share/terminfo/h/hp+labels", + "usr/share/terminfo/h/h19-smul", + "usr/share/terminfo/h/hft", + "usr/share/terminfo/h/hp2624b-10p-p", + "usr/share/terminfo/h/hpansi", + "usr/share/terminfo/h/hp2622a", + "usr/share/terminfo/h/hpterm", + "usr/share/terminfo/h/heath", + "usr/share/terminfo/h/hp2397", + "usr/share/terminfo/h/hp2621k45", + "usr/share/terminfo/h/hft-c-old", + "usr/share/terminfo/h/hp300h", + "usr/share/terminfo/P/P9-8-W", + "usr/share/terminfo/P/P8", + "usr/share/terminfo/P/P14-M", + "usr/share/terminfo/P/P14-W", + "usr/share/terminfo/P/P14", + "usr/share/terminfo/P/P9-W", + "usr/share/terminfo/P/P4", + "usr/share/terminfo/P/P12-M-W", + "usr/share/terminfo/P/P8-W", + "usr/share/terminfo/P/P12", + "usr/share/terminfo/P/P12-M", + "usr/share/terminfo/P/P9", + "usr/share/terminfo/P/P12-W", + "usr/share/terminfo/P/P7", + "usr/share/terminfo/P/P5", + "usr/share/terminfo/P/P9-8", + "usr/share/terminfo/P/P14-M-W", + "usr/share/terminfo/u/uniterm", + "usr/share/terminfo/u/ultima2", + "usr/share/terminfo/u/ultimaII", + "usr/share/terminfo/u/unknown", + "usr/share/terminfo/u/uwin", + "usr/share/terminfo/u/unixpc", + "usr/share/terminfo/u/uts30", + "usr/share/terminfo/u/uniterm49", + "usr/share/terminfo/7/730MTG-41r", + "usr/share/terminfo/7/730MTG-41", + "usr/share/terminfo/7/730MTGr-24", + "usr/share/terminfo/7/730MTGr", + "usr/share/terminfo/7/730MTG-24", + "usr/share/terminfo/N/NCRVT100WPP", + "usr/share/terminfo/N/NCR260VT300WPP", + "usr/share/terminfo/5/5630DMD-24", + "usr/share/terminfo/5/5410-w", + "usr/share/terminfo/5/5630-24", + "usr/share/terminfo/5/5620", + "usr/share/terminfo/5/5051", + "usr/share/terminfo/o/opennt", + "usr/share/terminfo/o/o85h", + "usr/share/terminfo/o/opennt-100", + "usr/share/terminfo/o/opennt-25", + "usr/share/terminfo/o/oldibmpc3", + "usr/share/terminfo/o/os9LII", + "usr/share/terminfo/o/opennt-60-w", + "usr/share/terminfo/o/opennt-60", + "usr/share/terminfo/o/osborne1", + "usr/share/terminfo/o/opennt-50-w", + "usr/share/terminfo/o/otek4112", + "usr/share/terminfo/o/otek4113", + "usr/share/terminfo/o/osexec", + "usr/share/terminfo/o/origpc3", + "usr/share/terminfo/o/o4112-nd", + "usr/share/terminfo/o/opennt-nti", + "usr/share/terminfo/o/oldsun", + "usr/share/terminfo/o/opennt-25-nti", + "usr/share/terminfo/o/opennt-35-w", + "usr/share/terminfo/o/opennt-w-vt", + "usr/share/terminfo/o/opennt-100-nti", + "usr/share/terminfo/o/opennt-60-nti", + "usr/share/terminfo/o/osborne-w", + "usr/share/terminfo/o/omron", + "usr/share/terminfo/o/origibmpc3", + "usr/share/terminfo/o/opennt-25-w", + "usr/share/terminfo/o/opennt-w", + "usr/share/terminfo/o/ofcons", + "usr/share/terminfo/o/opennt-35-nti", + "usr/share/terminfo/o/old-st", + "usr/share/terminfo/o/opennt-25-w-vt", + "usr/share/terminfo/o/oldpc3", + "usr/share/terminfo/o/owl", + "usr/share/terminfo/o/oabm85h", + "usr/share/terminfo/o/oblit", + "usr/share/terminfo/o/opennt-35", + "usr/share/terminfo/o/osborne", + "usr/share/terminfo/o/otek4114", + "usr/share/terminfo/o/opus3n1+", + "usr/share/terminfo/o/osborne1-w", + "usr/share/terminfo/o/otek4115", + "usr/share/terminfo/o/opennt-50-nti", + "usr/share/terminfo/o/opennt-50", + "usr/share/terminfo/o/oconcept", + "usr/share/terminfo/o/ojerq", + "usr/share/terminfo/o/o31", + "usr/share/terminfo/o/oc100", + "usr/share/terminfo/i/ibmapa16", + "usr/share/terminfo/i/ibm3101", + "usr/share/terminfo/i/ibmpc3r", + "usr/share/terminfo/i/ibm+16color", + "usr/share/terminfo/i/ibm5154-c", + "usr/share/terminfo/i/ibm8503", + "usr/share/terminfo/i/i100", + "usr/share/terminfo/i/ibcs2", + "usr/share/terminfo/i/iris-ansi-net", + "usr/share/terminfo/i/iris40", + "usr/share/terminfo/i/infoton", + "usr/share/terminfo/i/i3101", + "usr/share/terminfo/i/ibm8514", + "usr/share/terminfo/i/ipsi", + "usr/share/terminfo/i/ibm3161", + "usr/share/terminfo/i/ibmapa8c", + "usr/share/terminfo/i/i400", + "usr/share/terminfo/i/intext2", + "usr/share/terminfo/i/ibmpc3r-mono", + "usr/share/terminfo/i/ibm+color", + "usr/share/terminfo/i/iq140", + "usr/share/terminfo/i/ibm6153-90", + "usr/share/terminfo/i/ibm3162", + "usr/share/terminfo/i/ibm-system1", + "usr/share/terminfo/i/ibm5081", + "usr/share/terminfo/i/ibm3164", + "usr/share/terminfo/i/ibm6155", + "usr/share/terminfo/i/ibm8514-c", + "usr/share/terminfo/i/ibm327x", + "usr/share/terminfo/i/ibm8604", + "usr/share/terminfo/i/ibmpc", + "usr/share/terminfo/i/icl6402", + "usr/share/terminfo/i/i3164", + "usr/share/terminfo/i/iTerm2.app", + "usr/share/terminfo/i/ibm5151", + "usr/share/terminfo/i/ibm-pc", + "usr/share/terminfo/i/ibm6154-c", + "usr/share/terminfo/i/intertube", + "usr/share/terminfo/i/ims950-b", + "usr/share/terminfo/i/intertube2", + "usr/share/terminfo/i/ibmmono", + "usr/share/terminfo/i/ibm8507", + "usr/share/terminfo/i/iterm2", + "usr/share/terminfo/i/ibm5051", + "usr/share/terminfo/i/ibmaed", + "usr/share/terminfo/i/interix", + "usr/share/terminfo/i/interix-nti", + "usr/share/terminfo/i/ibmega-c", + "usr/share/terminfo/i/ibmmpel-c", + "usr/share/terminfo/i/intextii", + "usr/share/terminfo/i/iq120", + "usr/share/terminfo/i/ibmega", + "usr/share/terminfo/i/ibm3163", + "usr/share/terminfo/i/intext", + "usr/share/terminfo/i/ips", + "usr/share/terminfo/i/ibmapa8", + "usr/share/terminfo/i/ims-ansi", + "usr/share/terminfo/i/ibm5154", + "usr/share/terminfo/i/ibmpcx", + "usr/share/terminfo/i/ibmapa8c-c", + "usr/share/terminfo/i/ibm3161-C", + "usr/share/terminfo/i/intertec", + "usr/share/terminfo/i/iterm", + "usr/share/terminfo/i/ibm6154", + "usr/share/terminfo/i/iTerm.app", + "usr/share/terminfo/i/ibm8512", + "usr/share/terminfo/i/ifmr", + "usr/share/terminfo/i/ibm6153-40", + "usr/share/terminfo/i/iris-color", + "usr/share/terminfo/i/ibmx", + "usr/share/terminfo/i/ibm8513", + "usr/share/terminfo/i/ibmpc3", + "usr/share/terminfo/i/ibmvga-c", + "usr/share/terminfo/i/iris-ansi-ap", + "usr/share/terminfo/i/iris-ansi", + "usr/share/terminfo/i/ibm-apl", + "usr/share/terminfo/i/icl6404-w", + "usr/share/terminfo/i/ims950", + "usr/share/terminfo/i/ibm5081-c", + "usr/share/terminfo/i/ibm3151", + "usr/share/terminfo/i/ims950-rv", + "usr/share/terminfo/i/ibm6153", + "usr/share/terminfo/i/ibmvga", + "usr/share/terminfo/i/icl6404", + "usr/share/terminfo/m/mskermit227", + "usr/share/terminfo/m/mod", + "usr/share/terminfo/m/minitel1b-nb", + "usr/share/terminfo/m/masscomp", + "usr/share/terminfo/m/minitel", + "usr/share/terminfo/m/mime340", + "usr/share/terminfo/m/mime314", + "usr/share/terminfo/m/mai", + "usr/share/terminfo/m/mime-hb", + "usr/share/terminfo/m/morphos", + "usr/share/terminfo/m/mrxvt", + "usr/share/terminfo/m/modgraph48", + "usr/share/terminfo/m/mach", + "usr/share/terminfo/m/mach-gnu-color", + "usr/share/terminfo/m/msk22714", + "usr/share/terminfo/m/mod24", + "usr/share/terminfo/m/mime2a-v", + "usr/share/terminfo/m/macintosh", + "usr/share/terminfo/m/mlterm-256color", + "usr/share/terminfo/m/microbee", + "usr/share/terminfo/m/mlterm", + "usr/share/terminfo/m/mvterm", + "usr/share/terminfo/m/mdl110", + "usr/share/terminfo/m/minix-3.0", + "usr/share/terminfo/m/mime", + "usr/share/terminfo/m/macterminal-w", + "usr/share/terminfo/m/ms-vt100-color", + "usr/share/terminfo/m/masscomp2", + "usr/share/terminfo/m/mskermit227am", + "usr/share/terminfo/m/microterm", + "usr/share/terminfo/m/mouse-sun", + "usr/share/terminfo/m/ms-vt100", + "usr/share/terminfo/m/mlterm3", + "usr/share/terminfo/m/mime-fb", + "usr/share/terminfo/m/minitel12-80", + "usr/share/terminfo/m/memhp", + "usr/share/terminfo/m/mgr-linux", + "usr/share/terminfo/m/minix", + "usr/share/terminfo/m/minitel1", + "usr/share/terminfo/m/minitel-2", + "usr/share/terminfo/m/mime2a-s", + "usr/share/terminfo/m/msk227am", + "usr/share/terminfo/m/mterm", + "usr/share/terminfo/m/mime3ax", + "usr/share/terminfo/m/microterm5", + "usr/share/terminfo/m/mm340", + "usr/share/terminfo/m/minitel-2-nam", + "usr/share/terminfo/m/mrxvt-256color", + "usr/share/terminfo/m/mac", + "usr/share/terminfo/m/mime2", + "usr/share/terminfo/m/megatek", + "usr/share/terminfo/m/mm314", + "usr/share/terminfo/m/mterm-ansi", + "usr/share/terminfo/m/minitel2-80", + "usr/share/terminfo/m/mime2a", + "usr/share/terminfo/m/mac-w", + "usr/share/terminfo/m/mach-color", + "usr/share/terminfo/m/mach-gnu", + "usr/share/terminfo/m/modgraph2", + "usr/share/terminfo/m/minitel1b-80", + "usr/share/terminfo/m/masscomp1", + "usr/share/terminfo/m/mime1", + "usr/share/terminfo/m/msk227", + "usr/share/terminfo/m/m2-nam", + "usr/share/terminfo/m/mgt", + "usr/share/terminfo/m/minix-old-am", + "usr/share/terminfo/m/mime-3ax", + "usr/share/terminfo/m/ms-vt-utf8", + "usr/share/terminfo/m/mgterm", + "usr/share/terminfo/m/mgr-sun", + "usr/share/terminfo/m/minitel1b", + "usr/share/terminfo/m/mlterm+pcfkeys", + "usr/share/terminfo/m/mime3a", + "usr/share/terminfo/m/minix-old", + "usr/share/terminfo/m/minix-1.5", + "usr/share/terminfo/m/minix-1.7", + "usr/share/terminfo/m/modgraph", + "usr/share/terminfo/m/mimeii", + "usr/share/terminfo/m/mgr", + "usr/share/terminfo/m/mt70", + "usr/share/terminfo/m/mono-emx", + "usr/share/terminfo/m/mt4520-rv", + "usr/share/terminfo/m/mskermit22714", + "usr/share/terminfo/m/ms-vt100+", + "usr/share/terminfo/m/mimei", + "usr/share/terminfo/m/mt-70", + "usr/share/terminfo/m/microb", + "usr/share/terminfo/m/mach-bold", + "usr/share/terminfo/m/minitel1-nb", + "usr/share/terminfo/m/mlterm2", + "usr/share/terminfo/4/4025ex", + "usr/share/terminfo/4/4410-w", + "usr/share/terminfo/4/4027ex", + "usr/share/terminfo/X/X-hpterm", + "usr/share/terminfo/q/qvt119-w", + "usr/share/terminfo/q/qvt203-25-w", + "usr/share/terminfo/q/qume", + "usr/share/terminfo/q/qvt108", + "usr/share/terminfo/q/qdcons", + "usr/share/terminfo/q/qnxm", + "usr/share/terminfo/q/qvt203+", + "usr/share/terminfo/q/qvt119+-w", + "usr/share/terminfo/q/qvt203-w", + "usr/share/terminfo/q/qvt119p-25-w", + "usr/share/terminfo/q/qvt101+", + "usr/share/terminfo/q/qvt119+-25-w", + "usr/share/terminfo/q/qvt102", + "usr/share/terminfo/q/qansi-t", + "usr/share/terminfo/q/qnxtmono", + "usr/share/terminfo/q/qnxt2", + "usr/share/terminfo/q/qvt103-w", + "usr/share/terminfo/q/qansi", + "usr/share/terminfo/q/qvt203-w-am", + "usr/share/terminfo/q/qvt119+-25", + "usr/share/terminfo/q/qvt119p-w", + "usr/share/terminfo/q/qvt103", + "usr/share/terminfo/q/qdss", + "usr/share/terminfo/q/qvt119-25-w", + "usr/share/terminfo/q/qvt203-25", + "usr/share/terminfo/q/qvt119", + "usr/share/terminfo/q/qnxw", + "usr/share/terminfo/q/qansi-g", + "usr/share/terminfo/q/qvt119p", + "usr/share/terminfo/q/qnxt4", + "usr/share/terminfo/q/qvt101p", + "usr/share/terminfo/q/qvt203", + "usr/share/terminfo/q/qvt119p-25", + "usr/share/terminfo/q/qnx", + "usr/share/terminfo/q/qume5", + "usr/share/terminfo/q/qansi-m", + "usr/share/terminfo/q/qvt101", + "usr/share/terminfo/q/qvt119+", + "usr/share/terminfo/q/qnx4", + "usr/share/terminfo/q/qansi-w", + "usr/share/terminfo/q/qnxt" + ] }, { "ID": "ncurses-terminfo-base@6.0_p20171125-r1", @@ -718,7 +4792,23 @@ "Digest": "sha256:3d6152f6ac208640f9fb494d1c379fe508db1fc5754cd08fefec200bddd13e0e", "DiffID": "sha256:6408527580eade39c2692dbb6b0f6a9321448d06ea1c2eef06bb7f37da9c5013" }, - "Digest": "sha1:967549060a1cf0ef40e1f1d2fff56b8e45e999c2" + "Digest": "sha1:967549060a1cf0ef40e1f1d2fff56b8e45e999c2", + "InstalledFiles": [ + "etc/terminfo/a/ansi", + "etc/terminfo/r/rxvt", + "etc/terminfo/d/dumb", + "etc/terminfo/l/linux", + "etc/terminfo/x/xterm", + "etc/terminfo/x/xterm-color", + "etc/terminfo/x/xterm-xfree86", + "etc/terminfo/v/vt52", + "etc/terminfo/v/vt200", + "etc/terminfo/v/vt220", + "etc/terminfo/v/vt102", + "etc/terminfo/v/vt100", + "etc/terminfo/s/screen", + "etc/terminfo/s/sun" + ] }, { "ID": "openssh@7.5_p1-r9", @@ -741,7 +4831,10 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:f1d37d2f20528e68bc78028934fa749abd56fcd9" + "Digest": "sha1:f1d37d2f20528e68bc78028934fa749abd56fcd9", + "InstalledFiles": [ + "usr/lib/ssh/ssh-pkcs11-helper" + ] }, { "ID": "openssh-client@7.5_p1-r9", @@ -763,7 +4856,20 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:8cfbbee8796be1acaa03e8ee58f431dad21ef3c5" + "Digest": "sha1:8cfbbee8796be1acaa03e8ee58f431dad21ef3c5", + "InstalledFiles": [ + "etc/ssh/moduli", + "etc/ssh/ssh_config", + "usr/bin/ssh-pkcs11-helper", + "usr/bin/ssh", + "usr/bin/sftp", + "usr/bin/scp", + "usr/bin/ssh-keyscan", + "usr/bin/ssh-copy-id", + "usr/bin/ssh-add", + "usr/bin/ssh-agent", + "usr/bin/findssl.sh" + ] }, { "ID": "openssh-keygen@7.5_p1-r9", @@ -783,7 +4889,10 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:c610fb52fb90da0e25eea69c1e55d02cf44ba05d" + "Digest": "sha1:c610fb52fb90da0e25eea69c1e55d02cf44ba05d", + "InstalledFiles": [ + "usr/bin/ssh-keygen" + ] }, { "ID": "openssh-server@7.5_p1-r9", @@ -806,7 +4915,10 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:326edd676b254aefe048536473c540b28fb335ce" + "Digest": "sha1:326edd676b254aefe048536473c540b28fb335ce", + "InstalledFiles": [ + "usr/sbin/sshd" + ] }, { "ID": "openssh-server-common@7.5_p1-r9", @@ -822,7 +4934,12 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:f055712504ebbe781cf4c6a6987a878067dd65fd" + "Digest": "sha1:f055712504ebbe781cf4c6a6987a878067dd65fd", + "InstalledFiles": [ + "etc/ssh/sshd_config", + "etc/init.d/sshd", + "etc/conf.d/sshd" + ] }, { "ID": "openssh-sftp-server@7.5_p1-r9", @@ -841,7 +4958,10 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:6c1dcaaba744742843ca4766f21ca546e7813930" + "Digest": "sha1:6c1dcaaba744742843ca4766f21ca546e7813930", + "InstalledFiles": [ + "usr/lib/ssh/sftp-server" + ] }, { "ID": "patch@2.7.5-r2", @@ -860,7 +4980,10 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:8ab18877f726014de8dff1368937414ae8929abd" + "Digest": "sha1:8ab18877f726014de8dff1368937414ae8929abd", + "InstalledFiles": [ + "usr/bin/patch" + ] }, { "ID": "pcre2@10.30-r0", @@ -879,7 +5002,13 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:5d9f8804b6343a6dd1df0d131b4f342294a423af" + "Digest": "sha1:5d9f8804b6343a6dd1df0d131b4f342294a423af", + "InstalledFiles": [ + "usr/lib/libpcre2-8.so.0.6.0", + "usr/lib/libpcre2-8.so.0", + "usr/lib/libpcre2-posix.so.2", + "usr/lib/libpcre2-posix.so.2.0.0" + ] }, { "ID": "pkgconf@1.3.10-r0", @@ -898,7 +5027,14 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:bcdf2647b07bae9fffd76433d0defcc6e8dbea21" + "Digest": "sha1:bcdf2647b07bae9fffd76433d0defcc6e8dbea21", + "InstalledFiles": [ + "usr/bin/pkgconf", + "usr/bin/pkg-config", + "usr/lib/libpkgconf.so.2", + "usr/lib/libpkgconf.so.2.0.0", + "usr/share/aclocal/pkg.m4" + ] }, { "ID": "python2@2.7.15-r2", @@ -927,7 +5063,2420 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:e535f131326fc346ffe23083b79fb688a220796a" + "Digest": "sha1:e535f131326fc346ffe23083b79fb688a220796a", + "InstalledFiles": [ + "usr/bin/pydoc", + "usr/bin/python", + "usr/bin/python2.7", + "usr/bin/python2", + "usr/bin/idle", + "usr/bin/smtpd.py", + "usr/lib/libpython2.7.so.1.0", + "usr/lib/python2.7/_sysconfigdata.pyc", + "usr/lib/python2.7/DocXMLRPCServer.pyo", + "usr/lib/python2.7/new.py", + "usr/lib/python2.7/profile.pyc", + "usr/lib/python2.7/pprint.pyo", + "usr/lib/python2.7/smtpd.pyc", + "usr/lib/python2.7/pdb.doc", + "usr/lib/python2.7/UserDict.pyc", + "usr/lib/python2.7/_abcoll.py", + "usr/lib/python2.7/_pyio.pyo", + "usr/lib/python2.7/ihooks.pyc", + "usr/lib/python2.7/chunk.pyc", + "usr/lib/python2.7/_threading_local.pyo", + "usr/lib/python2.7/wave.pyc", + "usr/lib/python2.7/doctest.pyo", + "usr/lib/python2.7/weakref.pyo", + "usr/lib/python2.7/pkgutil.pyc", + "usr/lib/python2.7/sre_parse.py", + "usr/lib/python2.7/macurl2path.pyo", + "usr/lib/python2.7/quopri.py", + "usr/lib/python2.7/numbers.py", + "usr/lib/python2.7/_threading_local.py", + "usr/lib/python2.7/telnetlib.pyo", + "usr/lib/python2.7/abc.pyc", + "usr/lib/python2.7/pkgutil.pyo", + "usr/lib/python2.7/poplib.pyc", + "usr/lib/python2.7/__future__.pyo", + "usr/lib/python2.7/symtable.pyo", + "usr/lib/python2.7/mimetypes.pyc", + "usr/lib/python2.7/_MozillaCookieJar.py", + "usr/lib/python2.7/_osx_support.pyc", + "usr/lib/python2.7/tokenize.py", + "usr/lib/python2.7/dircache.pyc", + "usr/lib/python2.7/rexec.pyo", + "usr/lib/python2.7/CGIHTTPServer.pyc", + "usr/lib/python2.7/this.pyo", + "usr/lib/python2.7/timeit.pyo", + "usr/lib/python2.7/rlcompleter.py", + "usr/lib/python2.7/urlparse.pyc", + "usr/lib/python2.7/__phello__.foo.pyc", + "usr/lib/python2.7/Cookie.py", + "usr/lib/python2.7/pickletools.py", + "usr/lib/python2.7/stringold.pyo", + "usr/lib/python2.7/pstats.pyc", + "usr/lib/python2.7/filecmp.py", + "usr/lib/python2.7/difflib.pyo", + "usr/lib/python2.7/getpass.pyo", + "usr/lib/python2.7/linecache.py", + "usr/lib/python2.7/rlcompleter.pyo", + "usr/lib/python2.7/mailcap.py", + "usr/lib/python2.7/uuid.py", + "usr/lib/python2.7/xmlrpclib.pyc", + "usr/lib/python2.7/calendar.pyo", + "usr/lib/python2.7/struct.py", + "usr/lib/python2.7/MimeWriter.py", + "usr/lib/python2.7/zipfile.pyc", + "usr/lib/python2.7/platform.py", + "usr/lib/python2.7/inspect.pyc", + "usr/lib/python2.7/warnings.pyo", + "usr/lib/python2.7/tty.pyo", + "usr/lib/python2.7/shelve.pyo", + "usr/lib/python2.7/whichdb.py", + "usr/lib/python2.7/asynchat.py", + "usr/lib/python2.7/plistlib.py", + "usr/lib/python2.7/runpy.py", + "usr/lib/python2.7/anydbm.py", + "usr/lib/python2.7/os.py", + "usr/lib/python2.7/cookielib.py", + "usr/lib/python2.7/_LWPCookieJar.pyo", + "usr/lib/python2.7/urllib.pyc", + "usr/lib/python2.7/SimpleHTTPServer.pyo", + "usr/lib/python2.7/cgi.pyo", + "usr/lib/python2.7/cProfile.pyo", + "usr/lib/python2.7/smtpd.pyo", + "usr/lib/python2.7/multifile.pyc", + "usr/lib/python2.7/mailcap.pyo", + "usr/lib/python2.7/repr.pyo", + "usr/lib/python2.7/calendar.pyc", + "usr/lib/python2.7/functools.pyo", + "usr/lib/python2.7/macurl2path.pyc", + "usr/lib/python2.7/getopt.py", + "usr/lib/python2.7/mimify.py", + "usr/lib/python2.7/functools.py", + "usr/lib/python2.7/dbhash.py", + "usr/lib/python2.7/_MozillaCookieJar.pyc", + "usr/lib/python2.7/struct.pyc", + "usr/lib/python2.7/pty.pyo", + "usr/lib/python2.7/_MozillaCookieJar.pyo", + "usr/lib/python2.7/urlparse.pyo", + "usr/lib/python2.7/this.py", + "usr/lib/python2.7/user.py", + "usr/lib/python2.7/threading.pyc", + "usr/lib/python2.7/timeit.pyc", + "usr/lib/python2.7/stringprep.pyo", + "usr/lib/python2.7/argparse.pyo", + "usr/lib/python2.7/pkgutil.py", + "usr/lib/python2.7/wave.py", + "usr/lib/python2.7/aifc.pyo", + "usr/lib/python2.7/atexit.pyo", + "usr/lib/python2.7/HTMLParser.pyo", + "usr/lib/python2.7/nntplib.py", + "usr/lib/python2.7/toaiff.py", + "usr/lib/python2.7/fpformat.pyc", + "usr/lib/python2.7/antigravity.pyc", + "usr/lib/python2.7/asyncore.pyo", + "usr/lib/python2.7/fnmatch.py", + "usr/lib/python2.7/mailbox.py", + "usr/lib/python2.7/uuid.pyc", + "usr/lib/python2.7/shutil.py", + "usr/lib/python2.7/multifile.py", + "usr/lib/python2.7/poplib.py", + "usr/lib/python2.7/SimpleHTTPServer.py", + "usr/lib/python2.7/UserString.pyo", + "usr/lib/python2.7/sysconfig.pyo", + "usr/lib/python2.7/mimify.pyc", + "usr/lib/python2.7/sre_constants.py", + "usr/lib/python2.7/token.pyo", + "usr/lib/python2.7/audiodev.pyo", + "usr/lib/python2.7/os.pyo", + "usr/lib/python2.7/quopri.pyc", + "usr/lib/python2.7/shutil.pyc", + "usr/lib/python2.7/glob.pyo", + "usr/lib/python2.7/glob.pyc", + "usr/lib/python2.7/sndhdr.pyo", + "usr/lib/python2.7/urllib.py", + "usr/lib/python2.7/uuid.pyo", + "usr/lib/python2.7/base64.py", + "usr/lib/python2.7/Queue.pyc", + "usr/lib/python2.7/pyclbr.pyc", + "usr/lib/python2.7/traceback.pyo", + "usr/lib/python2.7/telnetlib.pyc", + "usr/lib/python2.7/dis.py", + "usr/lib/python2.7/_threading_local.pyc", + "usr/lib/python2.7/runpy.pyo", + "usr/lib/python2.7/subprocess.pyo", + "usr/lib/python2.7/xmllib.py", + "usr/lib/python2.7/stringold.pyc", + "usr/lib/python2.7/sre_compile.py", + "usr/lib/python2.7/webbrowser.pyo", + "usr/lib/python2.7/pickle.py", + "usr/lib/python2.7/hmac.pyo", + "usr/lib/python2.7/base64.pyo", + "usr/lib/python2.7/codeop.pyo", + "usr/lib/python2.7/locale.py", + "usr/lib/python2.7/posixpath.pyc", + "usr/lib/python2.7/popen2.pyc", + "usr/lib/python2.7/binhex.py", + "usr/lib/python2.7/this.pyc", + "usr/lib/python2.7/cmd.pyc", + "usr/lib/python2.7/pickle.pyo", + "usr/lib/python2.7/shutil.pyo", + "usr/lib/python2.7/profile.py", + "usr/lib/python2.7/SimpleHTTPServer.pyc", + "usr/lib/python2.7/textwrap.pyc", + "usr/lib/python2.7/sets.pyo", + "usr/lib/python2.7/site.pyo", + "usr/lib/python2.7/genericpath.py", + "usr/lib/python2.7/timeit.py", + "usr/lib/python2.7/uu.pyo", + "usr/lib/python2.7/nntplib.pyc", + "usr/lib/python2.7/colorsys.pyo", + "usr/lib/python2.7/imputil.pyc", + "usr/lib/python2.7/sched.py", + "usr/lib/python2.7/base64.pyc", + "usr/lib/python2.7/xdrlib.pyo", + "usr/lib/python2.7/imaplib.pyo", + "usr/lib/python2.7/tabnanny.pyo", + "usr/lib/python2.7/sched.pyc", + "usr/lib/python2.7/macpath.py", + "usr/lib/python2.7/abc.py", + "usr/lib/python2.7/htmllib.pyc", + "usr/lib/python2.7/tempfile.pyo", + "usr/lib/python2.7/wave.pyo", + "usr/lib/python2.7/compileall.pyo", + "usr/lib/python2.7/HTMLParser.py", + "usr/lib/python2.7/bisect.py", + "usr/lib/python2.7/shlex.pyo", + "usr/lib/python2.7/tty.pyc", + "usr/lib/python2.7/stat.pyc", + "usr/lib/python2.7/mhlib.pyc", + "usr/lib/python2.7/mutex.pyo", + "usr/lib/python2.7/nturl2path.py", + "usr/lib/python2.7/rlcompleter.pyc", + "usr/lib/python2.7/formatter.pyc", + "usr/lib/python2.7/poplib.pyo", + "usr/lib/python2.7/antigravity.py", + "usr/lib/python2.7/tokenize.pyo", + "usr/lib/python2.7/pickletools.pyc", + "usr/lib/python2.7/asyncore.py", + "usr/lib/python2.7/decimal.pyc", + "usr/lib/python2.7/ftplib.py", + "usr/lib/python2.7/fileinput.pyc", + "usr/lib/python2.7/smtplib.pyo", + "usr/lib/python2.7/pipes.pyc", + "usr/lib/python2.7/hmac.pyc", + "usr/lib/python2.7/ast.pyc", + "usr/lib/python2.7/dircache.py", + "usr/lib/python2.7/cmd.pyo", + "usr/lib/python2.7/stat.pyo", + "usr/lib/python2.7/tempfile.py", + "usr/lib/python2.7/traceback.py", + "usr/lib/python2.7/binhex.pyc", + "usr/lib/python2.7/_osx_support.pyo", + "usr/lib/python2.7/toaiff.pyo", + "usr/lib/python2.7/xdrlib.py", + "usr/lib/python2.7/locale.pyc", + "usr/lib/python2.7/types.py", + "usr/lib/python2.7/difflib.py", + "usr/lib/python2.7/CGIHTTPServer.pyo", + "usr/lib/python2.7/codecs.pyo", + "usr/lib/python2.7/opcode.pyc", + "usr/lib/python2.7/cgitb.pyc", + "usr/lib/python2.7/mhlib.py", + "usr/lib/python2.7/gettext.pyo", + "usr/lib/python2.7/macpath.pyo", + "usr/lib/python2.7/pdb.pyo", + "usr/lib/python2.7/quopri.pyo", + "usr/lib/python2.7/subprocess.py", + "usr/lib/python2.7/gzip.pyc", + "usr/lib/python2.7/getopt.pyo", + "usr/lib/python2.7/multifile.pyo", + "usr/lib/python2.7/tarfile.pyo", + "usr/lib/python2.7/ihooks.pyo", + "usr/lib/python2.7/dummy_threading.py", + "usr/lib/python2.7/_sysconfigdata.pyo", + "usr/lib/python2.7/pickle.pyc", + "usr/lib/python2.7/_LWPCookieJar.py", + "usr/lib/python2.7/xdrlib.pyc", + "usr/lib/python2.7/bisect.pyc", + "usr/lib/python2.7/LICENSE.txt", + "usr/lib/python2.7/sunaudio.py", + "usr/lib/python2.7/_abcoll.pyc", + "usr/lib/python2.7/string.pyc", + "usr/lib/python2.7/sunaudio.pyo", + "usr/lib/python2.7/getopt.pyc", + "usr/lib/python2.7/symtable.py", + "usr/lib/python2.7/codecs.py", + "usr/lib/python2.7/pdb.py", + "usr/lib/python2.7/hashlib.py", + "usr/lib/python2.7/code.pyo", + "usr/lib/python2.7/mailcap.pyc", + "usr/lib/python2.7/dis.pyo", + "usr/lib/python2.7/sets.py", + "usr/lib/python2.7/pydoc.pyo", + "usr/lib/python2.7/optparse.pyo", + "usr/lib/python2.7/hmac.py", + "usr/lib/python2.7/UserList.pyc", + "usr/lib/python2.7/fractions.pyc", + "usr/lib/python2.7/io.pyo", + "usr/lib/python2.7/py_compile.pyo", + "usr/lib/python2.7/popen2.pyo", + "usr/lib/python2.7/pty.py", + "usr/lib/python2.7/sunau.pyo", + "usr/lib/python2.7/atexit.py", + "usr/lib/python2.7/heapq.py", + "usr/lib/python2.7/sha.pyo", + "usr/lib/python2.7/sunaudio.pyc", + "usr/lib/python2.7/webbrowser.pyc", + "usr/lib/python2.7/pty.pyc", + "usr/lib/python2.7/urllib.pyo", + "usr/lib/python2.7/posixfile.py", + "usr/lib/python2.7/colorsys.py", + "usr/lib/python2.7/threading.pyo", + "usr/lib/python2.7/contextlib.pyc", + "usr/lib/python2.7/robotparser.pyo", + "usr/lib/python2.7/commands.py", + "usr/lib/python2.7/ssl.pyc", + "usr/lib/python2.7/commands.pyo", + "usr/lib/python2.7/binhex.pyo", + "usr/lib/python2.7/_weakrefset.pyo", + "usr/lib/python2.7/traceback.pyc", + "usr/lib/python2.7/SocketServer.pyc", + "usr/lib/python2.7/new.pyo", + "usr/lib/python2.7/cgi.pyc", + "usr/lib/python2.7/ihooks.py", + "usr/lib/python2.7/random.pyc", + "usr/lib/python2.7/MimeWriter.pyc", + "usr/lib/python2.7/Queue.pyo", + "usr/lib/python2.7/mimetypes.py", + "usr/lib/python2.7/htmllib.pyo", + "usr/lib/python2.7/_strptime.pyc", + "usr/lib/python2.7/ConfigParser.pyo", + "usr/lib/python2.7/modulefinder.py", + "usr/lib/python2.7/doctest.pyc", + "usr/lib/python2.7/xmlrpclib.pyo", + "usr/lib/python2.7/ftplib.pyo", + "usr/lib/python2.7/csv.pyo", + "usr/lib/python2.7/abc.pyo", + "usr/lib/python2.7/tty.py", + "usr/lib/python2.7/asynchat.pyo", + "usr/lib/python2.7/robotparser.pyc", + "usr/lib/python2.7/mimetools.pyc", + "usr/lib/python2.7/pstats.pyo", + "usr/lib/python2.7/HTMLParser.pyc", + "usr/lib/python2.7/DocXMLRPCServer.py", + "usr/lib/python2.7/_strptime.py", + "usr/lib/python2.7/re.pyo", + "usr/lib/python2.7/chunk.py", + "usr/lib/python2.7/DocXMLRPCServer.pyc", + "usr/lib/python2.7/mailbox.pyc", + "usr/lib/python2.7/argparse.pyc", + "usr/lib/python2.7/filecmp.pyo", + "usr/lib/python2.7/tempfile.pyc", + "usr/lib/python2.7/_pyio.py", + "usr/lib/python2.7/contextlib.py", + "usr/lib/python2.7/keyword.py", + "usr/lib/python2.7/ftplib.pyc", + "usr/lib/python2.7/codeop.py", + "usr/lib/python2.7/sre_parse.pyo", + "usr/lib/python2.7/StringIO.pyc", + "usr/lib/python2.7/numbers.pyo", + "usr/lib/python2.7/compileall.py", + "usr/lib/python2.7/BaseHTTPServer.pyo", + "usr/lib/python2.7/ntpath.pyo", + "usr/lib/python2.7/collections.pyo", + "usr/lib/python2.7/rexec.pyc", + "usr/lib/python2.7/optparse.py", + "usr/lib/python2.7/anydbm.pyc", + "usr/lib/python2.7/cgitb.py", + "usr/lib/python2.7/copy_reg.py", + "usr/lib/python2.7/Cookie.pyc", + "usr/lib/python2.7/cProfile.py", + "usr/lib/python2.7/_strptime.pyo", + "usr/lib/python2.7/calendar.py", + "usr/lib/python2.7/sndhdr.pyc", + "usr/lib/python2.7/fpformat.pyo", + "usr/lib/python2.7/_pyio.pyc", + "usr/lib/python2.7/shelve.pyc", + "usr/lib/python2.7/sre_parse.pyc", + "usr/lib/python2.7/pyclbr.py", + "usr/lib/python2.7/statvfs.pyo", + "usr/lib/python2.7/trace.pyc", + "usr/lib/python2.7/codeop.pyc", + "usr/lib/python2.7/StringIO.py", + "usr/lib/python2.7/ssl.py", + "usr/lib/python2.7/sre_constants.pyc", + "usr/lib/python2.7/htmlentitydefs.py", + "usr/lib/python2.7/symbol.py", + "usr/lib/python2.7/argparse.py", + "usr/lib/python2.7/dumbdbm.py", + "usr/lib/python2.7/sre_compile.pyc", + "usr/lib/python2.7/keyword.pyc", + "usr/lib/python2.7/os.pyc", + "usr/lib/python2.7/mutex.py", + "usr/lib/python2.7/mutex.pyc", + "usr/lib/python2.7/Bastion.pyc", + "usr/lib/python2.7/stat.py", + "usr/lib/python2.7/textwrap.pyo", + "usr/lib/python2.7/imghdr.py", + "usr/lib/python2.7/getpass.pyc", + "usr/lib/python2.7/cookielib.pyo", + "usr/lib/python2.7/uu.py", + "usr/lib/python2.7/__future__.py", + "usr/lib/python2.7/Bastion.pyo", + "usr/lib/python2.7/os2emxpath.pyo", + "usr/lib/python2.7/subprocess.pyc", + "usr/lib/python2.7/symbol.pyo", + "usr/lib/python2.7/bdb.py", + "usr/lib/python2.7/stringold.py", + "usr/lib/python2.7/inspect.pyo", + "usr/lib/python2.7/opcode.py", + "usr/lib/python2.7/sgmllib.pyc", + "usr/lib/python2.7/popen2.py", + "usr/lib/python2.7/runpy.pyc", + "usr/lib/python2.7/md5.py", + "usr/lib/python2.7/anydbm.pyo", + "usr/lib/python2.7/contextlib.pyo", + "usr/lib/python2.7/genericpath.pyo", + "usr/lib/python2.7/tabnanny.py", + "usr/lib/python2.7/io.pyc", + "usr/lib/python2.7/ssl.pyo", + "usr/lib/python2.7/smtplib.pyc", + "usr/lib/python2.7/decimal.py", + "usr/lib/python2.7/cProfile.pyc", + "usr/lib/python2.7/genericpath.pyc", + "usr/lib/python2.7/posixfile.pyo", + "usr/lib/python2.7/rfc822.pyc", + "usr/lib/python2.7/rexec.py", + "usr/lib/python2.7/chunk.pyo", + "usr/lib/python2.7/pprint.pyc", + "usr/lib/python2.7/ntpath.pyc", + "usr/lib/python2.7/netrc.pyc", + "usr/lib/python2.7/markupbase.py", + "usr/lib/python2.7/dummy_thread.pyc", + "usr/lib/python2.7/profile.pyo", + "usr/lib/python2.7/sha.pyc", + "usr/lib/python2.7/SocketServer.py", + "usr/lib/python2.7/robotparser.py", + "usr/lib/python2.7/csv.py", + "usr/lib/python2.7/functools.pyc", + "usr/lib/python2.7/io.py", + "usr/lib/python2.7/imaplib.pyc", + "usr/lib/python2.7/os2emxpath.pyc", + "usr/lib/python2.7/SimpleXMLRPCServer.pyc", + "usr/lib/python2.7/htmllib.py", + "usr/lib/python2.7/tabnanny.pyc", + "usr/lib/python2.7/site.py", + "usr/lib/python2.7/posixpath.py", + "usr/lib/python2.7/urllib2.py", + "usr/lib/python2.7/pstats.py", + "usr/lib/python2.7/mailbox.pyo", + "usr/lib/python2.7/plistlib.pyo", + "usr/lib/python2.7/commands.pyc", + "usr/lib/python2.7/code.py", + "usr/lib/python2.7/copy_reg.pyo", + "usr/lib/python2.7/dumbdbm.pyo", + "usr/lib/python2.7/symbol.pyc", + "usr/lib/python2.7/fnmatch.pyo", + "usr/lib/python2.7/random.py", + "usr/lib/python2.7/webbrowser.py", + "usr/lib/python2.7/md5.pyc", + "usr/lib/python2.7/keyword.pyo", + "usr/lib/python2.7/Cookie.pyo", + "usr/lib/python2.7/_LWPCookieJar.pyc", + "usr/lib/python2.7/imghdr.pyc", + "usr/lib/python2.7/warnings.pyc", + "usr/lib/python2.7/__phello__.foo.py", + "usr/lib/python2.7/os2emxpath.py", + "usr/lib/python2.7/site.pyc", + "usr/lib/python2.7/aifc.py", + "usr/lib/python2.7/getpass.py", + "usr/lib/python2.7/heapq.pyo", + "usr/lib/python2.7/cmd.py", + "usr/lib/python2.7/netrc.py", + "usr/lib/python2.7/imputil.pyo", + "usr/lib/python2.7/compileall.pyc", + "usr/lib/python2.7/tarfile.pyc", + "usr/lib/python2.7/dbhash.pyo", + "usr/lib/python2.7/bdb.pyc", + "usr/lib/python2.7/gzip.py", + "usr/lib/python2.7/csv.pyc", + "usr/lib/python2.7/UserDict.py", + "usr/lib/python2.7/heapq.pyc", + "usr/lib/python2.7/smtpd.py", + "usr/lib/python2.7/sched.pyo", + "usr/lib/python2.7/numbers.pyc", + "usr/lib/python2.7/asynchat.pyc", + "usr/lib/python2.7/aifc.pyc", + "usr/lib/python2.7/audiodev.pyc", + "usr/lib/python2.7/fractions.py", + "usr/lib/python2.7/random.pyo", + "usr/lib/python2.7/string.pyo", + "usr/lib/python2.7/trace.pyo", + "usr/lib/python2.7/xmllib.pyc", + "usr/lib/python2.7/Bastion.py", + "usr/lib/python2.7/socket.pyc", + "usr/lib/python2.7/copy.py", + "usr/lib/python2.7/shlex.pyc", + "usr/lib/python2.7/whichdb.pyo", + "usr/lib/python2.7/sre_compile.pyo", + "usr/lib/python2.7/markupbase.pyc", + "usr/lib/python2.7/mhlib.pyo", + "usr/lib/python2.7/codecs.pyc", + "usr/lib/python2.7/sre_constants.pyo", + "usr/lib/python2.7/zipfile.pyo", + "usr/lib/python2.7/types.pyo", + "usr/lib/python2.7/plistlib.pyc", + "usr/lib/python2.7/tarfile.py", + "usr/lib/python2.7/pyclbr.pyo", + "usr/lib/python2.7/netrc.pyo", + "usr/lib/python2.7/MimeWriter.pyo", + "usr/lib/python2.7/platform.pyo", + "usr/lib/python2.7/copy.pyo", + "usr/lib/python2.7/rfc822.pyo", + "usr/lib/python2.7/_sysconfigdata.py", + "usr/lib/python2.7/pdb.pyc", + "usr/lib/python2.7/weakref.py", + "usr/lib/python2.7/sysconfig.pyc", + "usr/lib/python2.7/pydoc.pyc", + "usr/lib/python2.7/token.py", + "usr/lib/python2.7/pipes.py", + "usr/lib/python2.7/threading.py", + "usr/lib/python2.7/_weakrefset.py", + "usr/lib/python2.7/ast.pyo", + "usr/lib/python2.7/dbhash.pyc", + "usr/lib/python2.7/optparse.pyc", + "usr/lib/python2.7/sha.py", + "usr/lib/python2.7/macpath.pyc", + "usr/lib/python2.7/weakref.pyc", + "usr/lib/python2.7/UserList.py", + "usr/lib/python2.7/SocketServer.pyo", + "usr/lib/python2.7/atexit.pyc", + "usr/lib/python2.7/uu.pyc", + "usr/lib/python2.7/cgi.py", + "usr/lib/python2.7/whichdb.pyc", + "usr/lib/python2.7/modulefinder.pyo", + "usr/lib/python2.7/copy_reg.pyc", + "usr/lib/python2.7/socket.pyo", + "usr/lib/python2.7/nturl2path.pyo", + "usr/lib/python2.7/md5.pyo", + "usr/lib/python2.7/Queue.py", + "usr/lib/python2.7/dircache.pyo", + "usr/lib/python2.7/xmlrpclib.py", + "usr/lib/python2.7/hashlib.pyo", + "usr/lib/python2.7/token.pyc", + "usr/lib/python2.7/socket.py", + "usr/lib/python2.7/fractions.pyo", + "usr/lib/python2.7/ConfigParser.py", + "usr/lib/python2.7/CGIHTTPServer.py", + "usr/lib/python2.7/trace.py", + "usr/lib/python2.7/__phello__.foo.pyo", + "usr/lib/python2.7/imaplib.py", + "usr/lib/python2.7/filecmp.pyc", + "usr/lib/python2.7/markupbase.pyo", + "usr/lib/python2.7/nturl2path.pyc", + "usr/lib/python2.7/toaiff.pyc", + "usr/lib/python2.7/copy.pyc", + "usr/lib/python2.7/asyncore.pyc", + "usr/lib/python2.7/linecache.pyc", + "usr/lib/python2.7/locale.pyo", + "usr/lib/python2.7/warnings.py", + "usr/lib/python2.7/sre.py", + "usr/lib/python2.7/dummy_threading.pyo", + "usr/lib/python2.7/py_compile.py", + "usr/lib/python2.7/gzip.pyo", + "usr/lib/python2.7/bdb.pyo", + "usr/lib/python2.7/imghdr.pyo", + "usr/lib/python2.7/decimal.pyo", + "usr/lib/python2.7/dis.pyc", + "usr/lib/python2.7/rfc822.py", + "usr/lib/python2.7/shlex.py", + "usr/lib/python2.7/cgitb.pyo", + "usr/lib/python2.7/sgmllib.py", + "usr/lib/python2.7/platform.pyc", + "usr/lib/python2.7/UserList.pyo", + "usr/lib/python2.7/dummy_threading.pyc", + "usr/lib/python2.7/colorsys.pyc", + "usr/lib/python2.7/difflib.pyc", + "usr/lib/python2.7/nntplib.pyo", + "usr/lib/python2.7/pprint.py", + "usr/lib/python2.7/statvfs.py", + "usr/lib/python2.7/posixfile.pyc", + "usr/lib/python2.7/linecache.pyo", + "usr/lib/python2.7/re.pyc", + "usr/lib/python2.7/fileinput.py", + "usr/lib/python2.7/user.pyc", + "usr/lib/python2.7/posixpath.pyo", + "usr/lib/python2.7/mimetools.py", + "usr/lib/python2.7/glob.py", + "usr/lib/python2.7/pydoc.py", + "usr/lib/python2.7/mimetypes.pyo", + "usr/lib/python2.7/BaseHTTPServer.py", + "usr/lib/python2.7/UserDict.pyo", + "usr/lib/python2.7/xmllib.pyo", + "usr/lib/python2.7/wsgiref.egg-info", + "usr/lib/python2.7/formatter.pyo", + "usr/lib/python2.7/fpformat.py", + "usr/lib/python2.7/fnmatch.pyc", + "usr/lib/python2.7/sre.pyo", + "usr/lib/python2.7/urllib2.pyo", + "usr/lib/python2.7/repr.py", + "usr/lib/python2.7/imputil.py", + "usr/lib/python2.7/cookielib.pyc", + "usr/lib/python2.7/mimify.pyo", + "usr/lib/python2.7/sunau.py", + "usr/lib/python2.7/fileinput.pyo", + "usr/lib/python2.7/re.py", + "usr/lib/python2.7/sysconfig.py", + "usr/lib/python2.7/zipfile.py", + "usr/lib/python2.7/types.pyc", + "usr/lib/python2.7/tokenize.pyc", + "usr/lib/python2.7/hashlib.pyc", + "usr/lib/python2.7/stringprep.py", + "usr/lib/python2.7/htmlentitydefs.pyc", + "usr/lib/python2.7/sgmllib.pyo", + "usr/lib/python2.7/htmlentitydefs.pyo", + "usr/lib/python2.7/ast.py", + "usr/lib/python2.7/code.pyc", + "usr/lib/python2.7/smtplib.py", + "usr/lib/python2.7/stringprep.pyc", + "usr/lib/python2.7/pipes.pyo", + "usr/lib/python2.7/sndhdr.py", + "usr/lib/python2.7/BaseHTTPServer.pyc", + "usr/lib/python2.7/gettext.pyc", + "usr/lib/python2.7/urllib2.pyc", + "usr/lib/python2.7/collections.pyc", + "usr/lib/python2.7/inspect.py", + "usr/lib/python2.7/_abcoll.pyo", + "usr/lib/python2.7/StringIO.pyo", + "usr/lib/python2.7/ConfigParser.pyc", + "usr/lib/python2.7/py_compile.pyc", + "usr/lib/python2.7/struct.pyo", + "usr/lib/python2.7/bisect.pyo", + "usr/lib/python2.7/macurl2path.py", + "usr/lib/python2.7/httplib.py", + "usr/lib/python2.7/repr.pyc", + "usr/lib/python2.7/dummy_thread.py", + "usr/lib/python2.7/gettext.py", + "usr/lib/python2.7/sre.pyc", + "usr/lib/python2.7/telnetlib.py", + "usr/lib/python2.7/UserString.py", + "usr/lib/python2.7/httplib.pyo", + "usr/lib/python2.7/shelve.py", + "usr/lib/python2.7/antigravity.pyo", + "usr/lib/python2.7/opcode.pyo", + "usr/lib/python2.7/doctest.py", + "usr/lib/python2.7/dummy_thread.pyo", + "usr/lib/python2.7/ntpath.py", + "usr/lib/python2.7/urlparse.py", + "usr/lib/python2.7/dumbdbm.pyc", + "usr/lib/python2.7/_weakrefset.pyc", + "usr/lib/python2.7/sunau.pyc", + "usr/lib/python2.7/new.pyc", + "usr/lib/python2.7/_osx_support.py", + "usr/lib/python2.7/SimpleXMLRPCServer.py", + "usr/lib/python2.7/pickletools.pyo", + "usr/lib/python2.7/formatter.py", + "usr/lib/python2.7/__future__.pyc", + "usr/lib/python2.7/collections.py", + "usr/lib/python2.7/modulefinder.pyc", + "usr/lib/python2.7/user.pyo", + "usr/lib/python2.7/symtable.pyc", + "usr/lib/python2.7/UserString.pyc", + "usr/lib/python2.7/mimetools.pyo", + "usr/lib/python2.7/httplib.pyc", + "usr/lib/python2.7/textwrap.py", + "usr/lib/python2.7/SimpleXMLRPCServer.pyo", + "usr/lib/python2.7/statvfs.pyc", + "usr/lib/python2.7/sets.pyc", + "usr/lib/python2.7/string.py", + "usr/lib/python2.7/audiodev.py", + "usr/lib/python2.7/distutils/archive_util.pyc", + "usr/lib/python2.7/distutils/cygwinccompiler.py", + "usr/lib/python2.7/distutils/file_util.py", + "usr/lib/python2.7/distutils/dep_util.py", + "usr/lib/python2.7/distutils/__init__.pyc", + "usr/lib/python2.7/distutils/bcppcompiler.pyo", + "usr/lib/python2.7/distutils/versionpredicate.pyo", + "usr/lib/python2.7/distutils/archive_util.pyo", + "usr/lib/python2.7/distutils/dep_util.pyo", + "usr/lib/python2.7/distutils/core.py", + "usr/lib/python2.7/distutils/msvccompiler.pyo", + "usr/lib/python2.7/distutils/unixccompiler.py", + "usr/lib/python2.7/distutils/sysconfig.pyo", + "usr/lib/python2.7/distutils/cygwinccompiler.pyc", + "usr/lib/python2.7/distutils/text_file.pyo", + "usr/lib/python2.7/distutils/fancy_getopt.py", + "usr/lib/python2.7/distutils/cmd.pyc", + "usr/lib/python2.7/distutils/util.pyo", + "usr/lib/python2.7/distutils/msvccompiler.py", + "usr/lib/python2.7/distutils/msvccompiler.pyc", + "usr/lib/python2.7/distutils/emxccompiler.pyc", + "usr/lib/python2.7/distutils/versionpredicate.pyc", + "usr/lib/python2.7/distutils/debug.py", + "usr/lib/python2.7/distutils/log.py", + "usr/lib/python2.7/distutils/version.py", + "usr/lib/python2.7/distutils/__init__.py", + "usr/lib/python2.7/distutils/cmd.pyo", + "usr/lib/python2.7/distutils/util.py", + "usr/lib/python2.7/distutils/fancy_getopt.pyc", + "usr/lib/python2.7/distutils/cygwinccompiler.pyo", + "usr/lib/python2.7/distutils/extension.py", + "usr/lib/python2.7/distutils/ccompiler.pyc", + "usr/lib/python2.7/distutils/filelist.py", + "usr/lib/python2.7/distutils/core.pyc", + "usr/lib/python2.7/distutils/spawn.py", + "usr/lib/python2.7/distutils/dist.pyc", + "usr/lib/python2.7/distutils/filelist.pyc", + "usr/lib/python2.7/distutils/versionpredicate.py", + "usr/lib/python2.7/distutils/config.py", + "usr/lib/python2.7/distutils/debug.pyo", + "usr/lib/python2.7/distutils/version.pyc", + "usr/lib/python2.7/distutils/spawn.pyc", + "usr/lib/python2.7/distutils/errors.pyc", + "usr/lib/python2.7/distutils/log.pyc", + "usr/lib/python2.7/distutils/msvc9compiler.py", + "usr/lib/python2.7/distutils/errors.pyo", + "usr/lib/python2.7/distutils/dist.pyo", + "usr/lib/python2.7/distutils/extension.pyc", + "usr/lib/python2.7/distutils/dist.py", + "usr/lib/python2.7/distutils/msvc9compiler.pyc", + "usr/lib/python2.7/distutils/unixccompiler.pyc", + "usr/lib/python2.7/distutils/dep_util.pyc", + "usr/lib/python2.7/distutils/util.pyc", + "usr/lib/python2.7/distutils/ccompiler.pyo", + "usr/lib/python2.7/distutils/emxccompiler.py", + "usr/lib/python2.7/distutils/text_file.pyc", + "usr/lib/python2.7/distutils/config.pyo", + "usr/lib/python2.7/distutils/version.pyo", + "usr/lib/python2.7/distutils/debug.pyc", + "usr/lib/python2.7/distutils/core.pyo", + "usr/lib/python2.7/distutils/dir_util.py", + "usr/lib/python2.7/distutils/cmd.py", + "usr/lib/python2.7/distutils/text_file.py", + "usr/lib/python2.7/distutils/spawn.pyo", + "usr/lib/python2.7/distutils/file_util.pyc", + "usr/lib/python2.7/distutils/README", + "usr/lib/python2.7/distutils/archive_util.py", + "usr/lib/python2.7/distutils/ccompiler.py", + "usr/lib/python2.7/distutils/extension.pyo", + "usr/lib/python2.7/distutils/sysconfig.pyc", + "usr/lib/python2.7/distutils/errors.py", + "usr/lib/python2.7/distutils/dir_util.pyo", + "usr/lib/python2.7/distutils/__init__.pyo", + "usr/lib/python2.7/distutils/msvc9compiler.pyo", + "usr/lib/python2.7/distutils/bcppcompiler.py", + "usr/lib/python2.7/distutils/filelist.pyo", + "usr/lib/python2.7/distutils/fancy_getopt.pyo", + "usr/lib/python2.7/distutils/sysconfig.py", + "usr/lib/python2.7/distutils/dir_util.pyc", + "usr/lib/python2.7/distutils/emxccompiler.pyo", + "usr/lib/python2.7/distutils/bcppcompiler.pyc", + "usr/lib/python2.7/distutils/unixccompiler.pyo", + "usr/lib/python2.7/distutils/file_util.pyo", + "usr/lib/python2.7/distutils/log.pyo", + "usr/lib/python2.7/distutils/config.pyc", + "usr/lib/python2.7/distutils/command/wininst-6.0.exe", + "usr/lib/python2.7/distutils/command/wininst-9.0.exe", + "usr/lib/python2.7/distutils/command/__init__.pyc", + "usr/lib/python2.7/distutils/command/command_template", + "usr/lib/python2.7/distutils/command/install_egg_info.py", + "usr/lib/python2.7/distutils/command/install.py", + "usr/lib/python2.7/distutils/command/bdist_rpm.py", + "usr/lib/python2.7/distutils/command/install.pyo", + "usr/lib/python2.7/distutils/command/install_data.pyc", + "usr/lib/python2.7/distutils/command/clean.pyc", + "usr/lib/python2.7/distutils/command/build_clib.pyo", + "usr/lib/python2.7/distutils/command/check.pyc", + "usr/lib/python2.7/distutils/command/upload.pyo", + "usr/lib/python2.7/distutils/command/bdist_msi.py", + "usr/lib/python2.7/distutils/command/build_clib.py", + "usr/lib/python2.7/distutils/command/bdist_dumb.pyc", + "usr/lib/python2.7/distutils/command/build_scripts.py", + "usr/lib/python2.7/distutils/command/upload.py", + "usr/lib/python2.7/distutils/command/build_py.py", + "usr/lib/python2.7/distutils/command/register.pyc", + "usr/lib/python2.7/distutils/command/build_ext.pyo", + "usr/lib/python2.7/distutils/command/build_ext.py", + "usr/lib/python2.7/distutils/command/install_headers.py", + "usr/lib/python2.7/distutils/command/__init__.py", + "usr/lib/python2.7/distutils/command/install.pyc", + "usr/lib/python2.7/distutils/command/bdist.pyc", + "usr/lib/python2.7/distutils/command/check.pyo", + "usr/lib/python2.7/distutils/command/bdist_wininst.pyc", + "usr/lib/python2.7/distutils/command/bdist_rpm.pyo", + "usr/lib/python2.7/distutils/command/bdist_dumb.pyo", + "usr/lib/python2.7/distutils/command/install_lib.pyo", + "usr/lib/python2.7/distutils/command/install_lib.pyc", + "usr/lib/python2.7/distutils/command/install_scripts.py", + "usr/lib/python2.7/distutils/command/upload.pyc", + "usr/lib/python2.7/distutils/command/check.py", + "usr/lib/python2.7/distutils/command/register.py", + "usr/lib/python2.7/distutils/command/config.py", + "usr/lib/python2.7/distutils/command/install_headers.pyo", + "usr/lib/python2.7/distutils/command/bdist_wininst.py", + "usr/lib/python2.7/distutils/command/build_scripts.pyc", + "usr/lib/python2.7/distutils/command/register.pyo", + "usr/lib/python2.7/distutils/command/build_py.pyo", + "usr/lib/python2.7/distutils/command/bdist_msi.pyc", + "usr/lib/python2.7/distutils/command/sdist.pyo", + "usr/lib/python2.7/distutils/command/install_data.pyo", + "usr/lib/python2.7/distutils/command/install_scripts.pyc", + "usr/lib/python2.7/distutils/command/build_scripts.pyo", + "usr/lib/python2.7/distutils/command/install_lib.py", + "usr/lib/python2.7/distutils/command/sdist.py", + "usr/lib/python2.7/distutils/command/install_egg_info.pyo", + "usr/lib/python2.7/distutils/command/config.pyo", + "usr/lib/python2.7/distutils/command/bdist_rpm.pyc", + "usr/lib/python2.7/distutils/command/build.py", + "usr/lib/python2.7/distutils/command/install_headers.pyc", + "usr/lib/python2.7/distutils/command/wininst-8.0.exe", + "usr/lib/python2.7/distutils/command/bdist_msi.pyo", + "usr/lib/python2.7/distutils/command/wininst-7.1.exe", + "usr/lib/python2.7/distutils/command/bdist.py", + "usr/lib/python2.7/distutils/command/bdist.pyo", + "usr/lib/python2.7/distutils/command/__init__.pyo", + "usr/lib/python2.7/distutils/command/bdist_dumb.py", + "usr/lib/python2.7/distutils/command/install_data.py", + "usr/lib/python2.7/distutils/command/clean.py", + "usr/lib/python2.7/distutils/command/build_py.pyc", + "usr/lib/python2.7/distutils/command/install_scripts.pyo", + "usr/lib/python2.7/distutils/command/wininst-9.0-amd64.exe", + "usr/lib/python2.7/distutils/command/clean.pyo", + "usr/lib/python2.7/distutils/command/install_egg_info.pyc", + "usr/lib/python2.7/distutils/command/build.pyc", + "usr/lib/python2.7/distutils/command/sdist.pyc", + "usr/lib/python2.7/distutils/command/config.pyc", + "usr/lib/python2.7/distutils/command/build_ext.pyc", + "usr/lib/python2.7/distutils/command/bdist_wininst.pyo", + "usr/lib/python2.7/distutils/command/build_clib.pyc", + "usr/lib/python2.7/distutils/command/build.pyo", + "usr/lib/python2.7/distutils/tests/test_text_file.pyc", + "usr/lib/python2.7/distutils/tests/test_bdist_wininst.pyo", + "usr/lib/python2.7/distutils/tests/__init__.pyc", + "usr/lib/python2.7/distutils/tests/test_register.py", + "usr/lib/python2.7/distutils/tests/test_sysconfig.pyo", + "usr/lib/python2.7/distutils/tests/test_dep_util.pyo", + "usr/lib/python2.7/distutils/tests/test_build_clib.pyc", + "usr/lib/python2.7/distutils/tests/test_bdist_msi.pyo", + "usr/lib/python2.7/distutils/tests/test_msvc9compiler.pyc", + "usr/lib/python2.7/distutils/tests/test_util.pyo", + "usr/lib/python2.7/distutils/tests/test_unixccompiler.pyc", + "usr/lib/python2.7/distutils/tests/test_register.pyo", + "usr/lib/python2.7/distutils/tests/test_build_scripts.py", + "usr/lib/python2.7/distutils/tests/test_bdist.pyo", + "usr/lib/python2.7/distutils/tests/test_bdist_dumb.py", + "usr/lib/python2.7/distutils/tests/test_spawn.pyo", + "usr/lib/python2.7/distutils/tests/test_install_lib.pyo", + "usr/lib/python2.7/distutils/tests/test_build_py.pyc", + "usr/lib/python2.7/distutils/tests/test_bdist_msi.pyc", + "usr/lib/python2.7/distutils/tests/test_msvc9compiler.py", + "usr/lib/python2.7/distutils/tests/test_file_util.pyo", + "usr/lib/python2.7/distutils/tests/test_dir_util.pyo", + "usr/lib/python2.7/distutils/tests/test_bdist_dumb.pyo", + "usr/lib/python2.7/distutils/tests/test_build_clib.py", + "usr/lib/python2.7/distutils/tests/test_bdist_rpm.pyc", + "usr/lib/python2.7/distutils/tests/test_spawn.py", + "usr/lib/python2.7/distutils/tests/test_clean.pyo", + "usr/lib/python2.7/distutils/tests/setuptools_extension.pyo", + "usr/lib/python2.7/distutils/tests/Setup.sample", + "usr/lib/python2.7/distutils/tests/test_build.pyc", + "usr/lib/python2.7/distutils/tests/test_register.pyc", + "usr/lib/python2.7/distutils/tests/test_bdist.pyc", + "usr/lib/python2.7/distutils/tests/test_build_py.pyo", + "usr/lib/python2.7/distutils/tests/test_msvc9compiler.pyo", + "usr/lib/python2.7/distutils/tests/test_ccompiler.pyc", + "usr/lib/python2.7/distutils/tests/test_versionpredicate.pyo", + "usr/lib/python2.7/distutils/tests/setuptools_build_ext.pyo", + "usr/lib/python2.7/distutils/tests/test_dir_util.pyc", + "usr/lib/python2.7/distutils/tests/test_filelist.pyo", + "usr/lib/python2.7/distutils/tests/test_filelist.py", + "usr/lib/python2.7/distutils/tests/__init__.py", + "usr/lib/python2.7/distutils/tests/test_util.pyc", + "usr/lib/python2.7/distutils/tests/test_build_clib.pyo", + "usr/lib/python2.7/distutils/tests/setuptools_build_ext.pyc", + "usr/lib/python2.7/distutils/tests/test_install_scripts.pyo", + "usr/lib/python2.7/distutils/tests/support.py", + "usr/lib/python2.7/distutils/tests/support.pyc", + "usr/lib/python2.7/distutils/tests/test_text_file.pyo", + "usr/lib/python2.7/distutils/tests/test_install.py", + "usr/lib/python2.7/distutils/tests/test_clean.py", + "usr/lib/python2.7/distutils/tests/test_bdist_rpm.py", + "usr/lib/python2.7/distutils/tests/test_core.pyc", + "usr/lib/python2.7/distutils/tests/test_bdist_wininst.pyc", + "usr/lib/python2.7/distutils/tests/test_dist.py", + "usr/lib/python2.7/distutils/tests/test_dir_util.py", + "usr/lib/python2.7/distutils/tests/test_version.py", + "usr/lib/python2.7/distutils/tests/test_sdist.pyc", + "usr/lib/python2.7/distutils/tests/test_ccompiler.pyo", + "usr/lib/python2.7/distutils/tests/test_build.pyo", + "usr/lib/python2.7/distutils/tests/test_bdist_wininst.py", + "usr/lib/python2.7/distutils/tests/test_build_py.py", + "usr/lib/python2.7/distutils/tests/test_check.pyc", + "usr/lib/python2.7/distutils/tests/test_install_headers.pyc", + "usr/lib/python2.7/distutils/tests/test_core.pyo", + "usr/lib/python2.7/distutils/tests/test_dep_util.pyc", + "usr/lib/python2.7/distutils/tests/test_unixccompiler.pyo", + "usr/lib/python2.7/distutils/tests/test_bdist_rpm.pyo", + "usr/lib/python2.7/distutils/tests/test_sysconfig.py", + "usr/lib/python2.7/distutils/tests/test_text_file.py", + "usr/lib/python2.7/distutils/tests/test_bdist_dumb.pyc", + "usr/lib/python2.7/distutils/tests/test_check.pyo", + "usr/lib/python2.7/distutils/tests/test_build.py", + "usr/lib/python2.7/distutils/tests/test_install.pyc", + "usr/lib/python2.7/distutils/tests/test_archive_util.pyc", + "usr/lib/python2.7/distutils/tests/support.pyo", + "usr/lib/python2.7/distutils/tests/test_upload.py", + "usr/lib/python2.7/distutils/tests/test_versionpredicate.pyc", + "usr/lib/python2.7/distutils/tests/test_util.py", + "usr/lib/python2.7/distutils/tests/test_bdist_msi.py", + "usr/lib/python2.7/distutils/tests/test_install_scripts.pyc", + "usr/lib/python2.7/distutils/tests/test_config.pyc", + "usr/lib/python2.7/distutils/tests/test_config.py", + "usr/lib/python2.7/distutils/tests/test_archive_util.py", + "usr/lib/python2.7/distutils/tests/test_sdist.py", + "usr/lib/python2.7/distutils/tests/test_bdist.py", + "usr/lib/python2.7/distutils/tests/test_spawn.pyc", + "usr/lib/python2.7/distutils/tests/setuptools_build_ext.py", + "usr/lib/python2.7/distutils/tests/test_file_util.py", + "usr/lib/python2.7/distutils/tests/test_install_lib.pyc", + "usr/lib/python2.7/distutils/tests/test_dep_util.py", + "usr/lib/python2.7/distutils/tests/test_sdist.pyo", + "usr/lib/python2.7/distutils/tests/test_config_cmd.pyc", + "usr/lib/python2.7/distutils/tests/test_install_data.py", + "usr/lib/python2.7/distutils/tests/test_dist.pyo", + "usr/lib/python2.7/distutils/tests/test_unixccompiler.py", + "usr/lib/python2.7/distutils/tests/test_versionpredicate.py", + "usr/lib/python2.7/distutils/tests/test_cmd.py", + "usr/lib/python2.7/distutils/tests/test_build_ext.pyo", + "usr/lib/python2.7/distutils/tests/test_ccompiler.py", + "usr/lib/python2.7/distutils/tests/test_upload.pyo", + "usr/lib/python2.7/distutils/tests/test_upload.pyc", + "usr/lib/python2.7/distutils/tests/test_build_ext.pyc", + "usr/lib/python2.7/distutils/tests/test_install_headers.py", + "usr/lib/python2.7/distutils/tests/test_file_util.pyc", + "usr/lib/python2.7/distutils/tests/test_check.py", + "usr/lib/python2.7/distutils/tests/test_config_cmd.py", + "usr/lib/python2.7/distutils/tests/setuptools_extension.pyc", + "usr/lib/python2.7/distutils/tests/test_build_scripts.pyo", + "usr/lib/python2.7/distutils/tests/test_config_cmd.pyo", + "usr/lib/python2.7/distutils/tests/test_install_data.pyo", + "usr/lib/python2.7/distutils/tests/__init__.pyo", + "usr/lib/python2.7/distutils/tests/test_cmd.pyo", + "usr/lib/python2.7/distutils/tests/test_core.py", + "usr/lib/python2.7/distutils/tests/test_install_scripts.py", + "usr/lib/python2.7/distutils/tests/test_version.pyo", + "usr/lib/python2.7/distutils/tests/test_install_data.pyc", + "usr/lib/python2.7/distutils/tests/test_build_scripts.pyc", + "usr/lib/python2.7/distutils/tests/test_dist.pyc", + "usr/lib/python2.7/distutils/tests/test_install_headers.pyo", + "usr/lib/python2.7/distutils/tests/test_version.pyc", + "usr/lib/python2.7/distutils/tests/test_config.pyo", + "usr/lib/python2.7/distutils/tests/test_install_lib.py", + "usr/lib/python2.7/distutils/tests/test_sysconfig.pyc", + "usr/lib/python2.7/distutils/tests/test_cmd.pyc", + "usr/lib/python2.7/distutils/tests/test_filelist.pyc", + "usr/lib/python2.7/distutils/tests/setuptools_extension.py", + "usr/lib/python2.7/distutils/tests/test_clean.pyc", + "usr/lib/python2.7/distutils/tests/test_archive_util.pyo", + "usr/lib/python2.7/distutils/tests/test_build_ext.py", + "usr/lib/python2.7/distutils/tests/test_install.pyo", + "usr/lib/python2.7/curses/__init__.pyc", + "usr/lib/python2.7/curses/has_key.pyc", + "usr/lib/python2.7/curses/textpad.pyc", + "usr/lib/python2.7/curses/ascii.pyc", + "usr/lib/python2.7/curses/has_key.pyo", + "usr/lib/python2.7/curses/__init__.py", + "usr/lib/python2.7/curses/wrapper.py", + "usr/lib/python2.7/curses/textpad.py", + "usr/lib/python2.7/curses/wrapper.pyo", + "usr/lib/python2.7/curses/panel.pyc", + "usr/lib/python2.7/curses/ascii.py", + "usr/lib/python2.7/curses/__init__.pyo", + "usr/lib/python2.7/curses/has_key.py", + "usr/lib/python2.7/curses/wrapper.pyc", + "usr/lib/python2.7/curses/ascii.pyo", + "usr/lib/python2.7/curses/panel.py", + "usr/lib/python2.7/curses/textpad.pyo", + "usr/lib/python2.7/curses/panel.pyo", + "usr/lib/python2.7/wsgiref/__init__.pyc", + "usr/lib/python2.7/wsgiref/handlers.py", + "usr/lib/python2.7/wsgiref/util.pyo", + "usr/lib/python2.7/wsgiref/__init__.py", + "usr/lib/python2.7/wsgiref/validate.pyc", + "usr/lib/python2.7/wsgiref/handlers.pyo", + "usr/lib/python2.7/wsgiref/util.py", + "usr/lib/python2.7/wsgiref/validate.py", + "usr/lib/python2.7/wsgiref/handlers.pyc", + "usr/lib/python2.7/wsgiref/headers.pyc", + "usr/lib/python2.7/wsgiref/util.pyc", + "usr/lib/python2.7/wsgiref/simple_server.py", + "usr/lib/python2.7/wsgiref/headers.pyo", + "usr/lib/python2.7/wsgiref/simple_server.pyo", + "usr/lib/python2.7/wsgiref/__init__.pyo", + "usr/lib/python2.7/wsgiref/headers.py", + "usr/lib/python2.7/wsgiref/simple_server.pyc", + "usr/lib/python2.7/wsgiref/validate.pyo", + "usr/lib/python2.7/email/charset.py", + "usr/lib/python2.7/email/__init__.pyc", + "usr/lib/python2.7/email/parser.pyo", + "usr/lib/python2.7/email/utils.pyo", + "usr/lib/python2.7/email/iterators.pyc", + "usr/lib/python2.7/email/utils.py", + "usr/lib/python2.7/email/base64mime.pyc", + "usr/lib/python2.7/email/_parseaddr.pyc", + "usr/lib/python2.7/email/quoprimime.pyc", + "usr/lib/python2.7/email/message.pyo", + "usr/lib/python2.7/email/__init__.py", + "usr/lib/python2.7/email/header.py", + "usr/lib/python2.7/email/header.pyc", + "usr/lib/python2.7/email/feedparser.py", + "usr/lib/python2.7/email/message.py", + "usr/lib/python2.7/email/quoprimime.py", + "usr/lib/python2.7/email/errors.pyc", + "usr/lib/python2.7/email/errors.pyo", + "usr/lib/python2.7/email/charset.pyo", + "usr/lib/python2.7/email/quoprimime.pyo", + "usr/lib/python2.7/email/iterators.py", + "usr/lib/python2.7/email/message.pyc", + "usr/lib/python2.7/email/feedparser.pyc", + "usr/lib/python2.7/email/base64mime.py", + "usr/lib/python2.7/email/charset.pyc", + "usr/lib/python2.7/email/generator.py", + "usr/lib/python2.7/email/encoders.py", + "usr/lib/python2.7/email/header.pyo", + "usr/lib/python2.7/email/feedparser.pyo", + "usr/lib/python2.7/email/generator.pyc", + "usr/lib/python2.7/email/parser.py", + "usr/lib/python2.7/email/errors.py", + "usr/lib/python2.7/email/generator.pyo", + "usr/lib/python2.7/email/__init__.pyo", + "usr/lib/python2.7/email/_parseaddr.py", + "usr/lib/python2.7/email/encoders.pyc", + "usr/lib/python2.7/email/base64mime.pyo", + "usr/lib/python2.7/email/encoders.pyo", + "usr/lib/python2.7/email/utils.pyc", + "usr/lib/python2.7/email/parser.pyc", + "usr/lib/python2.7/email/_parseaddr.pyo", + "usr/lib/python2.7/email/iterators.pyo", + "usr/lib/python2.7/email/mime/__init__.pyc", + "usr/lib/python2.7/email/mime/audio.pyc", + "usr/lib/python2.7/email/mime/text.pyo", + "usr/lib/python2.7/email/mime/base.pyc", + "usr/lib/python2.7/email/mime/multipart.py", + "usr/lib/python2.7/email/mime/text.py", + "usr/lib/python2.7/email/mime/application.py", + "usr/lib/python2.7/email/mime/base.py", + "usr/lib/python2.7/email/mime/multipart.pyo", + "usr/lib/python2.7/email/mime/image.py", + "usr/lib/python2.7/email/mime/audio.pyo", + "usr/lib/python2.7/email/mime/message.pyo", + "usr/lib/python2.7/email/mime/text.pyc", + "usr/lib/python2.7/email/mime/nonmultipart.pyc", + "usr/lib/python2.7/email/mime/__init__.py", + "usr/lib/python2.7/email/mime/base.pyo", + "usr/lib/python2.7/email/mime/message.py", + "usr/lib/python2.7/email/mime/application.pyc", + "usr/lib/python2.7/email/mime/nonmultipart.pyo", + "usr/lib/python2.7/email/mime/nonmultipart.py", + "usr/lib/python2.7/email/mime/message.pyc", + "usr/lib/python2.7/email/mime/image.pyc", + "usr/lib/python2.7/email/mime/image.pyo", + "usr/lib/python2.7/email/mime/multipart.pyc", + "usr/lib/python2.7/email/mime/application.pyo", + "usr/lib/python2.7/email/mime/__init__.pyo", + "usr/lib/python2.7/email/mime/audio.py", + "usr/lib/python2.7/plat-linux2/IN.py", + "usr/lib/python2.7/plat-linux2/DLFCN.py", + "usr/lib/python2.7/plat-linux2/IN.pyo", + "usr/lib/python2.7/plat-linux2/DLFCN.pyc", + "usr/lib/python2.7/plat-linux2/DLFCN.pyo", + "usr/lib/python2.7/plat-linux2/TYPES.py", + "usr/lib/python2.7/plat-linux2/TYPES.pyo", + "usr/lib/python2.7/plat-linux2/TYPES.pyc", + "usr/lib/python2.7/plat-linux2/regen", + "usr/lib/python2.7/plat-linux2/IN.pyc", + "usr/lib/python2.7/plat-linux2/CDROM.py", + "usr/lib/python2.7/plat-linux2/CDROM.pyc", + "usr/lib/python2.7/plat-linux2/CDROM.pyo", + "usr/lib/python2.7/lib2to3/btm_matcher.pyc", + "usr/lib/python2.7/lib2to3/pytree.pyc", + "usr/lib/python2.7/lib2to3/__init__.pyc", + "usr/lib/python2.7/lib2to3/__main__.pyc", + "usr/lib/python2.7/lib2to3/patcomp.pyo", + "usr/lib/python2.7/lib2to3/fixer_base.pyc", + "usr/lib/python2.7/lib2to3/btm_utils.py", + "usr/lib/python2.7/lib2to3/fixer_util.py", + "usr/lib/python2.7/lib2to3/patcomp.pyc", + "usr/lib/python2.7/lib2to3/fixer_base.py", + "usr/lib/python2.7/lib2to3/pygram.pyo", + "usr/lib/python2.7/lib2to3/__init__.py", + "usr/lib/python2.7/lib2to3/fixer_util.pyo", + "usr/lib/python2.7/lib2to3/main.pyc", + "usr/lib/python2.7/lib2to3/PatternGrammar.txt", + "usr/lib/python2.7/lib2to3/__main__.pyo", + "usr/lib/python2.7/lib2to3/pygram.py", + "usr/lib/python2.7/lib2to3/btm_matcher.py", + "usr/lib/python2.7/lib2to3/btm_utils.pyo", + "usr/lib/python2.7/lib2to3/pytree.pyo", + "usr/lib/python2.7/lib2to3/Grammar2.7.15.final.0.pickle", + "usr/lib/python2.7/lib2to3/refactor.pyo", + "usr/lib/python2.7/lib2to3/main.pyo", + "usr/lib/python2.7/lib2to3/fixer_util.pyc", + "usr/lib/python2.7/lib2to3/Grammar.txt", + "usr/lib/python2.7/lib2to3/refactor.py", + "usr/lib/python2.7/lib2to3/main.py", + "usr/lib/python2.7/lib2to3/__init__.pyo", + "usr/lib/python2.7/lib2to3/pytree.py", + "usr/lib/python2.7/lib2to3/btm_utils.pyc", + "usr/lib/python2.7/lib2to3/btm_matcher.pyo", + "usr/lib/python2.7/lib2to3/__main__.py", + "usr/lib/python2.7/lib2to3/patcomp.py", + "usr/lib/python2.7/lib2to3/fixer_base.pyo", + "usr/lib/python2.7/lib2to3/PatternGrammar2.7.15.final.0.pickle", + "usr/lib/python2.7/lib2to3/pygram.pyc", + "usr/lib/python2.7/lib2to3/refactor.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_unicode.py", + "usr/lib/python2.7/lib2to3/fixes/fix_imports2.py", + "usr/lib/python2.7/lib2to3/fixes/fix_repr.py", + "usr/lib/python2.7/lib2to3/fixes/fix_imports.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_urllib.pyo", + "usr/lib/python2.7/lib2to3/fixes/__init__.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_funcattrs.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_reduce.py", + "usr/lib/python2.7/lib2to3/fixes/fix_ne.py", + "usr/lib/python2.7/lib2to3/fixes/fix_intern.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_execfile.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_set_literal.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_dict.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_repr.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_numliterals.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_standarderror.py", + "usr/lib/python2.7/lib2to3/fixes/fix_map.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_xrange.py", + "usr/lib/python2.7/lib2to3/fixes/fix_throw.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_idioms.py", + "usr/lib/python2.7/lib2to3/fixes/fix_raise.py", + "usr/lib/python2.7/lib2to3/fixes/fix_types.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_input.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_paren.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_types.py", + "usr/lib/python2.7/lib2to3/fixes/fix_ne.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_urllib.py", + "usr/lib/python2.7/lib2to3/fixes/fix_print.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_asserts.py", + "usr/lib/python2.7/lib2to3/fixes/fix_itertools.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_raw_input.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_input.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_isinstance.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_print.py", + "usr/lib/python2.7/lib2to3/fixes/fix_imports.py", + "usr/lib/python2.7/lib2to3/fixes/fix_exitfunc.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_exec.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_filter.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_itertools_imports.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_long.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_raise.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_raise.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_dict.py", + "usr/lib/python2.7/lib2to3/fixes/fix_getcwdu.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_reduce.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_except.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_next.py", + "usr/lib/python2.7/lib2to3/fixes/fix_has_key.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_buffer.pyo", + "usr/lib/python2.7/lib2to3/fixes/__init__.py", + "usr/lib/python2.7/lib2to3/fixes/fix_imports.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_funcattrs.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_next.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_basestring.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_urllib.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_zip.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_funcattrs.py", + "usr/lib/python2.7/lib2to3/fixes/fix_metaclass.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_getcwdu.py", + "usr/lib/python2.7/lib2to3/fixes/fix_itertools_imports.py", + "usr/lib/python2.7/lib2to3/fixes/fix_sys_exc.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_itertools.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_asserts.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_apply.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_dict.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_imports2.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_import.py", + "usr/lib/python2.7/lib2to3/fixes/fix_raw_input.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_types.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_set_literal.py", + "usr/lib/python2.7/lib2to3/fixes/fix_isinstance.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_buffer.py", + "usr/lib/python2.7/lib2to3/fixes/fix_set_literal.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_standarderror.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_tuple_params.py", + "usr/lib/python2.7/lib2to3/fixes/fix_xreadlines.py", + "usr/lib/python2.7/lib2to3/fixes/fix_filter.py", + "usr/lib/python2.7/lib2to3/fixes/fix_exitfunc.py", + "usr/lib/python2.7/lib2to3/fixes/fix_paren.py", + "usr/lib/python2.7/lib2to3/fixes/fix_execfile.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_apply.py", + "usr/lib/python2.7/lib2to3/fixes/fix_methodattrs.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_nonzero.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_next.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_import.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_getcwdu.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_unicode.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_execfile.py", + "usr/lib/python2.7/lib2to3/fixes/fix_long.py", + "usr/lib/python2.7/lib2to3/fixes/fix_renames.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_xreadlines.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_methodattrs.py", + "usr/lib/python2.7/lib2to3/fixes/fix_idioms.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_ws_comma.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_imports2.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_paren.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_has_key.py", + "usr/lib/python2.7/lib2to3/fixes/fix_unicode.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_metaclass.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_sys_exc.py", + "usr/lib/python2.7/lib2to3/fixes/fix_nonzero.py", + "usr/lib/python2.7/lib2to3/fixes/fix_exitfunc.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_operator.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_reduce.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_basestring.py", + "usr/lib/python2.7/lib2to3/fixes/fix_filter.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_intern.py", + "usr/lib/python2.7/lib2to3/fixes/fix_ne.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_numliterals.py", + "usr/lib/python2.7/lib2to3/fixes/fix_sys_exc.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_zip.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_xrange.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_intern.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_xreadlines.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_long.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_nonzero.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_operator.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_itertools_imports.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_standarderror.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_throw.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_repr.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_methodattrs.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_future.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_operator.py", + "usr/lib/python2.7/lib2to3/fixes/fix_basestring.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_isinstance.py", + "usr/lib/python2.7/lib2to3/fixes/fix_asserts.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_exec.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_future.pyc", + "usr/lib/python2.7/lib2to3/fixes/__init__.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_xrange.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_numliterals.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_renames.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_zip.py", + "usr/lib/python2.7/lib2to3/fixes/fix_except.py", + "usr/lib/python2.7/lib2to3/fixes/fix_raw_input.py", + "usr/lib/python2.7/lib2to3/fixes/fix_input.py", + "usr/lib/python2.7/lib2to3/fixes/fix_tuple_params.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_exec.py", + "usr/lib/python2.7/lib2to3/fixes/fix_future.py", + "usr/lib/python2.7/lib2to3/fixes/fix_has_key.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_map.py", + "usr/lib/python2.7/lib2to3/fixes/fix_print.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_apply.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_ws_comma.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_metaclass.py", + "usr/lib/python2.7/lib2to3/fixes/fix_ws_comma.py", + "usr/lib/python2.7/lib2to3/fixes/fix_map.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_throw.py", + "usr/lib/python2.7/lib2to3/fixes/fix_idioms.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_tuple_params.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_import.pyo", + "usr/lib/python2.7/lib2to3/fixes/fix_itertools.py", + "usr/lib/python2.7/lib2to3/fixes/fix_buffer.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_except.pyc", + "usr/lib/python2.7/lib2to3/fixes/fix_renames.py", + "usr/lib/python2.7/lib2to3/tests/pytree_idempotency.py", + "usr/lib/python2.7/lib2to3/tests/__init__.pyc", + "usr/lib/python2.7/lib2to3/tests/test_util.pyo", + "usr/lib/python2.7/lib2to3/tests/pytree_idempotency.pyc", + "usr/lib/python2.7/lib2to3/tests/test_all_fixers.pyo", + "usr/lib/python2.7/lib2to3/tests/test_all_fixers.pyc", + "usr/lib/python2.7/lib2to3/tests/test_fixers.pyo", + "usr/lib/python2.7/lib2to3/tests/__init__.py", + "usr/lib/python2.7/lib2to3/tests/test_util.pyc", + "usr/lib/python2.7/lib2to3/tests/support.py", + "usr/lib/python2.7/lib2to3/tests/test_pytree.pyo", + "usr/lib/python2.7/lib2to3/tests/support.pyc", + "usr/lib/python2.7/lib2to3/tests/test_main.pyo", + "usr/lib/python2.7/lib2to3/tests/pytree_idempotency.pyo", + "usr/lib/python2.7/lib2to3/tests/test_parser.py", + "usr/lib/python2.7/lib2to3/tests/test_fixers.pyc", + "usr/lib/python2.7/lib2to3/tests/test_fixers.py", + "usr/lib/python2.7/lib2to3/tests/test_main.py", + "usr/lib/python2.7/lib2to3/tests/support.pyo", + "usr/lib/python2.7/lib2to3/tests/test_util.py", + "usr/lib/python2.7/lib2to3/tests/test_parser.pyo", + "usr/lib/python2.7/lib2to3/tests/test_all_fixers.py", + "usr/lib/python2.7/lib2to3/tests/test_parser.pyc", + "usr/lib/python2.7/lib2to3/tests/test_pytree.pyc", + "usr/lib/python2.7/lib2to3/tests/__init__.pyo", + "usr/lib/python2.7/lib2to3/tests/test_refactor.py", + "usr/lib/python2.7/lib2to3/tests/test_refactor.pyc", + "usr/lib/python2.7/lib2to3/tests/test_main.pyc", + "usr/lib/python2.7/lib2to3/tests/test_pytree.py", + "usr/lib/python2.7/lib2to3/tests/test_refactor.pyo", + "usr/lib/python2.7/lib2to3/tests/data/infinite_recursion.py", + "usr/lib/python2.7/lib2to3/tests/data/bom.py", + "usr/lib/python2.7/lib2to3/tests/data/py2_test_grammar.py", + "usr/lib/python2.7/lib2to3/tests/data/crlf.py", + "usr/lib/python2.7/lib2to3/tests/data/different_encoding.py", + "usr/lib/python2.7/lib2to3/tests/data/py3_test_grammar.py", + "usr/lib/python2.7/lib2to3/tests/data/README", + "usr/lib/python2.7/lib2to3/tests/data/false_encoding.py", + "usr/lib/python2.7/lib2to3/tests/data/fixers/bad_order.py", + "usr/lib/python2.7/lib2to3/tests/data/fixers/no_fixer_cls.py", + "usr/lib/python2.7/lib2to3/tests/data/fixers/parrot_example.py", + "usr/lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_parrot.py", + "usr/lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_first.py", + "usr/lib/python2.7/lib2to3/tests/data/fixers/myfixes/__init__.py", + "usr/lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_last.py", + "usr/lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_explicit.py", + "usr/lib/python2.7/lib2to3/tests/data/fixers/myfixes/fix_preorder.py", + "usr/lib/python2.7/lib2to3/pgen2/__init__.pyc", + "usr/lib/python2.7/lib2to3/pgen2/tokenize.py", + "usr/lib/python2.7/lib2to3/pgen2/literals.pyo", + "usr/lib/python2.7/lib2to3/pgen2/driver.pyo", + "usr/lib/python2.7/lib2to3/pgen2/pgen.py", + "usr/lib/python2.7/lib2to3/pgen2/token.pyo", + "usr/lib/python2.7/lib2to3/pgen2/parse.pyc", + "usr/lib/python2.7/lib2to3/pgen2/tokenize.pyo", + "usr/lib/python2.7/lib2to3/pgen2/__init__.py", + "usr/lib/python2.7/lib2to3/pgen2/parse.py", + "usr/lib/python2.7/lib2to3/pgen2/pgen.pyo", + "usr/lib/python2.7/lib2to3/pgen2/conv.pyc", + "usr/lib/python2.7/lib2to3/pgen2/grammar.py", + "usr/lib/python2.7/lib2to3/pgen2/grammar.pyo", + "usr/lib/python2.7/lib2to3/pgen2/grammar.pyc", + "usr/lib/python2.7/lib2to3/pgen2/driver.pyc", + "usr/lib/python2.7/lib2to3/pgen2/literals.py", + "usr/lib/python2.7/lib2to3/pgen2/conv.py", + "usr/lib/python2.7/lib2to3/pgen2/conv.pyo", + "usr/lib/python2.7/lib2to3/pgen2/token.py", + "usr/lib/python2.7/lib2to3/pgen2/token.pyc", + "usr/lib/python2.7/lib2to3/pgen2/__init__.pyo", + "usr/lib/python2.7/lib2to3/pgen2/literals.pyc", + "usr/lib/python2.7/lib2to3/pgen2/pgen.pyc", + "usr/lib/python2.7/lib2to3/pgen2/tokenize.pyc", + "usr/lib/python2.7/lib2to3/pgen2/driver.py", + "usr/lib/python2.7/lib2to3/pgen2/parse.pyo", + "usr/lib/python2.7/site-packages/README", + "usr/lib/python2.7/sqlite3/__init__.pyc", + "usr/lib/python2.7/sqlite3/dbapi2.pyo", + "usr/lib/python2.7/sqlite3/__init__.py", + "usr/lib/python2.7/sqlite3/dump.py", + "usr/lib/python2.7/sqlite3/dbapi2.pyc", + "usr/lib/python2.7/sqlite3/dbapi2.py", + "usr/lib/python2.7/sqlite3/dump.pyo", + "usr/lib/python2.7/sqlite3/dump.pyc", + "usr/lib/python2.7/sqlite3/__init__.pyo", + "usr/lib/python2.7/json/__init__.pyc", + "usr/lib/python2.7/json/scanner.pyo", + "usr/lib/python2.7/json/scanner.pyc", + "usr/lib/python2.7/json/encoder.py", + "usr/lib/python2.7/json/decoder.py", + "usr/lib/python2.7/json/__init__.py", + "usr/lib/python2.7/json/encoder.pyo", + "usr/lib/python2.7/json/encoder.pyc", + "usr/lib/python2.7/json/decoder.pyc", + "usr/lib/python2.7/json/scanner.py", + "usr/lib/python2.7/json/tool.pyc", + "usr/lib/python2.7/json/tool.py", + "usr/lib/python2.7/json/__init__.pyo", + "usr/lib/python2.7/json/tool.pyo", + "usr/lib/python2.7/json/decoder.pyo", + "usr/lib/python2.7/json/tests/test_dump.py", + "usr/lib/python2.7/json/tests/__init__.pyc", + "usr/lib/python2.7/json/tests/test_check_circular.pyc", + "usr/lib/python2.7/json/tests/test_float.pyo", + "usr/lib/python2.7/json/tests/test_encode_basestring_ascii.pyo", + "usr/lib/python2.7/json/tests/test_recursion.py", + "usr/lib/python2.7/json/tests/test_pass2.py", + "usr/lib/python2.7/json/tests/test_pass3.pyo", + "usr/lib/python2.7/json/tests/test_fail.pyo", + "usr/lib/python2.7/json/tests/test_decode.py", + "usr/lib/python2.7/json/tests/test_unicode.py", + "usr/lib/python2.7/json/tests/test_unicode.pyc", + "usr/lib/python2.7/json/tests/test_separators.pyc", + "usr/lib/python2.7/json/tests/test_indent.py", + "usr/lib/python2.7/json/tests/test_pass3.pyc", + "usr/lib/python2.7/json/tests/test_speedups.pyo", + "usr/lib/python2.7/json/tests/test_pass3.py", + "usr/lib/python2.7/json/tests/test_scanstring.pyo", + "usr/lib/python2.7/json/tests/__init__.py", + "usr/lib/python2.7/json/tests/test_encode_basestring_ascii.pyc", + "usr/lib/python2.7/json/tests/test_scanstring.pyc", + "usr/lib/python2.7/json/tests/test_fail.pyc", + "usr/lib/python2.7/json/tests/test_check_circular.py", + "usr/lib/python2.7/json/tests/test_unicode.pyo", + "usr/lib/python2.7/json/tests/test_pass2.pyc", + "usr/lib/python2.7/json/tests/test_default.py", + "usr/lib/python2.7/json/tests/test_scanstring.py", + "usr/lib/python2.7/json/tests/test_default.pyo", + "usr/lib/python2.7/json/tests/test_tool.py", + "usr/lib/python2.7/json/tests/test_separators.py", + "usr/lib/python2.7/json/tests/test_separators.pyo", + "usr/lib/python2.7/json/tests/test_speedups.pyc", + "usr/lib/python2.7/json/tests/test_dump.pyo", + "usr/lib/python2.7/json/tests/test_speedups.py", + "usr/lib/python2.7/json/tests/test_fail.py", + "usr/lib/python2.7/json/tests/test_default.pyc", + "usr/lib/python2.7/json/tests/test_indent.pyc", + "usr/lib/python2.7/json/tests/test_pass1.pyc", + "usr/lib/python2.7/json/tests/test_tool.pyo", + "usr/lib/python2.7/json/tests/test_pass1.py", + "usr/lib/python2.7/json/tests/test_recursion.pyo", + "usr/lib/python2.7/json/tests/test_float.pyc", + "usr/lib/python2.7/json/tests/test_pass1.pyo", + "usr/lib/python2.7/json/tests/test_check_circular.pyo", + "usr/lib/python2.7/json/tests/test_decode.pyo", + "usr/lib/python2.7/json/tests/test_tool.pyc", + "usr/lib/python2.7/json/tests/__init__.pyo", + "usr/lib/python2.7/json/tests/test_pass2.pyo", + "usr/lib/python2.7/json/tests/test_dump.pyc", + "usr/lib/python2.7/json/tests/test_float.py", + "usr/lib/python2.7/json/tests/test_recursion.pyc", + "usr/lib/python2.7/json/tests/test_indent.pyo", + "usr/lib/python2.7/json/tests/test_decode.pyc", + "usr/lib/python2.7/json/tests/test_encode_basestring_ascii.py", + "usr/lib/python2.7/ensurepip/__init__.pyc", + "usr/lib/python2.7/ensurepip/__main__.pyc", + "usr/lib/python2.7/ensurepip/_uninstall.py", + "usr/lib/python2.7/ensurepip/_uninstall.pyo", + "usr/lib/python2.7/ensurepip/__init__.py", + "usr/lib/python2.7/ensurepip/__main__.pyo", + "usr/lib/python2.7/ensurepip/_uninstall.pyc", + "usr/lib/python2.7/ensurepip/__init__.pyo", + "usr/lib/python2.7/ensurepip/__main__.py", + "usr/lib/python2.7/ensurepip/_bundled/pip-9.0.3-py2.py3-none-any.whl", + "usr/lib/python2.7/ensurepip/_bundled/setuptools-39.0.1-py2.py3-none-any.whl", + "usr/lib/python2.7/hotshot/__init__.pyc", + "usr/lib/python2.7/hotshot/stones.py", + "usr/lib/python2.7/hotshot/stones.pyc", + "usr/lib/python2.7/hotshot/log.py", + "usr/lib/python2.7/hotshot/__init__.py", + "usr/lib/python2.7/hotshot/stats.py", + "usr/lib/python2.7/hotshot/log.pyc", + "usr/lib/python2.7/hotshot/stones.pyo", + "usr/lib/python2.7/hotshot/stats.pyc", + "usr/lib/python2.7/hotshot/__init__.pyo", + "usr/lib/python2.7/hotshot/stats.pyo", + "usr/lib/python2.7/hotshot/log.pyo", + "usr/lib/python2.7/logging/__init__.pyc", + "usr/lib/python2.7/logging/handlers.py", + "usr/lib/python2.7/logging/__init__.py", + "usr/lib/python2.7/logging/handlers.pyo", + "usr/lib/python2.7/logging/handlers.pyc", + "usr/lib/python2.7/logging/config.py", + "usr/lib/python2.7/logging/config.pyo", + "usr/lib/python2.7/logging/__init__.pyo", + "usr/lib/python2.7/logging/config.pyc", + "usr/lib/python2.7/multiprocessing/__init__.pyc", + "usr/lib/python2.7/multiprocessing/heap.pyc", + "usr/lib/python2.7/multiprocessing/pool.pyc", + "usr/lib/python2.7/multiprocessing/forking.pyc", + "usr/lib/python2.7/multiprocessing/util.pyo", + "usr/lib/python2.7/multiprocessing/heap.py", + "usr/lib/python2.7/multiprocessing/__init__.py", + "usr/lib/python2.7/multiprocessing/sharedctypes.pyc", + "usr/lib/python2.7/multiprocessing/queues.py", + "usr/lib/python2.7/multiprocessing/util.py", + "usr/lib/python2.7/multiprocessing/managers.pyo", + "usr/lib/python2.7/multiprocessing/forking.pyo", + "usr/lib/python2.7/multiprocessing/managers.pyc", + "usr/lib/python2.7/multiprocessing/heap.pyo", + "usr/lib/python2.7/multiprocessing/synchronize.py", + "usr/lib/python2.7/multiprocessing/synchronize.pyc", + "usr/lib/python2.7/multiprocessing/pool.py", + "usr/lib/python2.7/multiprocessing/forking.py", + "usr/lib/python2.7/multiprocessing/util.pyc", + "usr/lib/python2.7/multiprocessing/synchronize.pyo", + "usr/lib/python2.7/multiprocessing/sharedctypes.pyo", + "usr/lib/python2.7/multiprocessing/process.pyo", + "usr/lib/python2.7/multiprocessing/connection.pyo", + "usr/lib/python2.7/multiprocessing/reduction.pyc", + "usr/lib/python2.7/multiprocessing/queues.pyc", + "usr/lib/python2.7/multiprocessing/connection.pyc", + "usr/lib/python2.7/multiprocessing/connection.py", + "usr/lib/python2.7/multiprocessing/process.pyc", + "usr/lib/python2.7/multiprocessing/__init__.pyo", + "usr/lib/python2.7/multiprocessing/managers.py", + "usr/lib/python2.7/multiprocessing/sharedctypes.py", + "usr/lib/python2.7/multiprocessing/reduction.py", + "usr/lib/python2.7/multiprocessing/process.py", + "usr/lib/python2.7/multiprocessing/reduction.pyo", + "usr/lib/python2.7/multiprocessing/pool.pyo", + "usr/lib/python2.7/multiprocessing/queues.pyo", + "usr/lib/python2.7/multiprocessing/dummy/__init__.pyc", + "usr/lib/python2.7/multiprocessing/dummy/__init__.py", + "usr/lib/python2.7/multiprocessing/dummy/connection.pyo", + "usr/lib/python2.7/multiprocessing/dummy/connection.pyc", + "usr/lib/python2.7/multiprocessing/dummy/connection.py", + "usr/lib/python2.7/multiprocessing/dummy/__init__.pyo", + "usr/lib/python2.7/pydoc_data/__init__.pyc", + "usr/lib/python2.7/pydoc_data/topics.pyo", + "usr/lib/python2.7/pydoc_data/topics.pyc", + "usr/lib/python2.7/pydoc_data/__init__.py", + "usr/lib/python2.7/pydoc_data/__init__.pyo", + "usr/lib/python2.7/pydoc_data/topics.py", + "usr/lib/python2.7/lib-dynload/bz2.so", + "usr/lib/python2.7/lib-dynload/binascii.so", + "usr/lib/python2.7/lib-dynload/_functools.so", + "usr/lib/python2.7/lib-dynload/_ctypes.so", + "usr/lib/python2.7/lib-dynload/_testcapi.so", + "usr/lib/python2.7/lib-dynload/_codecs_iso2022.so", + "usr/lib/python2.7/lib-dynload/cPickle.so", + "usr/lib/python2.7/lib-dynload/select.so", + "usr/lib/python2.7/lib-dynload/fcntl.so", + "usr/lib/python2.7/lib-dynload/time.so", + "usr/lib/python2.7/lib-dynload/dbm.so", + "usr/lib/python2.7/lib-dynload/_collections.so", + "usr/lib/python2.7/lib-dynload/parser.so", + "usr/lib/python2.7/lib-dynload/_csv.so", + "usr/lib/python2.7/lib-dynload/_hashlib.so", + "usr/lib/python2.7/lib-dynload/_codecs_cn.so", + "usr/lib/python2.7/lib-dynload/_codecs_jp.so", + "usr/lib/python2.7/lib-dynload/_lsprof.so", + "usr/lib/python2.7/lib-dynload/mmap.so", + "usr/lib/python2.7/lib-dynload/_ctypes_test.so", + "usr/lib/python2.7/lib-dynload/_json.so", + "usr/lib/python2.7/lib-dynload/zlib.so", + "usr/lib/python2.7/lib-dynload/grp.so", + "usr/lib/python2.7/lib-dynload/future_builtins.so", + "usr/lib/python2.7/lib-dynload/itertools.so", + "usr/lib/python2.7/lib-dynload/Python-2.7.15-py2.7.egg-info", + "usr/lib/python2.7/lib-dynload/datetime.so", + "usr/lib/python2.7/lib-dynload/resource.so", + "usr/lib/python2.7/lib-dynload/_curses_panel.so", + "usr/lib/python2.7/lib-dynload/syslog.so", + "usr/lib/python2.7/lib-dynload/audioop.so", + "usr/lib/python2.7/lib-dynload/_heapq.so", + "usr/lib/python2.7/lib-dynload/termios.so", + "usr/lib/python2.7/lib-dynload/pyexpat.so", + "usr/lib/python2.7/lib-dynload/_codecs_tw.so", + "usr/lib/python2.7/lib-dynload/_elementtree.so", + "usr/lib/python2.7/lib-dynload/_io.so", + "usr/lib/python2.7/lib-dynload/_codecs_kr.so", + "usr/lib/python2.7/lib-dynload/_bisect.so", + "usr/lib/python2.7/lib-dynload/linuxaudiodev.so", + "usr/lib/python2.7/lib-dynload/spwd.so", + "usr/lib/python2.7/lib-dynload/cmath.so", + "usr/lib/python2.7/lib-dynload/_random.so", + "usr/lib/python2.7/lib-dynload/strop.so", + "usr/lib/python2.7/lib-dynload/ossaudiodev.so", + "usr/lib/python2.7/lib-dynload/math.so", + "usr/lib/python2.7/lib-dynload/_hotshot.so", + "usr/lib/python2.7/lib-dynload/unicodedata.so", + "usr/lib/python2.7/lib-dynload/_multiprocessing.so", + "usr/lib/python2.7/lib-dynload/_locale.so", + "usr/lib/python2.7/lib-dynload/_socket.so", + "usr/lib/python2.7/lib-dynload/_multibytecodec.so", + "usr/lib/python2.7/lib-dynload/operator.so", + "usr/lib/python2.7/lib-dynload/_struct.so", + "usr/lib/python2.7/lib-dynload/cStringIO.so", + "usr/lib/python2.7/lib-dynload/readline.so", + "usr/lib/python2.7/lib-dynload/_curses.so", + "usr/lib/python2.7/lib-dynload/_sqlite3.so", + "usr/lib/python2.7/lib-dynload/_codecs_hk.so", + "usr/lib/python2.7/lib-dynload/_ssl.so", + "usr/lib/python2.7/lib-dynload/crypt.so", + "usr/lib/python2.7/lib-dynload/array.so", + "usr/lib/python2.7/lib-tk/Tkconstants.pyo", + "usr/lib/python2.7/lib-tk/Tkconstants.pyc", + "usr/lib/python2.7/lib-tk/Tkdnd.pyc", + "usr/lib/python2.7/lib-tk/Tix.py", + "usr/lib/python2.7/lib-tk/tkColorChooser.py", + "usr/lib/python2.7/lib-tk/ScrolledText.pyo", + "usr/lib/python2.7/lib-tk/SimpleDialog.pyo", + "usr/lib/python2.7/lib-tk/Tix.pyo", + "usr/lib/python2.7/lib-tk/Dialog.pyo", + "usr/lib/python2.7/lib-tk/ttk.pyo", + "usr/lib/python2.7/lib-tk/tkFileDialog.py", + "usr/lib/python2.7/lib-tk/Tkinter.pyc", + "usr/lib/python2.7/lib-tk/tkMessageBox.pyc", + "usr/lib/python2.7/lib-tk/tkSimpleDialog.pyo", + "usr/lib/python2.7/lib-tk/Tix.pyc", + "usr/lib/python2.7/lib-tk/tkMessageBox.pyo", + "usr/lib/python2.7/lib-tk/FileDialog.py", + "usr/lib/python2.7/lib-tk/tkFileDialog.pyc", + "usr/lib/python2.7/lib-tk/SimpleDialog.pyc", + "usr/lib/python2.7/lib-tk/Dialog.py", + "usr/lib/python2.7/lib-tk/turtle.py", + "usr/lib/python2.7/lib-tk/FixTk.pyc", + "usr/lib/python2.7/lib-tk/tkMessageBox.py", + "usr/lib/python2.7/lib-tk/tkColorChooser.pyc", + "usr/lib/python2.7/lib-tk/FixTk.py", + "usr/lib/python2.7/lib-tk/ttk.py", + "usr/lib/python2.7/lib-tk/SimpleDialog.py", + "usr/lib/python2.7/lib-tk/ttk.pyc", + "usr/lib/python2.7/lib-tk/tkCommonDialog.pyc", + "usr/lib/python2.7/lib-tk/ScrolledText.pyc", + "usr/lib/python2.7/lib-tk/tkColorChooser.pyo", + "usr/lib/python2.7/lib-tk/Canvas.py", + "usr/lib/python2.7/lib-tk/tkSimpleDialog.pyc", + "usr/lib/python2.7/lib-tk/ScrolledText.py", + "usr/lib/python2.7/lib-tk/Dialog.pyc", + "usr/lib/python2.7/lib-tk/FixTk.pyo", + "usr/lib/python2.7/lib-tk/tkFont.pyc", + "usr/lib/python2.7/lib-tk/turtle.pyc", + "usr/lib/python2.7/lib-tk/Tkinter.pyo", + "usr/lib/python2.7/lib-tk/Tkinter.py", + "usr/lib/python2.7/lib-tk/FileDialog.pyc", + "usr/lib/python2.7/lib-tk/Tkdnd.py", + "usr/lib/python2.7/lib-tk/FileDialog.pyo", + "usr/lib/python2.7/lib-tk/tkFileDialog.pyo", + "usr/lib/python2.7/lib-tk/turtle.pyo", + "usr/lib/python2.7/lib-tk/tkFont.pyo", + "usr/lib/python2.7/lib-tk/Canvas.pyo", + "usr/lib/python2.7/lib-tk/Canvas.pyc", + "usr/lib/python2.7/lib-tk/tkSimpleDialog.py", + "usr/lib/python2.7/lib-tk/tkCommonDialog.pyo", + "usr/lib/python2.7/lib-tk/tkCommonDialog.py", + "usr/lib/python2.7/lib-tk/Tkconstants.py", + "usr/lib/python2.7/lib-tk/tkFont.py", + "usr/lib/python2.7/lib-tk/Tkdnd.pyo", + "usr/lib/python2.7/unittest/__init__.pyc", + "usr/lib/python2.7/unittest/__main__.pyc", + "usr/lib/python2.7/unittest/runner.pyc", + "usr/lib/python2.7/unittest/runner.pyo", + "usr/lib/python2.7/unittest/util.pyo", + "usr/lib/python2.7/unittest/signals.pyc", + "usr/lib/python2.7/unittest/suite.pyc", + "usr/lib/python2.7/unittest/__init__.py", + "usr/lib/python2.7/unittest/case.pyo", + "usr/lib/python2.7/unittest/util.py", + "usr/lib/python2.7/unittest/main.pyc", + "usr/lib/python2.7/unittest/__main__.pyo", + "usr/lib/python2.7/unittest/suite.pyo", + "usr/lib/python2.7/unittest/signals.pyo", + "usr/lib/python2.7/unittest/case.pyc", + "usr/lib/python2.7/unittest/result.pyo", + "usr/lib/python2.7/unittest/runner.py", + "usr/lib/python2.7/unittest/util.pyc", + "usr/lib/python2.7/unittest/main.pyo", + "usr/lib/python2.7/unittest/case.py", + "usr/lib/python2.7/unittest/loader.py", + "usr/lib/python2.7/unittest/loader.pyc", + "usr/lib/python2.7/unittest/suite.py", + "usr/lib/python2.7/unittest/main.py", + "usr/lib/python2.7/unittest/__init__.pyo", + "usr/lib/python2.7/unittest/__main__.py", + "usr/lib/python2.7/unittest/loader.pyo", + "usr/lib/python2.7/unittest/signals.py", + "usr/lib/python2.7/unittest/result.pyc", + "usr/lib/python2.7/unittest/result.py", + "usr/lib/python2.7/importlib/__init__.pyc", + "usr/lib/python2.7/importlib/__init__.py", + "usr/lib/python2.7/importlib/__init__.pyo", + "usr/lib/python2.7/compiler/__init__.pyc", + "usr/lib/python2.7/compiler/syntax.pyo", + "usr/lib/python2.7/compiler/pycodegen.pyo", + "usr/lib/python2.7/compiler/symbols.pyo", + "usr/lib/python2.7/compiler/misc.pyo", + "usr/lib/python2.7/compiler/future.pyo", + "usr/lib/python2.7/compiler/consts.py", + "usr/lib/python2.7/compiler/pycodegen.pyc", + "usr/lib/python2.7/compiler/ast.pyc", + "usr/lib/python2.7/compiler/__init__.py", + "usr/lib/python2.7/compiler/pyassem.pyc", + "usr/lib/python2.7/compiler/transformer.py", + "usr/lib/python2.7/compiler/pyassem.py", + "usr/lib/python2.7/compiler/syntax.pyc", + "usr/lib/python2.7/compiler/transformer.pyc", + "usr/lib/python2.7/compiler/transformer.pyo", + "usr/lib/python2.7/compiler/consts.pyo", + "usr/lib/python2.7/compiler/symbols.pyc", + "usr/lib/python2.7/compiler/pyassem.pyo", + "usr/lib/python2.7/compiler/future.pyc", + "usr/lib/python2.7/compiler/misc.pyc", + "usr/lib/python2.7/compiler/visitor.py", + "usr/lib/python2.7/compiler/syntax.py", + "usr/lib/python2.7/compiler/ast.pyo", + "usr/lib/python2.7/compiler/visitor.pyo", + "usr/lib/python2.7/compiler/visitor.pyc", + "usr/lib/python2.7/compiler/__init__.pyo", + "usr/lib/python2.7/compiler/consts.pyc", + "usr/lib/python2.7/compiler/ast.py", + "usr/lib/python2.7/compiler/misc.py", + "usr/lib/python2.7/compiler/future.py", + "usr/lib/python2.7/compiler/pycodegen.py", + "usr/lib/python2.7/compiler/symbols.py", + "usr/lib/python2.7/xml/__init__.pyc", + "usr/lib/python2.7/xml/__init__.py", + "usr/lib/python2.7/xml/__init__.pyo", + "usr/lib/python2.7/xml/dom/__init__.pyc", + "usr/lib/python2.7/xml/dom/expatbuilder.py", + "usr/lib/python2.7/xml/dom/NodeFilter.pyc", + "usr/lib/python2.7/xml/dom/xmlbuilder.pyo", + "usr/lib/python2.7/xml/dom/minidom.py", + "usr/lib/python2.7/xml/dom/minicompat.py", + "usr/lib/python2.7/xml/dom/__init__.py", + "usr/lib/python2.7/xml/dom/minicompat.pyo", + "usr/lib/python2.7/xml/dom/expatbuilder.pyo", + "usr/lib/python2.7/xml/dom/minidom.pyo", + "usr/lib/python2.7/xml/dom/expatbuilder.pyc", + "usr/lib/python2.7/xml/dom/NodeFilter.pyo", + "usr/lib/python2.7/xml/dom/xmlbuilder.pyc", + "usr/lib/python2.7/xml/dom/domreg.pyo", + "usr/lib/python2.7/xml/dom/NodeFilter.py", + "usr/lib/python2.7/xml/dom/domreg.pyc", + "usr/lib/python2.7/xml/dom/xmlbuilder.py", + "usr/lib/python2.7/xml/dom/minidom.pyc", + "usr/lib/python2.7/xml/dom/__init__.pyo", + "usr/lib/python2.7/xml/dom/pulldom.py", + "usr/lib/python2.7/xml/dom/minicompat.pyc", + "usr/lib/python2.7/xml/dom/pulldom.pyo", + "usr/lib/python2.7/xml/dom/domreg.py", + "usr/lib/python2.7/xml/dom/pulldom.pyc", + "usr/lib/python2.7/xml/parsers/__init__.pyc", + "usr/lib/python2.7/xml/parsers/expat.pyc", + "usr/lib/python2.7/xml/parsers/expat.py", + "usr/lib/python2.7/xml/parsers/__init__.py", + "usr/lib/python2.7/xml/parsers/expat.pyo", + "usr/lib/python2.7/xml/parsers/__init__.pyo", + "usr/lib/python2.7/xml/sax/__init__.pyc", + "usr/lib/python2.7/xml/sax/expatreader.pyc", + "usr/lib/python2.7/xml/sax/xmlreader.pyo", + "usr/lib/python2.7/xml/sax/_exceptions.pyo", + "usr/lib/python2.7/xml/sax/handler.pyo", + "usr/lib/python2.7/xml/sax/xmlreader.pyc", + "usr/lib/python2.7/xml/sax/__init__.py", + "usr/lib/python2.7/xml/sax/_exceptions.pyc", + "usr/lib/python2.7/xml/sax/handler.py", + "usr/lib/python2.7/xml/sax/expatreader.pyo", + "usr/lib/python2.7/xml/sax/_exceptions.py", + "usr/lib/python2.7/xml/sax/saxutils.py", + "usr/lib/python2.7/xml/sax/expatreader.py", + "usr/lib/python2.7/xml/sax/xmlreader.py", + "usr/lib/python2.7/xml/sax/__init__.pyo", + "usr/lib/python2.7/xml/sax/handler.pyc", + "usr/lib/python2.7/xml/sax/saxutils.pyo", + "usr/lib/python2.7/xml/sax/saxutils.pyc", + "usr/lib/python2.7/xml/etree/__init__.pyc", + "usr/lib/python2.7/xml/etree/cElementTree.py", + "usr/lib/python2.7/xml/etree/__init__.py", + "usr/lib/python2.7/xml/etree/ElementPath.py", + "usr/lib/python2.7/xml/etree/cElementTree.pyc", + "usr/lib/python2.7/xml/etree/ElementPath.pyc", + "usr/lib/python2.7/xml/etree/ElementTree.pyc", + "usr/lib/python2.7/xml/etree/ElementInclude.pyc", + "usr/lib/python2.7/xml/etree/cElementTree.pyo", + "usr/lib/python2.7/xml/etree/ElementTree.pyo", + "usr/lib/python2.7/xml/etree/ElementInclude.py", + "usr/lib/python2.7/xml/etree/__init__.pyo", + "usr/lib/python2.7/xml/etree/ElementTree.py", + "usr/lib/python2.7/xml/etree/ElementInclude.pyo", + "usr/lib/python2.7/xml/etree/ElementPath.pyo", + "usr/lib/python2.7/bsddb/db.py", + "usr/lib/python2.7/bsddb/__init__.pyc", + "usr/lib/python2.7/bsddb/dbtables.py", + "usr/lib/python2.7/bsddb/dbshelve.py", + "usr/lib/python2.7/bsddb/dbshelve.pyc", + "usr/lib/python2.7/bsddb/dbobj.py", + "usr/lib/python2.7/bsddb/__init__.py", + "usr/lib/python2.7/bsddb/dbrecio.pyo", + "usr/lib/python2.7/bsddb/dbtables.pyo", + "usr/lib/python2.7/bsddb/dbutils.pyo", + "usr/lib/python2.7/bsddb/dbrecio.py", + "usr/lib/python2.7/bsddb/dbutils.pyc", + "usr/lib/python2.7/bsddb/db.pyo", + "usr/lib/python2.7/bsddb/dbtables.pyc", + "usr/lib/python2.7/bsddb/dbobj.pyo", + "usr/lib/python2.7/bsddb/dbobj.pyc", + "usr/lib/python2.7/bsddb/dbshelve.pyo", + "usr/lib/python2.7/bsddb/dbutils.py", + "usr/lib/python2.7/bsddb/__init__.pyo", + "usr/lib/python2.7/bsddb/dbrecio.pyc", + "usr/lib/python2.7/bsddb/db.pyc", + "usr/lib/python2.7/config/Setup.local", + "usr/lib/python2.7/config/makesetup", + "usr/lib/python2.7/config/Makefile", + "usr/lib/python2.7/config/config.c.in", + "usr/lib/python2.7/config/install-sh", + "usr/lib/python2.7/config/Setup.config", + "usr/lib/python2.7/config/Setup", + "usr/lib/python2.7/idlelib/ScrolledList.pyo", + "usr/lib/python2.7/idlelib/ReplaceDialog.pyc", + "usr/lib/python2.7/idlelib/idle.py", + "usr/lib/python2.7/idlelib/IOBinding.pyc", + "usr/lib/python2.7/idlelib/PyParse.py", + "usr/lib/python2.7/idlelib/RemoteObjectBrowser.pyo", + "usr/lib/python2.7/idlelib/__init__.pyc", + "usr/lib/python2.7/idlelib/UndoDelegator.py", + "usr/lib/python2.7/idlelib/CodeContext.pyc", + "usr/lib/python2.7/idlelib/AutoExpand.py", + "usr/lib/python2.7/idlelib/OutputWindow.pyc", + "usr/lib/python2.7/idlelib/help.py", + "usr/lib/python2.7/idlelib/StackViewer.pyo", + "usr/lib/python2.7/idlelib/EditorWindow.pyo", + "usr/lib/python2.7/idlelib/Delegator.py", + "usr/lib/python2.7/idlelib/SearchDialog.pyc", + "usr/lib/python2.7/idlelib/Debugger.py", + "usr/lib/python2.7/idlelib/RstripExtension.pyc", + "usr/lib/python2.7/idlelib/CallTips.py", + "usr/lib/python2.7/idlelib/aboutDialog.pyo", + "usr/lib/python2.7/idlelib/Bindings.py", + "usr/lib/python2.7/idlelib/AutoCompleteWindow.pyo", + "usr/lib/python2.7/idlelib/Debugger.pyo", + "usr/lib/python2.7/idlelib/ColorDelegator.pyo", + "usr/lib/python2.7/idlelib/idle.pyw", + "usr/lib/python2.7/idlelib/PyShell.pyc", + "usr/lib/python2.7/idlelib/ColorDelegator.pyc", + "usr/lib/python2.7/idlelib/CodeContext.pyo", + "usr/lib/python2.7/idlelib/idle.bat", + "usr/lib/python2.7/idlelib/ZoomHeight.py", + "usr/lib/python2.7/idlelib/RemoteObjectBrowser.pyc", + "usr/lib/python2.7/idlelib/CallTipWindow.py", + "usr/lib/python2.7/idlelib/CallTips.pyc", + "usr/lib/python2.7/idlelib/OutputWindow.pyo", + "usr/lib/python2.7/idlelib/ToolTip.py", + "usr/lib/python2.7/idlelib/ScriptBinding.pyc", + "usr/lib/python2.7/idlelib/ReplaceDialog.py", + "usr/lib/python2.7/idlelib/NEWS.txt", + "usr/lib/python2.7/idlelib/ChangeLog", + "usr/lib/python2.7/idlelib/configHelpSourceEdit.pyc", + "usr/lib/python2.7/idlelib/idle.pyo", + "usr/lib/python2.7/idlelib/UndoDelegator.pyc", + "usr/lib/python2.7/idlelib/SearchDialogBase.pyc", + "usr/lib/python2.7/idlelib/macosxSupport.pyo", + "usr/lib/python2.7/idlelib/ClassBrowser.pyc", + "usr/lib/python2.7/idlelib/run.py", + "usr/lib/python2.7/idlelib/macosxSupport.pyc", + "usr/lib/python2.7/idlelib/Bindings.pyc", + "usr/lib/python2.7/idlelib/MultiStatusBar.pyo", + "usr/lib/python2.7/idlelib/Debugger.pyc", + "usr/lib/python2.7/idlelib/WidgetRedirector.pyo", + "usr/lib/python2.7/idlelib/dynOptionMenuWidget.pyo", + "usr/lib/python2.7/idlelib/EditorWindow.py", + "usr/lib/python2.7/idlelib/FormatParagraph.pyc", + "usr/lib/python2.7/idlelib/Delegator.pyc", + "usr/lib/python2.7/idlelib/Percolator.py", + "usr/lib/python2.7/idlelib/HyperParser.pyo", + "usr/lib/python2.7/idlelib/ClassBrowser.py", + "usr/lib/python2.7/idlelib/configHandler.pyo", + "usr/lib/python2.7/idlelib/__init__.py", + "usr/lib/python2.7/idlelib/AutoComplete.pyo", + "usr/lib/python2.7/idlelib/MultiCall.pyo", + "usr/lib/python2.7/idlelib/WidgetRedirector.py", + "usr/lib/python2.7/idlelib/WidgetRedirector.pyc", + "usr/lib/python2.7/idlelib/AutoExpand.pyo", + "usr/lib/python2.7/idlelib/TODO.txt", + "usr/lib/python2.7/idlelib/RemoteDebugger.py", + "usr/lib/python2.7/idlelib/HyperParser.py", + "usr/lib/python2.7/idlelib/keybindingDialog.pyo", + "usr/lib/python2.7/idlelib/MultiCall.pyc", + "usr/lib/python2.7/idlelib/SearchDialogBase.py", + "usr/lib/python2.7/idlelib/SearchEngine.pyo", + "usr/lib/python2.7/idlelib/FileList.pyc", + "usr/lib/python2.7/idlelib/StackViewer.pyc", + "usr/lib/python2.7/idlelib/AutoCompleteWindow.py", + "usr/lib/python2.7/idlelib/RemoteObjectBrowser.py", + "usr/lib/python2.7/idlelib/config-extensions.def", + "usr/lib/python2.7/idlelib/Percolator.pyc", + "usr/lib/python2.7/idlelib/HISTORY.txt", + "usr/lib/python2.7/idlelib/Bindings.pyo", + "usr/lib/python2.7/idlelib/rpc.pyc", + "usr/lib/python2.7/idlelib/idlever.pyc", + "usr/lib/python2.7/idlelib/MultiStatusBar.py", + "usr/lib/python2.7/idlelib/FileList.py", + "usr/lib/python2.7/idlelib/SearchDialog.pyo", + "usr/lib/python2.7/idlelib/AutoComplete.py", + "usr/lib/python2.7/idlelib/textView.pyo", + "usr/lib/python2.7/idlelib/IOBinding.pyo", + "usr/lib/python2.7/idlelib/config-main.def", + "usr/lib/python2.7/idlelib/IdleHistory.py", + "usr/lib/python2.7/idlelib/RstripExtension.pyo", + "usr/lib/python2.7/idlelib/PyParse.pyo", + "usr/lib/python2.7/idlelib/RstripExtension.py", + "usr/lib/python2.7/idlelib/CREDITS.txt", + "usr/lib/python2.7/idlelib/WindowList.pyc", + "usr/lib/python2.7/idlelib/AutoExpand.pyc", + "usr/lib/python2.7/idlelib/rpc.py", + "usr/lib/python2.7/idlelib/textView.pyc", + "usr/lib/python2.7/idlelib/configDialog.pyo", + "usr/lib/python2.7/idlelib/dynOptionMenuWidget.py", + "usr/lib/python2.7/idlelib/keybindingDialog.pyc", + "usr/lib/python2.7/idlelib/textView.py", + "usr/lib/python2.7/idlelib/PyParse.pyc", + "usr/lib/python2.7/idlelib/extend.txt", + "usr/lib/python2.7/idlelib/StackViewer.py", + "usr/lib/python2.7/idlelib/ZoomHeight.pyo", + "usr/lib/python2.7/idlelib/SearchEngine.py", + "usr/lib/python2.7/idlelib/ParenMatch.pyc", + "usr/lib/python2.7/idlelib/ScrolledList.pyc", + "usr/lib/python2.7/idlelib/MultiCall.py", + "usr/lib/python2.7/idlelib/WindowList.py", + "usr/lib/python2.7/idlelib/ToolTip.pyc", + "usr/lib/python2.7/idlelib/ScrolledList.py", + "usr/lib/python2.7/idlelib/ScriptBinding.pyo", + "usr/lib/python2.7/idlelib/PathBrowser.pyc", + "usr/lib/python2.7/idlelib/idlever.py", + "usr/lib/python2.7/idlelib/PyShell.pyo", + "usr/lib/python2.7/idlelib/OutputWindow.py", + "usr/lib/python2.7/idlelib/TreeWidget.pyc", + "usr/lib/python2.7/idlelib/dynOptionMenuWidget.pyc", + "usr/lib/python2.7/idlelib/config-keys.def", + "usr/lib/python2.7/idlelib/PathBrowser.pyo", + "usr/lib/python2.7/idlelib/idlever.pyo", + "usr/lib/python2.7/idlelib/PathBrowser.py", + "usr/lib/python2.7/idlelib/RemoteDebugger.pyo", + "usr/lib/python2.7/idlelib/config-highlight.def", + "usr/lib/python2.7/idlelib/FormatParagraph.py", + "usr/lib/python2.7/idlelib/Percolator.pyo", + "usr/lib/python2.7/idlelib/IdleHistory.pyo", + "usr/lib/python2.7/idlelib/macosxSupport.py", + "usr/lib/python2.7/idlelib/CodeContext.py", + "usr/lib/python2.7/idlelib/ObjectBrowser.pyc", + "usr/lib/python2.7/idlelib/rpc.pyo", + "usr/lib/python2.7/idlelib/tabbedpages.pyo", + "usr/lib/python2.7/idlelib/RemoteDebugger.pyc", + "usr/lib/python2.7/idlelib/SearchDialogBase.pyo", + "usr/lib/python2.7/idlelib/UndoDelegator.pyo", + "usr/lib/python2.7/idlelib/configSectionNameDialog.py", + "usr/lib/python2.7/idlelib/ClassBrowser.pyo", + "usr/lib/python2.7/idlelib/keybindingDialog.py", + "usr/lib/python2.7/idlelib/configHelpSourceEdit.pyo", + "usr/lib/python2.7/idlelib/configHandler.pyc", + "usr/lib/python2.7/idlelib/Delegator.pyo", + "usr/lib/python2.7/idlelib/GrepDialog.pyo", + "usr/lib/python2.7/idlelib/configHelpSourceEdit.py", + "usr/lib/python2.7/idlelib/help.pyo", + "usr/lib/python2.7/idlelib/SearchDialog.py", + "usr/lib/python2.7/idlelib/help.pyc", + "usr/lib/python2.7/idlelib/ParenMatch.pyo", + "usr/lib/python2.7/idlelib/AutoComplete.pyc", + "usr/lib/python2.7/idlelib/GrepDialog.py", + "usr/lib/python2.7/idlelib/CallTipWindow.pyc", + "usr/lib/python2.7/idlelib/aboutDialog.py", + "usr/lib/python2.7/idlelib/ColorDelegator.py", + "usr/lib/python2.7/idlelib/ZoomHeight.pyc", + "usr/lib/python2.7/idlelib/HyperParser.pyc", + "usr/lib/python2.7/idlelib/help.html", + "usr/lib/python2.7/idlelib/README.txt", + "usr/lib/python2.7/idlelib/WindowList.pyo", + "usr/lib/python2.7/idlelib/ParenMatch.py", + "usr/lib/python2.7/idlelib/IdleHistory.pyc", + "usr/lib/python2.7/idlelib/ScriptBinding.py", + "usr/lib/python2.7/idlelib/FileList.pyo", + "usr/lib/python2.7/idlelib/__init__.pyo", + "usr/lib/python2.7/idlelib/help.txt", + "usr/lib/python2.7/idlelib/ToolTip.pyo", + "usr/lib/python2.7/idlelib/FormatParagraph.pyo", + "usr/lib/python2.7/idlelib/tabbedpages.py", + "usr/lib/python2.7/idlelib/ReplaceDialog.pyo", + "usr/lib/python2.7/idlelib/run.pyc", + "usr/lib/python2.7/idlelib/configSectionNameDialog.pyc", + "usr/lib/python2.7/idlelib/run.pyo", + "usr/lib/python2.7/idlelib/configDialog.py", + "usr/lib/python2.7/idlelib/tabbedpages.pyc", + "usr/lib/python2.7/idlelib/configSectionNameDialog.pyo", + "usr/lib/python2.7/idlelib/SearchEngine.pyc", + "usr/lib/python2.7/idlelib/ObjectBrowser.py", + "usr/lib/python2.7/idlelib/configHandler.py", + "usr/lib/python2.7/idlelib/AutoCompleteWindow.pyc", + "usr/lib/python2.7/idlelib/idle.pyc", + "usr/lib/python2.7/idlelib/GrepDialog.pyc", + "usr/lib/python2.7/idlelib/CallTips.pyo", + "usr/lib/python2.7/idlelib/PyShell.py", + "usr/lib/python2.7/idlelib/TreeWidget.py", + "usr/lib/python2.7/idlelib/ObjectBrowser.pyo", + "usr/lib/python2.7/idlelib/configDialog.pyc", + "usr/lib/python2.7/idlelib/aboutDialog.pyc", + "usr/lib/python2.7/idlelib/IOBinding.py", + "usr/lib/python2.7/idlelib/CallTipWindow.pyo", + "usr/lib/python2.7/idlelib/TreeWidget.pyo", + "usr/lib/python2.7/idlelib/MultiStatusBar.pyc", + "usr/lib/python2.7/idlelib/EditorWindow.pyc", + "usr/lib/python2.7/idlelib/Icons/idle_32.gif", + "usr/lib/python2.7/idlelib/Icons/idle.icns", + "usr/lib/python2.7/idlelib/Icons/tk.gif", + "usr/lib/python2.7/idlelib/Icons/plusnode.gif", + "usr/lib/python2.7/idlelib/Icons/idle_32.png", + "usr/lib/python2.7/idlelib/Icons/idle.ico", + "usr/lib/python2.7/idlelib/Icons/openfolder.gif", + "usr/lib/python2.7/idlelib/Icons/idle_16.png", + "usr/lib/python2.7/idlelib/Icons/idle_48.gif", + "usr/lib/python2.7/idlelib/Icons/python.gif", + "usr/lib/python2.7/idlelib/Icons/idle_16.gif", + "usr/lib/python2.7/idlelib/Icons/minusnode.gif", + "usr/lib/python2.7/idlelib/Icons/idle_48.png", + "usr/lib/python2.7/idlelib/Icons/folder.gif", + "usr/lib/python2.7/idlelib/idle_test/test_autocomplete.pyo", + "usr/lib/python2.7/idlelib/idle_test/mock_tk.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_pathbrowser.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_parenmatch.pyo", + "usr/lib/python2.7/idlelib/idle_test/__init__.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_io.py", + "usr/lib/python2.7/idlelib/idle_test/test_calltips.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_autoexpand.py", + "usr/lib/python2.7/idlelib/idle_test/test_helpabout.py", + "usr/lib/python2.7/idlelib/idle_test/test_grep.py", + "usr/lib/python2.7/idlelib/idle_test/mock_idle.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_hyperparser.py", + "usr/lib/python2.7/idlelib/idle_test/test_delegator.py", + "usr/lib/python2.7/idlelib/idle_test/test_warning.py", + "usr/lib/python2.7/idlelib/idle_test/test_textview.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_rstrip.py", + "usr/lib/python2.7/idlelib/idle_test/test_calltips.py", + "usr/lib/python2.7/idlelib/idle_test/test_pathbrowser.pyo", + "usr/lib/python2.7/idlelib/idle_test/htest.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_searchengine.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_searchdialogbase.py", + "usr/lib/python2.7/idlelib/idle_test/test_idlehistory.py", + "usr/lib/python2.7/idlelib/idle_test/test_autocomplete.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_configdialog.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_grep.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_text.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_config_name.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_widgetredir.py", + "usr/lib/python2.7/idlelib/idle_test/test_grep.pyc", + "usr/lib/python2.7/idlelib/idle_test/__init__.py", + "usr/lib/python2.7/idlelib/idle_test/test_helpabout.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_idlehistory.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_text.py", + "usr/lib/python2.7/idlelib/idle_test/test_formatparagraph.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_parenmatch.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_config_name.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_rstrip.pyo", + "usr/lib/python2.7/idlelib/idle_test/mock_tk.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_configdialog.py", + "usr/lib/python2.7/idlelib/idle_test/test_widgetredir.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_configdialog.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_formatparagraph.py", + "usr/lib/python2.7/idlelib/idle_test/test_editmenu.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_config_name.py", + "usr/lib/python2.7/idlelib/idle_test/mock_idle.py", + "usr/lib/python2.7/idlelib/idle_test/htest.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_textview.pyc", + "usr/lib/python2.7/idlelib/idle_test/mock_idle.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_delegator.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_warning.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_delegator.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_textview.py", + "usr/lib/python2.7/idlelib/idle_test/test_rstrip.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_searchengine.py", + "usr/lib/python2.7/idlelib/idle_test/mock_tk.py", + "usr/lib/python2.7/idlelib/idle_test/test_searchdialogbase.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_autoexpand.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_hyperparser.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_formatparagraph.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_searchengine.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_autoexpand.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_editmenu.py", + "usr/lib/python2.7/idlelib/idle_test/README.txt", + "usr/lib/python2.7/idlelib/idle_test/__init__.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_warning.pyc", + "usr/lib/python2.7/idlelib/idle_test/htest.py", + "usr/lib/python2.7/idlelib/idle_test/test_widgetredir.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_text.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_helpabout.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_io.pyc", + "usr/lib/python2.7/idlelib/idle_test/test_calltips.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_searchdialogbase.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_io.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_idlehistory.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_parenmatch.py", + "usr/lib/python2.7/idlelib/idle_test/test_autocomplete.py", + "usr/lib/python2.7/idlelib/idle_test/test_hyperparser.pyo", + "usr/lib/python2.7/idlelib/idle_test/test_pathbrowser.py", + "usr/lib/python2.7/idlelib/idle_test/test_editmenu.pyo", + "usr/lib/python2.7/encodings/cp037.py", + "usr/lib/python2.7/encodings/utf_32_be.py", + "usr/lib/python2.7/encodings/utf_16.pyc", + "usr/lib/python2.7/encodings/koi8_u.pyc", + "usr/lib/python2.7/encodings/cp437.py", + "usr/lib/python2.7/encodings/latin_1.py", + "usr/lib/python2.7/encodings/euc_jisx0213.py", + "usr/lib/python2.7/encodings/euc_jis_2004.py", + "usr/lib/python2.7/encodings/cp720.pyo", + "usr/lib/python2.7/encodings/big5hkscs.py", + "usr/lib/python2.7/encodings/big5.py", + "usr/lib/python2.7/encodings/__init__.pyc", + "usr/lib/python2.7/encodings/charmap.py", + "usr/lib/python2.7/encodings/cp874.pyc", + "usr/lib/python2.7/encodings/cp875.pyo", + "usr/lib/python2.7/encodings/cp424.pyo", + "usr/lib/python2.7/encodings/cp437.pyc", + "usr/lib/python2.7/encodings/iso2022_jp_3.py", + "usr/lib/python2.7/encodings/cp932.pyc", + "usr/lib/python2.7/encodings/utf_32.pyc", + "usr/lib/python2.7/encodings/cp1250.py", + "usr/lib/python2.7/encodings/euc_jis_2004.pyc", + "usr/lib/python2.7/encodings/hz.pyo", + "usr/lib/python2.7/encodings/cp037.pyc", + "usr/lib/python2.7/encodings/cp857.pyc", + "usr/lib/python2.7/encodings/mac_turkish.pyc", + "usr/lib/python2.7/encodings/string_escape.pyc", + "usr/lib/python2.7/encodings/cp865.pyc", + "usr/lib/python2.7/encodings/unicode_internal.py", + "usr/lib/python2.7/encodings/utf_8_sig.pyo", + "usr/lib/python2.7/encodings/iso8859_5.pyc", + "usr/lib/python2.7/encodings/mac_roman.py", + "usr/lib/python2.7/encodings/cp863.py", + "usr/lib/python2.7/encodings/tis_620.pyc", + "usr/lib/python2.7/encodings/mac_romanian.py", + "usr/lib/python2.7/encodings/cp1258.py", + "usr/lib/python2.7/encodings/unicode_escape.py", + "usr/lib/python2.7/encodings/cp1253.pyo", + "usr/lib/python2.7/encodings/utf_8_sig.pyc", + "usr/lib/python2.7/encodings/hex_codec.pyo", + "usr/lib/python2.7/encodings/utf_32.py", + "usr/lib/python2.7/encodings/charmap.pyo", + "usr/lib/python2.7/encodings/cp862.py", + "usr/lib/python2.7/encodings/cp866.py", + "usr/lib/python2.7/encodings/cp1251.pyo", + "usr/lib/python2.7/encodings/iso8859_13.py", + "usr/lib/python2.7/encodings/cp1252.py", + "usr/lib/python2.7/encodings/cp437.pyo", + "usr/lib/python2.7/encodings/cp860.pyo", + "usr/lib/python2.7/encodings/mac_latin2.py", + "usr/lib/python2.7/encodings/mac_romanian.pyo", + "usr/lib/python2.7/encodings/rot_13.pyo", + "usr/lib/python2.7/encodings/aliases.pyo", + "usr/lib/python2.7/encodings/utf_8.py", + "usr/lib/python2.7/encodings/cp875.py", + "usr/lib/python2.7/encodings/mac_farsi.py", + "usr/lib/python2.7/encodings/cp1257.pyo", + "usr/lib/python2.7/encodings/cp424.py", + "usr/lib/python2.7/encodings/cp863.pyc", + "usr/lib/python2.7/encodings/mac_latin2.pyc", + "usr/lib/python2.7/encodings/rot_13.py", + "usr/lib/python2.7/encodings/base64_codec.py", + "usr/lib/python2.7/encodings/bz2_codec.py", + "usr/lib/python2.7/encodings/shift_jis_2004.pyo", + "usr/lib/python2.7/encodings/iso8859_3.py", + "usr/lib/python2.7/encodings/koi8_u.py", + "usr/lib/python2.7/encodings/gbk.pyo", + "usr/lib/python2.7/encodings/utf_16_be.py", + "usr/lib/python2.7/encodings/iso2022_jp_2004.pyo", + "usr/lib/python2.7/encodings/mac_greek.pyc", + "usr/lib/python2.7/encodings/cp864.pyo", + "usr/lib/python2.7/encodings/cp862.pyo", + "usr/lib/python2.7/encodings/utf_16_le.py", + "usr/lib/python2.7/encodings/cp950.py", + "usr/lib/python2.7/encodings/iso8859_14.py", + "usr/lib/python2.7/encodings/cp864.pyc", + "usr/lib/python2.7/encodings/iso8859_15.py", + "usr/lib/python2.7/encodings/cp857.pyo", + "usr/lib/python2.7/encodings/iso8859_15.pyo", + "usr/lib/python2.7/encodings/mac_croatian.py", + "usr/lib/python2.7/encodings/uu_codec.pyo", + "usr/lib/python2.7/encodings/cp1252.pyo", + "usr/lib/python2.7/encodings/cp1006.pyc", + "usr/lib/python2.7/encodings/quopri_codec.py", + "usr/lib/python2.7/encodings/iso2022_jp_1.pyc", + "usr/lib/python2.7/encodings/cp932.py", + "usr/lib/python2.7/encodings/undefined.pyo", + "usr/lib/python2.7/encodings/johab.pyo", + "usr/lib/python2.7/encodings/aliases.py", + "usr/lib/python2.7/encodings/iso2022_jp_ext.pyo", + "usr/lib/python2.7/encodings/shift_jisx0213.pyc", + "usr/lib/python2.7/encodings/cp1140.py", + "usr/lib/python2.7/encodings/utf_16_le.pyo", + "usr/lib/python2.7/encodings/iso8859_9.pyc", + "usr/lib/python2.7/encodings/punycode.pyc", + "usr/lib/python2.7/encodings/ascii.pyc", + "usr/lib/python2.7/encodings/mac_romanian.pyc", + "usr/lib/python2.7/encodings/hex_codec.py", + "usr/lib/python2.7/encodings/shift_jis.pyo", + "usr/lib/python2.7/encodings/mac_cyrillic.pyo", + "usr/lib/python2.7/encodings/iso2022_jp.pyc", + "usr/lib/python2.7/encodings/cp852.py", + "usr/lib/python2.7/encodings/euc_jp.py", + "usr/lib/python2.7/encodings/palmos.pyo", + "usr/lib/python2.7/encodings/cp720.py", + "usr/lib/python2.7/encodings/undefined.pyc", + "usr/lib/python2.7/encodings/cp866.pyc", + "usr/lib/python2.7/encodings/unicode_internal.pyo", + "usr/lib/python2.7/encodings/iso8859_4.py", + "usr/lib/python2.7/encodings/cp775.py", + "usr/lib/python2.7/encodings/cp869.pyo", + "usr/lib/python2.7/encodings/cp862.pyc", + "usr/lib/python2.7/encodings/zlib_codec.pyo", + "usr/lib/python2.7/encodings/iso8859_16.pyo", + "usr/lib/python2.7/encodings/iso8859_9.py", + "usr/lib/python2.7/encodings/iso8859_6.pyo", + "usr/lib/python2.7/encodings/iso2022_jp_3.pyo", + "usr/lib/python2.7/encodings/cp1254.pyo", + "usr/lib/python2.7/encodings/cp1006.py", + "usr/lib/python2.7/encodings/__init__.py", + "usr/lib/python2.7/encodings/cp869.pyc", + "usr/lib/python2.7/encodings/utf_16_be.pyo", + "usr/lib/python2.7/encodings/bz2_codec.pyc", + "usr/lib/python2.7/encodings/cp037.pyo", + "usr/lib/python2.7/encodings/cp1253.pyc", + "usr/lib/python2.7/encodings/iso2022_jp_2.pyo", + "usr/lib/python2.7/encodings/charmap.pyc", + "usr/lib/python2.7/encodings/zlib_codec.pyc", + "usr/lib/python2.7/encodings/mbcs.pyc", + "usr/lib/python2.7/encodings/iso8859_10.pyo", + "usr/lib/python2.7/encodings/iso2022_jp_3.pyc", + "usr/lib/python2.7/encodings/hex_codec.pyc", + "usr/lib/python2.7/encodings/cp737.py", + "usr/lib/python2.7/encodings/iso2022_jp_2004.pyc", + "usr/lib/python2.7/encodings/iso8859_2.pyc", + "usr/lib/python2.7/encodings/cp1026.pyc", + "usr/lib/python2.7/encodings/gb18030.pyo", + "usr/lib/python2.7/encodings/euc_kr.pyo", + "usr/lib/python2.7/encodings/iso8859_7.py", + "usr/lib/python2.7/encodings/ptcp154.pyc", + "usr/lib/python2.7/encodings/cp856.py", + "usr/lib/python2.7/encodings/utf_32_le.pyo", + "usr/lib/python2.7/encodings/shift_jis_2004.pyc", + "usr/lib/python2.7/encodings/cp737.pyc", + "usr/lib/python2.7/encodings/cp737.pyo", + "usr/lib/python2.7/encodings/cp865.py", + "usr/lib/python2.7/encodings/iso8859_11.pyo", + "usr/lib/python2.7/encodings/iso8859_3.pyo", + "usr/lib/python2.7/encodings/iso2022_jp.py", + "usr/lib/python2.7/encodings/iso8859_6.py", + "usr/lib/python2.7/encodings/zlib_codec.py", + "usr/lib/python2.7/encodings/cp855.pyc", + "usr/lib/python2.7/encodings/gb2312.pyo", + "usr/lib/python2.7/encodings/mac_arabic.pyo", + "usr/lib/python2.7/encodings/big5hkscs.pyo", + "usr/lib/python2.7/encodings/ptcp154.pyo", + "usr/lib/python2.7/encodings/iso8859_10.py", + "usr/lib/python2.7/encodings/koi8_r.pyc", + "usr/lib/python2.7/encodings/iso8859_16.py", + "usr/lib/python2.7/encodings/gb18030.pyc", + "usr/lib/python2.7/encodings/iso2022_jp_2.py", + "usr/lib/python2.7/encodings/gb18030.py", + "usr/lib/python2.7/encodings/cp1256.pyo", + "usr/lib/python2.7/encodings/shift_jis_2004.py", + "usr/lib/python2.7/encodings/utf_8.pyc", + "usr/lib/python2.7/encodings/cp1255.pyc", + "usr/lib/python2.7/encodings/cp775.pyo", + "usr/lib/python2.7/encodings/latin_1.pyo", + "usr/lib/python2.7/encodings/johab.py", + "usr/lib/python2.7/encodings/mac_croatian.pyc", + "usr/lib/python2.7/encodings/utf_16_be.pyc", + "usr/lib/python2.7/encodings/cp1006.pyo", + "usr/lib/python2.7/encodings/cp874.pyo", + "usr/lib/python2.7/encodings/cp1256.py", + "usr/lib/python2.7/encodings/cp850.pyc", + "usr/lib/python2.7/encodings/base64_codec.pyc", + "usr/lib/python2.7/encodings/iso8859_11.pyc", + "usr/lib/python2.7/encodings/cp424.pyc", + "usr/lib/python2.7/encodings/mac_arabic.pyc", + "usr/lib/python2.7/encodings/cp861.pyo", + "usr/lib/python2.7/encodings/cp950.pyc", + "usr/lib/python2.7/encodings/iso2022_jp_ext.pyc", + "usr/lib/python2.7/encodings/cp1253.py", + "usr/lib/python2.7/encodings/cp861.py", + "usr/lib/python2.7/encodings/cp1250.pyc", + "usr/lib/python2.7/encodings/mac_centeuro.pyc", + "usr/lib/python2.7/encodings/utf_16.pyo", + "usr/lib/python2.7/encodings/mac_farsi.pyc", + "usr/lib/python2.7/encodings/iso8859_2.pyo", + "usr/lib/python2.7/encodings/iso2022_kr.py", + "usr/lib/python2.7/encodings/mac_centeuro.pyo", + "usr/lib/python2.7/encodings/iso8859_4.pyc", + "usr/lib/python2.7/encodings/bz2_codec.pyo", + "usr/lib/python2.7/encodings/cp858.pyo", + "usr/lib/python2.7/encodings/hp_roman8.pyo", + "usr/lib/python2.7/encodings/iso2022_jp_1.py", + "usr/lib/python2.7/encodings/iso8859_1.pyo", + "usr/lib/python2.7/encodings/shift_jisx0213.py", + "usr/lib/python2.7/encodings/cp1254.py", + "usr/lib/python2.7/encodings/cp1140.pyc", + "usr/lib/python2.7/encodings/mac_iceland.py", + "usr/lib/python2.7/encodings/mac_greek.pyo", + "usr/lib/python2.7/encodings/cp869.py", + "usr/lib/python2.7/encodings/raw_unicode_escape.pyc", + "usr/lib/python2.7/encodings/utf_32_be.pyc", + "usr/lib/python2.7/encodings/rot_13.pyc", + "usr/lib/python2.7/encodings/hz.pyc", + "usr/lib/python2.7/encodings/iso2022_jp_2.pyc", + "usr/lib/python2.7/encodings/mac_iceland.pyc", + "usr/lib/python2.7/encodings/cp949.pyc", + "usr/lib/python2.7/encodings/iso2022_kr.pyc", + "usr/lib/python2.7/encodings/utf_16_le.pyc", + "usr/lib/python2.7/encodings/iso8859_1.py", + "usr/lib/python2.7/encodings/hp_roman8.pyc", + "usr/lib/python2.7/encodings/iso8859_8.pyo", + "usr/lib/python2.7/encodings/iso8859_7.pyo", + "usr/lib/python2.7/encodings/utf_7.py", + "usr/lib/python2.7/encodings/euc_jisx0213.pyc", + "usr/lib/python2.7/encodings/iso8859_14.pyc", + "usr/lib/python2.7/encodings/iso8859_11.py", + "usr/lib/python2.7/encodings/mac_farsi.pyo", + "usr/lib/python2.7/encodings/iso8859_9.pyo", + "usr/lib/python2.7/encodings/gbk.pyc", + "usr/lib/python2.7/encodings/iso8859_13.pyo", + "usr/lib/python2.7/encodings/euc_jis_2004.pyo", + "usr/lib/python2.7/encodings/iso8859_2.py", + "usr/lib/python2.7/encodings/punycode.py", + "usr/lib/python2.7/encodings/big5hkscs.pyc", + "usr/lib/python2.7/encodings/aliases.pyc", + "usr/lib/python2.7/encodings/cp858.py", + "usr/lib/python2.7/encodings/utf_7.pyc", + "usr/lib/python2.7/encodings/cp720.pyc", + "usr/lib/python2.7/encodings/utf_8_sig.py", + "usr/lib/python2.7/encodings/uu_codec.py", + "usr/lib/python2.7/encodings/cp1258.pyc", + "usr/lib/python2.7/encodings/iso8859_14.pyo", + "usr/lib/python2.7/encodings/iso8859_16.pyc", + "usr/lib/python2.7/encodings/cp875.pyc", + "usr/lib/python2.7/encodings/raw_unicode_escape.py", + "usr/lib/python2.7/encodings/tis_620.pyo", + "usr/lib/python2.7/encodings/euc_jisx0213.pyo", + "usr/lib/python2.7/encodings/punycode.pyo", + "usr/lib/python2.7/encodings/quopri_codec.pyc", + "usr/lib/python2.7/encodings/string_escape.pyo", + "usr/lib/python2.7/encodings/cp1251.pyc", + "usr/lib/python2.7/encodings/gb2312.pyc", + "usr/lib/python2.7/encodings/mac_cyrillic.py", + "usr/lib/python2.7/encodings/palmos.py", + "usr/lib/python2.7/encodings/iso2022_jp_1.pyo", + "usr/lib/python2.7/encodings/cp1254.pyc", + "usr/lib/python2.7/encodings/euc_jp.pyo", + "usr/lib/python2.7/encodings/koi8_r.py", + "usr/lib/python2.7/encodings/cp1251.py", + "usr/lib/python2.7/encodings/shift_jis.py", + "usr/lib/python2.7/encodings/iso8859_8.py", + "usr/lib/python2.7/encodings/mac_greek.py", + "usr/lib/python2.7/encodings/mac_turkish.pyo", + "usr/lib/python2.7/encodings/cp1252.pyc", + "usr/lib/python2.7/encodings/hz.py", + "usr/lib/python2.7/encodings/cp1255.pyo", + "usr/lib/python2.7/encodings/utf_32.pyo", + "usr/lib/python2.7/encodings/utf_7.pyo", + "usr/lib/python2.7/encodings/cp858.pyc", + "usr/lib/python2.7/encodings/big5.pyo", + "usr/lib/python2.7/encodings/cp949.pyo", + "usr/lib/python2.7/encodings/iso2022_kr.pyo", + "usr/lib/python2.7/encodings/iso8859_4.pyo", + "usr/lib/python2.7/encodings/iso8859_13.pyc", + "usr/lib/python2.7/encodings/ascii.py", + "usr/lib/python2.7/encodings/iso8859_5.pyo", + "usr/lib/python2.7/encodings/iso8859_1.pyc", + "usr/lib/python2.7/encodings/shift_jisx0213.pyo", + "usr/lib/python2.7/encodings/utf_32_le.py", + "usr/lib/python2.7/encodings/cp856.pyc", + "usr/lib/python2.7/encodings/cp775.pyc", + "usr/lib/python2.7/encodings/ptcp154.py", + "usr/lib/python2.7/encodings/uu_codec.pyc", + "usr/lib/python2.7/encodings/utf_8.pyo", + "usr/lib/python2.7/encodings/cp865.pyo", + "usr/lib/python2.7/encodings/cp861.pyc", + "usr/lib/python2.7/encodings/idna.pyo", + "usr/lib/python2.7/encodings/hp_roman8.py", + "usr/lib/python2.7/encodings/gbk.py", + "usr/lib/python2.7/encodings/unicode_internal.pyc", + "usr/lib/python2.7/encodings/raw_unicode_escape.pyo", + "usr/lib/python2.7/encodings/utf_16.py", + "usr/lib/python2.7/encodings/koi8_u.pyo", + "usr/lib/python2.7/encodings/cp1140.pyo", + "usr/lib/python2.7/encodings/mac_turkish.py", + "usr/lib/python2.7/encodings/iso2022_jp_2004.py", + "usr/lib/python2.7/encodings/cp500.pyc", + "usr/lib/python2.7/encodings/iso8859_6.pyc", + "usr/lib/python2.7/encodings/mac_roman.pyo", + "usr/lib/python2.7/encodings/euc_kr.py", + "usr/lib/python2.7/encodings/big5.pyc", + "usr/lib/python2.7/encodings/cp866.pyo", + "usr/lib/python2.7/encodings/cp850.pyo", + "usr/lib/python2.7/encodings/string_escape.py", + "usr/lib/python2.7/encodings/__init__.pyo", + "usr/lib/python2.7/encodings/cp1026.py", + "usr/lib/python2.7/encodings/mbcs.py", + "usr/lib/python2.7/encodings/cp864.py", + "usr/lib/python2.7/encodings/unicode_escape.pyo", + "usr/lib/python2.7/encodings/cp855.pyo", + "usr/lib/python2.7/encodings/latin_1.pyc", + "usr/lib/python2.7/encodings/cp863.pyo", + "usr/lib/python2.7/encodings/cp852.pyo", + "usr/lib/python2.7/encodings/undefined.py", + "usr/lib/python2.7/encodings/cp860.py", + "usr/lib/python2.7/encodings/cp1258.pyo", + "usr/lib/python2.7/encodings/cp857.py", + "usr/lib/python2.7/encodings/cp1255.py", + "usr/lib/python2.7/encodings/cp932.pyo", + "usr/lib/python2.7/encodings/euc_jp.pyc", + "usr/lib/python2.7/encodings/koi8_r.pyo", + "usr/lib/python2.7/encodings/cp1256.pyc", + "usr/lib/python2.7/encodings/utf_32_be.pyo", + "usr/lib/python2.7/encodings/cp1257.pyc", + "usr/lib/python2.7/encodings/johab.pyc", + "usr/lib/python2.7/encodings/mbcs.pyo", + "usr/lib/python2.7/encodings/tis_620.py", + "usr/lib/python2.7/encodings/iso8859_15.pyc", + "usr/lib/python2.7/encodings/cp949.py", + "usr/lib/python2.7/encodings/base64_codec.pyo", + "usr/lib/python2.7/encodings/cp1250.pyo", + "usr/lib/python2.7/encodings/quopri_codec.pyo", + "usr/lib/python2.7/encodings/mac_roman.pyc", + "usr/lib/python2.7/encodings/iso8859_10.pyc", + "usr/lib/python2.7/encodings/cp856.pyo", + "usr/lib/python2.7/encodings/ascii.pyo", + "usr/lib/python2.7/encodings/cp852.pyc", + "usr/lib/python2.7/encodings/idna.py", + "usr/lib/python2.7/encodings/cp1026.pyo", + "usr/lib/python2.7/encodings/cp500.py", + "usr/lib/python2.7/encodings/cp874.py", + "usr/lib/python2.7/encodings/cp1257.py", + "usr/lib/python2.7/encodings/mac_latin2.pyo", + "usr/lib/python2.7/encodings/idna.pyc", + "usr/lib/python2.7/encodings/iso8859_5.py", + "usr/lib/python2.7/encodings/utf_32_le.pyc", + "usr/lib/python2.7/encodings/cp850.py", + "usr/lib/python2.7/encodings/cp855.py", + "usr/lib/python2.7/encodings/mac_arabic.py", + "usr/lib/python2.7/encodings/shift_jis.pyc", + "usr/lib/python2.7/encodings/iso2022_jp.pyo", + "usr/lib/python2.7/encodings/mac_centeuro.py", + "usr/lib/python2.7/encodings/iso8859_8.pyc", + "usr/lib/python2.7/encodings/iso8859_3.pyc", + "usr/lib/python2.7/encodings/unicode_escape.pyc", + "usr/lib/python2.7/encodings/iso8859_7.pyc", + "usr/lib/python2.7/encodings/cp860.pyc", + "usr/lib/python2.7/encodings/mac_croatian.pyo", + "usr/lib/python2.7/encodings/euc_kr.pyc", + "usr/lib/python2.7/encodings/mac_iceland.pyo", + "usr/lib/python2.7/encodings/gb2312.py", + "usr/lib/python2.7/encodings/cp950.pyo", + "usr/lib/python2.7/encodings/iso2022_jp_ext.py", + "usr/lib/python2.7/encodings/mac_cyrillic.pyc", + "usr/lib/python2.7/encodings/cp500.pyo", + "usr/lib/python2.7/encodings/palmos.pyc", + "usr/lib/python2.7/ctypes/__init__.pyc", + "usr/lib/python2.7/ctypes/util.pyo", + "usr/lib/python2.7/ctypes/__init__.py", + "usr/lib/python2.7/ctypes/util.py", + "usr/lib/python2.7/ctypes/wintypes.py", + "usr/lib/python2.7/ctypes/_endian.py", + "usr/lib/python2.7/ctypes/util.pyc", + "usr/lib/python2.7/ctypes/_endian.pyo", + "usr/lib/python2.7/ctypes/__init__.pyo", + "usr/lib/python2.7/ctypes/_endian.pyc", + "usr/lib/python2.7/ctypes/wintypes.pyo", + "usr/lib/python2.7/ctypes/wintypes.pyc", + "usr/lib/python2.7/ctypes/macholib/dylib.pyo", + "usr/lib/python2.7/ctypes/macholib/__init__.pyc", + "usr/lib/python2.7/ctypes/macholib/framework.pyc", + "usr/lib/python2.7/ctypes/macholib/__init__.py", + "usr/lib/python2.7/ctypes/macholib/dyld.pyc", + "usr/lib/python2.7/ctypes/macholib/dyld.pyo", + "usr/lib/python2.7/ctypes/macholib/framework.py", + "usr/lib/python2.7/ctypes/macholib/README.ctypes", + "usr/lib/python2.7/ctypes/macholib/dylib.pyc", + "usr/lib/python2.7/ctypes/macholib/__init__.pyo", + "usr/lib/python2.7/ctypes/macholib/dylib.py", + "usr/lib/python2.7/ctypes/macholib/dyld.py", + "usr/lib/python2.7/ctypes/macholib/fetch_macholib.bat", + "usr/lib/python2.7/ctypes/macholib/fetch_macholib", + "usr/lib/python2.7/ctypes/macholib/framework.pyo", + "usr/include/python2.7/pyconfig.h" + ] }, { "ID": "readline@7.0.003-r0", @@ -947,7 +7496,11 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:6796e379c3acec5edda98243e506a363d54c2854" + "Digest": "sha1:6796e379c3acec5edda98243e506a363d54c2854", + "InstalledFiles": [ + "usr/lib/libreadline.so.7.0", + "usr/lib/libreadline.so.7" + ] }, { "ID": "scanelf@1.2.2-r1", @@ -966,7 +7519,10 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:673d3ba729ab198f0120e3d1f37e993ee2f93c88" + "Digest": "sha1:673d3ba729ab198f0120e3d1f37e993ee2f93c88", + "InstalledFiles": [ + "usr/bin/scanelf" + ] }, { "ID": "serf@1.3.9-r3", @@ -990,7 +7546,11 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:7f3acf89cc921a20b621f297018caed2e939d873" + "Digest": "sha1:7f3acf89cc921a20b621f297018caed2e939d873", + "InstalledFiles": [ + "usr/lib/libserf-1.so.1", + "usr/lib/libserf-1.so.1.3.0" + ] }, { "ID": "sqlite-libs@3.21.0-r1", @@ -1009,7 +7569,11 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:963204681a8d8922da42739756caca5d0a4290f0" + "Digest": "sha1:963204681a8d8922da42739756caca5d0a4290f0", + "InstalledFiles": [ + "usr/lib/libsqlite3.so.0", + "usr/lib/libsqlite3.so.0.8.6" + ] }, { "ID": "ssl_client@1.27.2-r11", @@ -1029,7 +7593,10 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:be991cfc32528659450b6dd21e855d638b5865a6" + "Digest": "sha1:be991cfc32528659450b6dd21e855d638b5865a6", + "InstalledFiles": [ + "usr/bin/ssl_client" + ] }, { "ID": "subversion@1.9.7-r0", @@ -1054,7 +7621,37 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:b3f0936eb24b3f61099cedfac29195dc04a08362" + "Digest": "sha1:b3f0936eb24b3f61099cedfac29195dc04a08362", + "InstalledFiles": [ + "etc/init.d/svnserve", + "etc/conf.d/svnserve", + "usr/bin/svn", + "usr/bin/svnbench", + "usr/bin/svnadmin", + "usr/bin/svnversion", + "usr/bin/svnrdump", + "usr/bin/svnlook", + "usr/bin/svndumpfilter", + "usr/bin/svnsync", + "usr/bin/svnmucc", + "usr/bin/svnserve", + "usr/bin/svnfsfs", + "usr/share/pkgconfig/libsvn_fs_fs.pc", + "usr/share/pkgconfig/libsvn_diff.pc", + "usr/share/pkgconfig/libsvn_fs.pc", + "usr/share/pkgconfig/libsvn_fs_util.pc", + "usr/share/pkgconfig/libsvn_ra_svn.pc", + "usr/share/pkgconfig/libsvn_delta.pc", + "usr/share/pkgconfig/libsvn_ra_serf.pc", + "usr/share/pkgconfig/libsvn_fs_base.pc", + "usr/share/pkgconfig/libsvn_ra.pc", + "usr/share/pkgconfig/libsvn_client.pc", + "usr/share/pkgconfig/libsvn_fs_x.pc", + "usr/share/pkgconfig/libsvn_repos.pc", + "usr/share/pkgconfig/libsvn_subr.pc", + "usr/share/pkgconfig/libsvn_ra_local.pc", + "usr/share/pkgconfig/libsvn_wc.pc" + ] }, { "ID": "subversion-libs@1.9.7-r0", @@ -1082,7 +7679,39 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:159042d5715f6e501e73569ffd9b86530758b6d4" + "Digest": "sha1:159042d5715f6e501e73569ffd9b86530758b6d4", + "InstalledFiles": [ + "usr/lib/libsvn_client-1.so.0.0.0", + "usr/lib/libsvn_ra_local-1.so.0.0.0", + "usr/lib/libsvn_fs_util-1.so.0", + "usr/lib/libsvn_ra_svn-1.so.0.0.0", + "usr/lib/libsvn_ra_local-1.so.0", + "usr/lib/libsvn_fs_x-1.so.0", + "usr/lib/libsvn_fs-1.so.0", + "usr/lib/libsvn_repos-1.so.0.0.0", + "usr/lib/libsvn_fs_fs-1.so.0", + "usr/lib/libsvn_subr-1.so.0", + "usr/lib/libsvn_ra_serf-1.so.0.0.0", + "usr/lib/libsvn_delta-1.so.0", + "usr/lib/libsvn_wc-1.so.0.0.0", + "usr/lib/libsvn_subr-1.so.0.0.0", + "usr/lib/libsvn_ra_serf-1.so.0", + "usr/lib/libsvn_diff-1.so.0", + "usr/lib/libsvn_fs_fs-1.so.0.0.0", + "usr/lib/libsvn_diff-1.so.0.0.0", + "usr/lib/libsvn_fs_base-1.so.0.0.0", + "usr/lib/libsvn_ra-1.so.0.0.0", + "usr/lib/libsvn_client-1.so.0", + "usr/lib/libsvn_ra-1.so.0", + "usr/lib/libsvn_delta-1.so.0.0.0", + "usr/lib/libsvn_fs_util-1.so.0.0.0", + "usr/lib/libsvn_fs_x-1.so.0.0.0", + "usr/lib/libsvn_repos-1.so.0", + "usr/lib/libsvn_wc-1.so.0", + "usr/lib/libsvn_fs_base-1.so.0", + "usr/lib/libsvn_fs-1.so.0.0.0", + "usr/lib/libsvn_ra_svn-1.so.0" + ] }, { "ID": "tar@1.29-r1", @@ -1101,7 +7730,12 @@ "Digest": "sha256:88777455d910410652665cec0149a02db3584d6dc26e306788a3532d480b00ae", "DiffID": "sha256:0ea33a93585cf1917ba522b2304634c3073654062d5282c1346322967790ef33" }, - "Digest": "sha1:32ed0dea10cb4fc68f32e7466513230e09679d09" + "Digest": "sha1:32ed0dea10cb4fc68f32e7466513230e09679d09", + "InstalledFiles": [ + "bin/tar", + "usr/libexec/rmt", + "usr/bin/tar" + ] }, { "ID": "tini@0.16.1-r0", @@ -1120,7 +7754,10 @@ "Digest": "sha256:c191915691a422a1b0230c9010165ff655204a9fd95e3b43151132bcb237826b", "DiffID": "sha256:2da3602d664dd3f71fae83cbc566d4e80b432c6ee8bb4efd94c8e85122f503d4" }, - "Digest": "sha1:f88c6efbdbb698ba8a2db15ee88fa2b474002fb3" + "Digest": "sha1:f88c6efbdbb698ba8a2db15ee88fa2b474002fb3", + "InstalledFiles": [ + "sbin/tini" + ] }, { "ID": "xz@5.2.3-r1", @@ -1140,7 +7777,32 @@ "Digest": "sha256:88777455d910410652665cec0149a02db3584d6dc26e306788a3532d480b00ae", "DiffID": "sha256:0ea33a93585cf1917ba522b2304634c3073654062d5282c1346322967790ef33" }, - "Digest": "sha1:fe745c838ec20816bc5c4d9e4fceb01dc866caac" + "Digest": "sha1:fe745c838ec20816bc5c4d9e4fceb01dc866caac", + "InstalledFiles": [ + "usr/bin/lzdiff", + "usr/bin/xzegrep", + "usr/bin/lzless", + "usr/bin/xzdiff", + "usr/bin/lzgrep", + "usr/bin/xzless", + "usr/bin/xzmore", + "usr/bin/lzcat", + "usr/bin/xz", + "usr/bin/xzfgrep", + "usr/bin/lzcmp", + "usr/bin/unlzma", + "usr/bin/lzfgrep", + "usr/bin/lzmainfo", + "usr/bin/lzegrep", + "usr/bin/unxz", + "usr/bin/xzgrep", + "usr/bin/xzcmp", + "usr/bin/lzmadec", + "usr/bin/xzcat", + "usr/bin/xzdec", + "usr/bin/lzma", + "usr/bin/lzmore" + ] }, { "ID": "xz-libs@5.2.3-r1", @@ -1159,7 +7821,11 @@ "Digest": "sha256:88777455d910410652665cec0149a02db3584d6dc26e306788a3532d480b00ae", "DiffID": "sha256:0ea33a93585cf1917ba522b2304634c3073654062d5282c1346322967790ef33" }, - "Digest": "sha1:7aeb306958a1cb330a7bb8f7ce24ab6fe85c8b1f" + "Digest": "sha1:7aeb306958a1cb330a7bb8f7ce24ab6fe85c8b1f", + "InstalledFiles": [ + "usr/lib/liblzma.so.5", + "usr/lib/liblzma.so.5.2.3" + ] }, { "ID": "zlib@1.2.11-r1", @@ -1178,6 +7844,10 @@ "Digest": "sha256:c67f3896b22c1378881cbbb9c9d1edfe881fd07f713371835ef46d93c649684d", "DiffID": "sha256:ebf12965380b39889c99a9c02e82ba465f887b45975b6e389d42e9e6a3857888" }, - "Digest": "sha1:4869b83137ea8eab47c9f0b0e1085a5cc6ae2bb3" + "Digest": "sha1:4869b83137ea8eab47c9f0b0e1085a5cc6ae2bb3", + "InstalledFiles": [ + "lib/libz.so.1.2.11", + "lib/libz.so.1" + ] } ] \ No newline at end of file diff --git a/pkg/fanal/types/artifact.go b/pkg/fanal/types/artifact.go index f4f7c5c8f8c2..c60d68fc75e6 100644 --- a/pkg/fanal/types/artifact.go +++ b/pkg/fanal/types/artifact.go @@ -96,6 +96,9 @@ type Package struct { // lines from the lock file where the dependency is written Locations []Location `json:",omitempty"` + + // Files installed by the package + InstalledFiles []string `json:",omitempty"` } type Location struct { From 57a1022318b14b43e381773988552f645d182bf0 Mon Sep 17 00:00:00 2001 From: mehrdadbn9 <80095851+mehrdadbn9@users.noreply.github.com> Date: Mon, 16 Oct 2023 09:52:33 +0330 Subject: [PATCH 072/338] docs: Update container_image.md #5182 (#5193) Co-authored-by: Teppei Fukuda --- docs/docs/target/container_image.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/docs/docs/target/container_image.md b/docs/docs/target/container_image.md index c0afd1319ca0..c9fd3204fc32 100644 --- a/docs/docs/target/container_image.md +++ b/docs/docs/target/container_image.md @@ -171,13 +171,6 @@ See [here](../scanner/secret.md) for the detail. $ trivy image --image-config-scanners secret [YOUR_IMAGE_NAME] ``` -If you just want to scan the image config, you can disable scanners with `--scanners none`. -For example: - -```shell -$ trivy image --scanners none --image-config-scanners secret vuln-image -``` -
Result From 00f2059e5d7bc2ca2e3e8b1562bdfede1ed570e3 Mon Sep 17 00:00:00 2001 From: Nikita Pivkin Date: Tue, 17 Oct 2023 09:34:30 +0700 Subject: [PATCH 073/338] docs: remove --scanners none (#5384) --- docs/docs/target/container_image.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/docs/docs/target/container_image.md b/docs/docs/target/container_image.md index c9fd3204fc32..6b9556b8d5c5 100644 --- a/docs/docs/target/container_image.md +++ b/docs/docs/target/container_image.md @@ -113,13 +113,6 @@ You can enable it with `--image-config-scanners config`. $ trivy image --image-config-scanners config [YOUR_IMAGE_NAME] ``` -If you just want to scan the image config, you can disable scanners with `--scanners none`. -For example: - -``` -$ trivy image --scanners none --image-config-scanners config alpine:3.17.0 -``` -
Result From 9fba79f0b6b82a8cd7a74c7ccae4bc8f8edcd3b3 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Wed, 18 Oct 2023 16:21:56 +0200 Subject: [PATCH 074/338] chore(deps): move to aws-sdk-go-v2 (#5381) --- go.mod | 41 ++++++------- go.sum | 75 ++++++++++++------------ integration/aws_cloud_test.go | 6 +- pkg/fanal/cache/s3.go | 36 +++++++----- pkg/fanal/cache/s3_test.go | 40 ++++++------- pkg/fanal/image/registry/ecr/ecr.go | 51 ++++++++-------- pkg/fanal/image/registry/ecr/ecr_test.go | 16 +++-- 7 files changed, 135 insertions(+), 130 deletions(-) diff --git a/go.mod b/go.mod index 3275f1d4d3dc..9add5399c4ef 100644 --- a/go.mod +++ b/go.mod @@ -26,11 +26,14 @@ require ( github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 github.com/aquasecurity/trivy-kubernetes v0.5.8-0.20230928134646-b414e546fe6d - github.com/aws/aws-sdk-go v1.45.19 - github.com/aws/aws-sdk-go-v2 v1.21.0 - github.com/aws/aws-sdk-go-v2/config v1.18.38 + github.com/aws/aws-sdk-go-v2 v1.21.2 + github.com/aws/aws-sdk-go-v2/config v1.18.45 + github.com/aws/aws-sdk-go-v2/credentials v1.13.43 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.90 github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0 - github.com/aws/aws-sdk-go-v2/service/sts v1.22.0 + github.com/aws/aws-sdk-go-v2/service/ecr v1.17.18 + github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 + github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 github.com/bmatcuk/doublestar/v4 v4.6.0 github.com/cenkalti/backoff v2.2.1+incompatible github.com/cheggaaa/pb/v3 v3.1.4 @@ -146,13 +149,13 @@ require ( github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.13.36 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.3.42 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.25 // indirect + github.com/aws/aws-sdk-go v1.45.19 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 // indirect github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.16.0 // indirect github.com/aws/aws-sdk-go-v2/service/apigateway v1.15.24 // indirect github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.13.11 // indirect @@ -165,7 +168,6 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdb v1.19.11 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.7 // indirect github.com/aws/aws-sdk-go-v2/service/ebs v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.17.18 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.28.1 // indirect github.com/aws/aws-sdk-go-v2/service/efs v1.20.3 // indirect github.com/aws/aws-sdk-go-v2/service/eks v1.27.14 // indirect @@ -174,11 +176,11 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.19.0 // indirect github.com/aws/aws-sdk-go-v2/service/emr v1.24.4 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.28 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.23 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4 // indirect github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.24.1 // indirect @@ -187,14 +189,13 @@ require ( github.com/aws/aws-sdk-go-v2/service/neptune v1.20.7 // indirect github.com/aws/aws-sdk-go-v2/service/rds v1.26.1 // indirect github.com/aws/aws-sdk-go-v2/service/redshift v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.33.1 // indirect github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.2 // indirect github.com/aws/aws-sdk-go-v2/service/sns v1.20.10 // indirect github.com/aws/aws-sdk-go-v2/service/sqs v1.20.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.13.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.15.5 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 // indirect github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0 // indirect - github.com/aws/smithy-go v1.14.2 // indirect + github.com/aws/smithy-go v1.15.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/briandowns/spinner v1.23.0 // indirect diff --git a/go.sum b/go.sum index a3c509514a3f..9e972ed49296 100644 --- a/go.sum +++ b/go.sum @@ -374,17 +374,19 @@ github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3eP github.com/aws/aws-sdk-go-v2 v1.18.1/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.19.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.20.0/go.mod h1:uWOr0m0jDsiWw8nnXiqZ+YG6LdvAlGYDLLf2NmHZoy4= -github.com/aws/aws-sdk-go-v2 v1.21.0 h1:gMT0IW+03wtYJhRqTVYn0wLzwdnK9sRMcxmtfGzRdJc= -github.com/aws/aws-sdk-go-v2 v1.21.0/go.mod h1:/RfNgGmRxI+iFOB1OeJUyxiU+9s88k3pfHvDagGEp0M= +github.com/aws/aws-sdk-go-v2 v1.21.2 h1:+LXZ0sgo8quN9UOKXXzAWRT3FWd4NxeXWOZom9pE7GA= +github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.8/go.mod h1:JTnlBSot91steJeti4ryyu/tLd4Sk84O5W22L7O2EQU= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno= -github.com/aws/aws-sdk-go-v2/config v1.18.38 h1:CByQCELMgm2tM1lAehx3XNg0R/pfeXsYzqn0Aq2chJQ= -github.com/aws/aws-sdk-go-v2/config v1.18.38/go.mod h1:vNm9Hf5VgG2fSUWhT3zFrqN/RosGcabFMYgiSoxKFU8= -github.com/aws/aws-sdk-go-v2/credentials v1.13.36 h1:ps0cPswZjpsOk6sLwG6fdXTzrYjCplgPEyG3OUbbdqE= -github.com/aws/aws-sdk-go-v2/credentials v1.13.36/go.mod h1:sY2phUzxbygoyDtTXhqi7GjGjCQ1S5a5Rj8u3ksBxCg= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11 h1:uDZJF1hu0EVT/4bogChk8DyjSF6fof6uL/0Y26Ma7Fg= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.11/go.mod h1:TEPP4tENqBGO99KwVpV9MlOX4NSrSLP8u3KRy2CDwA8= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 h1:Sc82v7tDQ/vdU1WtuSyzZ1I7y/68j//HJ6uozND1IDs= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14/go.mod h1:9NCTOURS8OpxvoAVHq79LK81/zC78hfRWFn+aL0SPcY= +github.com/aws/aws-sdk-go-v2/config v1.18.45 h1:Aka9bI7n8ysuwPeFdm77nfbyHCAKQ3z9ghB3S/38zes= +github.com/aws/aws-sdk-go-v2/config v1.18.45/go.mod h1:ZwDUgFnQgsazQTnWfeLWk5GjeqTQTL8lMkoE1UXzxdE= +github.com/aws/aws-sdk-go-v2/credentials v1.13.43 h1:LU8vo40zBlo3R7bAvBVy/ku4nxGEyZe9N8MqAeFTzF8= +github.com/aws/aws-sdk-go-v2/credentials v1.13.43/go.mod h1:zWJBz1Yf1ZtX5NGax9ZdNjhhI4rgjfgsyk6vTY1yfVg= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 h1:PIktER+hwIG286DqXyvVENjgLTAwGgoeriLDD5C+YlQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13/go.mod h1:f/Ib/qYjhV2/qdsf79H3QP/eRE4AkVyEf6sk7XfZ1tg= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.90 h1:mtJRt80k1oGw7QQPluAx8AZ6u16MyCA2di/lMhagZ7I= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.90/go.mod h1:lYwZTkeMQWPvNU+u7oYArdNhQ8EKiSGU76jVv0w2GH4= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.23/go.mod h1:2DFxAQ9pfIRy0imBCJv+vZ2X6RKxves6fbnEuSry6b4= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25/go.mod h1:Zb29PYkf42vVYQY6pvSyJCJcFHlPIiY+YKdPtwnvMkY= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.29/go.mod h1:Dip3sIGv485+xerzVv24emnjX5Sg88utCL8fwGmCeWg= @@ -394,8 +396,8 @@ github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2 github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34/go.mod h1:wZpTEecJe0Btj3IYnDx/VlUzor9wm3fJHyvLpQF0VwY= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35/go.mod h1:ipR5PvpSPqIqL5Mi82BxLnfMkHVbmco8kUwO2xrCi0M= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.37/go.mod h1:Pdn4j43v49Kk6+82spO3Tu5gSeQXRsxo56ePPQAvFiA= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41 h1:22dGT7PneFMx4+b3pz7lMTRyN8ZKH7M2cW4GP9yUS2g= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41/go.mod h1:CrObHAuPneJBlfEJ5T3szXOUkLEThaGfvnhTf33buas= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 h1:nFBQlGtkbPzp/NjZLuFxRqmT91rLJkgvsEQs68h962Y= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.17/go.mod h1:pRwaTYCJemADaqCbUAxltMoHKata7hmB5PjEXeu0kfg= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.23/go.mod h1:mr6c4cHC+S/MMkrjtSlG4QA36kOznDep+0fga5L/fGQ= @@ -405,12 +407,12 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28/go.mod h1:7VRpKQQedkfIEXb4k52I7swUnZP0wohVajJMRn3vsUw= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29/go.mod h1:M/eUABlDbw2uVrdAn+UsI6M727qp2fxkp8K0ejcBDUY= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.31/go.mod h1:fTJDMe8LOFYtqiFFFeHA+SVMAwqLhoq0kcInYoLa9Js= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35 h1:SijA0mgjV8E+8G45ltVHs0fvKpTj8xmZJ3VwhGKtUSI= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35/go.mod h1:SJC1nEVVva1g3pHAIdCp7QsRIkMmLAgoDquQ9Rr8kYw= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.42 h1:GPUcE/Yq7Ur8YSUk6lVkoIMWnJNO0HT18GUzCWCgCI0= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.42/go.mod h1:rzfdUlfA+jdgLDmPKjd3Chq9V7LVLYo1Nz++Wb91aRo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.25 h1:AzwRi5OKKwo4QNqPf7TjeO+tK8AyOK3GVSwmRPo7/Cs= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.25/go.mod h1:SUbB4wcbSEyCvqBxv/O/IBf93RbEze7U7OnoTlpPB+g= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 h1:JRVhO25+r3ar2mKGP7E0LDl8K9/G36gjlqca5iQbaqc= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 h1:hze8YsjSh8Wl1rYa1CJpRmXP21BvOBuc76YhW0HsuQ4= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 h1:wmGLw2i8ZTlHLw7a9ULGfQbuccw8uIiNr6sol5bFzc8= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6/go.mod h1:Q0Hq2X/NuL7z8b1Dww8rmOFl+jzusKEcyvkKspwdpyc= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.16.0 h1:rPv8ZiaTIwLp4JOCQAQcgPx7i2a7FTRY7lnyrNS0HbU= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.16.0/go.mod h1:l5+hat25VFsG9jpsXrtEYqw6Ih3pLaC5I4+8hrng7F4= github.com/aws/aws-sdk-go-v2/service/apigateway v1.15.24 h1:eWwaF3m67oAJGBhfzVC9dLXPYhLHB238N1LhgFa8INk= @@ -456,20 +458,20 @@ github.com/aws/aws-sdk-go-v2/service/emr v1.24.4/go.mod h1:hvWrBVsomnNf7Y0Onrl+w github.com/aws/aws-sdk-go-v2/service/iam v1.21.1 h1:VTCWgsrromZqnlRgfziqqWWcW7LFkQLwJVYgf/5zgWA= github.com/aws/aws-sdk-go-v2/service/iam v1.21.1/go.mod h1:LBsjrFczXiQLASO6FtDGTeHuZh6oHuIH6VKaOozFghg= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.10/go.mod h1:9cBNUHI2aW4ho0A5T87O294iPDuuUOSIEDjnd1Lq/z0= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.28 h1:vGWm5vTpMr39tEZfQeDiDAMgk+5qsnvRny3FjLpnH5w= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.28/go.mod h1:spfrICMD6wCAhjhzHuy6DOZZ+LAIY10UxhUmLzpJTTs= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 h1:7R8uRYyXzdD71KWVCL78lJZltah6VVznXBazvKjfH58= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15/go.mod h1:26SQUPcTNgV1Tapwdt4a1rOsYRsnBsJHLMPoxK2b0d8= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38 h1:skaFGzv+3kA+v2BPKhuekeb1Hbb105+44r8ASC+q5SE= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38/go.mod h1:epIZoRSSbRIwLPJU5F+OldHhwZPBdpDeQkRdCeY3+00= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.19/go.mod h1:2WpVWFC5n4DYhjNXzObtge8xfgId9UP6GWca46KJFLo= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.23 h1:5AwQnYQT3ZX/N7hPTAx4ClWyucaiqr2esQRMNbJIby0= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.23/go.mod h1:s8OUYECPoPpevQHmRmMBemFIx6Oc91iapsw56KiXIMY= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.17/go.mod h1:4nYOrY41Lrbk2170/BGkcJKBhws9Pfn8MG3aGqjjeFI= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27/go.mod h1:EOwBD4J4S5qYszS5/3DpkejfuK+Z5/1uzICfPaZLtqw= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28/go.mod h1:jj7znCIg05jXlaGBlFMGP8+7UN3VtCkRBG2spnmRQkU= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35 h1:CdzPW9kKitgIiLV1+MHobfR5Xg25iYnyzWZhyQuSlDI= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35/go.mod h1:QGF2Rs33W5MaN9gYdEQOBBFPLwTZkEhRwI33f7KIG0o= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.2 h1:NbWkRxEEIRSCqxhsHQuMiTH7yo+JZW1gp8v3elSVMTQ= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.2/go.mod h1:4tfW5l4IAB32VWCDEBxCRtR9T4BWy4I4kr1spr8NgZM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 h1:WWZA/I2K4ptBS1kg0kV1JbBtG/umed0vwHRrmcr9z7k= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37/go.mod h1:vBmDnwWXWxNPFRMmG2m/3MKOe+xEcMDo1tanpaWCcck= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 h1:9ulSU5ClouoPIYhDQdg9tpl83d5Yb91PXTKK+17q+ow= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6/go.mod h1:lnc2taBsR9nTlz9meD+lhFZZ9EWY712QHrRflWpTcOA= github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4 h1:EmEk3gRJzSEK8DUnkvTGDn/RQc/Ud+yimUFIG+PSvTI= github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4/go.mod h1:+O9qi0UC83Lk0KAnC/ixNcw4piXfUtPzXpYn/KC2Mhg= github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19 h1:qVaBkJxFxm6o/9DPNnJU6L9O3V7ycEKhCvRm2BFBQTU= @@ -486,29 +488,28 @@ github.com/aws/aws-sdk-go-v2/service/rds v1.26.1 h1:tiXsw36GaRUWMcH5uRM2uM7vo+bN github.com/aws/aws-sdk-go-v2/service/rds v1.26.1/go.mod h1:d8jJiNpy2cyl52sw5msQQ12ajEbPAK+twYPR7J35slw= github.com/aws/aws-sdk-go-v2/service/redshift v1.27.7 h1:fKg773iDMTGUxd8UNkEfwYGNjT6H6KFSmqV97Yte+jc= github.com/aws/aws-sdk-go-v2/service/redshift v1.27.7/go.mod h1:jLAH4E3fjUxkBhu7vcx7eCSurnq7q1qMyAB1VZvvbAk= -github.com/aws/aws-sdk-go-v2/service/s3 v1.33.1 h1:O+9nAy9Bb6bJFTpeNFtd9UfHbgxO1o4ZDAM9rQp5NsY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.33.1/go.mod h1:J9kLNzEiHSeGMyN7238EjJmBpCniVzFda75Gxl/NqB8= +github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 h1:Ll5/YVCOzRB+gxPqs2uD0R7/MyATC0w85626glSKmp4= +github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2/go.mod h1:Zjfqt7KhQK+PO1bbOsFNzKgaq7TcxzmEoDWN8lM0qzQ= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.2 h1:3x1Qilin49XQ1rK6pDNAfG+DmCFPfB7Rrpl+FUDAR/0= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.2/go.mod h1:HEBBc70BYi5eUvxBqC3xXjU/04NO96X/XNUe5qhC7Bc= github.com/aws/aws-sdk-go-v2/service/sns v1.20.10 h1:pJ/iXyg9aD5Hg2FRHQjrWPDyabsP6R3aqxaXqscAVKk= github.com/aws/aws-sdk-go-v2/service/sns v1.20.10/go.mod h1:WjBcrd28zNbbuAcIRO/n89sSeOxTuOZPiuxNXU/2WrI= github.com/aws/aws-sdk-go-v2/service/sqs v1.20.6 h1:4P/vyx7zCI5yBhlDZ2kwhoLjMJi0X7iR3cxqjNfbego= github.com/aws/aws-sdk-go-v2/service/sqs v1.20.6/go.mod h1:HQHh1eChX10zDnGmD53WLYk8nPhUKO/JkAUUzDZ530Y= -github.com/aws/aws-sdk-go-v2/service/sso v1.13.6 h1:2PylFCfKCEDv6PeSN09pC/VUiRd10wi1VfHG5FrW0/g= -github.com/aws/aws-sdk-go-v2/service/sso v1.13.6/go.mod h1:fIAwKQKBFu90pBxx07BFOMJLpRUGu8VOzLJakeY+0K4= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.15.5 h1:dnInJb4S0oy8aQuri1mV6ipLlnZPfnsDNB9BGO9PDNY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.15.5/go.mod h1:yygr8ACQRY2PrEcy3xsUI357stq2AxnFM6DIsR9lij4= -github.com/aws/aws-sdk-go-v2/service/sts v1.21.5/go.mod h1:VC7JDqsqiwXukYEDjoHh9U0fOJtNWh04FPQz4ct4GGU= -github.com/aws/aws-sdk-go-v2/service/sts v1.22.0 h1:s4bioTgjSFRwOoyEFzAVCmFmoowBgjTR8gkrF/sQ4wk= -github.com/aws/aws-sdk-go-v2/service/sts v1.22.0/go.mod h1:VC7JDqsqiwXukYEDjoHh9U0fOJtNWh04FPQz4ct4GGU= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 h1:JuPGc7IkOP4AaqcZSIcyqLpFSqBWK32rM9+a1g6u73k= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.2/go.mod h1:gsL4keucRCgW+xA85ALBpRFfdSLH4kHOVSnLMSuBECo= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 h1:HFiiRkf1SdaAmV3/BHOFZ9DjFynPHj8G/UIO1lQS+fk= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3/go.mod h1:a7bHA82fyUXOm+ZSWKU6PIoBxrjSprdLoM8xPYvzYVg= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 h1:0BkLfgeDjfZnZ+MhB3ONb01u9pwFYTCZVhlsSSBvlbU= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.2/go.mod h1:Eows6e1uQEsc4ZaHANmsPRzAKcVDrcmjjWiih2+HUUQ= github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0 h1:lrgZ9pZm9utPOPAXmQhqtf8oWRRksoSFxOE8RoD+pHc= github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0/go.mod h1:vPam8+zGthTXeaFWgl3Uqbzo/0QEoXF22jpuMZ97hSk= github.com/aws/smithy-go v1.13.3/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.14.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.14.2 h1:MJU9hqBGbvWZdApzpvoF2WAIJDbtjK2NDJSiJP7HblQ= -github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.15.0 h1:PS/durmlzvAFpQHDs4wi4sNNP9ExsqZh6IlfdHXgKK8= +github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= diff --git a/integration/aws_cloud_test.go b/integration/aws_cloud_test.go index 53b47ee345e9..53bcecf5220f 100644 --- a/integration/aws_cloud_test.go +++ b/integration/aws_cloud_test.go @@ -36,13 +36,16 @@ func TestAwsCommandRun(t *testing.T) { }, { name: "fail without creds", + envs: map[string]string{ + "AWS_PROFILE": "non-existent-profile", + }, options: flag.Options{ RegoOptions: flag.RegoOptions{SkipPolicyUpdate: true}, AWSOptions: flag.AWSOptions{ Region: "us-east-1", }, }, - wantErr: "failed to retrieve credentials", + wantErr: "non-existent-profile", }, } @@ -57,7 +60,6 @@ func TestAwsCommandRun(t *testing.T) { tt.options.AWSOptions.Endpoint = addr tt.options.GlobalOptions.Timeout = time.Minute - t.Setenv("AWS_PROFILE", "non-existent-profile") for k, v := range tt.envs { t.Setenv(k, v) } diff --git a/pkg/fanal/cache/s3.go b/pkg/fanal/cache/s3.go index 648f7aa7df03..b11aed42a476 100644 --- a/pkg/fanal/cache/s3.go +++ b/pkg/fanal/cache/s3.go @@ -2,13 +2,13 @@ package cache import ( "bytes" + "context" "encoding/json" "fmt" - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/service/s3" - "github.com/aws/aws-sdk-go/service/s3/s3iface" - "github.com/aws/aws-sdk-go/service/s3/s3manager/s3manageriface" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/feature/s3/manager" + "github.com/aws/aws-sdk-go-v2/service/s3" "github.com/hashicorp/go-multierror" "golang.org/x/xerrors" @@ -17,14 +17,20 @@ import ( var _ Cache = &S3Cache{} +type s3API interface { + HeadObject(ctx context.Context, params *s3.HeadObjectInput, optFns ...func(*s3.Options)) (*s3.HeadObjectOutput, error) + PutObject(ctx context.Context, params *s3.PutObjectInput, optFns ...func(*s3.Options)) (*s3.PutObjectOutput, error) + DeleteBucket(ctx context.Context, params *s3.DeleteBucketInput, optFns ...func(*s3.Options)) (*s3.DeleteBucketOutput, error) +} + type S3Cache struct { - s3Client s3iface.S3API - downloader s3manageriface.DownloaderAPI + s3Client s3API + downloader *manager.Downloader bucketName string prefix string } -func NewS3Cache(bucketName, prefix string, api s3iface.S3API, downloaderAPI s3manageriface.DownloaderAPI) S3Cache { +func NewS3Cache(bucketName, prefix string, api s3API, downloaderAPI *manager.Downloader) S3Cache { return S3Cache{ s3Client: api, downloader: downloaderAPI, @@ -46,7 +52,7 @@ func (c S3Cache) DeleteBlobs(blobIDs []string) error { for _, blobID := range blobIDs { key := fmt.Sprintf("%s/%s/%s", blobBucket, c.prefix, blobID) input := &s3.DeleteBucketInput{Bucket: aws.String(key)} - if _, err := c.s3Client.DeleteBucket(input); err != nil { + if _, err := c.s3Client.DeleteBucket(context.TODO(), input); err != nil { errs = multierror.Append(errs, err) } } @@ -71,12 +77,12 @@ func (c S3Cache) put(key string, body interface{}) (err error) { Key: aws.String(key), Body: bytes.NewReader(b), } - _, err = c.s3Client.PutObject(params) + _, err = c.s3Client.PutObject(context.TODO(), params) if err != nil { return xerrors.Errorf("unable to put object: %w", err) } // Index file due S3 caveat read after write consistency - _, err = c.s3Client.PutObject(&s3.PutObjectInput{ + _, err = c.s3Client.PutObject(context.TODO(), &s3.PutObjectInput{ Bucket: aws.String(c.bucketName), Key: aws.String(fmt.Sprintf("%s.index", key)), }) @@ -88,8 +94,8 @@ func (c S3Cache) put(key string, body interface{}) (err error) { func (c S3Cache) GetBlob(blobID string) (types.BlobInfo, error) { var blobInfo types.BlobInfo - buf := aws.NewWriteAtBuffer([]byte{}) - _, err := c.downloader.Download(buf, &s3.GetObjectInput{ + buf := manager.NewWriteAtBuffer([]byte{}) + _, err := c.downloader.Download(context.TODO(), buf, &s3.GetObjectInput{ Bucket: aws.String(c.bucketName), Key: aws.String(fmt.Sprintf("%s/%s/%s", blobBucket, c.prefix, blobID)), }) @@ -105,8 +111,8 @@ func (c S3Cache) GetBlob(blobID string) (types.BlobInfo, error) { func (c S3Cache) GetArtifact(artifactID string) (types.ArtifactInfo, error) { var info types.ArtifactInfo - buf := aws.NewWriteAtBuffer([]byte{}) - _, err := c.downloader.Download(buf, &s3.GetObjectInput{ + buf := manager.NewWriteAtBuffer([]byte{}) + _, err := c.downloader.Download(context.TODO(), buf, &s3.GetObjectInput{ Bucket: aws.String(c.bucketName), Key: aws.String(fmt.Sprintf("%s/%s/%s", artifactBucket, c.prefix, artifactID)), }) @@ -121,7 +127,7 @@ func (c S3Cache) GetArtifact(artifactID string) (types.ArtifactInfo, error) { } func (c S3Cache) getIndex(key, keyType string) error { - _, err := c.s3Client.HeadObject(&s3.HeadObjectInput{ + _, err := c.s3Client.HeadObject(context.TODO(), &s3.HeadObjectInput{ Key: aws.String(fmt.Sprintf("%s/%s/%s.index", keyType, c.prefix, key)), Bucket: &c.bucketName, }) diff --git a/pkg/fanal/cache/s3_test.go b/pkg/fanal/cache/s3_test.go index cf96a3e0b716..ed3da27b974f 100644 --- a/pkg/fanal/cache/s3_test.go +++ b/pkg/fanal/cache/s3_test.go @@ -1,36 +1,36 @@ package cache import ( + "context" "errors" "reflect" "testing" "time" - "github.com/aws/aws-sdk-go/service/s3" - "github.com/aws/aws-sdk-go/service/s3/s3iface" - "github.com/aws/aws-sdk-go/service/s3/s3manager" + "github.com/aws/aws-sdk-go-v2/feature/s3/manager" + "github.com/aws/aws-sdk-go-v2/service/s3" "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/fanal/types" ) type mockS3Client struct { - s3iface.S3API + s3API } const ( correctHash = "sha256:24df0d4e20c0f42d3703bf1f1db2bdd77346c7956f74f423603d651e8e5ae8a7" ) -func (m *mockS3Client) PutObject(*s3.PutObjectInput) (*s3.PutObjectOutput, error) { +func (m *mockS3Client) PutObject(ctx context.Context, in *s3.PutObjectInput, optFns ...func(*s3.Options)) (*s3.PutObjectOutput, error) { return &s3.PutObjectOutput{}, nil } -func (m *mockS3Client) HeadObject(*s3.HeadObjectInput) (*s3.HeadObjectOutput, error) { +func (m *mockS3Client) HeadObject(ctx context.Context, params *s3.HeadObjectInput, optFns ...func(*s3.Options)) (*s3.HeadObjectOutput, error) { return &s3.HeadObjectOutput{}, nil } -func (m *mockS3Client) DeleteBucket(in *s3.DeleteBucketInput) (*s3.DeleteBucketOutput, error) { +func (m *mockS3Client) DeleteBucket(ctx context.Context, in *s3.DeleteBucketInput, optFns ...func(*s3.Options)) (*s3.DeleteBucketOutput, error) { if in != nil && *in.Bucket == blobBucket+"/prefix/"+correctHash { return &s3.DeleteBucketOutput{}, nil } @@ -41,8 +41,8 @@ func TestS3Cache_PutBlob(t *testing.T) { mockSvc := &mockS3Client{} type fields struct { - S3 s3iface.S3API - Downloader *s3manager.Downloader + S3 s3API + Downloader *manager.Downloader BucketName string Prefix string } @@ -88,8 +88,8 @@ func TestS3Cache_PutArtifact(t *testing.T) { mockSvc := &mockS3Client{} type fields struct { - S3 s3iface.S3API - Downloader *s3manager.Downloader + S3 s3API + Downloader *manager.Downloader BucketName string Prefix string } @@ -141,8 +141,8 @@ func TestS3Cache_getIndex(t *testing.T) { mockSvc := &mockS3Client{} type fields struct { - S3 s3iface.S3API - Downloader *s3manager.Downloader + S3 s3API + Downloader *manager.Downloader BucketName string Prefix string } @@ -181,14 +181,14 @@ func TestS3Cache_getIndex(t *testing.T) { } type mockS3ClientMissingBlobs struct { - s3iface.S3API + s3API } -func (m *mockS3ClientMissingBlobs) PutObject(*s3.PutObjectInput) (*s3.PutObjectOutput, error) { +func (m *mockS3ClientMissingBlobs) PutObject(ctx context.Context, in *s3.PutObjectInput, optFns ...func(*s3.Options)) (*s3.PutObjectOutput, error) { return &s3.PutObjectOutput{}, nil } -func (m *mockS3ClientMissingBlobs) HeadObject(*s3.HeadObjectInput) (*s3.HeadObjectOutput, error) { +func (m *mockS3ClientMissingBlobs) HeadObject(ctx context.Context, params *s3.HeadObjectInput, optFns ...func(*s3.Options)) (*s3.HeadObjectOutput, error) { return &s3.HeadObjectOutput{}, xerrors.Errorf("the object doesn't exist in S3") } @@ -196,8 +196,8 @@ func TestS3Cache_MissingBlobs(t *testing.T) { mockSvc := &mockS3ClientMissingBlobs{} type fields struct { - S3 s3iface.S3API - Downloader *s3manager.Downloader + S3 s3API + Downloader *manager.Downloader BucketName string Prefix string } @@ -252,8 +252,8 @@ func TestS3Cache_DeleteBlobs(t *testing.T) { mockSvc := &mockS3Client{} type fields struct { - S3 s3iface.S3API - Downloader *s3manager.Downloader + S3 s3API + Downloader *manager.Downloader BucketName string Prefix string } diff --git a/pkg/fanal/image/registry/ecr/ecr.go b/pkg/fanal/image/registry/ecr/ecr.go index 72d5204d0375..e675ed47afaf 100644 --- a/pkg/fanal/image/registry/ecr/ecr.go +++ b/pkg/fanal/image/registry/ecr/ecr.go @@ -5,11 +5,10 @@ import ( "encoding/base64" "strings" - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/session" - "github.com/aws/aws-sdk-go/service/ecr" - "github.com/aws/aws-sdk-go/service/ecr/ecriface" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/config" + "github.com/aws/aws-sdk-go-v2/credentials" + "github.com/aws/aws-sdk-go-v2/service/ecr" "golang.org/x/xerrors" "github.com/aquasecurity/trivy/pkg/fanal/types" @@ -17,46 +16,44 @@ import ( const ecrURL = "amazonaws.com" +type ecrAPI interface { + GetAuthorizationToken(ctx context.Context, params *ecr.GetAuthorizationTokenInput, optFns ...func(*ecr.Options)) (*ecr.GetAuthorizationTokenOutput, error) +} + type ECR struct { - Client ecriface.ECRAPI + Client ecrAPI } -func getSession(option types.RegistryOptions) (*session.Session, error) { +func getSession(option types.RegistryOptions) (aws.Config, error) { // create custom credential information if option is valid if option.AWSSecretKey != "" && option.AWSAccessKey != "" && option.AWSRegion != "" { - return session.NewSessionWithOptions( - session.Options{ - Config: aws.Config{ - Region: aws.String(option.AWSRegion), - Credentials: credentials.NewStaticCredentialsFromCreds( - credentials.Value{ - AccessKeyID: option.AWSAccessKey, - SecretAccessKey: option.AWSSecretKey, - SessionToken: option.AWSSessionToken, - }, - ), - }, - }) + return config.LoadDefaultConfig( + context.TODO(), + config.WithRegion(option.AWSRegion), + config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(option.AWSAccessKey, option.AWSSecretKey, option.AWSSessionToken)), + ) } - // use shared configuration normally - return session.NewSessionWithOptions(session.Options{ - SharedConfigState: session.SharedConfigEnable, - }) + return config.LoadDefaultConfig(context.TODO()) } func (e *ECR) CheckOptions(domain string, option types.RegistryOptions) error { if !strings.HasSuffix(domain, ecrURL) { return xerrors.Errorf("ECR : %w", types.InvalidURLPattern) } - sess := session.Must(getSession(option)) - svc := ecr.New(sess) + + cfg, err := getSession(option) + if err != nil { + return err + } + + svc := ecr.NewFromConfig(cfg) e.Client = svc return nil } func (e *ECR) GetCredential(ctx context.Context) (username, password string, err error) { input := &ecr.GetAuthorizationTokenInput{} - result, err := e.Client.GetAuthorizationTokenWithContext(ctx, input) + result, err := e.Client.GetAuthorizationToken(ctx, input) if err != nil { return "", "", xerrors.Errorf("failed to get authorization token: %w", err) } diff --git a/pkg/fanal/image/registry/ecr/ecr_test.go b/pkg/fanal/image/registry/ecr/ecr_test.go index b55f56d7b179..63ae1858114c 100644 --- a/pkg/fanal/image/registry/ecr/ecr_test.go +++ b/pkg/fanal/image/registry/ecr/ecr_test.go @@ -5,10 +5,9 @@ import ( "errors" "testing" - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/service/ecr" - "github.com/aws/aws-sdk-go/service/ecr/ecriface" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/ecr" + awstypes "github.com/aws/aws-sdk-go-v2/service/ecr/types" "github.com/aquasecurity/trivy/pkg/fanal/types" ) @@ -40,11 +39,10 @@ func TestCheckOptions(t *testing.T) { } type mockedECR struct { - ecriface.ECRAPI Resp ecr.GetAuthorizationTokenOutput } -func (m mockedECR) GetAuthorizationTokenWithContext(ctx context.Context, input *ecr.GetAuthorizationTokenInput, options ...request.Option) (*ecr.GetAuthorizationTokenOutput, error) { +func (m mockedECR) GetAuthorizationToken(ctx context.Context, params *ecr.GetAuthorizationTokenInput, optFns ...func(*ecr.Options)) (*ecr.GetAuthorizationTokenOutput, error) { return &m.Resp, nil } @@ -56,7 +54,7 @@ func TestECRGetCredential(t *testing.T) { }{ { Resp: ecr.GetAuthorizationTokenOutput{ - AuthorizationData: []*ecr.AuthorizationData{ + AuthorizationData: []awstypes.AuthorizationData{ {AuthorizationToken: aws.String("YXdzOnBhc3N3b3Jk")}, }, }, @@ -65,7 +63,7 @@ func TestECRGetCredential(t *testing.T) { }, { Resp: ecr.GetAuthorizationTokenOutput{ - AuthorizationData: []*ecr.AuthorizationData{ + AuthorizationData: []awstypes.AuthorizationData{ {AuthorizationToken: aws.String("YXdzOnBhc3N3b3JkOmJhZA==")}, }, }, @@ -74,7 +72,7 @@ func TestECRGetCredential(t *testing.T) { }, { Resp: ecr.GetAuthorizationTokenOutput{ - AuthorizationData: []*ecr.AuthorizationData{ + AuthorizationData: []awstypes.AuthorizationData{ {AuthorizationToken: aws.String("YXdzcGFzc3dvcmQ=")}, }, }, From e5317c7bc261081ae4711c4f68e6704462c6a269 Mon Sep 17 00:00:00 2001 From: Erick Redwine Date: Wed, 18 Oct 2023 21:29:54 -0600 Subject: [PATCH 075/338] fix: correct invalid MD5 hashes for rpms ending with one or more zero bytes (#5393) --- go.mod | 2 +- go.sum | 4 ++-- pkg/fanal/analyzer/pkg/rpm/rpm_test.go | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 9add5399c4ef..5d496371fa04 100644 --- a/go.mod +++ b/go.mod @@ -58,7 +58,7 @@ require ( github.com/knqyf263/go-apk-version v0.0.0-20200609155635-041fdbb8563f github.com/knqyf263/go-deb-version v0.0.0-20230223133812-3ed183d23422 github.com/knqyf263/go-rpm-version v0.0.0-20220614171824-631e686d1075 - github.com/knqyf263/go-rpmdb v0.0.0-20230517124904-b97c85e63254 + github.com/knqyf263/go-rpmdb v0.0.0-20231008124120-ac49267ab4e1 github.com/knqyf263/nested v0.0.1 github.com/kylelemons/godebug v1.1.0 github.com/magefile/mage v1.15.0 diff --git a/go.sum b/go.sum index 9e972ed49296..1fdfe563f603 100644 --- a/go.sum +++ b/go.sum @@ -1217,8 +1217,8 @@ github.com/knqyf263/go-deb-version v0.0.0-20230223133812-3ed183d23422 h1:PPPlUUq github.com/knqyf263/go-deb-version v0.0.0-20230223133812-3ed183d23422/go.mod h1:ijAmSS4jErO6+KRzcK6ixsm3Vt96hMhJ+W+x+VmbrQA= github.com/knqyf263/go-rpm-version v0.0.0-20220614171824-631e686d1075 h1:aC6MEAs3PE3lWD7lqrJfDxHd6hcced9R4JTZu85cJwU= github.com/knqyf263/go-rpm-version v0.0.0-20220614171824-631e686d1075/go.mod h1:i4sF0l1fFnY1aiw08QQSwVAFxHEm311Me3WsU/X7nL0= -github.com/knqyf263/go-rpmdb v0.0.0-20230517124904-b97c85e63254 h1:sWdRcroy0oENkvpa1jH7g8KyN7jBFsooMNlFrAvpI5I= -github.com/knqyf263/go-rpmdb v0.0.0-20230517124904-b97c85e63254/go.mod h1:9LQcoMCMQ9vrF7HcDtXfvqGO4+ddxFQ8+YF/0CVGDww= +github.com/knqyf263/go-rpmdb v0.0.0-20231008124120-ac49267ab4e1 h1:lrciwn7tj0j7HS5DfpAFnFZEqxzPGIkVOVS89dLOkf0= +github.com/knqyf263/go-rpmdb v0.0.0-20231008124120-ac49267ab4e1/go.mod h1:9LQcoMCMQ9vrF7HcDtXfvqGO4+ddxFQ8+YF/0CVGDww= github.com/knqyf263/nested v0.0.1 h1:Sv26CegUMhjt19zqbBKntjwESdxe5hxVPSk0+AKjdUc= github.com/knqyf263/nested v0.0.1/go.mod h1:zwhsIhMkBg90DTOJQvxPkKIypEHPYkgWHs4gybdlUmk= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= diff --git a/pkg/fanal/analyzer/pkg/rpm/rpm_test.go b/pkg/fanal/analyzer/pkg/rpm/rpm_test.go index 1b19e4ceedde..9cb29cbb09b6 100644 --- a/pkg/fanal/analyzer/pkg/rpm/rpm_test.go +++ b/pkg/fanal/analyzer/pkg/rpm/rpm_test.go @@ -74,7 +74,7 @@ func TestParseRpmInfo(t *testing.T) { {Name: "libusbx", Epoch: 0, Version: "1.0.22", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:0a5650b09182d2b0134ee832acd5432e", SrcName: "libusbx", SrcEpoch: 0, SrcVersion: "1.0.22", SrcRelease: "1.fc28"}, {Name: "libsemanage", Epoch: 0, Version: "2.8", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:5c29e3e9ed089e3fedf7298dabe503fd", SrcName: "libsemanage", SrcEpoch: 0, SrcVersion: "2.8", SrcRelease: "2.fc28"}, {Name: "libutempter", Epoch: 0, Version: "1.1.6", Release: "14.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:ccfd737faad3d1be60f4c21839f5a9af", SrcName: "libutempter", SrcEpoch: 0, SrcVersion: "1.1.6", SrcRelease: "14.fc28"}, - {Name: "mpfr", Epoch: 0, Version: "3.1.6", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+ and GPLv3+ and GFDL"}, Maintainer: "Fedora Project", Digest: "md5:a1339297aae3e31e8e1b1de00f7930", SrcName: "mpfr", SrcEpoch: 0, SrcVersion: "3.1.6", SrcRelease: "1.fc28"}, + {Name: "mpfr", Epoch: 0, Version: "3.1.6", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+ and GPLv3+ and GFDL"}, Maintainer: "Fedora Project", Digest: "md5:a1339297aae3e31e8e1b1de00f793000", SrcName: "mpfr", SrcEpoch: 0, SrcVersion: "3.1.6", SrcRelease: "1.fc28"}, {Name: "gnutls", Epoch: 0, Version: "3.6.3", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:6c813ffeecd51d2298766d86859395ca", SrcName: "gnutls", SrcEpoch: 0, SrcVersion: "3.6.3", SrcRelease: "4.fc28"}, {Name: "gzip", Epoch: 0, Version: "1.9", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GFDL"}, Maintainer: "Fedora Project", Digest: "md5:efc5209278a36c1b62ee770a95e59929", SrcName: "gzip", SrcEpoch: 0, SrcVersion: "1.9", SrcRelease: "3.fc28"}, {Name: "acl", Epoch: 0, Version: "2.2.53", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:9f72a1f855b12dc038e3f4921c50db92", SrcName: "acl", SrcEpoch: 0, SrcVersion: "2.2.53", SrcRelease: "1.fc28"}, @@ -96,8 +96,8 @@ func TestParseRpmInfo(t *testing.T) { {Name: "openldap", Epoch: 0, Version: "2.4.46", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"OpenLDAP"}, Maintainer: "Fedora Project", Digest: "md5:c98aaadc1c628656c7f90a18759da517", SrcName: "openldap", SrcEpoch: 0, SrcVersion: "2.4.46", SrcRelease: "3.fc28"}, {Name: "libseccomp", Epoch: 0, Version: "2.3.3", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2"}, Maintainer: "Fedora Project", Digest: "md5:26c6a917063d5654083974de6734112d", SrcName: "libseccomp", SrcEpoch: 0, SrcVersion: "2.3.3", SrcRelease: "2.fc28"}, {Name: "npth", Epoch: 0, Version: "1.5", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:026afa87b50e9ec9812501188b6fd998", SrcName: "npth", SrcEpoch: 0, SrcVersion: "1.5", SrcRelease: "4.fc28"}, - {Name: "gpgme", Epoch: 0, Version: "1.10.0", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:5a044754d91ca7d0b4e4428b052de6", SrcName: "gpgme", SrcEpoch: 0, SrcVersion: "1.10.0", SrcRelease: "4.fc28"}, - {Name: "json-c", Epoch: 0, Version: "0.13.1", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:2d0c0ea344c78a2faeab869c9474f9", SrcName: "json-c", SrcEpoch: 0, SrcVersion: "0.13.1", SrcRelease: "2.fc28"}, + {Name: "gpgme", Epoch: 0, Version: "1.10.0", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:5a044754d91ca7d0b4e4428b052de600", SrcName: "gpgme", SrcEpoch: 0, SrcVersion: "1.10.0", SrcRelease: "4.fc28"}, + {Name: "json-c", Epoch: 0, Version: "0.13.1", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:2d0c0ea344c78a2faeab869c9474f900", SrcName: "json-c", SrcEpoch: 0, SrcVersion: "0.13.1", SrcRelease: "2.fc28"}, {Name: "libyaml", Epoch: 0, Version: "0.1.7", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:4e0f94eba782aa090fe6487142772aba", SrcName: "libyaml", SrcEpoch: 0, SrcVersion: "0.1.7", SrcRelease: "5.fc28"}, {Name: "libpkgconf", Epoch: 0, Version: "1.4.2", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "Fedora Project", Digest: "md5:5721f7af98fca6a80db3d51fe0ad7312", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.fc28"}, {Name: "pkgconf-pkg-config", Epoch: 0, Version: "1.4.2", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "Fedora Project", Digest: "md5:f297678d95f451aa7132d15aff3246a7", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.fc28"}, From 6040d9f43a35819d4c0338839b97619338e753ed Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Thu, 19 Oct 2023 11:37:32 +0600 Subject: [PATCH 076/338] fix(sbom): add missed `primaryURL` and `source severity` for CycloneDX (#5399) Signed-off-by: knqyf263 Co-authored-by: knqyf263 --- integration/testdata/pom-cyclonedx.json.golden | 6 ++++++ pkg/sbom/cyclonedx/core/cyclonedx.go | 15 +++++++-------- pkg/sbom/cyclonedx/marshal_test.go | 11 +++++++++++ pkg/vulnerability/vulnerability.go | 7 +++++++ pkg/vulnerability/vulnerability_test.go | 9 ++++++--- 5 files changed, 37 insertions(+), 11 deletions(-) diff --git a/integration/testdata/pom-cyclonedx.json.golden b/integration/testdata/pom-cyclonedx.json.golden index 8e1c482e0580..3e87c28beedd 100644 --- a/integration/testdata/pom-cyclonedx.json.golden +++ b/integration/testdata/pom-cyclonedx.json.golden @@ -149,6 +149,9 @@ "description": "FasterXML jackson-databind 2.x before 2.9.10.4 mishandles the interaction between serialization gadgets and typing, related to br.com.anteros.dbcp.AnterosDBCPConfig (aka anteros-core).", "recommendation": "Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.9.10.4", "advisories": [ + { + "url": "https://avd.aquasec.com/nvd/cve-2020-9548" + }, { "url": "https://access.redhat.com/security/cve/CVE-2020-9548" }, @@ -268,6 +271,9 @@ "description": "A flaw was found in jackson-databind before 2.9.10.7. FasterXML mishandles the interaction between serialization gadgets and typing. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.", "recommendation": "Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.9.10.7", "advisories": [ + { + "url": "https://avd.aquasec.com/nvd/cve-2021-20190" + }, { "url": "https://access.redhat.com/security/cve/CVE-2021-20190" }, diff --git a/pkg/sbom/cyclonedx/core/cyclonedx.go b/pkg/sbom/cyclonedx/core/cyclonedx.go index 9a2a7a14466f..dad245b5239c 100644 --- a/pkg/sbom/cyclonedx/core/cyclonedx.go +++ b/pkg/sbom/cyclonedx/core/cyclonedx.go @@ -155,7 +155,7 @@ func (c *CycloneDX) marshalVulnerability(bomRef string, vuln types.DetectedVulne Ratings: cdxRatings(vuln), CWEs: cwes(vuln.CweIDs), Description: vuln.Description, - Advisories: cdxAdvisories(vuln.References), + Advisories: cdxAdvisories(append([]string{vuln.PrimaryURL}, vuln.References...)), } if vuln.FixedVersion != "" { v.Recommendation = fmt.Sprintf("Upgrade %s to version %s", vuln.PkgName, vuln.FixedVersion) @@ -341,19 +341,18 @@ func UnmarshalProperties(properties *[]cdx.Property) map[string]string { } func cdxAdvisories(refs []string) *[]cdx.Advisory { + refs = lo.Uniq(refs) + advs := lo.FilterMap(refs, func(ref string, _ int) (cdx.Advisory, bool) { + return cdx.Advisory{URL: ref}, ref != "" + }) + // cyclonedx converts link to empty `[]cdx.Advisory` to `null` // `bom-1.5.schema.json` doesn't support this - `Invalid type. Expected: array, given: null` // we need to explicitly set `nil` for empty `refs` slice - if len(refs) == 0 { + if len(advs) == 0 { return nil } - var advs []cdx.Advisory - for _, ref := range refs { - advs = append(advs, cdx.Advisory{ - URL: ref, - }) - } return &advs } diff --git a/pkg/sbom/cyclonedx/marshal_test.go b/pkg/sbom/cyclonedx/marshal_test.go index de41d837f453..ddc68131ea0c 100644 --- a/pkg/sbom/cyclonedx/marshal_test.go +++ b/pkg/sbom/cyclonedx/marshal_test.go @@ -522,6 +522,11 @@ func TestMarshaler_Marshal(t *testing.T) { Description: "In GNU Binutils 2.31.1, there is a use-after-free in the error function in elfcomm.c when called from the process_archive function in readelf.c via a crafted ELF file.", Published: "2018-12-31T19:29:00+00:00", Updated: "2019-10-31T01:15:00+00:00", + Advisories: &[]cdx.Advisory{ + { + URL: "https://avd.aquasec.com/nvd/cve-2018-20623", + }, + }, Affects: &[]cdx.Affects{ { Ref: "pkg:rpm/centos/binutils@2.30-93.el8?arch=aarch64&distro=centos-8.3.2011", @@ -991,6 +996,9 @@ func TestMarshaler_Marshal(t *testing.T) { }, Description: "Action Pack is a framework for handling and responding to web requests. Under certain circumstances response bodies will not be closed. In the event a response is *not* notified of a `close`, `ActionDispatch::Executor` will not know to reset thread local state for the next request. This can lead to data being leaked to subsequent requests.This has been fixed in Rails 7.0.2.1, 6.1.4.5, 6.0.4.5, and 5.2.6.1. Upgrading is highly recommended, but to work around this problem a middleware described in GHSA-wh98-p28r-vrc9 can be used.", Advisories: &[]cdx.Advisory{ + { + URL: "https://avd.aquasec.com/nvd/cve-2022-23633", + }, { URL: "http://www.openwall.com/lists/oss-security/2022/02/11/5", }, @@ -1384,6 +1392,9 @@ func TestMarshaler_Marshal(t *testing.T) { CWEs: lo.ToPtr([]int{94}), Description: "The DBCPConnectionPool and HikariCPConnectionPool Controller Services in Apache NiFi 0.0.2 through 1.21.0...", Advisories: &[]cdx.Advisory{ + { + URL: "https://avd.aquasec.com/nvd/cve-2023-34468", + }, { URL: "http://www.openwall.com/lists/oss-security/2023/06/12/3", }, diff --git a/pkg/vulnerability/vulnerability.go b/pkg/vulnerability/vulnerability.go index 2b29e632e0f6..504d9293e873 100644 --- a/pkg/vulnerability/vulnerability.go +++ b/pkg/vulnerability/vulnerability.go @@ -91,6 +91,13 @@ func (c Client) FillInfo(vulns []types.DetectedVulnerability) { if vulns[i].SeveritySource != "" { severity = vulns[i].Severity severitySource = vulns[i].SeveritySource + + // Store package-specific severity in vendor severities + if vuln.VendorSeverity == nil { + vuln.VendorSeverity = make(dbTypes.VendorSeverity) + } + s, _ := dbTypes.NewSeverity(severity) // skip error handling because `SeverityUnknown` will be returned in case of error + vuln.VendorSeverity[severitySource] = s } // Add the vulnerability detail diff --git a/pkg/vulnerability/vulnerability_test.go b/pkg/vulnerability/vulnerability_test.go index 8caf314ae7fa..11dac691503e 100644 --- a/pkg/vulnerability/vulnerability_test.go +++ b/pkg/vulnerability/vulnerability_test.go @@ -218,9 +218,12 @@ func TestClient_FillInfo(t *testing.T) { Status: dbTypes.StatusAffected, SeveritySource: vulnerability.Debian, Vulnerability: dbTypes.Vulnerability{ - Title: "dos", - Description: "dos vulnerability", - Severity: dbTypes.SeverityLow.String(), + Title: "dos", + Description: "dos vulnerability", + Severity: dbTypes.SeverityLow.String(), + VendorSeverity: map[dbTypes.SourceID]dbTypes.Severity{ + vulnerability.Debian: dbTypes.SeverityLow, + }, References: []string{"http://example.com"}, LastModifiedDate: utils.MustTimeParse("2020-01-01T01:01:00Z"), PublishedDate: utils.MustTimeParse("2001-01-01T01:01:00Z"), From f2a12f5f90f940effe5dfc763025a70b127ec539 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Fri, 20 Oct 2023 10:43:15 +0900 Subject: [PATCH 077/338] refactor: define a new struct for scan targets (#5397) --- pkg/fanal/types/artifact.go | 2 +- pkg/scanner/langpkg/scan.go | 35 ++++---- pkg/scanner/local/scan.go | 174 +++++++++++++++++++++++------------- pkg/scanner/ospkg/scan.go | 58 ++++-------- pkg/types/scan.go | 33 +++++++ pkg/types/scanoptions.go | 17 ---- 6 files changed, 179 insertions(+), 140 deletions(-) create mode 100644 pkg/types/scan.go delete mode 100644 pkg/types/scanoptions.go diff --git a/pkg/fanal/types/artifact.go b/pkg/fanal/types/artifact.go index c60d68fc75e6..7db2cdbf1949 100644 --- a/pkg/fanal/types/artifact.go +++ b/pkg/fanal/types/artifact.go @@ -264,7 +264,7 @@ type BlobInfo struct { CustomResources []CustomResource `json:",omitempty"` } -// ArtifactDetail is generated by applying blobs +// ArtifactDetail represents the analysis result. type ArtifactDetail struct { OS OS `json:",omitempty"` Repository *Repository `json:",omitempty"` diff --git a/pkg/scanner/langpkg/scan.go b/pkg/scanner/langpkg/scan.go index df16c0c78476..9480c8a13614 100644 --- a/pkg/scanner/langpkg/scan.go +++ b/pkg/scanner/langpkg/scan.go @@ -23,8 +23,8 @@ var ( ) type Scanner interface { - Packages(detail ftypes.ArtifactDetail, options types.ScanOptions) types.Results - Scan(detail ftypes.ArtifactDetail, options types.ScanOptions) (types.Results, error) + Packages(target types.ScanTarget, options types.ScanOptions) types.Results + Scan(target types.ScanTarget, options types.ScanOptions) (types.Results, error) } type scanner struct{} @@ -33,20 +33,15 @@ func NewScanner() Scanner { return &scanner{} } -func (s *scanner) Packages(detail ftypes.ArtifactDetail, _ types.ScanOptions) types.Results { +func (s *scanner) Packages(target types.ScanTarget, _ types.ScanOptions) types.Results { var results types.Results - for _, app := range detail.Applications { + for _, app := range target.Applications { if len(app.Libraries) == 0 { continue } - target := app.FilePath - if t, ok := PkgTargets[app.Type]; ok && target == "" { - // When the file path is empty, we will overwrite it with the pre-defined value. - target = t - } results = append(results, types.Result{ - Target: target, + Target: targetName(app.Type, app.FilePath), Class: types.ClassLangPkg, Type: app.Type, Packages: app.Libraries, @@ -55,8 +50,8 @@ func (s *scanner) Packages(detail ftypes.ArtifactDetail, _ types.ScanOptions) ty return results } -func (s *scanner) Scan(detail ftypes.ArtifactDetail, _ types.ScanOptions) (types.Results, error) { - apps := detail.Applications +func (s *scanner) Scan(target types.ScanTarget, _ types.ScanOptions) (types.Results, error) { + apps := target.Applications log.Logger.Infof("Number of language-specific files: %d", len(apps)) if len(apps) == 0 { return nil, nil @@ -83,14 +78,8 @@ func (s *scanner) Scan(detail ftypes.ArtifactDetail, _ types.ScanOptions) (types continue } - target := app.FilePath - if t, ok := PkgTargets[app.Type]; ok && target == "" { - // When the file path is empty, we will overwrite it with the pre-defined value. - target = t - } - results = append(results, types.Result{ - Target: target, + Target: targetName(app.Type, app.FilePath), Vulnerabilities: vulns, Class: types.ClassLangPkg, Type: app.Type, @@ -101,3 +90,11 @@ func (s *scanner) Scan(detail ftypes.ArtifactDetail, _ types.ScanOptions) (types }) return results, nil } + +func targetName(appType ftypes.LangType, filePath string) string { + if t, ok := PkgTargets[appType]; ok && filePath == "" { + // When the file path is empty, we will overwrite it with the pre-defined value. + return t + } + return filePath +} diff --git a/pkg/scanner/local/scan.go b/pkg/scanner/local/scan.go index 5539bf23efc0..63822852cb71 100644 --- a/pkg/scanner/local/scan.go +++ b/pkg/scanner/local/scan.go @@ -57,24 +57,25 @@ func NewScanner(a applier.Applier, osPkgScanner ospkg.Scanner, langPkgScanner la } // Scan scans the artifact and return results. -func (s Scanner) Scan(ctx context.Context, target, artifactKey string, blobKeys []string, options types.ScanOptions) (types.Results, ftypes.OS, error) { - artifactDetail, err := s.applier.ApplyLayers(artifactKey, blobKeys) +func (s Scanner) Scan(ctx context.Context, targetName, artifactKey string, blobKeys []string, options types.ScanOptions) ( + types.Results, ftypes.OS, error) { + detail, err := s.applier.ApplyLayers(artifactKey, blobKeys) switch { case errors.Is(err, analyzer.ErrUnknownOS): log.Logger.Debug("OS is not detected.") // Packages may contain OS-independent binary information even though OS is not detected. - if len(artifactDetail.Packages) != 0 { - artifactDetail.OS = ftypes.OS{Family: "none"} + if len(detail.Packages) != 0 { + detail.OS = ftypes.OS{Family: "none"} } // If OS is not detected and repositories are detected, we'll try to use repositories as OS. - if artifactDetail.Repository != nil { - log.Logger.Debugf("Package repository: %s %s", artifactDetail.Repository.Family, artifactDetail.Repository.Release) - log.Logger.Debugf("Assuming OS is %s %s.", artifactDetail.Repository.Family, artifactDetail.Repository.Release) - artifactDetail.OS = ftypes.OS{ - Family: artifactDetail.Repository.Family, - Name: artifactDetail.Repository.Release, + if detail.Repository != nil { + log.Logger.Debugf("Package repository: %s %s", detail.Repository.Family, detail.Repository.Release) + log.Logger.Debugf("Assuming OS is %s %s.", detail.Repository.Family, detail.Repository.Release) + detail.OS = ftypes.OS{ + Family: detail.Repository.Family, + Name: detail.Repository.Release, } } case errors.Is(err, analyzer.ErrNoPkgsDetected): @@ -84,29 +85,46 @@ func (s Scanner) Scan(ctx context.Context, target, artifactKey string, blobKeys return nil, ftypes.OS{}, xerrors.Errorf("failed to apply layers: %w", err) } + target := types.ScanTarget{ + Name: targetName, + OS: detail.OS, + Repository: detail.Repository, + Packages: mergePkgs(detail.Packages, detail.ImageConfig.Packages, options), + Applications: detail.Applications, + Misconfigurations: mergeMisconfigurations(targetName, detail), + Secrets: mergeSecrets(targetName, detail), + Licenses: detail.Licenses, + CustomResources: detail.CustomResources, + } + + return s.ScanTarget(ctx, target, options) +} + +func (s Scanner) ScanTarget(ctx context.Context, target types.ScanTarget, options types.ScanOptions) (types.Results, ftypes.OS, error) { var eosl bool var results, pkgResults types.Results + var err error // By default, we need to remove dev dependencies from the result // IncludeDevDeps option allows you not to remove them - excludeDevDeps(artifactDetail.Applications, options.IncludeDevDeps) + excludeDevDeps(target.Applications, options.IncludeDevDeps) // Fill OS packages and language-specific packages if options.ListAllPackages { - if res := s.osPkgScanner.Packages(target, artifactDetail, options); len(res.Packages) != 0 { + if res := s.osPkgScanner.Packages(target, options); len(res.Packages) != 0 { pkgResults = append(pkgResults, res) } - pkgResults = append(pkgResults, s.langPkgScanner.Packages(artifactDetail, options)...) + pkgResults = append(pkgResults, s.langPkgScanner.Packages(target, options)...) } // Scan packages for vulnerabilities if options.Scanners.Enabled(types.VulnerabilityScanner) { var vulnResults types.Results - vulnResults, eosl, err = s.scanVulnerabilities(target, artifactDetail, options) + vulnResults, eosl, err = s.scanVulnerabilities(target, options) if err != nil { return nil, ftypes.OS{}, xerrors.Errorf("failed to detect vulnerabilities: %w", err) } - artifactDetail.OS.Eosl = eosl + target.OS.Eosl = eosl // Merge package results into vulnerability results mergedResults := s.fillPkgsInVulns(pkgResults, vulnResults) @@ -117,45 +135,20 @@ func (s Scanner) Scan(ctx context.Context, target, artifactKey string, blobKeys results = append(results, pkgResults...) } - // Scan IaC config files - if ShouldScanMisconfigOrRbac(options.Scanners) { - configResults := s.MisconfsToResults(artifactDetail.Misconfigurations) - results = append(results, configResults...) - } + // Store misconfigurations + results = append(results, s.misconfsToResults(target.Misconfigurations, options)...) - // Scan secrets - if options.Scanners.Enabled(types.SecretScanner) { - secretResults := s.secretsToResults(artifactDetail.Secrets) - results = append(results, secretResults...) - } + // Store secrets + results = append(results, s.secretsToResults(target.Secrets, options)...) // Scan licenses - if options.Scanners.Enabled(types.LicenseScanner) { - licenseResults := s.scanLicenses(artifactDetail, options.LicenseCategories) - results = append(results, licenseResults...) - } - - // Scan misconfigurations on container image config - if options.ImageConfigScanners.Enabled(types.MisconfigScanner) { - if im := artifactDetail.ImageConfig.Misconfiguration; im != nil { - im.FilePath = target // Set the target name to the file path as container image config is not a real file. - results = append(results, s.MisconfsToResults([]ftypes.Misconfiguration{*im})...) - } - } - - // Scan secrets on container image config - if options.ImageConfigScanners.Enabled(types.SecretScanner) { - if is := artifactDetail.ImageConfig.Secret; is != nil { - is.FilePath = target // Set the target name to the file path as container image config is not a real file. - results = append(results, s.secretsToResults([]ftypes.Secret{*is})...) - } - } + results = append(results, s.scanLicenses(target, options)...) // For WASM plugins and custom analyzers - if len(artifactDetail.CustomResources) != 0 { + if len(target.CustomResources) != 0 { results = append(results, types.Result{ Class: types.ClassCustom, - CustomResources: artifactDetail.CustomResources, + CustomResources: target.CustomResources, }) } @@ -170,16 +163,16 @@ func (s Scanner) Scan(ctx context.Context, target, artifactKey string, blobKeys return nil, ftypes.OS{}, xerrors.Errorf("post scan error: %w", err) } - return results, artifactDetail.OS, nil + return results, target.OS, nil } -func (s Scanner) scanVulnerabilities(target string, detail ftypes.ArtifactDetail, options types.ScanOptions) ( +func (s Scanner) scanVulnerabilities(target types.ScanTarget, options types.ScanOptions) ( types.Results, bool, error) { var eosl bool var results types.Results if slices.Contains(options.VulnType, types.VulnTypeOS) { - vuln, detectedEOSL, err := s.osPkgScanner.Scan(target, detail, options) + vuln, detectedEOSL, err := s.osPkgScanner.Scan(target, options) if err != nil { return nil, false, xerrors.Errorf("unable to scan OS packages: %w", err) } else if vuln.Target != "" { @@ -189,7 +182,7 @@ func (s Scanner) scanVulnerabilities(target string, detail ftypes.ArtifactDetail } if slices.Contains(options.VulnType, types.VulnTypeLibrary) { - vulns, err := s.langPkgScanner.Scan(detail, options) + vulns, err := s.langPkgScanner.Scan(target, options) if err != nil { return nil, false, xerrors.Errorf("failed to scan application libraries: %w", err) } @@ -217,6 +210,14 @@ func (s Scanner) fillPkgsInVulns(pkgResults, vulnResults types.Results) types.Re return results } +func (s Scanner) misconfsToResults(misconfs []ftypes.Misconfiguration, options types.ScanOptions) types.Results { + if !ShouldScanMisconfigOrRbac(options.Scanners) { + return nil + } + + return s.MisconfsToResults(misconfs) +} + // MisconfsToResults is exported for trivy-plugin-aqua purposes only func (s Scanner) MisconfsToResults(misconfs []ftypes.Misconfiguration) types.Results { log.Logger.Infof("Detected config files: %d", len(misconfs)) @@ -254,7 +255,11 @@ func (s Scanner) MisconfsToResults(misconfs []ftypes.Misconfiguration) types.Res return results } -func (s Scanner) secretsToResults(secrets []ftypes.Secret) types.Results { +func (s Scanner) secretsToResults(secrets []ftypes.Secret, options types.ScanOptions) types.Results { + if !options.Scanners.Enabled(types.SecretScanner) { + return nil + } + var results types.Results for _, secret := range secrets { log.Logger.Debugf("Secret file: %s", secret.FilePath) @@ -268,15 +273,17 @@ func (s Scanner) secretsToResults(secrets []ftypes.Secret) types.Results { return results } -func (s Scanner) scanLicenses(detail ftypes.ArtifactDetail, - categories map[ftypes.LicenseCategory][]string) types.Results { - scanner := licensing.NewScanner(categories) +func (s Scanner) scanLicenses(target types.ScanTarget, options types.ScanOptions) types.Results { + if !options.Scanners.Enabled(types.LicenseScanner) { + return nil + } var results types.Results + scanner := licensing.NewScanner(options.LicenseCategories) // License - OS packages var osPkgLicenses []types.DetectedLicense - for _, pkg := range detail.Packages { + for _, pkg := range target.Packages { for _, license := range pkg.Licenses { category, severity := scanner.Scan(license) osPkgLicenses = append(osPkgLicenses, types.DetectedLicense{ @@ -296,7 +303,7 @@ func (s Scanner) scanLicenses(detail ftypes.ArtifactDetail, }) // License - language-specific packages - for _, app := range detail.Applications { + for _, app := range target.Applications { var langLicenses []types.DetectedLicense for _, lib := range app.Libraries { for _, license := range lib.Licenses { @@ -311,13 +318,13 @@ func (s Scanner) scanLicenses(detail ftypes.ArtifactDetail, } } - target := app.FilePath - if t, ok := langpkg.PkgTargets[app.Type]; ok && target == "" { + targetName := app.FilePath + if t, ok := langpkg.PkgTargets[app.Type]; ok && targetName == "" { // When the file path is empty, we will overwrite it with the pre-defined value. - target = t + targetName = t } results = append(results, types.Result{ - Target: target, + Target: targetName, Class: types.ClassLicense, Licenses: langLicenses, }) @@ -325,7 +332,7 @@ func (s Scanner) scanLicenses(detail ftypes.ArtifactDetail, // License - file header or license file var fileLicenses []types.DetectedLicense - for _, license := range detail.Licenses { + for _, license := range target.Licenses { for _, finding := range license.Findings { category, severity := scanner.Scan(finding.Name) fileLicenses = append(fileLicenses, types.DetectedLicense{ @@ -420,3 +427,46 @@ func excludeDevDeps(apps []ftypes.Application, include bool) { }) } } + +func mergePkgs(pkgs, pkgsFromCommands []ftypes.Package, options types.ScanOptions) []ftypes.Package { + if !options.ScanRemovedPackages || len(pkgsFromCommands) == 0 { + return pkgs + } + + // pkg has priority over pkgsFromCommands + uniqPkgs := make(map[string]struct{}) + for _, pkg := range pkgs { + uniqPkgs[pkg.Name] = struct{}{} + } + for _, pkg := range pkgsFromCommands { + if _, ok := uniqPkgs[pkg.Name]; ok { + continue + } + pkgs = append(pkgs, pkg) + } + return pkgs +} + +// mergeMisconfigurations merges misconfigurations on container image config +func mergeMisconfigurations(targetName string, detail ftypes.ArtifactDetail) []ftypes.Misconfiguration { + if detail.ImageConfig.Misconfiguration == nil { + return detail.Misconfigurations + } + + // Append misconfigurations on container image config + misconf := detail.ImageConfig.Misconfiguration + misconf.FilePath = targetName // Set the target name to the file path as container image config is not a real file. + return append(detail.Misconfigurations, *misconf) +} + +// mergeSecrets merges secrets on container image config. +func mergeSecrets(targetName string, detail ftypes.ArtifactDetail) []ftypes.Secret { + if detail.ImageConfig.Secret == nil { + return detail.Secrets + } + + // Append secrets on container image config + secret := detail.ImageConfig.Secret + secret.FilePath = targetName // Set the target name to the file path as container image config is not a real file. + return append(detail.Secrets, *secret) +} diff --git a/pkg/scanner/ospkg/scan.go b/pkg/scanner/ospkg/scan.go index ed255dd362e3..a07d6e6b2091 100644 --- a/pkg/scanner/ospkg/scan.go +++ b/pkg/scanner/ospkg/scan.go @@ -8,14 +8,13 @@ import ( "golang.org/x/xerrors" ospkgDetector "github.com/aquasecurity/trivy/pkg/detector/ospkg" - ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/types" ) type Scanner interface { - Packages(target string, detail ftypes.ArtifactDetail, options types.ScanOptions) types.Result - Scan(target string, detail ftypes.ArtifactDetail, options types.ScanOptions) (types.Result, bool, error) + Packages(target types.ScanTarget, options types.ScanOptions) types.Result + Scan(target types.ScanTarget, options types.ScanOptions) (types.Result, bool, error) } type scanner struct{} @@ -24,68 +23,45 @@ func NewScanner() Scanner { return &scanner{} } -func (s *scanner) Packages(target string, detail ftypes.ArtifactDetail, options types.ScanOptions) types.Result { - if len(detail.Packages) == 0 || !detail.OS.Detected() { +func (s *scanner) Packages(target types.ScanTarget, _ types.ScanOptions) types.Result { + if len(target.Packages) == 0 || !target.OS.Detected() { return types.Result{} } - pkgs := detail.Packages - if options.ScanRemovedPackages { - pkgs = mergePkgs(pkgs, detail.ImageConfig.Packages) - } - sort.Sort(pkgs) + sort.Sort(target.Packages) return types.Result{ - Target: fmt.Sprintf("%s (%s %s)", target, detail.OS.Family, detail.OS.Name), + Target: fmt.Sprintf("%s (%s %s)", target.Name, target.OS.Family, target.OS.Name), Class: types.ClassOSPkg, - Type: detail.OS.Family, - Packages: pkgs, + Type: target.OS.Family, + Packages: target.Packages, } } -func (s *scanner) Scan(target string, detail ftypes.ArtifactDetail, options types.ScanOptions) (types.Result, bool, error) { - if !detail.OS.Detected() { +func (s *scanner) Scan(target types.ScanTarget, _ types.ScanOptions) (types.Result, bool, error) { + if !target.OS.Detected() { log.Logger.Debug("Detected OS: unknown") return types.Result{}, false, nil } - log.Logger.Infof("Detected OS: %s", detail.OS.Family) - - pkgs := detail.Packages - if options.ScanRemovedPackages { - pkgs = mergePkgs(pkgs, detail.ImageConfig.Packages) - } + log.Logger.Infof("Detected OS: %s", target.OS.Family) - if detail.OS.Extended { + if target.OS.Extended { // TODO: move the logic to each detector - detail.OS.Name += "-ESM" + target.OS.Name += "-ESM" } - vulns, eosl, err := ospkgDetector.Detect("", detail.OS.Family, detail.OS.Name, detail.Repository, time.Time{}, pkgs) + vulns, eosl, err := ospkgDetector.Detect("", target.OS.Family, target.OS.Name, target.Repository, time.Time{}, + target.Packages) if err == ospkgDetector.ErrUnsupportedOS { return types.Result{}, false, nil } else if err != nil { return types.Result{}, false, xerrors.Errorf("failed vulnerability detection of OS packages: %w", err) } - artifactDetail := fmt.Sprintf("%s (%s %s)", target, detail.OS.Family, detail.OS.Name) + artifactDetail := fmt.Sprintf("%s (%s %s)", target.Name, target.OS.Family, target.OS.Name) return types.Result{ Target: artifactDetail, Vulnerabilities: vulns, Class: types.ClassOSPkg, - Type: detail.OS.Family, + Type: target.OS.Family, }, eosl, nil } - -func mergePkgs(pkgs, pkgsFromCommands []ftypes.Package) []ftypes.Package { - // pkg has priority over pkgsFromCommands - uniqPkgs := make(map[string]struct{}) - for _, pkg := range pkgs { - uniqPkgs[pkg.Name] = struct{}{} - } - for _, pkg := range pkgsFromCommands { - if _, ok := uniqPkgs[pkg.Name]; ok { - continue - } - pkgs = append(pkgs, pkg) - } - return pkgs -} diff --git a/pkg/types/scan.go b/pkg/types/scan.go new file mode 100644 index 000000000000..0b5833b12faa --- /dev/null +++ b/pkg/types/scan.go @@ -0,0 +1,33 @@ +package types + +import ( + "github.com/aquasecurity/trivy/pkg/fanal/types" +) + +// ScanTarget holds the attributes for scanning. +type ScanTarget struct { + Name string // container image name, file path, etc + OS types.OS + Repository *types.Repository + Packages types.Packages + Applications []types.Application + Misconfigurations []types.Misconfiguration + Secrets []types.Secret + Licenses []types.LicenseFile + + // CustomResources hold analysis results from custom analyzers. + // It is for extensibility and not used in OSS. + CustomResources []types.CustomResource +} + +// ScanOptions holds the attributes for scanning vulnerabilities +type ScanOptions struct { + VulnType []string + Scanners Scanners + ImageConfigScanners Scanners // Scanners for container image configuration + ScanRemovedPackages bool + ListAllPackages bool + LicenseCategories map[types.LicenseCategory][]string + FilePatterns []string + IncludeDevDeps bool +} diff --git a/pkg/types/scanoptions.go b/pkg/types/scanoptions.go deleted file mode 100644 index 1e075bba6839..000000000000 --- a/pkg/types/scanoptions.go +++ /dev/null @@ -1,17 +0,0 @@ -package types - -import ( - "github.com/aquasecurity/trivy/pkg/fanal/types" -) - -// ScanOptions holds the attributes for scanning vulnerabilities -type ScanOptions struct { - VulnType []string - Scanners Scanners - ImageConfigScanners Scanners // Scanners for container image configuration - ScanRemovedPackages bool - ListAllPackages bool - LicenseCategories map[types.LicenseCategory][]string - FilePatterns []string - IncludeDevDeps bool -} From 1a15a3adb1e42a6e3e3ab8706f3262a4a80892d0 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Fri, 20 Oct 2023 15:16:23 +0600 Subject: [PATCH 078/338] feat(dart): add graph support (#5374) Signed-off-by: knqyf263 Co-authored-by: knqyf263 --- docs/docs/configuration/reporting.md | 65 ++++--- docs/docs/coverage/language/dart.md | 7 +- .../analyzer/language/dart/pub/pubspec.go | 154 +++++++++++++++- .../language/dart/pub/pubspec_test.go | 169 ++++++++++++++---- .../{broken.lock => broken/pubspec.lock} | 0 .../{empty.lock => empty/pubspec.lock} | 0 .../language/dart/pub/testdata/happy.lock | 25 --- .../pub.dev/collection-1.18.0/pubspec.yaml | 16 ++ .../hosted/pub.dev/crypto-3.0.3/pubspec.yaml | 17 ++ .../hosted/pub.dev/meta-1.11.0/pubspec.yaml | 17 ++ .../pub.dev/typed_data-1.3.2/pubspec.yaml | 18 ++ .../dart/pub/testdata/happy/pubspec.lock | 37 ++++ 12 files changed, 428 insertions(+), 97 deletions(-) rename pkg/fanal/analyzer/language/dart/pub/testdata/{broken.lock => broken/pubspec.lock} (100%) rename pkg/fanal/analyzer/language/dart/pub/testdata/{empty.lock => empty/pubspec.lock} (100%) delete mode 100644 pkg/fanal/analyzer/language/dart/pub/testdata/happy.lock create mode 100644 pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/collection-1.18.0/pubspec.yaml create mode 100644 pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/crypto-3.0.3/pubspec.yaml create mode 100644 pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/meta-1.11.0/pubspec.yaml create mode 100644 pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/typed_data-1.3.2/pubspec.yaml create mode 100644 pkg/fanal/analyzer/language/dart/pub/testdata/happy/pubspec.lock diff --git a/docs/docs/configuration/reporting.md b/docs/docs/configuration/reporting.md index 951fd779cd55..17aa6fd973ec 100644 --- a/docs/docs/configuration/reporting.md +++ b/docs/docs/configuration/reporting.md @@ -41,32 +41,31 @@ In some cases, vulnerable dependencies are not linked directly, and it requires To make this task simpler Trivy can show a dependency origin tree with the `--dependency-tree` flag. This flag is only available with the `--format table` flag. -The following packages/languages are currently supported: - -- OS packages - - apk - - dpkg - - rpm -- Node.js - - npm: package-lock.json - - pnpm: pnpm-lock.yaml - - yarn: yarn.lock -- .NET - - NuGet: packages.lock.json -- Python - - Poetry: poetry.lock -- Ruby - - Bundler: Gemfile.lock -- Rust - - Binaries built with [cargo-auditable][cargo-auditable] -- Go - - Modules: go.mod -- PHP - - Composer -- Java - - Maven: pom.xml - -This tree is the reverse of the npm list command. +The following OS package managers are currently supported: + +| OS Package Managers | +|---------------------| +| apk | +| dpkg | +| rpm | + +The following languages are currently supported: + +| Language | File | +|----------|--------------------------------------------| +| Node.js | [package-lock.json][nodejs-package-lock] | +| | [pnpm-lock.yaml][pnpm-lock] | +| | [yarn.lock][yarn-lock] | +| .NET | [packages.lock.json][dotnet-packages-lock] | +| Python | [poetry.lock][poetry-lock] | +| Ruby | [Gemfile.lock][gemfile-lock] | +| Rust | [cargo-auditable binaries][cargo-binaries] | +| Go | [go.mod][go-mod] | +| PHP | [composer.lock][composer-lock] | +| Java | [pom.xml][pom-xml] | +| Dart | [pubspec.lock][pubspec-lock] | + +This tree is the reverse of the dependency graph. However, if you want to resolve a vulnerability in a particular indirect dependency, the reversed tree is useful to know where that dependency comes from and identify which package you actually need to update. In table output, it looks like: @@ -408,4 +407,16 @@ $ trivy convert --format table --severity CRITICAL result.json [github-sbom-submit]: https://docs.github.com/en/rest/dependency-graph/dependency-submission?apiVersion=2022-11-28#create-a-snapshot-of-dependencies-for-a-repository [os_packages]: ../scanner/vulnerability.md#os-packages -[language_packages]: ../scanner/vulnerability.md#language-specific-packages \ No newline at end of file +[language_packages]: ../scanner/vulnerability.md#language-specific-packages + +[nodejs-package-lock]: ../coverage/language/nodejs.md#npm +[pnpm-lock]: ../coverage/language/nodejs.md#pnpm +[yarn-lock]: ../coverage/language/nodejs.md#yarn +[dotnet-packages-lock]: ../coverage/language/dotnet.md#packageslockjson +[poetry-lock]: ../coverage/language/python.md#poetry +[gemfile-lock]: ../coverage/language/ruby.md#bundler +[go-mod]: ../coverage/language/golang.md#go-modules +[composer-lock]: ../coverage/language/php.md#composer +[pom-xml]: ../coverage/language/java.md#pomxml +[pubspec-lock]: ../coverage/language/dart.md#dart +[cargo-binaries]: ../coverage/language/rust.md#binaries \ No newline at end of file diff --git a/docs/docs/coverage/language/dart.md b/docs/docs/coverage/language/dart.md index f7bba0a3951f..0ce6d1cc52b0 100644 --- a/docs/docs/coverage/language/dart.md +++ b/docs/docs/coverage/language/dart.md @@ -13,7 +13,7 @@ The following table provides an outline of the features Trivy offers. | Package manager | File | Transitive dependencies | Dev dependencies | [Dependency graph][dependency-graph] | Position | |-------------------------|--------------|:-----------------------:|:----------------:|:------------------------------------:|:--------:| -| [Dart][dart-repository] | pubspec.lock | ✓ | Included | - | - | +| [Dart][dart-repository] | pubspec.lock | ✓ | Included | ✓ | - | ## Dart In order to detect dependencies, Trivy searches for `pubspec.lock`. @@ -21,6 +21,11 @@ In order to detect dependencies, Trivy searches for `pubspec.lock`. Trivy marks indirect dependencies, but `pubspec.lock` file doesn't have options to separate root and dev transitive dependencies. So Trivy includes all dependencies in report. +To build `dependency tree` Trivy parses [cache directory][cache-directory]. Currently supported default directories and `PUB_CACHE` environment (absolute path only). +!!! note + Make sure the cache directory contains all the dependencies installed in your application. To download missing dependencies, use `dart pub get` command. + [dart]: https://dart.dev/ [dart-repository]: https://pub.dev/ [dependency-graph]: ../../configuration/reporting.md#show-origins-of-vulnerable-dependencies +[cache-directory]: https://dart.dev/tools/pub/glossary#system-cache diff --git a/pkg/fanal/analyzer/language/dart/pub/pubspec.go b/pkg/fanal/analyzer/language/dart/pub/pubspec.go index 5961d9ae2a77..221fe73e6b1a 100644 --- a/pkg/fanal/analyzer/language/dart/pub/pubspec.go +++ b/pkg/fanal/analyzer/language/dart/pub/pubspec.go @@ -2,35 +2,171 @@ package pub import ( "context" + "io" + "io/fs" "os" "path/filepath" + "runtime" + "sort" + "github.com/samber/lo" + "golang.org/x/exp/maps" "golang.org/x/xerrors" + "gopkg.in/yaml.v3" "github.com/aquasecurity/go-dep-parser/pkg/dart/pub" + godeptypes "github.com/aquasecurity/go-dep-parser/pkg/types" + "github.com/aquasecurity/go-dep-parser/pkg/utils" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/analyzer/language" "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/log" + "github.com/aquasecurity/trivy/pkg/utils/fsutils" ) func init() { - analyzer.RegisterAnalyzer(&pubSpecLockAnalyzer{}) + analyzer.RegisterPostAnalyzer(analyzer.TypePubSpecLock, newPubSpecLockAnalyzer) } const ( - version = 1 + version = 2 + pubSpecYamlFileName = "pubspec.yaml" ) -// pubSpecLockAnalyzer analyzes pubspec.lock -type pubSpecLockAnalyzer struct{} +// pubSpecLockAnalyzer analyzes `pubspec.lock` +type pubSpecLockAnalyzer struct { + parser godeptypes.Parser +} + +func newPubSpecLockAnalyzer(_ analyzer.AnalyzerOptions) (analyzer.PostAnalyzer, error) { + return pubSpecLockAnalyzer{ + parser: pub.NewParser(), + }, nil +} -func (a pubSpecLockAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInput) (*analyzer.AnalysisResult, error) { - p := pub.NewParser() - res, err := language.Analyze(types.Pub, input.FilePath, input.Content, p) +func (a pubSpecLockAnalyzer) PostAnalyze(_ context.Context, input analyzer.PostAnalysisInput) (*analyzer.AnalysisResult, error) { + var apps []types.Application + + // get all DependsOn from cache dir + // lib ID -> DependsOn names + allDependsOn, err := findDependsOn() if err != nil { - return nil, xerrors.Errorf("%s parse error: %w", input.FilePath, err) + log.Logger.Warnf("Unable to parse cache dir: %s", err) + } + + required := func(path string, d fs.DirEntry) bool { + return filepath.Base(path) == types.PubSpecLock + } + + err = fsutils.WalkDir(input.FS, ".", required, func(path string, _ fs.DirEntry, r io.Reader) error { + app, err := language.Parse(types.Pub, path, r, a.parser) + if err != nil { + return xerrors.Errorf("unable to parse %q: %w", path, err) + } + + if app == nil { + return nil + } + + if allDependsOn != nil { + // Required to search for library versions for DependsOn. + libs := lo.SliceToMap(app.Libraries, func(lib types.Package) (string, string) { + return lib.Name, lib.ID + }) + + for i, lib := range app.Libraries { + var dependsOn []string + for _, depName := range allDependsOn[lib.ID] { + if depID, ok := libs[depName]; ok { + dependsOn = append(dependsOn, depID) + } + } + app.Libraries[i].DependsOn = dependsOn + } + } + + sort.Sort(app.Libraries) + apps = append(apps, *app) + return nil + }) + if err != nil { + return nil, xerrors.Errorf("walk error: %w", err) + } + + return &analyzer.AnalysisResult{ + Applications: apps, + }, nil +} + +func findDependsOn() (map[string][]string, error) { + dir := cacheDir() + if !fsutils.DirExists(dir) { + log.Logger.Debugf("Cache dir (%s) not found. Need 'dart pub get' to fill dependency relationships", dir) + return nil, nil + } + + required := func(path string, d fs.DirEntry) bool { + return filepath.Base(path) == pubSpecYamlFileName } - return res, nil + + deps := make(map[string][]string) + if err := fsutils.WalkDir(os.DirFS(dir), ".", required, func(path string, d fs.DirEntry, r io.Reader) error { + id, dependsOn, err := parsePubSpecYaml(r) + if err != nil { + log.Logger.Debugf("Unable to parse %q: %s", path, err) + return nil + } + if id != "" { + deps[id] = dependsOn + } + return nil + + }); err != nil { + return nil, xerrors.Errorf("walk error: %w", err) + } + return deps, nil +} + +// https://dart.dev/tools/pub/glossary#system-cache +func cacheDir() string { + if dir := os.Getenv("PUB_CACHE"); dir != "" { + return dir + } + + // `%LOCALAPPDATA%\Pub\Cache` for Windows + if runtime.GOOS == "windows" { + return filepath.Join(os.Getenv("LOCALAPPDATA"), "Pub", "Cache") + } + + // `~/.pub-cache` for Linux or Mac + return filepath.Join(os.Getenv("HOME"), ".pub_cache") +} + +type pubSpecYaml struct { + Name string `yaml:"name"` + Version string `yaml:"version,omitempty"` + Dependencies map[string]interface{} `yaml:"dependencies,omitempty"` +} + +func parsePubSpecYaml(r io.Reader) (string, []string, error) { + var spec pubSpecYaml + if err := yaml.NewDecoder(r).Decode(&spec); err != nil { + return "", nil, xerrors.Errorf("unable to decode: %w", err) + } + + // Version is a required field only for packages from pub.dev: + // https://dart.dev/tools/pub/pubspec#version + // We can skip packages without version, + // because we compare packages by ID (name+version) + if spec.Version == "" || len(spec.Dependencies) == 0 { + return "", nil, nil + } + + // pubspec.yaml uses version ranges + // save only dependencies names + dependsOn := maps.Keys(spec.Dependencies) + + return utils.PackageID(spec.Name, spec.Version), dependsOn, nil } func (a pubSpecLockAnalyzer) Required(filePath string, _ os.FileInfo) bool { diff --git a/pkg/fanal/analyzer/language/dart/pub/pubspec_test.go b/pkg/fanal/analyzer/language/dart/pub/pubspec_test.go index e03d9c1c8a64..d8ecad82fb3f 100644 --- a/pkg/fanal/analyzer/language/dart/pub/pubspec_test.go +++ b/pkg/fanal/analyzer/language/dart/pub/pubspec_test.go @@ -1,8 +1,9 @@ package pub import ( + "context" "os" - "sort" + "runtime" "testing" "github.com/stretchr/testify/assert" @@ -14,35 +15,51 @@ import ( func Test_pubSpecLockAnalyzer_Analyze(t *testing.T) { tests := []struct { - name string - inputFile string - want *analyzer.AnalysisResult - wantErr assert.ErrorAssertionFunc + name string + dir string + pubCacheEnv string + want *analyzer.AnalysisResult + wantErr assert.ErrorAssertionFunc }{ { - name: "happy path", - inputFile: "testdata/happy.lock", + // Supports only absolute paths for `rootUri` in package_config.json + // But for this test this field was changed + name: "happy path with cache", + dir: "testdata/happy", + pubCacheEnv: "testdata/happy/cache", want: &analyzer.AnalysisResult{ Applications: []types.Application{ { Type: types.Pub, - FilePath: "testdata/happy.lock", + FilePath: "pubspec.lock", Libraries: types.Packages{ { - ID: "crypto@3.0.2", + ID: "collection@1.17.0", + Name: "collection", + Version: "1.17.0", + Indirect: true, + }, + { + ID: "crypto@3.0.3", Name: "crypto", - Version: "3.0.2", + Version: "3.0.3", + DependsOn: []string{ + "typed_data@1.3.2", + }, }, { - ID: "flutter_test@0.0.0", - Name: "flutter_test", - Version: "0.0.0", + ID: "meta@1.11.0", + Name: "meta", + Version: "1.11.0", }, { - ID: "uuid@3.0.6", - Name: "uuid", - Version: "3.0.6", + ID: "typed_data@1.3.2", + Name: "typed_data", + Version: "1.3.2", Indirect: true, + DependsOn: []string{ + "collection@1.17.0", + }, }, }, }, @@ -51,39 +68,121 @@ func Test_pubSpecLockAnalyzer_Analyze(t *testing.T) { wantErr: assert.NoError, }, { - name: "empty file", - inputFile: "testdata/empty.lock", - wantErr: assert.NoError, + name: "happy path without cache", + dir: "testdata/happy", + pubCacheEnv: "testdata/happy/empty", + want: &analyzer.AnalysisResult{ + Applications: []types.Application{ + { + Type: types.Pub, + FilePath: "pubspec.lock", + Libraries: types.Packages{ + { + ID: "collection@1.17.0", + Name: "collection", + Version: "1.17.0", + Indirect: true, + }, + { + ID: "crypto@3.0.3", + Name: "crypto", + Version: "3.0.3", + }, + { + ID: "meta@1.11.0", + Name: "meta", + Version: "1.11.0", + }, + { + ID: "typed_data@1.3.2", + Name: "typed_data", + Version: "1.3.2", + Indirect: true, + }, + }, + }, + }, + }, + wantErr: assert.NoError, }, { - name: "broken file", - inputFile: "testdata/broken.lock", - wantErr: assert.Error, + name: "empty file", + dir: "testdata/empty", + want: &analyzer.AnalysisResult{}, + wantErr: assert.NoError, + }, + { + name: "broken file", + dir: "testdata/broken", + want: &analyzer.AnalysisResult{}, + wantErr: assert.Error, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - f, err := os.Open(tt.inputFile) + t.Setenv("PUB_CACHE", tt.pubCacheEnv) + a, err := newPubSpecLockAnalyzer(analyzer.AnalyzerOptions{}) require.NoError(t, err) - defer f.Close() - a := pubSpecLockAnalyzer{} - got, err := a.Analyze(nil, analyzer.AnalysisInput{ - FilePath: tt.inputFile, - Content: f, + got, err := a.PostAnalyze(context.Background(), analyzer.PostAnalysisInput{ + FS: os.DirFS(tt.dir), }) - if got != nil { - for _, app := range got.Applications { - sort.Sort(app.Libraries) + assert.NoError(t, err) + assert.Equal(t, tt.want, got) + }) + } +} + +func Test_pubSpecLockAnalyzer_cacheDir(t *testing.T) { + tests := []struct { + name string + pubCacheEnv string + localAppDataEnv string + windowsTest bool + wantDir string + }{ + { + name: "default cache dir for Linux/MacOS", + wantDir: "/root/.pub_cache", + }, + { + name: "default cache dir Windows", + windowsTest: true, + wantDir: "C:\\Users\\User\\AppData\\Local\\Pub\\Cache", + }, + { + name: "PUB_CACHE is used", + pubCacheEnv: "/root/cache", + wantDir: "/root/cache", + }, + { + name: "PUB_CACHE is used in Windows", + pubCacheEnv: "C:\\Cache", + windowsTest: true, + wantDir: "C:\\Cache", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if runtime.GOOS == "windows" { + if !tt.windowsTest { + t.Skipf("This test is not used for %s", runtime.GOOS) + } + t.Setenv("LOCALAPPDATA", "C:\\Users\\User\\AppData\\Local") + } else { + if tt.windowsTest { + t.Skipf("This test is not used for %s", runtime.GOOS) } + t.Setenv("HOME", "/root") } - if !tt.wantErr(t, err, tt.inputFile) { - return - } - assert.Equal(t, tt.want, got) + t.Setenv("PUB_CACHE", tt.pubCacheEnv) + + dir := cacheDir() + assert.Equal(t, tt.wantDir, dir) }) } } diff --git a/pkg/fanal/analyzer/language/dart/pub/testdata/broken.lock b/pkg/fanal/analyzer/language/dart/pub/testdata/broken/pubspec.lock similarity index 100% rename from pkg/fanal/analyzer/language/dart/pub/testdata/broken.lock rename to pkg/fanal/analyzer/language/dart/pub/testdata/broken/pubspec.lock diff --git a/pkg/fanal/analyzer/language/dart/pub/testdata/empty.lock b/pkg/fanal/analyzer/language/dart/pub/testdata/empty/pubspec.lock similarity index 100% rename from pkg/fanal/analyzer/language/dart/pub/testdata/empty.lock rename to pkg/fanal/analyzer/language/dart/pub/testdata/empty/pubspec.lock diff --git a/pkg/fanal/analyzer/language/dart/pub/testdata/happy.lock b/pkg/fanal/analyzer/language/dart/pub/testdata/happy.lock deleted file mode 100644 index 3a37840aa3bb..000000000000 --- a/pkg/fanal/analyzer/language/dart/pub/testdata/happy.lock +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - crypto: - dependency: "direct main" - description: - name: crypto - url: "https://pub.flutter-io.cn" - source: hosted - version: "3.0.2" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - uuid: - dependency: transitive - description: - name: uuid - url: "https://pub.flutter-io.cn" - source: hosted - version: "3.0.6" -sdks: - dart: ">=2.18.0 <3.0.0" - flutter: ">=3.3.0" \ No newline at end of file diff --git a/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/collection-1.18.0/pubspec.yaml b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/collection-1.18.0/pubspec.yaml new file mode 100644 index 000000000000..2e54e00344a6 --- /dev/null +++ b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/collection-1.18.0/pubspec.yaml @@ -0,0 +1,16 @@ +name: collection +version: 1.18.0 +description: >- + Collections and utilities functions and classes related to collections. +repository: https://github.com/dart-lang/collection + +topics: + - data-structures + - collections + +environment: + sdk: ">=2.18.0 <4.0.0" + +dev_dependencies: + lints: ^2.0.1 + test: ^1.16.0 \ No newline at end of file diff --git a/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/crypto-3.0.3/pubspec.yaml b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/crypto-3.0.3/pubspec.yaml new file mode 100644 index 000000000000..29cc438636a8 --- /dev/null +++ b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/crypto-3.0.3/pubspec.yaml @@ -0,0 +1,17 @@ +name: crypto +version: 3.0.3 +description: Implementations of SHA, MD5, and HMAC cryptographic functions. +repository: https://github.com/dart-lang/crypto +topics: + - crypto + +environment: + sdk: '>=2.19.0 <3.0.0' + +dependencies: + typed_data: ^1.3.0 + +dev_dependencies: + convert: ^3.0.0 + dart_flutter_team_lints: ^1.0.0 + test: ^1.16.0 \ No newline at end of file diff --git a/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/meta-1.11.0/pubspec.yaml b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/meta-1.11.0/pubspec.yaml new file mode 100644 index 000000000000..d4c6f0f86340 --- /dev/null +++ b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/meta-1.11.0/pubspec.yaml @@ -0,0 +1,17 @@ +name: meta +# Note, because version `2.0.0` was mistakenly released, the next major version must be `3.x.y`. +version: 1.11.0 +description: >- + Annotations used to express developer intentions that can't otherwise be + deduced by statically analyzing source code. +repository: https://github.com/dart-lang/sdk/tree/main/pkg/meta + +environment: + sdk: ">=2.12.0 <4.0.0" + +# We use 'any' version constraints here as we get our package versions from +# the dart-lang/sdk repo's DEPS file. Note that this is a special case; the +# best practice for packages is to specify their compatible version ranges. +# See also https://dart.dev/tools/pub/dependencies. +dev_dependencies: + lints: any diff --git a/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/typed_data-1.3.2/pubspec.yaml b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/typed_data-1.3.2/pubspec.yaml new file mode 100644 index 000000000000..642bf644115c --- /dev/null +++ b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/cache/hosted/pub.dev/typed_data-1.3.2/pubspec.yaml @@ -0,0 +1,18 @@ +name: typed_data +version: 1.3.2 +description: >- + Utility functions and classes related to the dart:typed_data library. +repository: https://github.com/dart-lang/typed_data + +topics: + - data-structures + +environment: + sdk: '>=2.17.0 <4.0.0' + +dependencies: + collection: ^1.15.0 + +dev_dependencies: + dart_flutter_team_lints: ^0.1.0 + test: ^1.16.0 \ No newline at end of file diff --git a/pkg/fanal/analyzer/language/dart/pub/testdata/happy/pubspec.lock b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/pubspec.lock new file mode 100644 index 000000000000..d3bd9670042c --- /dev/null +++ b/pkg/fanal/analyzer/language/dart/pub/testdata/happy/pubspec.lock @@ -0,0 +1,37 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + collection: + dependency: transitive + description: + name: collection + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" + source: hosted + version: "1.17.0" + crypto: + dependency: "direct main" + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + meta: + dependency: "direct dev" + description: + name: meta + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" +sdks: + dart: ">=3.1.0 <4.0.0" \ No newline at end of file From 05b3c86a14ba9e0287f5e9fdb9c44a30ea57f4f5 Mon Sep 17 00:00:00 2001 From: yoshinorin Date: Mon, 23 Oct 2023 15:10:39 +0900 Subject: [PATCH 079/338] docs(misconf): fix broken table for `Use container image` section (#5425) --- docs/getting-started/installation.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 0581f1dc1d72..d142931fd462 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -149,10 +149,11 @@ Example: docker run -v /var/run/docker.sock:/var/run/docker.sock -v $HOME/Library/Caches:/root/.cache/ aquasec/trivy:{{ git.tag[1:] }} image python:3.4-alpine ``` -Registry | Repository | Link | Supportability -Docker Hub | `docker.io/aquasec/trivy` | https://hub.docker.com/r/aquasec/trivy | Official -GitHub Container Registry (GHCR) | `ghcr.io/aquasecurity/trivy` | https://github.com/orgs/aquasecurity/packages/container/package/trivy | Official -AWS Elastic Container Registry (ECR) | `public.ecr.aws/aquasecurity/trivy` | https://gallery.ecr.aws/aquasecurity/trivy | Official +| Registry | Repository | Link | Supportability | +|--------------------------------------|-------------------------------------|-----------------------------------------------------------------------|----------------| +| Docker Hub | `docker.io/aquasec/trivy` | https://hub.docker.com/r/aquasec/trivy | Official | +| GitHub Container Registry (GHCR) | `ghcr.io/aquasecurity/trivy` | https://github.com/orgs/aquasecurity/packages/container/package/trivy | Official | +| AWS Elastic Container Registry (ECR) | `public.ecr.aws/aquasecurity/trivy` | https://gallery.ecr.aws/aquasecurity/trivy | Official | ## Other Tools to use and deploy Trivy From 01c98d1516047f6dd41e1d943f0ead3b27e53c93 Mon Sep 17 00:00:00 2001 From: simar7 <1254783+simar7@users.noreply.github.com> Date: Mon, 23 Oct 2023 01:32:08 -0600 Subject: [PATCH 080/338] feat(misconf): Support `--ignore-policy` in config scans (#5359) Signed-off-by: Simar --- .../configuration/cli/trivy_config.md | 1 + pkg/commands/app.go | 1 - pkg/result/filter.go | 25 ++++--- pkg/result/filter_test.go | 67 ++++++++++++++++++- .../testdata/test-ignore-policy-misconf.rego | 9 +++ 5 files changed, 93 insertions(+), 10 deletions(-) create mode 100644 pkg/result/testdata/test-ignore-policy-misconf.rego diff --git a/docs/docs/references/configuration/cli/trivy_config.md b/docs/docs/references/configuration/cli/trivy_config.md index 76a0bf91cb3b..9cb61d2990c2 100644 --- a/docs/docs/references/configuration/cli/trivy_config.md +++ b/docs/docs/references/configuration/cli/trivy_config.md @@ -24,6 +24,7 @@ trivy config [flags] DIR --helm-set-string strings specify Helm string values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2) --helm-values strings specify paths to override the Helm values.yaml files -h, --help help for config + --ignore-policy string specify the Rego file path to evaluate each vulnerability --ignorefile string specify .trivyignore file (default ".trivyignore") --include-non-failures include successes and exceptions, available with '--scanners config' --k8s-version string specify k8s version to validate outdated api by it (example: 1.21.0) diff --git a/pkg/commands/app.go b/pkg/commands/app.go index b9937b6b8756..85cf164275ff 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -622,7 +622,6 @@ func NewServerCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { func NewConfigCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { reportFlagGroup := flag.NewReportFlagGroup() reportFlagGroup.DependencyTree = nil // disable '--dependency-tree' - reportFlagGroup.IgnorePolicy = nil // disable '--ignore-policy' reportFlagGroup.ListAllPkgs = nil // disable '--list-all-pkgs' reportFlagGroup.ExitOnEOL = nil // disable '--exit-on-eol' reportFormat := flag.ReportFormatFlag diff --git a/pkg/result/filter.go b/pkg/result/filter.go index 8e2df0b92db9..9dc738d318aa 100644 --- a/pkg/result/filter.go +++ b/pkg/result/filter.go @@ -65,18 +65,24 @@ func FilterResult(ctx context.Context, result *types.Result, ignoreConf IgnoreCo result.Secrets = filterSecrets(result, severities, ignoreConf.Secrets) result.Licenses = filterLicenses(result.Licenses, severities, opt.IgnoreLicenses, ignoreConf.Licenses) + var ignoredMisconfs int if opt.PolicyFile != "" { var err error - filteredVulns, filteredMisconfs, err = applyPolicy(ctx, filteredVulns, filteredMisconfs, opt.PolicyFile) + var ignored int + filteredVulns, filteredMisconfs, ignored, err = applyPolicy(ctx, filteredVulns, filteredMisconfs, opt.PolicyFile) if err != nil { return xerrors.Errorf("failed to apply the policy: %w", err) } + ignoredMisconfs += ignored } sort.Sort(types.BySeverity(filteredVulns)) result.Vulnerabilities = filteredVulns - result.Misconfigurations = filteredMisconfs result.MisconfSummary = misconfSummary + if result.MisconfSummary != nil { + result.MisconfSummary.Exceptions += ignoredMisconfs + } + result.Misconfigurations = filteredMisconfs return nil } @@ -147,6 +153,7 @@ func filterMisconfigurations(result *types.Result, severities []string, includeN continue } else if ignoreMisconfs.Match(result.Target, misconf.ID) || ignoreMisconfs.Match(result.Target, misconf.AVDID) { // Filter misconfigurations by ignore file + summary.Exceptions++ continue } @@ -215,10 +222,10 @@ func summarize(status types.MisconfStatus, summary *types.MisconfSummary) { } func applyPolicy(ctx context.Context, vulns []types.DetectedVulnerability, misconfs []types.DetectedMisconfiguration, - policyFile string) ([]types.DetectedVulnerability, []types.DetectedMisconfiguration, error) { + policyFile string) ([]types.DetectedVulnerability, []types.DetectedMisconfiguration, int, error) { policy, err := os.ReadFile(policyFile) if err != nil { - return nil, nil, xerrors.Errorf("unable to read the policy file: %w", err) + return nil, nil, 0, xerrors.Errorf("unable to read the policy file: %w", err) } query, err := rego.New( @@ -227,7 +234,7 @@ func applyPolicy(ctx context.Context, vulns []types.DetectedVulnerability, misco rego.Module("trivy.rego", string(policy)), ).PrepareForEval(ctx) if err != nil { - return nil, nil, xerrors.Errorf("unable to prepare for eval: %w", err) + return nil, nil, 0, xerrors.Errorf("unable to prepare for eval: %w", err) } // Vulnerabilities @@ -235,7 +242,7 @@ func applyPolicy(ctx context.Context, vulns []types.DetectedVulnerability, misco for _, vuln := range vulns { ignored, err := evaluate(ctx, query, vuln) if err != nil { - return nil, nil, err + return nil, nil, 0, err } if ignored { continue @@ -244,18 +251,20 @@ func applyPolicy(ctx context.Context, vulns []types.DetectedVulnerability, misco } // Misconfigurations + var ignoredMisconfs int var filteredMisconfs []types.DetectedMisconfiguration for _, misconf := range misconfs { ignored, err := evaluate(ctx, query, misconf) if err != nil { - return nil, nil, err + return nil, nil, 0, err } if ignored { + ignoredMisconfs++ continue } filteredMisconfs = append(filteredMisconfs, misconf) } - return filteredVulns, filteredMisconfs, nil + return filteredVulns, filteredMisconfs, ignoredMisconfs, nil } func evaluate(ctx context.Context, query rego.PreparedEvalQuery, input interface{}) (bool, error) { results, err := query.Eval(ctx, rego.EvalInput(input)) diff --git a/pkg/result/filter_test.go b/pkg/result/filter_test.go index 96698a1874cd..afe32726aa43 100644 --- a/pkg/result/filter_test.go +++ b/pkg/result/filter_test.go @@ -383,6 +383,11 @@ func TestFilter(t *testing.T) { { Target: "Dockerfile", Class: types.ClassConfig, + MisconfSummary: &types.MisconfSummary{ + Successes: 0, + Failures: 0, + Exceptions: 1, + }, }, { Secrets: []ftypes.SecretFinding{ @@ -584,7 +589,7 @@ func TestFilter(t *testing.T) { MisconfSummary: &types.MisconfSummary{ Successes: 0, Failures: 1, - Exceptions: 0, + Exceptions: 2, }, Misconfigurations: []types.DetectedMisconfiguration{ { @@ -685,6 +690,66 @@ func TestFilter(t *testing.T) { }, }, }, + { + name: "ignore file for misconf", + args: args{ + report: types.Report{ + Results: types.Results{ + { + Misconfigurations: []types.DetectedMisconfiguration{ + { + ID: "AVD-TEST-0001", + AVDID: "AVD-TEST-0001", + Title: "test-0001", + Description: "foo", + Severity: dbTypes.SeverityHigh.String(), + Status: types.StatusFailure, + }, + { + ID: "AVD-TEST-0002", + AVDID: "AVD-TEST-0002", + Title: "test-0002", + Description: "bar", + Severity: dbTypes.SeverityHigh.String(), + Status: types.StatusPassed, + }, + { // this misconf is ignored + ID: "AVD-TEST-0003", + AVDID: "AVD-TEST-0003", + Title: "test-0003", + Description: "baz", + Severity: dbTypes.SeverityHigh.String(), + Status: types.StatusFailure, + }, + }, + }, + }, + }, + severities: []dbTypes.Severity{dbTypes.SeverityHigh}, + policyFile: "./testdata/test-ignore-policy-misconf.rego", + }, + want: types.Report{ + Results: types.Results{ + { + MisconfSummary: &types.MisconfSummary{ + Successes: 1, + Failures: 2, + Exceptions: 1, + }, + Misconfigurations: []types.DetectedMisconfiguration{ + { + ID: "AVD-TEST-0001", + AVDID: "AVD-TEST-0001", + Title: "test-0001", + Description: "foo", + Severity: dbTypes.SeverityHigh.String(), + Status: types.StatusFailure, + }, + }, + }, + }, + }, + }, { name: "happy path with duplicates, one with empty fixed version", args: args{ diff --git a/pkg/result/testdata/test-ignore-policy-misconf.rego b/pkg/result/testdata/test-ignore-policy-misconf.rego new file mode 100644 index 000000000000..39838ef27210 --- /dev/null +++ b/pkg/result/testdata/test-ignore-policy-misconf.rego @@ -0,0 +1,9 @@ +package trivy + +import data.lib.trivy + +default ignore=false + +ignore { + input.AVDID != "AVD-TEST-0001" +} From 53c9a7d762c1629d4351daf12d28dd871779d70e Mon Sep 17 00:00:00 2001 From: simar7 <1254783+simar7@users.noreply.github.com> Date: Tue, 24 Oct 2023 07:03:02 -0600 Subject: [PATCH 081/338] docs(misconf): Update `--tf-exclude-downloaded-modules` description (#5419) --- docs/docs/coverage/iac/terraform.md | 2 +- docs/docs/references/configuration/cli/trivy_aws.md | 2 +- docs/docs/references/configuration/cli/trivy_config.md | 2 +- docs/docs/references/configuration/cli/trivy_filesystem.md | 2 +- docs/docs/references/configuration/cli/trivy_image.md | 2 +- docs/docs/references/configuration/cli/trivy_kubernetes.md | 2 +- docs/docs/references/configuration/cli/trivy_repository.md | 2 +- docs/docs/references/configuration/cli/trivy_rootfs.md | 2 +- docs/docs/references/configuration/cli/trivy_vm.md | 2 +- pkg/flag/misconf_flags.go | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/docs/coverage/iac/terraform.md b/docs/docs/coverage/iac/terraform.md index 7d41ea763603..a8dc17a28fae 100644 --- a/docs/docs/coverage/iac/terraform.md +++ b/docs/docs/coverage/iac/terraform.md @@ -35,7 +35,7 @@ trivy conf --tf-vars dev.terraform.tfvars ./infrastructure/tf ### Exclude Downloaded Terraform Modules By default, downloaded modules are also scanned. -If you don't want to scan modules downloaded into the `.terraform` directory, you can use the `--tf-exclude-downloaded-modules` flag. +If you don't want to scan them, you can use the `--tf-exclude-downloaded-modules` flag. ```bash trivy conf --tf-exclude-downloaded-modules ./configs diff --git a/docs/docs/references/configuration/cli/trivy_aws.md b/docs/docs/references/configuration/cli/trivy_aws.md index 455e2abf298b..e7e5651c91d4 100644 --- a/docs/docs/references/configuration/cli/trivy_aws.md +++ b/docs/docs/references/configuration/cli/trivy_aws.md @@ -95,7 +95,7 @@ trivy aws [flags] --skip-policy-update skip fetching rego policy updates --skip-service strings Skip selected AWS Service(s) specified with this flag. Can specify multiple services using --skip-service A --skip-service B etc. -t, --template string output template - --tf-exclude-downloaded-modules remove results for downloaded modules in .terraform folder + --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files --trace enable more verbose trace output for custom queries --update-cache Update the cache for the applicable cloud provider instead of using cached results. diff --git a/docs/docs/references/configuration/cli/trivy_config.md b/docs/docs/references/configuration/cli/trivy_config.md index 9cb61d2990c2..8dfc097e3f29 100644 --- a/docs/docs/references/configuration/cli/trivy_config.md +++ b/docs/docs/references/configuration/cli/trivy_config.md @@ -45,7 +45,7 @@ trivy config [flags] DIR --skip-files strings specify the files or glob patterns to skip --skip-policy-update skip fetching rego policy updates -t, --template string output template - --tf-exclude-downloaded-modules remove results for downloaded modules in .terraform folder + --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files --trace enable more verbose trace output for custom queries --username strings username. Comma-separated usernames allowed. diff --git a/docs/docs/references/configuration/cli/trivy_filesystem.md b/docs/docs/references/configuration/cli/trivy_filesystem.md index 8c681b57c6b2..bfeb6302ce40 100644 --- a/docs/docs/references/configuration/cli/trivy_filesystem.md +++ b/docs/docs/references/configuration/cli/trivy_filesystem.md @@ -78,7 +78,7 @@ trivy filesystem [flags] PATH --skip-policy-update skip fetching rego policy updates --slow scan over time with lower CPU and memory utilization -t, --template string output template - --tf-exclude-downloaded-modules remove results for downloaded modules in .terraform folder + --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files --token string for authentication in client/server mode --token-header string specify a header name for token in client/server mode (default "Trivy-Token") diff --git a/docs/docs/references/configuration/cli/trivy_image.md b/docs/docs/references/configuration/cli/trivy_image.md index 1effd26cacf4..dd96a620e634 100644 --- a/docs/docs/references/configuration/cli/trivy_image.md +++ b/docs/docs/references/configuration/cli/trivy_image.md @@ -99,7 +99,7 @@ trivy image [flags] IMAGE_NAME --skip-policy-update skip fetching rego policy updates --slow scan over time with lower CPU and memory utilization -t, --template string output template - --tf-exclude-downloaded-modules remove results for downloaded modules in .terraform folder + --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files --token string for authentication in client/server mode --token-header string specify a header name for token in client/server mode (default "Trivy-Token") diff --git a/docs/docs/references/configuration/cli/trivy_kubernetes.md b/docs/docs/references/configuration/cli/trivy_kubernetes.md index e140d054f270..3fd04a287b69 100644 --- a/docs/docs/references/configuration/cli/trivy_kubernetes.md +++ b/docs/docs/references/configuration/cli/trivy_kubernetes.md @@ -89,7 +89,7 @@ trivy kubernetes [flags] { cluster | all | specific resources like kubectl. eg: --skip-policy-update skip fetching rego policy updates --slow scan over time with lower CPU and memory utilization -t, --template string output template - --tf-exclude-downloaded-modules remove results for downloaded modules in .terraform folder + --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files --tolerations strings specify node-collector job tolerations (example: key1=value1:NoExecute,key2=value2:NoSchedule) --trace enable more verbose trace output for custom queries diff --git a/docs/docs/references/configuration/cli/trivy_repository.md b/docs/docs/references/configuration/cli/trivy_repository.md index 6cf418c5780e..984a40a28af6 100644 --- a/docs/docs/references/configuration/cli/trivy_repository.md +++ b/docs/docs/references/configuration/cli/trivy_repository.md @@ -78,7 +78,7 @@ trivy repository [flags] (REPO_PATH | REPO_URL) --slow scan over time with lower CPU and memory utilization --tag string pass the tag name to be scanned -t, --template string output template - --tf-exclude-downloaded-modules remove results for downloaded modules in .terraform folder + --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files --token string for authentication in client/server mode --token-header string specify a header name for token in client/server mode (default "Trivy-Token") diff --git a/docs/docs/references/configuration/cli/trivy_rootfs.md b/docs/docs/references/configuration/cli/trivy_rootfs.md index 69bcdb282d5c..bb007e1210f6 100644 --- a/docs/docs/references/configuration/cli/trivy_rootfs.md +++ b/docs/docs/references/configuration/cli/trivy_rootfs.md @@ -79,7 +79,7 @@ trivy rootfs [flags] ROOTDIR --skip-policy-update skip fetching rego policy updates --slow scan over time with lower CPU and memory utilization -t, --template string output template - --tf-exclude-downloaded-modules remove results for downloaded modules in .terraform folder + --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files --token string for authentication in client/server mode --token-header string specify a header name for token in client/server mode (default "Trivy-Token") diff --git a/docs/docs/references/configuration/cli/trivy_vm.md b/docs/docs/references/configuration/cli/trivy_vm.md index e294f010cfca..2a2067c2c0df 100644 --- a/docs/docs/references/configuration/cli/trivy_vm.md +++ b/docs/docs/references/configuration/cli/trivy_vm.md @@ -70,7 +70,7 @@ trivy vm [flags] VM_IMAGE --skip-java-db-update skip updating Java index database --slow scan over time with lower CPU and memory utilization -t, --template string output template - --tf-exclude-downloaded-modules remove results for downloaded modules in .terraform folder + --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files --token string for authentication in client/server mode --token-header string specify a header name for token in client/server mode (default "Trivy-Token") diff --git a/pkg/flag/misconf_flags.go b/pkg/flag/misconf_flags.go index bf21b9aab642..74e18113433d 100644 --- a/pkg/flag/misconf_flags.go +++ b/pkg/flag/misconf_flags.go @@ -59,7 +59,7 @@ var ( Name: "tf-exclude-downloaded-modules", ConfigName: "misconfiguration.terraform.exclude-downloaded-modules", Default: false, - Usage: "remove results for downloaded modules in .terraform folder", + Usage: "exclude misconfigurations for downloaded terraform modules", } PolicyBundleRepositoryFlag = Flag{ Name: "policy-bundle-repository", From 57fa701a87baea1d8ffe4d68a311ad410024ce8a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Oct 2023 09:42:55 +0900 Subject: [PATCH 082/338] chore(deps): bump google.golang.org/grpc from 1.57.0 to 1.57.1 (#5447) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5d496371fa04..9bfc015fbee1 100644 --- a/go.mod +++ b/go.mod @@ -369,7 +369,7 @@ require ( google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect - google.golang.org/grpc v1.57.0 // indirect + google.golang.org/grpc v1.57.1 // indirect gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 1fdfe563f603..4a0f12b89b39 100644 --- a/go.sum +++ b/go.sum @@ -2437,8 +2437,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= -google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= +google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= From 26b4959541b8fb10adb5f454ad930c6e2b68a0a8 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Thu, 26 Oct 2023 07:50:32 +0600 Subject: [PATCH 083/338] fix(java): download java-db once (#5442) --- pkg/fanal/analyzer/language/java/jar/jar.go | 15 +++++---------- pkg/javadb/client.go | 12 ++++++++---- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/pkg/fanal/analyzer/language/java/jar/jar.go b/pkg/fanal/analyzer/language/java/jar/jar.go index 8e4ed4820f18..0690fc0d9f20 100644 --- a/pkg/fanal/analyzer/language/java/jar/jar.go +++ b/pkg/fanal/analyzer/language/java/jar/jar.go @@ -15,7 +15,6 @@ import ( "github.com/aquasecurity/trivy/pkg/fanal/analyzer/language" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/javadb" - "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/parallel" ) @@ -34,8 +33,7 @@ var requiredExtensions = []string{ // javaLibraryAnalyzer analyzes jar/war/ear/par files type javaLibraryAnalyzer struct { - client *javadb.DB - slow bool + slow bool } func newJavaLibraryAnalyzer(options analyzer.AnalyzerOptions) (analyzer.PostAnalyzer, error) { @@ -46,23 +44,20 @@ func newJavaLibraryAnalyzer(options analyzer.AnalyzerOptions) (analyzer.PostAnal func (a *javaLibraryAnalyzer) PostAnalyze(ctx context.Context, input analyzer.PostAnalysisInput) (*analyzer.AnalysisResult, error) { // TODO: think about the sonatype API and "--offline" - var err error - log.Logger.Info("JAR files found") - a.client, err = javadb.NewClient() + client, err := javadb.NewClient() if err != nil { return nil, xerrors.Errorf("Unable to initialize the Java DB: %s", err) } - defer func() { _ = a.client.Close() }() - log.Logger.Info("Analyzing JAR files takes a while...") + defer func() { _ = client.Close() }() // Skip analyzing JAR files as the nil client means the Java DB was not downloaded successfully. - if a.client == nil { + if client == nil { return nil, nil } // It will be called on each JAR file onFile := func(path string, info fs.FileInfo, r dio.ReadSeekerAt) (*types.Application, error) { - p := jar.NewParser(a.client, jar.WithSize(info.Size()), jar.WithFilePath(path)) + p := jar.NewParser(client, jar.WithSize(info.Size()), jar.WithFilePath(path)) return language.ParsePackage(types.Jar, path, r, p, input.Options.FileChecksum) } diff --git a/pkg/javadb/client.go b/pkg/javadb/client.go index f2a68abedb00..e1b67b81f781 100644 --- a/pkg/javadb/client.go +++ b/pkg/javadb/client.go @@ -7,6 +7,7 @@ import ( "os" "path/filepath" "sort" + "sync" "time" "golang.org/x/xerrors" @@ -31,6 +32,7 @@ type Updater struct { skip bool quiet bool registryOption ftypes.RegistryOptions + once sync.Once // we need to update java-db once per run } func (u *Updater) Update() error { @@ -93,10 +95,12 @@ func Update() error { if updater == nil { return xerrors.New("Java DB client not initialized") } - if err := updater.Update(); err != nil { - return xerrors.Errorf("Java DB update error: %w", err) - } - return nil + + var err error + updater.once.Do(func() { + err = updater.Update() + }) + return err } type DB struct { From 013d9019938aef50fabaa0aec75f956ffe784aee Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Sat, 28 Oct 2023 09:32:13 +0600 Subject: [PATCH 084/338] docs: fix error when installing `PyYAML` for gh pages (#5462) --- .github/workflows/mkdocs-dev.yaml | 1 + .github/workflows/mkdocs-latest.yaml | 1 + .github/workflows/test-docs.yaml | 1 + docs/build/Dockerfile | 2 +- docs/build/requirements.txt | 2 +- 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mkdocs-dev.yaml b/.github/workflows/mkdocs-dev.yaml index 9c608ca08eec..ed3c650e4995 100644 --- a/.github/workflows/mkdocs-dev.yaml +++ b/.github/workflows/mkdocs-dev.yaml @@ -21,6 +21,7 @@ jobs: python-version: 3.x - name: Install dependencies run: | + python -m pip install --upgrade pip setuptools wheel pip install git+https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git pip install -r docs/build/requirements.txt env: diff --git a/.github/workflows/mkdocs-latest.yaml b/.github/workflows/mkdocs-latest.yaml index 9996fe7faa66..fd811e31e87e 100644 --- a/.github/workflows/mkdocs-latest.yaml +++ b/.github/workflows/mkdocs-latest.yaml @@ -23,6 +23,7 @@ jobs: python-version: 3.x - name: Install dependencies run: | + python -m pip install --upgrade pip setuptools wheel pip install git+https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git pip install -r docs/build/requirements.txt env: diff --git a/.github/workflows/test-docs.yaml b/.github/workflows/test-docs.yaml index 43343a9c3fd0..11f4149da86d 100644 --- a/.github/workflows/test-docs.yaml +++ b/.github/workflows/test-docs.yaml @@ -19,6 +19,7 @@ jobs: python-version: 3.x - name: Install dependencies run: | + python -m pip install --upgrade pip setuptools wheel pip install -r docs/build/requirements.txt - name: Configure the git user run: | diff --git a/docs/build/Dockerfile b/docs/build/Dockerfile index 7ebaa1edc0c0..8a90ffcc8fb2 100644 --- a/docs/build/Dockerfile +++ b/docs/build/Dockerfile @@ -1,4 +1,4 @@ -FROM squidfunk/mkdocs-material:8.3.9 +FROM squidfunk/mkdocs-material:9.4.6 ## If you want to see exactly the same version as is published to GitHub pages ## use a private image for insiders, which requires authentication. diff --git a/docs/build/requirements.txt b/docs/build/requirements.txt index 6ca9dba41a1d..68bdb94f2b3a 100644 --- a/docs/build/requirements.txt +++ b/docs/build/requirements.txt @@ -20,7 +20,7 @@ Pygments==2.12.0 pymdown-extensions==9.5 pyparsing==3.0.8 python-dateutil==2.8.2 -PyYAML==6.0 +PyYAML==6.0.1 pyyaml-env-tag==0.1 six==1.16.0 termcolor==1.1.0 From 048150d433bf1512596d86004c80e5ff1a9d3e0b Mon Sep 17 00:00:00 2001 From: Takahiro Tsuruda Date: Sat, 28 Oct 2023 13:06:11 +0900 Subject: [PATCH 085/338] docs: fix the broken link (#5454) Co-authored-by: knqyf263 --- docs/docs/scanner/misconfiguration/custom/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/scanner/misconfiguration/custom/index.md b/docs/docs/scanner/misconfiguration/custom/index.md index 2316668f2ecb..064aa7364f4a 100644 --- a/docs/docs/scanner/misconfiguration/custom/index.md +++ b/docs/docs/scanner/misconfiguration/custom/index.md @@ -201,4 +201,4 @@ See [here](schema.md) for the detail. [rego]: https://www.openpolicyagent.org/docs/latest/policy-language/ [package]: https://www.openpolicyagent.org/docs/latest/policy-language/#packages -[source-types]: https://github.com/aquasecurity/defsec/blob/418759b4dc97af25f30f32e0bd365be7984003a1/pkg/types/sources.go) +[source-types]: https://github.com/aquasecurity/defsec/blob/418759b4dc97af25f30f32e0bd365be7984003a1/pkg/types/sources.go From ca50b77a35670082530a99f41dfcdbac487f5fd1 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Sat, 28 Oct 2023 10:09:36 +0600 Subject: [PATCH 086/338] fix(sbom): save digests for package/application when scanning SBOM files (#5432) Signed-off-by: knqyf263 Co-authored-by: knqyf263 --- pkg/fanal/applier/docker.go | 8 +++ pkg/fanal/applier/docker_test.go | 82 ++++++++++++++++++++++++++++ pkg/sbom/cyclonedx/unmarshal.go | 2 + pkg/sbom/cyclonedx/unmarshal_test.go | 2 + 4 files changed, 94 insertions(+) diff --git a/pkg/fanal/applier/docker.go b/pkg/fanal/applier/docker.go index 824da3a9ea13..b0f42d957eec 100644 --- a/pkg/fanal/applier/docker.go +++ b/pkg/fanal/applier/docker.go @@ -203,6 +203,10 @@ func ApplyLayers(layers []types.BlobInfo) types.ArtifactDetail { } for i, pkg := range mergedLayer.Packages { + // Skip lookup for SBOM + if !lo.IsEmpty(pkg.Layer) { + continue + } originLayerDigest, originLayerDiffID, buildInfo := lookupOriginLayerForPkg(pkg, layers) mergedLayer.Packages[i].Layer = types.Layer{ Digest: originLayerDigest, @@ -218,6 +222,10 @@ func ApplyLayers(layers []types.BlobInfo) types.ArtifactDetail { for _, app := range mergedLayer.Applications { for i, lib := range app.Libraries { + // Skip lookup for SBOM + if !lo.IsEmpty(lib.Layer) { + continue + } originLayerDigest, originLayerDiffID := lookupOriginLayerForLib(app.FilePath, lib, layers) app.Libraries[i].Layer = types.Layer{ Digest: originLayerDigest, diff --git a/pkg/fanal/applier/docker_test.go b/pkg/fanal/applier/docker_test.go index 0e0ae93c8e01..dbd2c3c4a9fb 100644 --- a/pkg/fanal/applier/docker_test.go +++ b/pkg/fanal/applier/docker_test.go @@ -199,6 +199,88 @@ func TestApplyLayers(t *testing.T) { }, }, }, + { + name: "happy path with digests in libs/packages (as for SBOM)", + inputLayers: []types.BlobInfo{ + { + SchemaVersion: 2, + OS: types.OS{ + Family: "debian", + Name: "11.8", + }, + PackageInfos: []types.PackageInfo{ + { + Packages: types.Packages{ + { + ID: "adduser@3.118+deb11u1", + Name: "adduser", + Version: "3.118+deb11u1", + Arch: "all", + SrcName: "adduser", + SrcVersion: "3.118+deb11u1", + Ref: "pkg:deb/debian/adduser@3.118%2Bdeb11u1?arch=all&distro=debian-11.8", + Layer: types.Layer{ + Digest: "sha256:e67fdae3559346105027c63e7fb032bba57e62b1fe9f2da23e6fdfb56384e00b", + DiffID: "sha256:633f5bf471f7595b236a21e62dc60beef321db45916363a02ad5af02d794d497", + }, + }, + }, + }, + }, + Applications: []types.Application{ + { + Type: types.PythonPkg, + Libraries: types.Packages{ + { + Name: "pip", + Version: "23.0.1", + Layer: types.Layer{ + DiffID: "sha256:1def056a3160854c9395aa76282dd62172ec08c18a5fa03bb7d50a777c15ba99", + }, + FilePath: "usr/local/lib/python3.9/site-packages/pip-23.0.1.dist-info/METADATA", + }, + }, + }, + }, + }, + }, + want: types.ArtifactDetail{ + OS: types.OS{ + Family: "debian", + Name: "11.8", + }, + Packages: types.Packages{ + { + ID: "adduser@3.118+deb11u1", + Name: "adduser", + Version: "3.118+deb11u1", + Arch: "all", + SrcName: "adduser", + SrcVersion: "3.118+deb11u1", + Ref: "pkg:deb/debian/adduser@3.118%2Bdeb11u1?arch=all&distro=debian-11.8", + Layer: types.Layer{ + Digest: "sha256:e67fdae3559346105027c63e7fb032bba57e62b1fe9f2da23e6fdfb56384e00b", + DiffID: "sha256:633f5bf471f7595b236a21e62dc60beef321db45916363a02ad5af02d794d497", + }, + }, + }, + Applications: []types.Application{ + { + Type: types.PythonPkg, + Libraries: types.Packages{ + { + Name: "pip", + Version: "23.0.1", + FilePath: "usr/local/lib/python3.9/site-packages/pip-23.0.1.dist-info/METADATA", + Layer: types.Layer{ + DiffID: "sha256:1def056a3160854c9395aa76282dd62172ec08c18a5fa03bb7d50a777c15ba99", + }, + }, + }, + }, + }, + }, + }, { name: "happy path with merging ubuntu version and ESM", inputLayers: []types.BlobInfo{ diff --git a/pkg/sbom/cyclonedx/unmarshal.go b/pkg/sbom/cyclonedx/unmarshal.go index 8282edae2c3f..97c24cf2797a 100644 --- a/pkg/sbom/cyclonedx/unmarshal.go +++ b/pkg/sbom/cyclonedx/unmarshal.go @@ -376,6 +376,8 @@ func toPackage(component cdx.Component) (*purl.PackageURL, *ftypes.Package, erro pkg.Modularitylabel = value case PropertyLayerDiffID: pkg.Layer.DiffID = value + case PropertyLayerDigest: + pkg.Layer.Digest = value case PropertyFilePath: pkg.FilePath = value } diff --git a/pkg/sbom/cyclonedx/unmarshal_test.go b/pkg/sbom/cyclonedx/unmarshal_test.go index 4ea9b17f44c1..26c5e5d7ff49 100644 --- a/pkg/sbom/cyclonedx/unmarshal_test.go +++ b/pkg/sbom/cyclonedx/unmarshal_test.go @@ -221,6 +221,7 @@ func TestUnmarshaler_Unmarshal(t *testing.T) { }, Ref: "pkg:deb/ubuntu/libc6@2.35-0ubuntu3.1?distro=ubuntu-22.04", Layer: ftypes.Layer{ + Digest: "sha256:74ac377868f863e123f24c409f79709f7563fa464557c36a09cf6f85c8b92b7f", DiffID: "sha256:b93c1bd012ab8fda60f5b4f5906bf244586e0e3292d84571d3abb56472248466", }, }, @@ -235,6 +236,7 @@ func TestUnmarshaler_Unmarshal(t *testing.T) { SrcEpoch: 1, Ref: "pkg:deb/ubuntu/libcrypt1@4.4.27-1?epoch=1&distro=ubuntu-22.04", Layer: ftypes.Layer{ + Digest: "sha256:74ac377868f863e123f24c409f79709f7563fa464557c36a09cf6f85c8b92b7f", DiffID: "sha256:b93c1bd012ab8fda60f5b4f5906bf244586e0e3292d84571d3abb56472248466", }, }, From 3e833be7d83542c6aa246dc2faeccd71f0329b19 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 Oct 2023 10:46:24 +0900 Subject: [PATCH 087/338] chore(deps): bump github.com/docker/docker from 24.0.5+incompatible to 24.0.7+incompatible (#5472) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9bfc015fbee1..e1065234f746 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( github.com/cenkalti/backoff v2.2.1+incompatible github.com/cheggaaa/pb/v3 v3.1.4 github.com/containerd/containerd v1.7.5 - github.com/docker/docker v24.0.5+incompatible + github.com/docker/docker v24.0.7+incompatible github.com/docker/go-connections v0.4.0 github.com/fatih/color v1.15.0 github.com/go-git/go-git/v5 v5.7.0 diff --git a/go.sum b/go.sum index 4a0f12b89b39..b2b219127869 100644 --- a/go.sum +++ b/go.sum @@ -738,8 +738,8 @@ github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m3 github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v23.0.0-rc.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v24.0.5+incompatible h1:WmgcE4fxyI6EEXxBRxsHnZXrO1pQ3smi0k/jho4HLeY= -github.com/docker/docker v24.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM= +github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= From e2fb3dd58f2800ffbeb106ace8e30032c2600e1e Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Tue, 31 Oct 2023 07:47:58 +0600 Subject: [PATCH 088/338] fix(java): fix infinite loop when `relativePath` field points to `pom.xml` being scanned (#5470) --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e1065234f746..64219e7f4c85 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/alicebob/miniredis/v2 v2.30.4 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 github.com/aquasecurity/defsec v0.93.1 - github.com/aquasecurity/go-dep-parser v0.0.0-20231013060839-6f348921ea39 + github.com/aquasecurity/go-dep-parser v0.0.0-20231030050624-4548cca9a5c9 github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798 github.com/aquasecurity/go-pep440-version v0.0.0-20210121094942-22b2f8951d46 diff --git a/go.sum b/go.sum index b2b219127869..ec4b0a00ae35 100644 --- a/go.sum +++ b/go.sum @@ -323,8 +323,8 @@ github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8= github.com/aquasecurity/defsec v0.93.1 h1:y4XgRknjs2M58XVLANBT1wulO7N6Rz1oyfwNuzID+h4= github.com/aquasecurity/defsec v0.93.1/go.mod h1:i80K4WRNbcIWDOQDWnTHkutBwplzw/uZD4laKbhu4sE= -github.com/aquasecurity/go-dep-parser v0.0.0-20231013060839-6f348921ea39 h1:5yB6PHCaU4yZzN1mMFnrpBerz2pgqYdDRRVSOj4EjVo= -github.com/aquasecurity/go-dep-parser v0.0.0-20231013060839-6f348921ea39/go.mod h1:RpdbxLhxxvWmv83HWNEiv+reFkmnV+GqHqr66mIU8nU= +github.com/aquasecurity/go-dep-parser v0.0.0-20231030050624-4548cca9a5c9 h1:AYees+PQjw47SEdM6e/xxgrFzHA+UWxQl6WndDzILNY= +github.com/aquasecurity/go-dep-parser v0.0.0-20231030050624-4548cca9a5c9/go.mod h1:RpdbxLhxxvWmv83HWNEiv+reFkmnV+GqHqr66mIU8nU= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce/go.mod h1:HXgVzOPvXhVGLJs4ZKO817idqr/xhwsTcj17CLYY74s= github.com/aquasecurity/go-mock-aws v0.0.0-20230810212901-d6feebd39060 h1:V7nC90NpRDEubNpNEgRDtTfLH3RKQlZeY9/HSqxEze8= From f3de7bc3becf72fc9e7e23fda0a272ba3d1ce8b5 Mon Sep 17 00:00:00 2001 From: chenk Date: Wed, 1 Nov 2023 11:31:48 +0200 Subject: [PATCH 089/338] feat: scan vulns on k8s core component apps (#5418) Signed-off-by: chenk --- go.mod | 16 +-- go.sum | 32 +++--- magefiles/magefile.go | 2 +- pkg/k8s/inject.go | 15 +++ pkg/k8s/k8s.go | 39 +++++++ pkg/k8s/report/report.go | 29 +++-- pkg/k8s/scanner/scanner.go | 193 ++++++++++++++++++++++++++++---- pkg/k8s/scanner/scanner_test.go | 156 +++++++++++++++++++++++++- pkg/k8s/wire_gen.go | 30 +++++ 9 files changed, 453 insertions(+), 59 deletions(-) create mode 100644 pkg/k8s/inject.go create mode 100644 pkg/k8s/k8s.go create mode 100644 pkg/k8s/wire_gen.go diff --git a/go.mod b/go.mod index 64219e7f4c85..50bf43cc8af5 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/aquasecurity/tml v0.6.1 github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 - github.com/aquasecurity/trivy-kubernetes v0.5.8-0.20230928134646-b414e546fe6d + github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231019164303-dcdfdc50763f github.com/aws/aws-sdk-go-v2 v1.21.2 github.com/aws/aws-sdk-go-v2/config v1.18.45 github.com/aws/aws-sdk-go-v2/credentials v1.13.43 @@ -107,7 +107,7 @@ require ( golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v3 v3.0.1 - k8s.io/api v0.28.1 + k8s.io/api v0.28.2 k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 modernc.org/sqlite v1.23.1 ) @@ -149,7 +149,7 @@ require ( github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect - github.com/aws/aws-sdk-go v1.45.19 // indirect + github.com/aws/aws-sdk-go v1.46.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 // indirect @@ -377,14 +377,14 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect helm.sh/helm/v3 v3.12.3 // indirect k8s.io/apiextensions-apiserver v0.27.3 // indirect - k8s.io/apimachinery v0.28.1 // indirect + k8s.io/apimachinery v0.28.2 // indirect k8s.io/apiserver v0.27.3 // indirect - k8s.io/cli-runtime v0.28.1 // indirect - k8s.io/client-go v0.28.1 // indirect - k8s.io/component-base v0.28.1 // indirect + k8s.io/cli-runtime v0.28.2 // indirect + k8s.io/client-go v0.28.2 // indirect + k8s.io/component-base v0.28.2 // indirect k8s.io/klog/v2 v2.100.1 // indirect k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/kubectl v0.28.1 // indirect + k8s.io/kubectl v0.28.2 // indirect lukechampine.com/uint128 v1.2.0 // indirect modernc.org/cc/v3 v3.40.0 // indirect modernc.org/ccgo/v3 v3.16.13 // indirect diff --git a/go.sum b/go.sum index ec4b0a00ae35..ab2d51067bd5 100644 --- a/go.sum +++ b/go.sum @@ -347,8 +347,8 @@ github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d h1:fjI9mkoTU github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d/go.mod h1:cj9/QmD9N3OZnKQMp+/DvdV+ym3HyIkd4e+F0ZM3ZGs= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 h1:0eS+V7SXHgqoT99tV1mtMW6HL4HdoB9qGLMCb1fZp8A= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728/go.mod h1:Ldya37FLi0e/5Cjq2T5Bty7cFkzUDwTcPeQua+2M8i8= -github.com/aquasecurity/trivy-kubernetes v0.5.8-0.20230928134646-b414e546fe6d h1:5urHj0NMGflp/M9Ll5QlKfo0Kf6nJ01RED1HRgl0CeE= -github.com/aquasecurity/trivy-kubernetes v0.5.8-0.20230928134646-b414e546fe6d/go.mod h1:e1RaMcs2R/C+eP1Pi7JyhDB7Qn1PNRg5rTVwuJL7AiE= +github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231019164303-dcdfdc50763f h1:HDWxGTNMAeX8LFUDQKME+JwE2sPkFEFLso1OicnoXgw= +github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231019164303-dcdfdc50763f/go.mod h1:k2Nf7s+Gx88BZE/yjBv7Kqdng/quv/hwaYI2bjSWFqY= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -363,8 +363,8 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3d github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.45.19 h1:+4yXWhldhCVXWFOQRF99ZTJ92t4DtoHROZIbN7Ujk/U= -github.com/aws/aws-sdk-go v1.45.19/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.46.1 h1:U26quvBWFZMQuultLw5tloW4GnmWaChEwMZNq8uYatw= +github.com/aws/aws-sdk-go v1.46.1/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.16.16/go.mod h1:SwiyXi/1zTUZ6KIAmLK5V5ll8SiURNUYOqTerZPaF9k= github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= github.com/aws/aws-sdk-go-v2 v1.17.5/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= @@ -2524,32 +2524,32 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= -k8s.io/api v0.28.1 h1:i+0O8k2NPBCPYaMB+uCkseEbawEt/eFaiRqUx8aB108= -k8s.io/api v0.28.1/go.mod h1:uBYwID+66wiL28Kn2tBjBYQdEU0Xk0z5qF8bIBqk/Dg= +k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw= +k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg= k8s.io/apiextensions-apiserver v0.27.3 h1:xAwC1iYabi+TDfpRhxh4Eapl14Hs2OftM2DN5MpgKX4= k8s.io/apiextensions-apiserver v0.27.3/go.mod h1:BH3wJ5NsB9XE1w+R6SSVpKmYNyIiyIz9xAmBl8Mb+84= k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= -k8s.io/apimachinery v0.28.1 h1:EJD40og3GizBSV3mkIoXQBsws32okPOy+MkRyzh6nPY= -k8s.io/apimachinery v0.28.1/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw= +k8s.io/apimachinery v0.28.2 h1:KCOJLrc6gu+wV1BYgwik4AF4vXOlVJPdiqn0yAWWwXQ= +k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDApU= k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= k8s.io/apiserver v0.27.3 h1:AxLvq9JYtveYWK+D/Dz/uoPCfz8JC9asR5z7+I/bbQ4= k8s.io/apiserver v0.27.3/go.mod h1:Y61+EaBMVWUBJtxD5//cZ48cHZbQD+yIyV/4iEBhhNA= -k8s.io/cli-runtime v0.28.1 h1:7Njc4eD5kaO4tYdSYVJJEs54koYD/vT6gxOq8dEVf9g= -k8s.io/cli-runtime v0.28.1/go.mod h1:yIThSWkAVLqeRs74CMkq6lNFW42GyJmvMtcNn01SZho= +k8s.io/cli-runtime v0.28.2 h1:64meB2fDj10/ThIMEJLO29a1oujSm0GQmKzh1RtA/uk= +k8s.io/cli-runtime v0.28.2/go.mod h1:bTpGOvpdsPtDKoyfG4EG041WIyFZLV9qq4rPlkyYfDA= k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= -k8s.io/client-go v0.28.1 h1:pRhMzB8HyLfVwpngWKE8hDcXRqifh1ga2Z/PU9SXVK8= -k8s.io/client-go v0.28.1/go.mod h1:pEZA3FqOsVkCc07pFVzK076R+P/eXqsgx5zuuRWukNE= +k8s.io/client-go v0.28.2 h1:DNoYI1vGq0slMBN/SWKMZMw0Rq+0EQW6/AK4v9+3VeY= +k8s.io/client-go v0.28.2/go.mod h1:sMkApowspLuc7omj1FOSUxSoqjr+d5Q0Yc0LOFnYFJY= k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= -k8s.io/component-base v0.28.1 h1:LA4AujMlK2mr0tZbQDZkjWbdhTV5bRyEyAFe0TJxlWg= -k8s.io/component-base v0.28.1/go.mod h1:jI11OyhbX21Qtbav7JkhehyBsIRfnO8oEgoAR12ArIU= +k8s.io/component-base v0.28.2 h1:Yc1yU+6AQSlpJZyvehm/NkJBII72rzlEsd6MkBQ+G0E= +k8s.io/component-base v0.28.2/go.mod h1:4IuQPQviQCg3du4si8GpMrhAIegxpsgPngPRR/zWpzc= k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= @@ -2562,8 +2562,8 @@ k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/kubectl v0.28.1 h1:jAq4yKEqQL+fwkWcEsUWxhJ7uIRcOYQraJxx4SyAMTY= -k8s.io/kubectl v0.28.1/go.mod h1:a0nk/lMMeKBulp0lMTJAKbkjZg1ykqfLfz/d6dnv1ak= +k8s.io/kubectl v0.28.2 h1:fOWOtU6S0smdNjG1PB9WFbqEIMlkzU5ahyHkc7ESHgM= +k8s.io/kubectl v0.28.2/go.mod h1:6EQWTPySF1fn7yKoQZHYf9TPwIl2AygHEcJoxFekr64= k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= diff --git a/magefiles/magefile.go b/magefiles/magefile.go index bc43487bca01..424c447ac945 100644 --- a/magefiles/magefile.go +++ b/magefiles/magefile.go @@ -108,7 +108,7 @@ func (Tool) Mockery() error { // Wire generates the wire_gen.go file for each package func Wire() error { mg.Deps(Tool{}.Wire) - return sh.RunV("wire", "gen", "./pkg/commands/...", "./pkg/rpc/...") + return sh.RunV("wire", "gen", "./pkg/commands/...", "./pkg/rpc/...", "./pkg/k8s/...") } // Mock generates mocks diff --git a/pkg/k8s/inject.go b/pkg/k8s/inject.go new file mode 100644 index 000000000000..31ffd2afffa7 --- /dev/null +++ b/pkg/k8s/inject.go @@ -0,0 +1,15 @@ +//go:build wireinject +// +build wireinject + +package k8s + +import ( + "github.com/google/wire" + + "github.com/aquasecurity/trivy/pkg/fanal/cache" +) + +func initializeScanK8s(localArtifactCache cache.LocalArtifactCache) *ScanKubernetes { + wire.Build(ScanSuperSet) + return &ScanKubernetes{} +} diff --git a/pkg/k8s/k8s.go b/pkg/k8s/k8s.go new file mode 100644 index 000000000000..faca5c25e924 --- /dev/null +++ b/pkg/k8s/k8s.go @@ -0,0 +1,39 @@ +package k8s + +import ( + "context" + + "github.com/google/wire" + + ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/scanner" + "github.com/aquasecurity/trivy/pkg/scanner/local" + "github.com/aquasecurity/trivy/pkg/types" +) + +// ScanSuperSet binds the dependencies for k8s +var ScanSuperSet = wire.NewSet( + local.SuperSet, + wire.Bind(new(scanner.Driver), new(local.Scanner)), + NewScanKubernetes, +) + +// ScanKubernetes implements the scanner +type ScanKubernetes struct { + localScanner local.Scanner +} + +// NewScanKubernetes is the factory method for scanner +func NewScanKubernetes(s local.Scanner) *ScanKubernetes { + return &ScanKubernetes{localScanner: s} +} + +// NewKubenetesScanner is the factory method for scanner +func NewKubenetesScanner() *ScanKubernetes { + return initializeScanK8s(nil) +} + +// // Scan scans k8s core components and return it findings +func (sk ScanKubernetes) Scan(ctx context.Context, target types.ScanTarget, options types.ScanOptions) (types.Results, ftypes.OS, error) { + return sk.localScanner.ScanTarget(ctx, target, options) +} diff --git a/pkg/k8s/report/report.go b/pkg/k8s/report/report.go index ca2e33cb39d8..bf0d0aaf8626 100644 --- a/pkg/k8s/report/report.go +++ b/pkg/k8s/report/report.go @@ -222,9 +222,22 @@ func infraResource(misConfig Resource) bool { } func CreateResource(artifact *artifacts.Artifact, report types.Report, err error) Resource { - results := make([]types.Result, 0, len(report.Results)) + r := CreateK8sResource(artifact, report.Results) + + r.Metadata = report.Metadata + r.Report = report + // if there was any error during the scan + if err != nil { + r.Error = err.Error() + } + + return r +} + +func CreateK8sResource(artifact *artifacts.Artifact, scanResults types.Results) Resource { + results := make([]types.Result, 0, len(scanResults)) // fix target name - for _, result := range report.Results { + for _, result := range scanResults { // if resource is a kubernetes file fix the target name, // to avoid showing the temp file that was removed. if result.Type == ftypes.Kubernetes { @@ -237,14 +250,12 @@ func CreateResource(artifact *artifacts.Artifact, report types.Report, err error Namespace: artifact.Namespace, Kind: artifact.Kind, Name: artifact.Name, - Metadata: report.Metadata, + Metadata: types.Metadata{}, Results: results, - Report: report, - } - - // if there was any error during the scan - if err != nil { - r.Error = err.Error() + Report: types.Report{ + Results: results, + ArtifactName: artifact.Name, + }, } return r diff --git a/pkg/k8s/scanner/scanner.go b/pkg/k8s/scanner/scanner.go index e4676665aeaf..f260e8b088e5 100644 --- a/pkg/k8s/scanner/scanner.go +++ b/pkg/k8s/scanner/scanner.go @@ -20,6 +20,7 @@ import ( "github.com/aquasecurity/trivy/pkg/digest" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/flag" + "github.com/aquasecurity/trivy/pkg/k8s" "github.com/aquasecurity/trivy/pkg/k8s/report" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/parallel" @@ -52,7 +53,6 @@ func NewScanner(cluster string, runner cmd.Runner, opts flag.Options) *Scanner { } func (s *Scanner) Scan(ctx context.Context, artifactsData []*artifacts.Artifact) (report.Report, error) { - // disable logs before scanning err := log.InitLogger(s.opts.Debug, true) if err != nil { @@ -80,6 +80,16 @@ func (s *Scanner) Scan(ctx context.Context, artifactsData []*artifacts.Artifact) RootComponent: rootComponent, }, nil } + var resourceArtifacts []*artifacts.Artifact + var k8sCoreArtifacts []*artifacts.Artifact + for _, artifact := range artifactsData { + if strings.HasSuffix(artifact.Kind, "Components") || strings.HasSuffix(artifact.Kind, "Cluster") { + k8sCoreArtifacts = append(k8sCoreArtifacts, artifact) + continue + } + resourceArtifacts = append(resourceArtifacts, artifact) + } + var resources []report.Resource type scanResult struct { @@ -129,11 +139,18 @@ func (s *Scanner) Scan(ctx context.Context, artifactsData []*artifacts.Artifact) return nil } - p := parallel.NewPipeline(s.opts.Parallel, !s.opts.Quiet, artifactsData, onItem, onResult) + p := parallel.NewPipeline(s.opts.Parallel, !s.opts.Quiet, resourceArtifacts, onItem, onResult) err = p.Do(ctx) if err != nil { return report.Report{}, err } + if s.opts.Scanners.AnyEnabled(types.VulnerabilityScanner) { + k8sResource, err := s.scanK8sVulns(ctx, k8sCoreArtifacts) + if err != nil { + return report.Report{}, err + } + resources = append(resources, k8sResource...) + } return report.Report{ SchemaVersion: 0, ClusterName: s.cluster, @@ -196,32 +213,152 @@ func (s *Scanner) filter(ctx context.Context, r types.Report, artifact *artifact } const ( - golang = "golang" - oci = "oci" - kubelet = "k8s.io/kubelet" - pod = "PodInfo" - clusterInfo = "ClusterInfo" - nodeInfo = "NodeInfo" - nodeCoreComponents = "node-core-components" + golang = "golang" + oci = "oci" + kubelet = "k8s.io/kubelet" + controlPlaneComponents = "ControlPlaneComponents" + clusterInfo = "Cluster" + nodeComponents = "NodeComponents" + nodeCoreComponents = "node-core-components" ) +func (s *Scanner) scanK8sVulns(ctx context.Context, artifactsData []*artifacts.Artifact) ([]report.Resource, error) { + var resources []report.Resource + var nodeName string + if nodeName = findNodeName(artifactsData); nodeName == "" { + return nil, fmt.Errorf("failed to find node name") + } + + k8sScanner := k8s.NewKubenetesScanner() + scanOptions := types.ScanOptions{ + Scanners: s.opts.Scanners, + VulnType: s.opts.VulnType, + } + for _, artifact := range artifactsData { + switch artifact.Kind { + case controlPlaneComponents: + var comp bom.Component + err := ms.Decode(artifact.RawResource, &comp) + if err != nil { + return nil, err + } + + lang := k8sNamespace(comp.Version, nodeName) + results, _, err := k8sScanner.Scan(ctx, types.ScanTarget{ + Applications: []ftypes.Application{ + { + Type: ftypes.LangType(lang), + FilePath: artifact.Name, + Libraries: []ftypes.Package{ + { + Name: comp.Name, + Version: comp.Version, + }, + }, + }, + }, + }, scanOptions) + if err != nil { + return nil, err + } + if results != nil { + resources = append(resources, report.CreateK8sResource(artifact, results)) + } + case nodeComponents: + var nf bom.NodeInfo + err := ms.Decode(artifact.RawResource, &nf) + if err != nil { + return nil, err + } + kubeletVersion := sanitizedVersion(nf.KubeletVersion) + lang := k8sNamespace(kubeletVersion, nodeName) + runtimeName, runtimeVersion := runtimeNameVersion(nf.ContainerRuntimeVersion) + results, _, err := k8sScanner.Scan(ctx, types.ScanTarget{ + Applications: []ftypes.Application{ + { + Type: ftypes.LangType(lang), + FilePath: artifact.Name, + Libraries: []ftypes.Package{ + { + Name: kubelet, + Version: kubeletVersion, + }, + }, + }, + { + Type: ftypes.GoBinary, + FilePath: artifact.Name, + Libraries: []ftypes.Package{ + { + Name: runtimeName, + Version: runtimeVersion, + }, + }, + }, + }, + }, scanOptions) + if err != nil { + return nil, err + } + if results != nil { + resources = append(resources, report.CreateK8sResource(artifact, results)) + } + case clusterInfo: + var cf bom.ClusterInfo + err := ms.Decode(artifact.RawResource, &cf) + if err != nil { + return nil, err + } + lang := k8sNamespace(cf.Version, nodeName) + + results, _, err := k8sScanner.Scan(ctx, types.ScanTarget{ + Applications: []ftypes.Application{ + { + Type: ftypes.LangType(lang), + FilePath: artifact.Name, + Libraries: []ftypes.Package{ + { + Name: cf.Name, + Version: cf.Version, + }, + }, + }, + }, + }, scanOptions) + if err != nil { + return nil, err + } + if results != nil { + resources = append(resources, report.CreateK8sResource(artifact, results)) + } + } + } + return resources, nil +} + +func findNodeName(allArtifact []*artifacts.Artifact) string { + for _, artifact := range allArtifact { + if artifact.Kind != nodeComponents { + continue + } + return artifact.Name + } + return "" +} + func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Component, error) { var coreComponents []*core.Component var cInfo *core.Component // Find the first node name to identify AKS cluster var nodeName string - for _, artifact := range allArtifact { - if artifact.Kind != nodeInfo { - continue - } - nodeName = artifact.Name - break + if nodeName = findNodeName(allArtifact); nodeName == "" { + return nil, fmt.Errorf("failed to find node name") } for _, artifact := range allArtifact { switch artifact.Kind { - case pod: + case controlPlaneComponents: var comp bom.Component err := ms.Decode(artifact.RawResource, &comp) if err != nil { @@ -271,7 +408,7 @@ func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Comp PackageURL: generatePURL(comp.Name, comp.Version, nodeName), } coreComponents = append(coreComponents, rootComponent) - case nodeInfo: + case nodeComponents: var nf bom.NodeInfo err := ms.Decode(artifact.RawResource, &nf) if err != nil { @@ -444,8 +581,22 @@ func toProperties(props map[string]string, namespace string) []core.Property { } func generatePURL(name, ver, nodeName string) *purl.PackageURL { - // Identify k8s distribution. An empty namespace means upstream. + var namespace string + // Identify k8s distribution. An empty namespace means upstream. + if namespace = k8sNamespace(ver, nodeName); namespace == "" { + return nil + } else if namespace == "kubernetes" { + namespace = "" + } + + return &purl.PackageURL{ + PackageURL: *packageurl.NewPackageURL(purl.TypeK8s, namespace, name, ver, nil, ""), + } +} + +func k8sNamespace(ver, nodeName string) string { + namespace := "kubernetes" switch { case strings.Contains(ver, "eks"): namespace = purl.NamespaceEKS @@ -456,13 +607,11 @@ func generatePURL(name, ver, nodeName string) *purl.PackageURL { case strings.Contains(ver, "hotfix"): if !strings.Contains(nodeName, "aks") { // Unknown k8s distribution - return nil + return "" } namespace = purl.NamespaceAKS case strings.Contains(nodeName, "ocp"): namespace = purl.NamespaceOCP } - return &purl.PackageURL{ - PackageURL: *packageurl.NewPackageURL(purl.TypeK8s, namespace, name, ver, nil, ""), - } + return namespace } diff --git a/pkg/k8s/scanner/scanner_test.go b/pkg/k8s/scanner/scanner_test.go index 7a7253a3c24b..ec6d78f73c05 100644 --- a/pkg/k8s/scanner/scanner_test.go +++ b/pkg/k8s/scanner/scanner_test.go @@ -31,7 +31,7 @@ func TestScanner_Scan(t *testing.T) { artifacts: []*artifacts.Artifact{ { Namespace: "kube-system", - Kind: "ClusterInfo", + Kind: "Cluster", Name: "k8s.io/kubernetes", RawResource: map[string]interface{}{ "name": "k8s.io/kubernetes", @@ -45,7 +45,7 @@ func TestScanner_Scan(t *testing.T) { }, { Namespace: "kube-system", - Kind: "PodInfo", + Kind: "ControlPlaneComponents", Name: "k8s.io/apiserver", RawResource: map[string]interface{}{ "Containers": []interface{}{ @@ -62,7 +62,7 @@ func TestScanner_Scan(t *testing.T) { }, }, { - Kind: "NodeInfo", + Kind: "NodeComponents", Name: "kind-control-plane", RawResource: map[string]interface{}{ "ContainerRuntimeVersion": "containerd://1.5.2", @@ -401,3 +401,153 @@ func TestGeneratePURL(t *testing.T) { }) } } + +func TestK8sNamespace(t *testing.T) { + tests := []struct { + name string + compVersion string + nodeName string + want string + }{ + { + name: "native k8s component", + compVersion: "1.24.10", + nodeName: "kind-kind", + want: "kubernetes", + }, + + { + name: "GKE", + compVersion: "1.24.10-gke.2300", + nodeName: "gke-gke1796-default-pool-768cb718-sk1d", + want: "gke", + }, + { + name: "AKS", + compVersion: "1.24.10-hotfix.20221110", + nodeName: "aks-default-23814474-vmss000000", + want: "aks", + }, + { + name: "EKS", + compVersion: "1.23.17-eks-8ccc7ba", + nodeName: "eks-vmss000000", + want: "eks", + }, + { + name: "Rancher", + compVersion: "1.24.11+rke2r1", + nodeName: "ip-10-0-5-23", + want: "rke", + }, + { + name: "OCP", + compVersion: "1.26.7+c7ee51f", + nodeName: "ocp413vpool14000-p8vnm-master-2", + want: "ocp", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := k8sNamespace(tt.compVersion, tt.nodeName) + assert.Equal(t, tt.want, got) + }) + } +} + +func TestRuntimeVersion(t *testing.T) { + tests := []struct { + name string + runtimeVersion string + wantName string + wantVersion string + }{ + { + name: "containerd", + runtimeVersion: "containerd://1.5.2", + wantName: "github.com/containerd/containerd", + wantVersion: "1.5.2", + }, + { + name: "cri-o", + runtimeVersion: "cri-o://1.5.2", + wantName: "github.com/cri-o/cri-o", + wantVersion: "1.5.2", + }, + { + name: "cri-dockerd", + runtimeVersion: "cri-dockerd://1.5.2", + wantName: "github.com/Mirantis/cri-dockerd", + wantVersion: "1.5.2", + }, + { + name: "na runtime", + runtimeVersion: "cri:1.5.2", + wantName: "", + wantVersion: "", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + gotName, gotVersion := runtimeNameVersion(tt.runtimeVersion) + assert.Equal(t, tt.wantName, gotName) + assert.Equal(t, tt.wantVersion, gotVersion) + }) + } +} + +func TestFindNodeName(t *testing.T) { + tests := []struct { + name string + artifacts []*artifacts.Artifact + want string + }{ + { + name: "find node name", + artifacts: []*artifacts.Artifact{ + { + Namespace: "kube-system", + Kind: "Cluster", + Name: "k8s.io/kubernetes", + RawResource: map[string]interface{}{}, + }, + { + Namespace: "kube-system", + Kind: "ControlPlaneComponents", + Name: "k8s.io/apiserver", + RawResource: map[string]interface{}{}, + }, + { + Kind: "NodeComponents", + Name: "kind-control-plane", + RawResource: map[string]interface{}{}, + }, + }, + want: "kind-control-plane", + }, + { + name: "didn't find node name", + artifacts: []*artifacts.Artifact{ + { + Namespace: "kube-system", + Kind: "Cluster", + Name: "k8s.io/kubernetes", + RawResource: map[string]interface{}{}, + }, + { + Namespace: "kube-system", + Kind: "ControlPlaneComponents", + Name: "k8s.io/apiserver", + RawResource: map[string]interface{}{}, + }, + }, + want: "", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := findNodeName(tt.artifacts) + assert.Equal(t, tt.want, got) + }) + } +} diff --git a/pkg/k8s/wire_gen.go b/pkg/k8s/wire_gen.go new file mode 100644 index 000000000000..2b2343a654b7 --- /dev/null +++ b/pkg/k8s/wire_gen.go @@ -0,0 +1,30 @@ +// Code generated by Wire. DO NOT EDIT. + +//go:generate go run github.com/google/wire/cmd/wire +//go:build !wireinject +// +build !wireinject + +package k8s + +import ( + "github.com/aquasecurity/trivy-db/pkg/db" + "github.com/aquasecurity/trivy/pkg/fanal/applier" + "github.com/aquasecurity/trivy/pkg/fanal/cache" + "github.com/aquasecurity/trivy/pkg/scanner/langpkg" + "github.com/aquasecurity/trivy/pkg/scanner/local" + "github.com/aquasecurity/trivy/pkg/scanner/ospkg" + "github.com/aquasecurity/trivy/pkg/vulnerability" +) + +// Injectors from inject.go: + +func initializeScanK8s(localArtifactCache cache.LocalArtifactCache) *ScanKubernetes { + applierApplier := applier.NewApplier(localArtifactCache) + scanner := ospkg.NewScanner() + langpkgScanner := langpkg.NewScanner() + config := db.Config{} + client := vulnerability.NewClient(config) + localScanner := local.NewScanner(applierApplier, scanner, langpkgScanner, client) + scanKubernetes := NewScanKubernetes(localScanner) + return scanKubernetes +} From 6e5927266c65107d914bd0fb968d756cc8d464e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 01:09:25 +0000 Subject: [PATCH 090/338] chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ecr from 1.17.18 to 1.21.0 (#5497) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 10 +++++----- go.sum | 16 ++++++++++------ 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 50bf43cc8af5..6385ff305c25 100644 --- a/go.mod +++ b/go.mod @@ -26,12 +26,12 @@ require ( github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231019164303-dcdfdc50763f - github.com/aws/aws-sdk-go-v2 v1.21.2 + github.com/aws/aws-sdk-go-v2 v1.22.0 github.com/aws/aws-sdk-go-v2/config v1.18.45 github.com/aws/aws-sdk-go-v2/credentials v1.13.43 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.90 github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0 - github.com/aws/aws-sdk-go-v2/service/ecr v1.17.18 + github.com/aws/aws-sdk-go-v2/service/ecr v1.21.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 github.com/bmatcuk/doublestar/v4 v4.6.0 @@ -152,8 +152,8 @@ require ( github.com/aws/aws-sdk-go v1.46.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.0 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 // indirect github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.16.0 // indirect @@ -195,7 +195,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 // indirect github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0 // indirect - github.com/aws/smithy-go v1.15.0 // indirect + github.com/aws/smithy-go v1.16.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/briandowns/spinner v1.23.0 // indirect diff --git a/go.sum b/go.sum index ab2d51067bd5..85230ef00b1f 100644 --- a/go.sum +++ b/go.sum @@ -374,8 +374,9 @@ github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3eP github.com/aws/aws-sdk-go-v2 v1.18.1/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.19.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.20.0/go.mod h1:uWOr0m0jDsiWw8nnXiqZ+YG6LdvAlGYDLLf2NmHZoy4= -github.com/aws/aws-sdk-go-v2 v1.21.2 h1:+LXZ0sgo8quN9UOKXXzAWRT3FWd4NxeXWOZom9pE7GA= github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= +github.com/aws/aws-sdk-go-v2 v1.22.0 h1:CpTS3XO3MWNel8ohoazkLZC6scvkYL2k+m0yzFJ17Hg= +github.com/aws/aws-sdk-go-v2 v1.22.0/go.mod h1:Kd0OJtkW3Q0M0lUWGszapWjEvrXDzRW+D21JNsroB+c= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.8/go.mod h1:JTnlBSot91steJeti4ryyu/tLd4Sk84O5W22L7O2EQU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 h1:Sc82v7tDQ/vdU1WtuSyzZ1I7y/68j//HJ6uozND1IDs= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14/go.mod h1:9NCTOURS8OpxvoAVHq79LK81/zC78hfRWFn+aL0SPcY= @@ -396,8 +397,9 @@ github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2 github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34/go.mod h1:wZpTEecJe0Btj3IYnDx/VlUzor9wm3fJHyvLpQF0VwY= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35/go.mod h1:ipR5PvpSPqIqL5Mi82BxLnfMkHVbmco8kUwO2xrCi0M= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.37/go.mod h1:Pdn4j43v49Kk6+82spO3Tu5gSeQXRsxo56ePPQAvFiA= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43 h1:nFBQlGtkbPzp/NjZLuFxRqmT91rLJkgvsEQs68h962Y= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.0 h1:tN6dNNE4SzMuyMnVtQJXGVKX177/d5Zy4MuA1HA4KUc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.0/go.mod h1:F6MXWETIeetAHwFHyoHEqrcB3NpijFv9nLP5h9CXtT0= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.17/go.mod h1:pRwaTYCJemADaqCbUAxltMoHKata7hmB5PjEXeu0kfg= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.23/go.mod h1:mr6c4cHC+S/MMkrjtSlG4QA36kOznDep+0fga5L/fGQ= @@ -407,8 +409,9 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28/go.mod h1:7VRpKQQedkfIEXb4k52I7swUnZP0wohVajJMRn3vsUw= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29/go.mod h1:M/eUABlDbw2uVrdAn+UsI6M727qp2fxkp8K0ejcBDUY= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.31/go.mod h1:fTJDMe8LOFYtqiFFFeHA+SVMAwqLhoq0kcInYoLa9Js= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37 h1:JRVhO25+r3ar2mKGP7E0LDl8K9/G36gjlqca5iQbaqc= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.0 h1:bfdsbTARDjaC/dSYGMO+E0psxFU4hTvCLnqYAfZ3D38= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.0/go.mod h1:Jg8XVv5M2V2wiAMvBFx+O59jg6Yr8vhP0bgNF/IuquM= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 h1:hze8YsjSh8Wl1rYa1CJpRmXP21BvOBuc76YhW0HsuQ4= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE= github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 h1:wmGLw2i8ZTlHLw7a9ULGfQbuccw8uIiNr6sol5bFzc8= @@ -439,8 +442,8 @@ github.com/aws/aws-sdk-go-v2/service/ebs v1.18.1 h1:iUgGXA8fg41B4Of0F+BS766SRQ7c github.com/aws/aws-sdk-go-v2/service/ebs v1.18.1/go.mod h1:9n0SC5yHomD8IjsR37+/txpdfNdpGSgV1RzmsTHrbWg= github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0 h1:WblDV33AG9dhv0zFEPEmGtD5UECSNpKMxtdENULfR8M= github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0/go.mod h1:L3ZT0N/vBsw77mOAawXmRnREpEjcHd2v5Hzf7AkIH8M= -github.com/aws/aws-sdk-go-v2/service/ecr v1.17.18 h1:uiF/RI+Up8H2xdgT2GWa20YzxiKEalHieqNjm6HC3Xk= -github.com/aws/aws-sdk-go-v2/service/ecr v1.17.18/go.mod h1:DQtDYmexqR+z+B6HBCvY7zK/tuXKv6Zy/IwOXOK3eow= +github.com/aws/aws-sdk-go-v2/service/ecr v1.21.0 h1:S0uAQWwpl6Di64Z+6zDfXnyiO4o7ZmLByNdPfIP9iHY= +github.com/aws/aws-sdk-go-v2/service/ecr v1.21.0/go.mod h1:q94FTlrkHQjYo/2aOYimhPXhwrkZsjreFYPn6Cdh0/4= github.com/aws/aws-sdk-go-v2/service/ecs v1.28.1 h1:PxWgrtfQvct60NjxSrFsSWG/Yg1HATRKP4IeUPiLlrE= github.com/aws/aws-sdk-go-v2/service/ecs v1.28.1/go.mod h1:eZBCsRjzc+ZX8x3h0beHOu+uxRWRwnEHzzvDgKy9v0E= github.com/aws/aws-sdk-go-v2/service/efs v1.20.3 h1:+rQHxWkGK5GyanoetOyOG/U0sgXjlt3vw+jufY7wp4k= @@ -508,8 +511,9 @@ github.com/aws/smithy-go v1.13.3/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.14.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.15.0 h1:PS/durmlzvAFpQHDs4wi4sNNP9ExsqZh6IlfdHXgKK8= github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.16.0 h1:gJZEH/Fqh+RsvlJ1Zt4tVAtV6bKkp3cC+R6FCZMNzik= +github.com/aws/smithy-go v1.16.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= From 9a6e125c7894581b0b16650b63bb1c459443c834 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 01:09:38 +0000 Subject: [PATCH 091/338] chore(deps): bump actions/checkout from 4.1.0 to 4.1.1 (#5501) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/auto-update-labels.yaml | 2 +- .github/workflows/check-go-versions.yaml | 2 +- .github/workflows/mkdocs-dev.yaml | 2 +- .github/workflows/mkdocs-latest.yaml | 2 +- .github/workflows/publish-chart.yaml | 4 ++-- .github/workflows/release.yaml | 4 ++-- .github/workflows/reusable-release.yaml | 2 +- .github/workflows/scan.yaml | 2 +- .github/workflows/test-docs.yaml | 2 +- .github/workflows/test.yaml | 12 ++++++------ 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/auto-update-labels.yaml b/.github/workflows/auto-update-labels.yaml index 9a20ea08f0a2..faf89e218d19 100644 --- a/.github/workflows/auto-update-labels.yaml +++ b/.github/workflows/auto-update-labels.yaml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout main - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 - name: Set up Go uses: actions/setup-go@v4 diff --git a/.github/workflows/check-go-versions.yaml b/.github/workflows/check-go-versions.yaml index 463a2d1f0917..dd975536b09e 100644 --- a/.github/workflows/check-go-versions.yaml +++ b/.github/workflows/check-go-versions.yaml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code into the Go module directory - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 - name: Set up Go uses: actions/setup-go@v4 diff --git a/.github/workflows/mkdocs-dev.yaml b/.github/workflows/mkdocs-dev.yaml index ed3c650e4995..a00da7666d61 100644 --- a/.github/workflows/mkdocs-dev.yaml +++ b/.github/workflows/mkdocs-dev.yaml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout main - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 with: fetch-depth: 0 persist-credentials: true diff --git a/.github/workflows/mkdocs-latest.yaml b/.github/workflows/mkdocs-latest.yaml index fd811e31e87e..4dac23fa748f 100644 --- a/.github/workflows/mkdocs-latest.yaml +++ b/.github/workflows/mkdocs-latest.yaml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout main - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 with: fetch-depth: 0 persist-credentials: true diff --git a/.github/workflows/publish-chart.yaml b/.github/workflows/publish-chart.yaml index 36a8547c3ad5..197945f35117 100644 --- a/.github/workflows/publish-chart.yaml +++ b/.github/workflows/publish-chart.yaml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 with: fetch-depth: 0 - name: Install Helm @@ -55,7 +55,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 with: fetch-depth: 0 - name: Install chart-releaser diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index da322b8873fd..8441e1cd3a1b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-22.04 steps: - name: Checkout code - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 with: fetch-depth: 0 @@ -35,7 +35,7 @@ jobs: sudo apt-get -y install rpm reprepro createrepo-c distro-info - name: Checkout trivy-repo - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 with: repository: ${{ github.repository_owner }}/trivy-repo path: trivy-repo diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index d8aba85cd765..34580bd70d8a 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -69,7 +69,7 @@ jobs: password: ${{ secrets.ECR_SECRET_ACCESS_KEY }} - name: Checkout code - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 with: fetch-depth: 0 diff --git a/.github/workflows/scan.yaml b/.github/workflows/scan.yaml index e0fec9a592d6..1d96df96d002 100644 --- a/.github/workflows/scan.yaml +++ b/.github/workflows/scan.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 - name: Run Trivy vulnerability scanner and create GitHub issues uses: knqyf263/trivy-issue-action@v0.0.5 diff --git a/.github/workflows/test-docs.yaml b/.github/workflows/test-docs.yaml index 11f4149da86d..48ee68928074 100644 --- a/.github/workflows/test-docs.yaml +++ b/.github/workflows/test-docs.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 with: fetch-depth: 0 persist-credentials: true diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index c665d8cf1481..8736ca5b14cd 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -15,7 +15,7 @@ jobs: matrix: operating-system: [ubuntu-latest, windows-latest, macos-latest] steps: - - uses: actions/checkout@v4.1.0 + - uses: actions/checkout@v4.1.1 - name: Set up Go uses: actions/setup-go@v4 @@ -69,7 +69,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code into the Go module directory - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 - name: Set up Go uses: actions/setup-go@v4 @@ -89,7 +89,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out code into the Go module directory - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 - name: Set up Go uses: actions/setup-go@v4 @@ -109,7 +109,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 - name: Set up Go uses: actions/setup-go@v4 @@ -140,7 +140,7 @@ jobs: remove-haskell: 'true' - name: Checkout - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 - name: Set up Go uses: actions/setup-go@v4 @@ -174,7 +174,7 @@ jobs: if: matrix.operating-system == 'ubuntu-latest' - name: Checkout - uses: actions/checkout@v4.1.0 + uses: actions/checkout@v4.1.1 - name: Set up Go uses: actions/setup-go@v4 From 520830b51b7681b64daa484854e3c1114898a589 Mon Sep 17 00:00:00 2001 From: Nikita Pivkin Date: Thu, 2 Nov 2023 01:46:32 +0000 Subject: [PATCH 092/338] fix(server): add licenses to `BlobInfo` message (#5382) --- ...fluentd-multiple-lockfiles.cdx.json.golden | 1912 ++++++++++++++++- pkg/rpc/convert.go | 121 +- pkg/rpc/convert_test.go | 182 +- rpc/cache/service.pb.go | 145 +- rpc/cache/service.proto | 1 + rpc/cache/service.twirp.go | 105 +- rpc/common/service.pb.go | 614 ++++-- rpc/common/service.proto | 47 +- 8 files changed, 2796 insertions(+), 331 deletions(-) diff --git a/integration/testdata/fluentd-multiple-lockfiles.cdx.json.golden b/integration/testdata/fluentd-multiple-lockfiles.cdx.json.golden index ff77b1c8482f..88362c1fb577 100644 --- a/integration/testdata/fluentd-multiple-lockfiles.cdx.json.golden +++ b/integration/testdata/fluentd-multiple-lockfiles.cdx.json.golden @@ -55,6 +55,13 @@ "type": "library", "name": "adduser", "version": "3.118", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/adduser@3.118?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -88,6 +95,13 @@ "type": "library", "name": "apt", "version": "1.8.2", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/apt@1.8.2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -121,6 +135,13 @@ "type": "library", "name": "base-files", "version": "10.3+deb10u2", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/base-files@10.3%2Bdeb10u2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -154,6 +175,18 @@ "type": "library", "name": "base-passwd", "version": "3.5.46", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "PD" + } + } + ], "purl": "pkg:deb/debian/base-passwd@3.5.46?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -187,6 +220,13 @@ "type": "library", "name": "bash", "version": "5.0-4", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/bash@5.0-4?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -224,6 +264,58 @@ "type": "library", "name": "bsdutils", "version": "2.33.1-0.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "public-domain" + } + }, + { + "license": { + "name": "BSD-4-Clause" + } + }, + { + "license": { + "name": "MIT" + } + }, + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + } + ], "purl": "pkg:deb/debian/bsdutils@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2\u0026epoch=1", "properties": [ { @@ -261,6 +353,18 @@ "type": "library", "name": "ca-certificates", "version": "20190110", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "MPL-2.0" + } + } + ], "purl": "pkg:deb/debian/ca-certificates@20190110?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -294,6 +398,13 @@ "type": "library", "name": "coreutils", "version": "8.30-3", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/coreutils@8.30-3?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -331,6 +442,13 @@ "type": "library", "name": "dash", "version": "0.5.10.2-5", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/dash@0.5.10.2-5?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -368,6 +486,13 @@ "type": "library", "name": "debconf", "version": "1.5.71", + "licenses": [ + { + "license": { + "name": "BSD-2-Clause" + } + } + ], "purl": "pkg:deb/debian/debconf@1.5.71?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -401,6 +526,13 @@ "type": "library", "name": "debian-archive-keyring", "version": "2019.1", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/debian-archive-keyring@2019.1?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -434,6 +566,13 @@ "type": "library", "name": "debianutils", "version": "4.8.6.1", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/debianutils@4.8.6.1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -467,6 +606,18 @@ "type": "library", "name": "diffutils", "version": "3.7-3", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GFDL" + } + } + ], "purl": "pkg:deb/debian/diffutils@3.7-3?arch=amd64\u0026distro=debian-10.2\u0026epoch=1", "properties": [ { @@ -508,6 +659,28 @@ "type": "library", "name": "dpkg", "version": "1.19.7", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "public-domain-s-s-d" + } + }, + { + "license": { + "name": "public-domain-md5" + } + } + ], "purl": "pkg:deb/debian/dpkg@1.19.7?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -541,6 +714,18 @@ "type": "library", "name": "e2fsprogs", "version": "1.44.5-1+deb10u2", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + } + ], "purl": "pkg:deb/debian/e2fsprogs@1.44.5-1%2Bdeb10u2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -578,6 +763,58 @@ "type": "library", "name": "fdisk", "version": "2.33.1-0.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "public-domain" + } + }, + { + "license": { + "name": "BSD-4-Clause" + } + }, + { + "license": { + "name": "MIT" + } + }, + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + } + ], "purl": "pkg:deb/debian/fdisk@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -615,6 +852,18 @@ "type": "library", "name": "findutils", "version": "4.6.0+git+20190209-2", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GFDL-1.3" + } + } + ], "purl": "pkg:deb/debian/findutils@4.6.0%2Bgit%2B20190209-2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -652,6 +901,33 @@ "type": "library", "name": "gcc-8-base", "version": "8.3.0-6", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GFDL-1.2" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "Artistic" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + } + ], "purl": "pkg:deb/debian/gcc-8-base@8.3.0-6?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -689,23 +965,70 @@ "type": "library", "name": "gpgv", "version": "2.2.12-1+deb10u1", - "purl": "pkg:deb/debian/gpgv@2.2.12-1%2Bdeb10u1?arch=amd64\u0026distro=debian-10.2", - "properties": [ + "licenses": [ { - "name": "aquasecurity:trivy:LayerDiffID", - "value": "sha256:831c5620387fb9efec59fc82a42b948546c6be601e3ab34a87108ecf852aa15f" + "license": { + "name": "GPL-3.0" + } }, { - "name": "aquasecurity:trivy:LayerDigest", - "value": "sha256:000eee12ec04cc914bf96e8f5dee7767510c2aca3816af6078bd9fbe3150920c" + "license": { + "name": "permissive" + } }, { - "name": "aquasecurity:trivy:PkgID", - "value": "gpgv@2.2.12-1+deb10u1" + "license": { + "name": "LGPL-2.1" + } }, { - "name": "aquasecurity:trivy:PkgType", - "value": "debian" + "license": { + "name": "Expat" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "RFC-Reference" + } + }, + { + "license": { + "name": "TinySCHEME" + } + }, + { + "license": { + "name": "CC0-1.0" + } + } + ], + "purl": "pkg:deb/debian/gpgv@2.2.12-1%2Bdeb10u1?arch=amd64\u0026distro=debian-10.2", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:831c5620387fb9efec59fc82a42b948546c6be601e3ab34a87108ecf852aa15f" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:000eee12ec04cc914bf96e8f5dee7767510c2aca3816af6078bd9fbe3150920c" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "gpgv@2.2.12-1+deb10u1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "debian" }, { "name": "aquasecurity:trivy:SrcName", @@ -726,6 +1049,13 @@ "type": "library", "name": "grep", "version": "3.3-1", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/grep@3.3-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -763,6 +1093,13 @@ "type": "library", "name": "gzip", "version": "1.9-3", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/gzip@1.9-3?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -800,6 +1137,13 @@ "type": "library", "name": "hostname", "version": "3.21", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/hostname@3.21?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -833,6 +1177,18 @@ "type": "library", "name": "init-system-helpers", "version": "1.56+nmu1", + "licenses": [ + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/init-system-helpers@1.56%2Bnmu1?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -866,6 +1222,23 @@ "type": "library", "name": "libacl1", "version": "2.2.53-4", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + } + ], "purl": "pkg:deb/debian/libacl1@2.2.53-4?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -903,6 +1276,13 @@ "type": "library", "name": "libapt-pkg5.0", "version": "1.8.2", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/libapt-pkg5.0@1.8.2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -936,6 +1316,23 @@ "type": "library", "name": "libattr1", "version": "2.4.48-4", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + } + ], "purl": "pkg:deb/debian/libattr1@2.4.48-4?arch=amd64\u0026distro=debian-10.2\u0026epoch=1", "properties": [ { @@ -977,6 +1374,23 @@ "type": "library", "name": "libaudit-common", "version": "2.8.4-3", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-1.0" + } + } + ], "purl": "pkg:deb/debian/libaudit-common@2.8.4-3?arch=all\u0026distro=debian-10.2\u0026epoch=1", "properties": [ { @@ -1018,6 +1432,23 @@ "type": "library", "name": "libaudit1", "version": "2.8.4-3", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-1.0" + } + } + ], "purl": "pkg:deb/debian/libaudit1@2.8.4-3?arch=amd64\u0026distro=debian-10.2\u0026epoch=1", "properties": [ { @@ -1059,6 +1490,58 @@ "type": "library", "name": "libblkid1", "version": "2.33.1-0.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "public-domain" + } + }, + { + "license": { + "name": "BSD-4-Clause" + } + }, + { + "license": { + "name": "MIT" + } + }, + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libblkid1@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1096,6 +1579,18 @@ "type": "library", "name": "libbz2-1.0", "version": "1.0.6-9.2~deb10u1", + "licenses": [ + { + "license": { + "name": "BSD-variant" + } + }, + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/libbz2-1.0@1.0.6-9.2~deb10u1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1133,6 +1628,18 @@ "type": "library", "name": "libc-bin", "version": "2.28-10", + "licenses": [ + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/libc-bin@2.28-10?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1170,6 +1677,18 @@ "type": "library", "name": "libc6", "version": "2.28-10", + "licenses": [ + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/libc6@2.28-10?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1207,6 +1726,23 @@ "type": "library", "name": "libcap-ng0", "version": "0.7.9-2", + "licenses": [ + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libcap-ng0@0.7.9-2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1351,6 +1887,18 @@ "type": "library", "name": "libext2fs2", "version": "1.44.5-1+deb10u2", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + } + ], "purl": "pkg:deb/debian/libext2fs2@1.44.5-1%2Bdeb10u2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1388,30 +1936,82 @@ "type": "library", "name": "libfdisk1", "version": "2.33.1-0.1", - "purl": "pkg:deb/debian/libfdisk1@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", - "properties": [ + "licenses": [ { - "name": "aquasecurity:trivy:LayerDiffID", - "value": "sha256:831c5620387fb9efec59fc82a42b948546c6be601e3ab34a87108ecf852aa15f" + "license": { + "name": "GPL-2.0" + } }, { - "name": "aquasecurity:trivy:LayerDigest", - "value": "sha256:000eee12ec04cc914bf96e8f5dee7767510c2aca3816af6078bd9fbe3150920c" + "license": { + "name": "public-domain" + } }, { - "name": "aquasecurity:trivy:PkgID", - "value": "libfdisk1@2.33.1-0.1" + "license": { + "name": "BSD-4-Clause" + } }, { - "name": "aquasecurity:trivy:PkgType", - "value": "debian" + "license": { + "name": "MIT" + } }, { - "name": "aquasecurity:trivy:SrcName", - "value": "util-linux" + "license": { + "name": "BSD-2-Clause" + } }, { - "name": "aquasecurity:trivy:SrcRelease", + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + } + ], + "purl": "pkg:deb/debian/libfdisk1@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:831c5620387fb9efec59fc82a42b948546c6be601e3ab34a87108ecf852aa15f" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:000eee12ec04cc914bf96e8f5dee7767510c2aca3816af6078bd9fbe3150920c" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libfdisk1@2.33.1-0.1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "debian" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "util-linux" + }, + { + "name": "aquasecurity:trivy:SrcRelease", "value": "0.1" }, { @@ -1425,6 +2025,13 @@ "type": "library", "name": "libffi6", "version": "3.2.1-9", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libffi6@3.2.1-9?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1499,6 +2106,18 @@ "type": "library", "name": "libgcrypt20", "version": "1.8.4-5", + "licenses": [ + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/libgcrypt20@1.8.4-5?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1536,6 +2155,23 @@ "type": "library", "name": "libgdbm-compat4", "version": "1.18.1-4", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "GFDL-NIV-1.3+" + } + } + ], "purl": "pkg:deb/debian/libgdbm-compat4@1.18.1-4?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1573,6 +2209,23 @@ "type": "library", "name": "libgdbm6", "version": "1.18.1-4", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "GFDL-NIV-1.3+" + } + } + ], "purl": "pkg:deb/debian/libgdbm6@1.18.1-4?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1610,6 +2263,23 @@ "type": "library", "name": "libgmp10", "version": "6.1.2+dfsg-4", + "licenses": [ + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libgmp10@6.1.2%2Bdfsg-4?arch=amd64\u0026distro=debian-10.2\u0026epoch=2", "properties": [ { @@ -1651,6 +2321,48 @@ "type": "library", "name": "libgnutls30", "version": "3.6.7-4", + "licenses": [ + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GFDL-1.3" + } + }, + { + "license": { + "name": "CC0" + } + }, + { + "license": { + "name": "The MIT License" + } + }, + { + "license": { + "name": "LGPLv3+" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "Apache-2.0" + } + } + ], "purl": "pkg:deb/debian/libgnutls30@3.6.7-4?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1688,6 +2400,28 @@ "type": "library", "name": "libgpg-error0", "version": "1.35-1", + "licenses": [ + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "g10-permissive" + } + }, + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libgpg-error0@1.35-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1762,6 +2496,28 @@ "type": "library", "name": "libidn2-0", "version": "2.0.5-1", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "Unicode" + } + } + ], "purl": "pkg:deb/debian/libidn2-0@2.0.5-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1799,6 +2555,38 @@ "type": "library", "name": "libjemalloc2", "version": "5.1.0-3", + "licenses": [ + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "BSD-2-Clause-Chemeris" + } + }, + { + "license": { + "name": "BSD-3-Clause-Google" + } + }, + { + "license": { + "name": "Expat" + } + }, + { + "license": { + "name": "BSD-3-Clause-Hiroshima-University" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + } + ], "purl": "pkg:deb/debian/libjemalloc2@5.1.0-3?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1836,6 +2624,18 @@ "type": "library", "name": "liblz4-1", "version": "1.8.3-1", + "licenses": [ + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/liblz4-1@1.8.3-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1873,6 +2673,73 @@ "type": "library", "name": "liblzma5", "version": "5.2.4-1", + "licenses": [ + { + "license": { + "name": "PD" + } + }, + { + "license": { + "name": "probably-PD" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "permissive-fsf" + } + }, + { + "license": { + "name": "Autoconf" + } + }, + { + "license": { + "name": "permissive-nowarranty" + } + }, + { + "license": { + "name": "none" + } + }, + { + "license": { + "name": "config-h" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "noderivs" + } + }, + { + "license": { + "name": "PD-debian" + } + }, + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/liblzma5@5.2.4-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -1910,6 +2777,58 @@ "type": "library", "name": "libmount1", "version": "2.33.1-0.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "public-domain" + } + }, + { + "license": { + "name": "BSD-4-Clause" + } + }, + { + "license": { + "name": "MIT" + } + }, + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libmount1@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2003,24 +2922,71 @@ "value": "debian" }, { - "name": "aquasecurity:trivy:SrcName", - "value": "ncurses" + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcRelease", + "value": "2+deb10u2" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.1+20181013" + } + ] + }, + { + "bom-ref": "pkg:deb/debian/libnettle6@3.4.1-1?arch=amd64\u0026distro=debian-10.2", + "type": "library", + "name": "libnettle6", + "version": "3.4.1-1", + "licenses": [ + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "other" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "GPL-2.0-with-autoconf-exception" + } + }, + { + "license": { + "name": "public-domain" + } + }, + { + "license": { + "name": "GAP" + } }, { - "name": "aquasecurity:trivy:SrcRelease", - "value": "2+deb10u2" + "license": { + "name": "LGPL-3.0" + } }, { - "name": "aquasecurity:trivy:SrcVersion", - "value": "6.1+20181013" + "license": { + "name": "GPL-3.0" + } } - ] - }, - { - "bom-ref": "pkg:deb/debian/libnettle6@3.4.1-1?arch=amd64\u0026distro=debian-10.2", - "type": "library", - "name": "libnettle6", - "version": "3.4.1-1", + ], "purl": "pkg:deb/debian/libnettle6@3.4.1-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2058,6 +3024,33 @@ "type": "library", "name": "libp11-kit0", "version": "0.23.15-2", + "licenses": [ + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "permissive-like-automake-output" + } + }, + { + "license": { + "name": "ISC" + } + }, + { + "license": { + "name": "ISC+IBM" + } + }, + { + "license": { + "name": "same-as-rest-of-p11kit" + } + } + ], "purl": "pkg:deb/debian/libp11-kit0@0.23.15-2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2095,6 +3088,13 @@ "type": "library", "name": "libpam-modules-bin", "version": "1.3.1-5", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libpam-modules-bin@1.3.1-5?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2132,6 +3132,13 @@ "type": "library", "name": "libpam-modules", "version": "1.3.1-5", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libpam-modules@1.3.1-5?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2169,6 +3176,13 @@ "type": "library", "name": "libpam-runtime", "version": "1.3.1-5", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libpam-runtime@1.3.1-5?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -2206,6 +3220,13 @@ "type": "library", "name": "libpam0g", "version": "1.3.1-5", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libpam0g@1.3.1-5?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2284,6 +3305,18 @@ "type": "library", "name": "libreadline7", "version": "7.0-5", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GFDL" + } + } + ], "purl": "pkg:deb/debian/libreadline7@7.0-5?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2321,6 +3354,103 @@ "type": "library", "name": "libruby2.5", "version": "2.5.5-3+deb10u1", + "licenses": [ + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "Ruby" + } + }, + { + "license": { + "name": "Expat" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "SIL-1.1" + } + }, + { + "license": { + "name": "CC-BY-3.0-famfamfam" + } + }, + { + "license": { + "name": "PreserveNotice" + } + }, + { + "license": { + "name": "3C-BSD" + } + }, + { + "license": { + "name": "PublicDomain" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "AllPermissions" + } + }, + { + "license": { + "name": "PartialGplArtisticAndRuby" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "Artistic" + } + }, + { + "license": { + "name": "zlib/libpng" + } + }, + { + "license": { + "name": "GPL-1.0" + } + }, + { + "license": { + "name": "CC0" + } + }, + { + "license": { + "name": "Unicode" + } + }, + { + "license": { + "name": "Permissive" + } + } + ], "purl": "pkg:deb/debian/libruby2.5@2.5.5-3%2Bdeb10u1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2358,6 +3488,13 @@ "type": "library", "name": "libseccomp2", "version": "2.3.3-4", + "licenses": [ + { + "license": { + "name": "LGPL-2.1" + } + } + ], "purl": "pkg:deb/debian/libseccomp2@2.3.3-4?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2395,6 +3532,18 @@ "type": "library", "name": "libselinux1", "version": "2.8-1+b1", + "licenses": [ + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/libselinux1@2.8-1%2Bb1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2432,6 +3581,18 @@ "type": "library", "name": "libsemanage-common", "version": "2.8-2", + "licenses": [ + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libsemanage-common@2.8-2?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -2469,6 +3630,18 @@ "type": "library", "name": "libsemanage1", "version": "2.8-2", + "licenses": [ + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libsemanage1@2.8-2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2506,6 +3679,18 @@ "type": "library", "name": "libsepol1", "version": "2.8-1", + "licenses": [ + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libsepol1@2.8-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2521,28 +3706,80 @@ "value": "libsepol1@2.8-1" }, { - "name": "aquasecurity:trivy:PkgType", - "value": "debian" + "name": "aquasecurity:trivy:PkgType", + "value": "debian" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libsepol" + }, + { + "name": "aquasecurity:trivy:SrcRelease", + "value": "1" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.8" + } + ] + }, + { + "bom-ref": "pkg:deb/debian/libsmartcols1@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", + "type": "library", + "name": "libsmartcols1", + "version": "2.33.1-0.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "public-domain" + } + }, + { + "license": { + "name": "BSD-4-Clause" + } + }, + { + "license": { + "name": "MIT" + } + }, + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-2.0" + } }, { - "name": "aquasecurity:trivy:SrcName", - "value": "libsepol" + "license": { + "name": "LGPL-2.1" + } }, { - "name": "aquasecurity:trivy:SrcRelease", - "value": "1" + "license": { + "name": "GPL-3.0" + } }, { - "name": "aquasecurity:trivy:SrcVersion", - "value": "2.8" + "license": { + "name": "LGPL-3.0" + } } - ] - }, - { - "bom-ref": "pkg:deb/debian/libsmartcols1@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", - "type": "library", - "name": "libsmartcols1", - "version": "2.33.1-0.1", + ], "purl": "pkg:deb/debian/libsmartcols1@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2691,6 +3928,33 @@ "type": "library", "name": "libsystemd0", "version": "241-7~deb10u2", + "licenses": [ + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "CC0-1.0" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "Expat" + } + }, + { + "license": { + "name": "public-domain" + } + } + ], "purl": "pkg:deb/debian/libsystemd0@241-7~deb10u2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2728,6 +3992,28 @@ "type": "library", "name": "libtasn1-6", "version": "4.13-3", + "licenses": [ + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GFDL-1.3" + } + } + ], "purl": "pkg:deb/debian/libtasn1-6@4.13-3?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2802,6 +4088,33 @@ "type": "library", "name": "libudev1", "version": "241-7~deb10u2", + "licenses": [ + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "CC0-1.0" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "Expat" + } + }, + { + "license": { + "name": "public-domain" + } + } + ], "purl": "pkg:deb/debian/libudev1@241-7~deb10u2?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2839,6 +4152,48 @@ "type": "library", "name": "libunistring2", "version": "0.9.10-1", + "licenses": [ + { + "license": { + "name": "LGPL-3.0" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "FreeSoftware" + } + }, + { + "license": { + "name": "GPL-2+ with distribution exception" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GFDL-1.2+" + } + }, + { + "license": { + "name": "MIT" + } + }, + { + "license": { + "name": "GFDL-1.2" + } + } + ], "purl": "pkg:deb/debian/libunistring2@0.9.10-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2876,6 +4231,58 @@ "type": "library", "name": "libuuid1", "version": "2.33.1-0.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "public-domain" + } + }, + { + "license": { + "name": "BSD-4-Clause" + } + }, + { + "license": { + "name": "MIT" + } + }, + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + } + ], "purl": "pkg:deb/debian/libuuid1@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2913,6 +4320,18 @@ "type": "library", "name": "libyaml-0-2", "version": "0.2.1-1", + "licenses": [ + { + "license": { + "name": "Expat" + } + }, + { + "license": { + "name": "permissive" + } + } + ], "purl": "pkg:deb/debian/libyaml-0-2@0.2.1-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2950,6 +4369,28 @@ "type": "library", "name": "libzstd1", "version": "1.3.8+dfsg-3", + "licenses": [ + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "Zlib" + } + }, + { + "license": { + "name": "Expat" + } + } + ], "purl": "pkg:deb/debian/libzstd1@1.3.8%2Bdfsg-3?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -2987,6 +4428,13 @@ "type": "library", "name": "login", "version": "4.5-1.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/login@4.5-1.1?arch=amd64\u0026distro=debian-10.2\u0026epoch=1", "properties": [ { @@ -3028,6 +4476,13 @@ "type": "library", "name": "mawk", "version": "1.3.3-17+b3", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/mawk@1.3.3-17%2Bb3?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -3058,13 +4513,65 @@ "name": "aquasecurity:trivy:SrcVersion", "value": "1.3.3" } - ] - }, - { - "bom-ref": "pkg:deb/debian/mount@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", - "type": "library", - "name": "mount", - "version": "2.33.1-0.1", + ] + }, + { + "bom-ref": "pkg:deb/debian/mount@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", + "type": "library", + "name": "mount", + "version": "2.33.1-0.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "public-domain" + } + }, + { + "license": { + "name": "BSD-4-Clause" + } + }, + { + "license": { + "name": "MIT" + } + }, + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + } + ], "purl": "pkg:deb/debian/mount@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -3213,6 +4720,13 @@ "type": "library", "name": "passwd", "version": "4.5-1.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/passwd@4.5-1.1?arch=amd64\u0026distro=debian-10.2\u0026epoch=1", "properties": [ { @@ -3291,6 +4805,13 @@ "type": "library", "name": "rake", "version": "12.3.1-3", + "licenses": [ + { + "license": { + "name": "Expat" + } + } + ], "purl": "pkg:deb/debian/rake@12.3.1-3?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -3328,6 +4849,18 @@ "type": "library", "name": "readline-common", "version": "7.0-5", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GFDL" + } + } + ], "purl": "pkg:deb/debian/readline-common@7.0-5?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -3365,6 +4898,13 @@ "type": "library", "name": "ruby-did-you-mean", "version": "1.2.1-1", + "licenses": [ + { + "license": { + "name": "Expat" + } + } + ], "purl": "pkg:deb/debian/ruby-did-you-mean@1.2.1-1?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -3402,6 +4942,13 @@ "type": "library", "name": "ruby-minitest", "version": "5.11.3-1", + "licenses": [ + { + "license": { + "name": "Expat" + } + } + ], "purl": "pkg:deb/debian/ruby-minitest@5.11.3-1?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -3439,6 +4986,13 @@ "type": "library", "name": "ruby-net-telnet", "version": "0.1.1-2", + "licenses": [ + { + "license": { + "name": "Ruby" + } + } + ], "purl": "pkg:deb/debian/ruby-net-telnet@0.1.1-2?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -3476,6 +5030,18 @@ "type": "library", "name": "ruby-power-assert", "version": "1.1.1-1", + "licenses": [ + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "Ruby" + } + } + ], "purl": "pkg:deb/debian/ruby-power-assert@1.1.1-1?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -3513,6 +5079,28 @@ "type": "library", "name": "ruby-test-unit", "version": "3.2.8-1", + "licenses": [ + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "Ruby" + } + }, + { + "license": { + "name": "PSF" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + } + ], "purl": "pkg:deb/debian/ruby-test-unit@3.2.8-1?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -3550,6 +5138,13 @@ "type": "library", "name": "ruby-xmlrpc", "version": "0.3.0-2", + "licenses": [ + { + "license": { + "name": "Ruby" + } + } + ], "purl": "pkg:deb/debian/ruby-xmlrpc@0.3.0-2?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -3587,6 +5182,103 @@ "type": "library", "name": "ruby2.5", "version": "2.5.5-3+deb10u1", + "licenses": [ + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "Ruby" + } + }, + { + "license": { + "name": "Expat" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "SIL-1.1" + } + }, + { + "license": { + "name": "CC-BY-3.0-famfamfam" + } + }, + { + "license": { + "name": "PreserveNotice" + } + }, + { + "license": { + "name": "3C-BSD" + } + }, + { + "license": { + "name": "PublicDomain" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "AllPermissions" + } + }, + { + "license": { + "name": "PartialGplArtisticAndRuby" + } + }, + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "Artistic" + } + }, + { + "license": { + "name": "zlib/libpng" + } + }, + { + "license": { + "name": "GPL-1.0" + } + }, + { + "license": { + "name": "CC0" + } + }, + { + "license": { + "name": "Unicode" + } + }, + { + "license": { + "name": "Permissive" + } + } + ], "purl": "pkg:deb/debian/ruby2.5@2.5.5-3%2Bdeb10u1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -3624,6 +5316,18 @@ "type": "library", "name": "ruby", "version": "2.5.1", + "licenses": [ + { + "license": { + "name": "RubyLicense" + } + }, + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/ruby@2.5.1?arch=amd64\u0026distro=debian-10.2\u0026epoch=1", "properties": [ { @@ -3661,6 +5365,13 @@ "type": "library", "name": "rubygems-integration", "version": "1.11", + "licenses": [ + { + "license": { + "name": "Expat" + } + } + ], "purl": "pkg:deb/debian/rubygems-integration@1.11?arch=all\u0026distro=debian-10.2", "properties": [ { @@ -3694,6 +5405,13 @@ "type": "library", "name": "sed", "version": "4.7-1", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + } + ], "purl": "pkg:deb/debian/sed@4.7-1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -3731,6 +5449,13 @@ "type": "library", "name": "sysvinit-utils", "version": "2.93-8", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/sysvinit-utils@2.93-8?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -3768,6 +5493,18 @@ "type": "library", "name": "tar", "version": "1.30+dfsg-6", + "licenses": [ + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "GPL-2.0" + } + } + ], "purl": "pkg:deb/debian/tar@1.30%2Bdfsg-6?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -3842,6 +5579,58 @@ "type": "library", "name": "util-linux", "version": "2.33.1-0.1", + "licenses": [ + { + "license": { + "name": "GPL-2.0" + } + }, + { + "license": { + "name": "public-domain" + } + }, + { + "license": { + "name": "BSD-4-Clause" + } + }, + { + "license": { + "name": "MIT" + } + }, + { + "license": { + "name": "BSD-2-Clause" + } + }, + { + "license": { + "name": "BSD-3-Clause" + } + }, + { + "license": { + "name": "LGPL-2.0" + } + }, + { + "license": { + "name": "LGPL-2.1" + } + }, + { + "license": { + "name": "GPL-3.0" + } + }, + { + "license": { + "name": "LGPL-3.0" + } + } + ], "purl": "pkg:deb/debian/util-linux@2.33.1-0.1?arch=amd64\u0026distro=debian-10.2", "properties": [ { @@ -3879,6 +5668,13 @@ "type": "library", "name": "zlib1g", "version": "1.2.11.dfsg-1", + "licenses": [ + { + "license": { + "name": "Zlib" + } + } + ], "purl": "pkg:deb/debian/zlib1g@1.2.11.dfsg-1?arch=amd64\u0026distro=debian-10.2\u0026epoch=1", "properties": [ { diff --git a/pkg/rpc/convert.go b/pkg/rpc/convert.go index e5f5362c4e1b..d3bc29425a4b 100644 --- a/pkg/rpc/convert.go +++ b/pkg/rpc/convert.go @@ -1,7 +1,6 @@ package rpc import ( - "strings" "time" "github.com/samber/lo" @@ -18,6 +17,35 @@ import ( "github.com/aquasecurity/trivy/rpc/scanner" ) +var LicenseCategoryMap = map[common.LicenseCategory_Enum]ftypes.LicenseCategory{ + common.LicenseCategory_UNSPECIFIED: "", + common.LicenseCategory_FORBIDDEN: ftypes.CategoryForbidden, + common.LicenseCategory_RESTRICTED: ftypes.CategoryRestricted, + common.LicenseCategory_RECIPROCAL: ftypes.CategoryReciprocal, + common.LicenseCategory_NOTICE: ftypes.CategoryNotice, + common.LicenseCategory_PERMISSIVE: ftypes.CategoryPermissive, + common.LicenseCategory_UNENCUMBERED: ftypes.CategoryUnencumbered, + common.LicenseCategory_UNKNOWN: ftypes.CategoryUnknown, +} + +var LicenseTypeMap = map[common.LicenseType_Enum]ftypes.LicenseType{ + common.LicenseType_UNSPECIFIED: "", + common.LicenseType_DPKG: ftypes.LicenseTypeDpkg, + common.LicenseType_HEADER: ftypes.LicenseTypeHeader, + common.LicenseType_LICENSE_FILE: ftypes.LicenseTypeFile, +} + +// ByValueOr returns the key from the map of the first matched value, +// or default key if the value is not present. +func ByValueOr[K, V comparable](m map[K]V, val V, d K) K { + for k, v := range m { + if v == val { + return k + } + } + return d +} + // ConvertToRPCPkgs returns the list of RPC package objects func ConvertToRPCPkgs(pkgs []ftypes.Package) []*common.Package { var rpcPkgs []*common.Package @@ -113,6 +141,37 @@ func ConvertToRPCSecretFindings(findings []ftypes.SecretFinding) []*common.Secre return rpcFindings } +func ConvertToRPCLicenseFiles(licenses []ftypes.LicenseFile) []*common.LicenseFile { + var rpcLicenses []*common.LicenseFile + + for _, lic := range licenses { + rpcLicenses = append(rpcLicenses, &common.LicenseFile{ + LicenseType: ConvertToRPCLicenseType(lic.Type), + FilePath: lic.FilePath, + PkgName: lic.PkgName, + Fingings: ConvertToRPCLicenseFindings(lic.Findings), + Layer: ConvertToRPCLayer(lic.Layer), + }) + } + + return rpcLicenses +} + +func ConvertToRPCLicenseFindings(findings ftypes.LicenseFindings) []*common.LicenseFinding { + var rpcFindings []*common.LicenseFinding + + for _, f := range findings { + rpcFindings = append(rpcFindings, &common.LicenseFinding{ + Category: ConvertToRPCLicenseCategory(f.Category), + Name: f.Name, + Confidence: float32(f.Confidence), + Link: f.Link, + }) + } + + return rpcFindings +} + // ConvertFromRPCPkgs returns list of Fanal package objects func ConvertFromRPCPkgs(rpcPkgs []*common.Package) []ftypes.Package { var pkgs []ftypes.Package @@ -296,13 +355,13 @@ func ConvertFromRPCResults(rpcResults []*scanner.Result) []types.Result { Packages: ConvertFromRPCPkgs(result.Packages), CustomResources: ConvertFromRPCCustomResources(result.CustomResources), Secrets: ConvertFromRPCSecretFindings(result.Secrets), - Licenses: ConvertFromRPCLicenses(result.Licenses), + Licenses: ConvertFromRPCDetectedLicenses(result.Licenses), }) } return results } -func ConvertFromRPCLicenses(rpcLicenses []*common.DetectedLicense) []types.DetectedLicense { +func ConvertFromRPCDetectedLicenses(rpcLicenses []*common.DetectedLicense) []types.DetectedLicense { var licenses []types.DetectedLicense for _, l := range rpcLicenses { severity := dbTypes.Severity(l.Severity) @@ -319,11 +378,12 @@ func ConvertFromRPCLicenses(rpcLicenses []*common.DetectedLicense) []types.Detec return licenses } -func ConvertFromRPCLicenseCategory(rpcCategory common.DetectedLicense_LicenseCategory) ftypes.LicenseCategory { - if rpcCategory == common.DetectedLicense_UNSPECIFIED { - return "" - } - return ftypes.LicenseCategory(strings.ToLower(rpcCategory.String())) +func ConvertFromRPCLicenseCategory(rpcCategory common.LicenseCategory_Enum) ftypes.LicenseCategory { + return lo.ValueOr(LicenseCategoryMap, rpcCategory, "") +} + +func ConvertFromRPCLicenseType(rpcLicenseType common.LicenseType_Enum) ftypes.LicenseType { + return lo.ValueOr(LicenseTypeMap, rpcLicenseType, "") } // ConvertFromRPCCustomResources converts array of cache.CustomResource to fanal.CustomResource @@ -395,6 +455,37 @@ func ConvertFromRPCSecrets(recSecrets []*common.Secret) []ftypes.Secret { return secrets } +func ConvertFromRPCLicenseFiles(rpcLicenses []*common.LicenseFile) []ftypes.LicenseFile { + var licenses []ftypes.LicenseFile + + for _, lic := range rpcLicenses { + licenses = append(licenses, ftypes.LicenseFile{ + Type: ConvertFromRPCLicenseType(lic.LicenseType), + FilePath: lic.FilePath, + PkgName: lic.PkgName, + Findings: ConvertFromRPCLicenseFindings(lic.Fingings), + Layer: ConvertFromRPCLayer(lic.Layer), + }) + } + + return licenses +} + +func ConvertFromRPCLicenseFindings(rpcFindings []*common.LicenseFinding) ftypes.LicenseFindings { + var findings ftypes.LicenseFindings + + for _, finding := range rpcFindings { + findings = append(findings, ftypes.LicenseFinding{ + Category: ConvertFromRPCLicenseCategory(finding.Category), + Name: finding.Name, + Confidence: float64(finding.Confidence), + Link: finding.Link, + }) + } + + return findings +} + // ConvertFromRPCVulns converts []*common.Vulnerability to []types.DetectedVulnerability func ConvertFromRPCVulns(rpcVulns []*common.Vulnerability) []types.DetectedVulnerability { var vulns []types.DetectedVulnerability @@ -640,6 +731,7 @@ func ConvertFromRPCPutBlobRequest(req *cache.PutBlobRequest) ftypes.BlobInfo { WhiteoutFiles: req.BlobInfo.WhiteoutFiles, CustomResources: ConvertFromRPCCustomResources(req.BlobInfo.CustomResources), Secrets: ConvertFromRPCSecrets(req.BlobInfo.Secrets), + Licenses: ConvertFromRPCLicenseFiles(req.BlobInfo.Licenses), } } @@ -750,6 +842,7 @@ func ConvertToRPCPutBlobRequest(diffID string, blobInfo ftypes.BlobInfo) *cache. WhiteoutFiles: blobInfo.WhiteoutFiles, CustomResources: customResources, Secrets: ConvertToRPCSecrets(blobInfo.Secrets), + Licenses: ConvertToRPCLicenseFiles(blobInfo.Licenses), }, } } @@ -820,12 +913,12 @@ func ConvertToRPCLicenses(licenses []types.DetectedLicense) []*common.DetectedLi return rpcLicenses } -func ConvertToRPCLicenseCategory(category ftypes.LicenseCategory) common.DetectedLicense_LicenseCategory { - rpcCategory, ok := common.DetectedLicense_LicenseCategory_value[strings.ToUpper(string(category))] - if !ok { - return common.DetectedLicense_UNSPECIFIED - } - return common.DetectedLicense_LicenseCategory(rpcCategory) +func ConvertToRPCLicenseCategory(category ftypes.LicenseCategory) common.LicenseCategory_Enum { + return ByValueOr(LicenseCategoryMap, category, common.LicenseCategory_UNSPECIFIED) +} + +func ConvertToRPCLicenseType(ty ftypes.LicenseType) common.LicenseType_Enum { + return ByValueOr(LicenseTypeMap, ty, common.LicenseType_UNSPECIFIED) } func ConvertToDeleteBlobsRequest(blobIDs []string) *cache.DeleteBlobsRequest { diff --git a/pkg/rpc/convert_test.go b/pkg/rpc/convert_test.go index 038d24536557..e804e50bcb08 100644 --- a/pkg/rpc/convert_test.go +++ b/pkg/rpc/convert_test.go @@ -704,7 +704,7 @@ func TestConvertFromRPCLicenses(t *testing.T) { rpcLicenses: []*common.DetectedLicense{ { Severity: common.Severity_HIGH, - Category: common.DetectedLicense_RESTRICTED, + Category: common.LicenseCategory_RESTRICTED, PkgName: "alpine-baselayout", FilePath: "some-path", Name: "GPL-2.0", @@ -733,7 +733,7 @@ func TestConvertFromRPCLicenses(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - got := ConvertFromRPCLicenses(tt.rpcLicenses) + got := ConvertFromRPCDetectedLicenses(tt.rpcLicenses) assert.Equal(t, tt.want, got) }) } @@ -761,7 +761,7 @@ func TestConvertToRPCLicenses(t *testing.T) { want: []*common.DetectedLicense{ { Severity: common.Severity_HIGH, - Category: common.DetectedLicense_RESTRICTED, + Category: common.LicenseCategory_RESTRICTED, PkgName: "alpine-baselayout", FilePath: "some-path", Name: "GPL-2.0", @@ -789,17 +789,17 @@ func TestConvertToRPCLicenseCategory(t *testing.T) { tests := []struct { name string category ftypes.LicenseCategory - want common.DetectedLicense_LicenseCategory + want common.LicenseCategory_Enum }{ { name: "happy", category: ftypes.CategoryNotice, - want: common.DetectedLicense_NOTICE, + want: common.LicenseCategory_NOTICE, }, { name: "unspecified", category: "", - want: common.DetectedLicense_UNSPECIFIED, + want: common.LicenseCategory_UNSPECIFIED, }, } @@ -814,17 +814,17 @@ func TestConvertToRPCLicenseCategory(t *testing.T) { func TestConvertFromRPCLicenseCategory(t *testing.T) { tests := []struct { name string - rpcCategory common.DetectedLicense_LicenseCategory + rpcCategory common.LicenseCategory_Enum want ftypes.LicenseCategory }{ { name: "happy", - rpcCategory: common.DetectedLicense_RESTRICTED, + rpcCategory: common.LicenseCategory_RESTRICTED, want: ftypes.CategoryRestricted, }, { name: "unspecified", - rpcCategory: common.DetectedLicense_UNSPECIFIED, + rpcCategory: common.LicenseCategory_UNSPECIFIED, want: "", }, } @@ -836,3 +836,167 @@ func TestConvertFromRPCLicenseCategory(t *testing.T) { }) } } + +func TestConvertToRPCLicenseType(t *testing.T) { + tests := []struct { + name string + ty ftypes.LicenseType + want common.LicenseType_Enum + }{ + { + name: "happy", + ty: ftypes.LicenseTypeFile, + want: common.LicenseType_LICENSE_FILE, + }, + { + name: "unspecified", + ty: "", + want: common.LicenseType_UNSPECIFIED, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := ConvertToRPCLicenseType(tt.ty) + assert.Equal(t, tt.want, got) + }) + } +} + +func TestConvertFromRPCLicenseType(t *testing.T) { + tests := []struct { + name string + rpcType common.LicenseType_Enum + want ftypes.LicenseType + }{ + { + name: "happy", + rpcType: common.LicenseType_LICENSE_FILE, + want: ftypes.LicenseTypeFile, + }, + { + name: "unspecified", + rpcType: common.LicenseType_UNSPECIFIED, + want: "", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := ConvertFromRPCLicenseType(tt.rpcType) + assert.Equal(t, tt.want, got) + }) + } +} + +func TestConvertToRPCLicenseFiles(t *testing.T) { + tests := []struct { + name string + licenseFiles []ftypes.LicenseFile + want []*common.LicenseFile + }{ + { + name: "happy", + licenseFiles: []ftypes.LicenseFile{ + { + Type: ftypes.LicenseTypeFile, + PkgName: "alpine-baselayout", + FilePath: "some-path", + Findings: ftypes.LicenseFindings{ + { + Category: ftypes.CategoryRestricted, + Name: "GPL-2.0", + Confidence: 1, + Link: "https://some-link", + }, + }, + Layer: ftypes.Layer{ + Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812", + DiffID: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079", + }, + }, + }, + want: []*common.LicenseFile{ + { + LicenseType: common.LicenseType_LICENSE_FILE, + PkgName: "alpine-baselayout", + FilePath: "some-path", + Fingings: []*common.LicenseFinding{ + { + Category: common.LicenseCategory_RESTRICTED, + Name: "GPL-2.0", + Confidence: 1, + Link: "https://some-link", + }, + }, + Layer: &common.Layer{ + Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812", + DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079", + }, + }, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + assert.Equal(t, tt.want, ConvertToRPCLicenseFiles(tt.licenseFiles)) + }) + } +} + +func TestConvertFromRPCLicenseFiles(t *testing.T) { + tests := []struct { + name string + licenseFiles []*common.LicenseFile + want []ftypes.LicenseFile + }{ + { + name: "happy", + licenseFiles: []*common.LicenseFile{ + { + LicenseType: common.LicenseType_LICENSE_FILE, + PkgName: "alpine-baselayout", + FilePath: "some-path", + Fingings: []*common.LicenseFinding{ + { + Category: common.LicenseCategory_RESTRICTED, + Name: "GPL-2.0", + Confidence: 1, + Link: "https://some-link", + }, + }, + Layer: &common.Layer{ + Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812", + DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079", + }, + }, + }, + want: []ftypes.LicenseFile{ + { + Type: ftypes.LicenseTypeFile, + PkgName: "alpine-baselayout", + FilePath: "some-path", + Findings: ftypes.LicenseFindings{ + { + Category: ftypes.CategoryRestricted, + Name: "GPL-2.0", + Confidence: 1, + Link: "https://some-link", + }, + }, + Layer: ftypes.Layer{ + Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812", + DiffID: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079", + }, + }, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + assert.Equal(t, tt.want, ConvertFromRPCLicenseFiles(tt.licenseFiles)) + }) + } +} diff --git a/rpc/cache/service.pb.go b/rpc/cache/service.pb.go index c7f5ee1361de..d3a1fa1a63b9 100644 --- a/rpc/cache/service.pb.go +++ b/rpc/cache/service.pb.go @@ -182,6 +182,7 @@ type BlobInfo struct { DiffId string `protobuf:"bytes,8,opt,name=diff_id,json=diffId,proto3" json:"diff_id,omitempty"` CustomResources []*common.CustomResource `protobuf:"bytes,10,rep,name=custom_resources,json=customResources,proto3" json:"custom_resources,omitempty"` Secrets []*common.Secret `protobuf:"bytes,12,rep,name=secrets,proto3" json:"secrets,omitempty"` + Licenses []*common.LicenseFile `protobuf:"bytes,13,rep,name=licenses,proto3" json:"licenses,omitempty"` } func (x *BlobInfo) Reset() { @@ -300,6 +301,13 @@ func (x *BlobInfo) GetSecrets() []*common.Secret { return nil } +func (x *BlobInfo) GetLicenses() []*common.LicenseFile { + if x != nil { + return x.Licenses + } + return nil +} + type PutBlobRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -602,7 +610,7 @@ var file_rpc_cache_service_proto_rawDesc = []byte{ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xcc, 0x04, 0x0a, 0x08, 0x42, 0x6c, 0x6f, 0x62, 0x49, + 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x83, 0x05, 0x0a, 0x08, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x02, 0x6f, 0x73, @@ -639,56 +647,59 @@ var file_rpc_cache_service_proto_rawDesc = []byte{ 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x07, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x0e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x69, 0x66, 0x66, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x66, 0x66, 0x49, 0x64, - 0x12, 0x35, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x62, - 0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x43, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x6f, 0x73, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x6f, 0x73, 0x6c, 0x22, 0x51, 0x0a, 0x13, - 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, - 0x6b, 0x0a, 0x14, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, - 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0x2f, 0x0a, 0x12, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x32, 0xbb, 0x02, - 0x0a, 0x05, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x22, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x41, 0x0a, 0x07, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x1e, 0x2e, + 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x0e, + 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, + 0x0a, 0x07, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x69, 0x66, 0x66, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x62, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x72, 0x69, + 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x43, + 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, + 0x02, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x72, 0x69, 0x76, + 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x65, 0x6f, 0x73, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, + 0x6f, 0x73, 0x6c, 0x22, 0x51, 0x0a, 0x13, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, + 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, + 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, + 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0x6b, 0x0a, 0x14, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, + 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, + 0x49, 0x64, 0x73, 0x22, 0x2f, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, + 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, + 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, + 0x62, 0x49, 0x64, 0x73, 0x32, 0xbb, 0x02, 0x0a, 0x05, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x49, + 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x22, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x59, 0x0a, 0x0c, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, - 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, - 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x74, 0x72, 0x69, - 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x49, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, - 0x22, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x2f, 0x5a, 0x2d, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x71, 0x75, 0x61, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2f, 0x72, 0x70, 0x63, - 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x3b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x07, 0x50, 0x75, 0x74, + 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x1e, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x59, 0x0a, 0x0c, + 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x2e, 0x74, + 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x24, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x22, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, + 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, + 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x71, 0x75, 0x61, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x72, + 0x69, 0x76, 0x79, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x3b, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -722,7 +733,8 @@ var file_rpc_cache_service_proto_goTypes = []interface{}{ (*common.Misconfiguration)(nil), // 14: trivy.common.Misconfiguration (*common.CustomResource)(nil), // 15: trivy.common.CustomResource (*common.Secret)(nil), // 16: trivy.common.Secret - (*emptypb.Empty)(nil), // 17: google.protobuf.Empty + (*common.LicenseFile)(nil), // 17: trivy.common.LicenseFile + (*emptypb.Empty)(nil), // 18: google.protobuf.Empty } var file_rpc_cache_service_proto_depIdxs = []int32{ 8, // 0: trivy.cache.v1.ArtifactInfo.created:type_name -> google.protobuf.Timestamp @@ -735,21 +747,22 @@ var file_rpc_cache_service_proto_depIdxs = []int32{ 14, // 7: trivy.cache.v1.BlobInfo.misconfigurations:type_name -> trivy.common.Misconfiguration 15, // 8: trivy.cache.v1.BlobInfo.custom_resources:type_name -> trivy.common.CustomResource 16, // 9: trivy.cache.v1.BlobInfo.secrets:type_name -> trivy.common.Secret - 2, // 10: trivy.cache.v1.PutBlobRequest.blob_info:type_name -> trivy.cache.v1.BlobInfo - 10, // 11: trivy.cache.v1.PutResponse.os:type_name -> trivy.common.OS - 1, // 12: trivy.cache.v1.Cache.PutArtifact:input_type -> trivy.cache.v1.PutArtifactRequest - 3, // 13: trivy.cache.v1.Cache.PutBlob:input_type -> trivy.cache.v1.PutBlobRequest - 5, // 14: trivy.cache.v1.Cache.MissingBlobs:input_type -> trivy.cache.v1.MissingBlobsRequest - 7, // 15: trivy.cache.v1.Cache.DeleteBlobs:input_type -> trivy.cache.v1.DeleteBlobsRequest - 17, // 16: trivy.cache.v1.Cache.PutArtifact:output_type -> google.protobuf.Empty - 17, // 17: trivy.cache.v1.Cache.PutBlob:output_type -> google.protobuf.Empty - 6, // 18: trivy.cache.v1.Cache.MissingBlobs:output_type -> trivy.cache.v1.MissingBlobsResponse - 17, // 19: trivy.cache.v1.Cache.DeleteBlobs:output_type -> google.protobuf.Empty - 16, // [16:20] is the sub-list for method output_type - 12, // [12:16] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 17, // 10: trivy.cache.v1.BlobInfo.licenses:type_name -> trivy.common.LicenseFile + 2, // 11: trivy.cache.v1.PutBlobRequest.blob_info:type_name -> trivy.cache.v1.BlobInfo + 10, // 12: trivy.cache.v1.PutResponse.os:type_name -> trivy.common.OS + 1, // 13: trivy.cache.v1.Cache.PutArtifact:input_type -> trivy.cache.v1.PutArtifactRequest + 3, // 14: trivy.cache.v1.Cache.PutBlob:input_type -> trivy.cache.v1.PutBlobRequest + 5, // 15: trivy.cache.v1.Cache.MissingBlobs:input_type -> trivy.cache.v1.MissingBlobsRequest + 7, // 16: trivy.cache.v1.Cache.DeleteBlobs:input_type -> trivy.cache.v1.DeleteBlobsRequest + 18, // 17: trivy.cache.v1.Cache.PutArtifact:output_type -> google.protobuf.Empty + 18, // 18: trivy.cache.v1.Cache.PutBlob:output_type -> google.protobuf.Empty + 6, // 19: trivy.cache.v1.Cache.MissingBlobs:output_type -> trivy.cache.v1.MissingBlobsResponse + 18, // 20: trivy.cache.v1.Cache.DeleteBlobs:output_type -> google.protobuf.Empty + 17, // [17:21] is the sub-list for method output_type + 13, // [13:17] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_rpc_cache_service_proto_init() } diff --git a/rpc/cache/service.proto b/rpc/cache/service.proto index 132c82a52391..a1b113a202c7 100644 --- a/rpc/cache/service.proto +++ b/rpc/cache/service.proto @@ -41,6 +41,7 @@ message BlobInfo { string diff_id = 8; repeated common.CustomResource custom_resources = 10; repeated common.Secret secrets = 12; + repeated common.LicenseFile licenses = 13; } message PutBlobRequest { diff --git a/rpc/cache/service.twirp.go b/rpc/cache/service.twirp.go index 3fd2ca8b5f62..f5f138ef5091 100644 --- a/rpc/cache/service.twirp.go +++ b/rpc/cache/service.twirp.go @@ -1933,56 +1933,57 @@ func callClientError(ctx context.Context, h *twirp.ClientHooks, err twirp.Error) } var twirpFileDescriptor0 = []byte{ - // 808 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xef, 0x6e, 0xfb, 0x34, - 0x14, 0x55, 0xff, 0x6c, 0x6d, 0x6f, 0xff, 0xac, 0x98, 0x1f, 0x5b, 0x56, 0xa6, 0xad, 0x0a, 0x20, - 0x95, 0x0f, 0x24, 0xa2, 0x80, 0x84, 0x84, 0x40, 0x74, 0x1b, 0xa0, 0x4a, 0x4c, 0x14, 0x0f, 0x21, - 0xc1, 0x97, 0x92, 0x3a, 0x4e, 0x6b, 0xad, 0x89, 0x33, 0xdb, 0x29, 0xf4, 0x0d, 0x78, 0x27, 0x5e, - 0x81, 0x87, 0x42, 0x76, 0x92, 0xb6, 0x69, 0xbb, 0x89, 0xdf, 0x97, 0x2a, 0xbe, 0xf7, 0xf8, 0xf8, - 0xdc, 0xe3, 0x93, 0x14, 0x2e, 0x44, 0x4c, 0x5c, 0xe2, 0x91, 0x05, 0x75, 0x25, 0x15, 0x2b, 0x46, - 0xa8, 0x13, 0x0b, 0xae, 0x38, 0xea, 0x28, 0xc1, 0x56, 0x6b, 0xc7, 0xb4, 0x9c, 0xd5, 0xa7, 0xbd, - 0x9b, 0x39, 0xe7, 0xf3, 0x25, 0x75, 0x4d, 0x77, 0x96, 0x04, 0xae, 0x62, 0x21, 0x95, 0xca, 0x0b, - 0xe3, 0x74, 0x43, 0xcf, 0x32, 0x4c, 0x3c, 0x0c, 0x79, 0x54, 0xa4, 0xea, 0xbd, 0xbf, 0xbf, 0x95, - 0x86, 0xb1, 0x5a, 0xa7, 0x4d, 0xfb, 0xef, 0x32, 0xb4, 0x46, 0x42, 0xb1, 0xc0, 0x23, 0x6a, 0x1c, - 0x05, 0x1c, 0x7d, 0x04, 0x1d, 0x49, 0x16, 0x34, 0xf4, 0xa6, 0x2b, 0x2a, 0x24, 0xe3, 0x91, 0x55, - 0xea, 0x97, 0x06, 0x27, 0xb8, 0x9d, 0x56, 0x7f, 0x4d, 0x8b, 0xc8, 0x86, 0x96, 0x27, 0xc8, 0x82, - 0x29, 0x4a, 0x54, 0x22, 0xa8, 0x55, 0xee, 0x97, 0x06, 0x0d, 0x5c, 0xa8, 0xa1, 0xcf, 0xa1, 0x46, - 0x04, 0xf5, 0x14, 0xf5, 0xad, 0x4a, 0xbf, 0x34, 0x68, 0x0e, 0x7b, 0x4e, 0x2a, 0xc5, 0xc9, 0xa5, - 0x38, 0xbf, 0xe4, 0x53, 0xe0, 0x1c, 0xaa, 0x05, 0xf8, 0x9c, 0x3c, 0x51, 0xb1, 0x11, 0x50, 0x35, - 0xdc, 0xed, 0xb4, 0x9a, 0x0b, 0xe8, 0x40, 0x99, 0x4b, 0xeb, 0xc4, 0xb4, 0xca, 0x5c, 0xa2, 0x6f, - 0xa1, 0xbb, 0x60, 0x52, 0x71, 0xb1, 0x9e, 0xc6, 0x1e, 0x79, 0xf2, 0xe6, 0x54, 0x5a, 0xa7, 0xfd, - 0xca, 0xa0, 0x39, 0x7c, 0xcf, 0xc9, 0xbc, 0x34, 0xe6, 0x38, 0x93, 0xb4, 0x8b, 0xcf, 0x32, 0x78, - 0xb6, 0x96, 0xf6, 0x5f, 0x80, 0x26, 0x89, 0xca, 0xcd, 0xc0, 0xf4, 0x39, 0xa1, 0x52, 0xa1, 0x1b, - 0x68, 0x7a, 0x59, 0x69, 0xca, 0x7c, 0x63, 0x46, 0x03, 0x43, 0x5e, 0x1a, 0xfb, 0x68, 0x04, 0xed, - 0x2d, 0x20, 0x0a, 0xb8, 0xb1, 0xa2, 0x39, 0xbc, 0x72, 0x8a, 0x37, 0xe8, 0xec, 0xba, 0xac, 0x8d, - 0xda, 0xae, 0xec, 0x7f, 0xab, 0x50, 0xbf, 0x5d, 0xf2, 0xd9, 0xdb, 0x5c, 0x40, 0xdf, 0xcc, 0x9f, - 0x9e, 0xd5, 0x2d, 0x4e, 0xf8, 0xd3, 0xa3, 0x71, 0xe4, 0x4b, 0x00, 0x41, 0x63, 0x2e, 0x99, 0x9e, - 0xd2, 0x6a, 0x1a, 0xa4, 0x55, 0x44, 0xe2, 0x4d, 0x1f, 0xef, 0x60, 0xd1, 0x37, 0xd0, 0xce, 0x3c, - 0x34, 0x13, 0x49, 0xab, 0x62, 0x8c, 0xbc, 0x3c, 0x6a, 0x64, 0x3a, 0x4f, 0xbc, 0x5d, 0x48, 0xf4, - 0x35, 0xb4, 0xbc, 0x38, 0x5e, 0x32, 0xe2, 0x29, 0xc6, 0x23, 0x69, 0x55, 0x8f, 0x6d, 0x1f, 0x6d, - 0x11, 0xb8, 0x00, 0x47, 0x3f, 0xc2, 0x3b, 0x21, 0x93, 0x84, 0x47, 0x01, 0x9b, 0x27, 0x22, 0xe3, - 0x68, 0x18, 0x8e, 0xeb, 0x22, 0xc7, 0xc3, 0x1e, 0x0c, 0x1f, 0x6e, 0xd4, 0x17, 0xc8, 0x63, 0xef, - 0x39, 0xa1, 0x53, 0x9f, 0x09, 0x9d, 0x98, 0x8a, 0xbe, 0xc0, 0xb4, 0x74, 0xcf, 0x84, 0xd4, 0x86, - 0xff, 0xa9, 0x43, 0xcb, 0x13, 0x35, 0x0d, 0xd8, 0x32, 0xcb, 0x4d, 0x03, 0xb7, 0xf3, 0xea, 0xf7, - 0xba, 0x88, 0xce, 0xe1, 0xd4, 0x67, 0x73, 0x2a, 0x95, 0x55, 0x33, 0x19, 0xc8, 0x56, 0xe8, 0x02, - 0x6a, 0x3e, 0x0b, 0x02, 0x1d, 0x8e, 0x7a, 0xde, 0x08, 0x82, 0xb1, 0x8f, 0x7e, 0x80, 0x2e, 0x49, - 0xa4, 0xe2, 0xe1, 0x54, 0x50, 0xc9, 0x13, 0x41, 0xa8, 0xb4, 0xc0, 0x4c, 0x71, 0x55, 0x9c, 0xe2, - 0xce, 0xa0, 0x70, 0x06, 0xc2, 0x67, 0xa4, 0xb0, 0x96, 0xc8, 0x81, 0x9a, 0xa4, 0x44, 0x50, 0x25, - 0xad, 0x96, 0xd9, 0xff, 0xa6, 0xb8, 0xff, 0xd1, 0x34, 0x71, 0x0e, 0xb2, 0xff, 0x80, 0xce, 0x24, - 0x51, 0x3a, 0x50, 0x79, 0x88, 0x77, 0x34, 0x96, 0x0a, 0x1a, 0xbf, 0x80, 0xc6, 0x6c, 0xc9, 0x67, - 0x69, 0x70, 0x2b, 0xc5, 0x88, 0xe4, 0xc1, 0xcd, 0x93, 0x89, 0xeb, 0xb3, 0xec, 0xc9, 0xbe, 0x83, - 0xe6, 0x24, 0x51, 0x98, 0xca, 0x98, 0x47, 0x92, 0x66, 0x59, 0x2c, 0xbd, 0x92, 0x45, 0x04, 0x55, - 0xca, 0xe5, 0xd2, 0xe4, 0xb5, 0x8e, 0xcd, 0xb3, 0xfd, 0x33, 0xbc, 0xfb, 0xc0, 0xa4, 0x64, 0xd1, - 0x5c, 0x9f, 0x20, 0xff, 0xf7, 0x0b, 0x77, 0x09, 0xf5, 0x54, 0xb3, 0xaf, 0xf3, 0xaf, 0x6f, 0xaa, - 0x66, 0x84, 0xf9, 0xd2, 0x7e, 0x82, 0x37, 0x45, 0xca, 0x4c, 0xe0, 0xc7, 0xd0, 0x0d, 0xd3, 0xfa, - 0x34, 0x27, 0x32, 0xc4, 0x75, 0x7c, 0x96, 0xd5, 0xf3, 0xb7, 0x13, 0x0d, 0xb6, 0xd0, 0xbd, 0x53, - 0x3a, 0xe1, 0x96, 0x5a, 0x1f, 0xe6, 0x02, 0xba, 0xa7, 0x4b, 0xaa, 0x68, 0x41, 0xfe, 0xae, 0xba, - 0x52, 0x41, 0xdd, 0xf0, 0x9f, 0x32, 0x9c, 0xdc, 0x69, 0x57, 0xd1, 0xd8, 0xf8, 0xb7, 0x39, 0xd3, - 0xde, 0xb7, 0xfc, 0xf0, 0x3b, 0xd4, 0x3b, 0x3f, 0xf8, 0x76, 0x7e, 0xa7, 0x3f, 0xe3, 0x68, 0x04, - 0xb5, 0xec, 0xb2, 0xd1, 0xf5, 0x11, 0x9a, 0x9d, 0x14, 0xbc, 0x48, 0xf1, 0x1b, 0xb4, 0x76, 0x5d, - 0x43, 0x1f, 0xec, 0xf3, 0x1c, 0xb9, 0xa6, 0xde, 0x87, 0xaf, 0x83, 0x32, 0xe3, 0xc7, 0xd0, 0xdc, - 0xf1, 0xe8, 0x70, 0xd0, 0x43, 0x03, 0x5f, 0x52, 0x79, 0xeb, 0xfe, 0xfe, 0xc9, 0x9c, 0xa9, 0x45, - 0x32, 0xd3, 0xd1, 0x72, 0xbd, 0xe7, 0xc4, 0x93, 0x94, 0x24, 0x82, 0xa9, 0xb5, 0x6b, 0x48, 0xdd, - 0xcd, 0x5f, 0xe9, 0x57, 0xe6, 0x77, 0x76, 0x6a, 0x08, 0x3e, 0xfb, 0x2f, 0x00, 0x00, 0xff, 0xff, - 0xd6, 0x90, 0xcf, 0x6c, 0x64, 0x07, 0x00, 0x00, + // 830 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdf, 0x8f, 0xdb, 0x44, + 0x10, 0x56, 0x92, 0xbb, 0x4b, 0x32, 0xf9, 0x71, 0xc7, 0x52, 0x5a, 0x37, 0x54, 0x6d, 0x64, 0x40, + 0x0a, 0x0f, 0xd8, 0xe2, 0xa0, 0x12, 0x12, 0x02, 0x71, 0xbd, 0x02, 0x8a, 0xd4, 0x8a, 0x63, 0x8b, + 0x90, 0xe0, 0x25, 0x38, 0xeb, 0x75, 0xb2, 0x3a, 0xdb, 0xeb, 0xdb, 0x59, 0x07, 0xf2, 0xcc, 0x0b, + 0xff, 0x13, 0xff, 0x1c, 0xda, 0xb5, 0x9d, 0xc4, 0x49, 0x7a, 0xa2, 0x2f, 0x91, 0x77, 0xe6, 0x9b, + 0x6f, 0x67, 0xbe, 0xf9, 0xec, 0xc0, 0x23, 0x95, 0x31, 0x9f, 0x05, 0x6c, 0xc9, 0x7d, 0xe4, 0x6a, + 0x25, 0x18, 0xf7, 0x32, 0x25, 0xb5, 0x24, 0x43, 0xad, 0xc4, 0x6a, 0xed, 0xd9, 0x94, 0xb7, 0xfa, + 0x7c, 0xf4, 0x6c, 0x21, 0xe5, 0x22, 0xe6, 0xbe, 0xcd, 0xce, 0xf3, 0xc8, 0xd7, 0x22, 0xe1, 0xa8, + 0x83, 0x24, 0x2b, 0x0a, 0x46, 0x8e, 0x65, 0x92, 0x49, 0x22, 0xd3, 0x3a, 0xd5, 0xe8, 0xc3, 0xfd, + 0x52, 0x9e, 0x64, 0x7a, 0x5d, 0x24, 0xdd, 0x7f, 0x9a, 0xd0, 0xbf, 0x52, 0x5a, 0x44, 0x01, 0xd3, + 0xd3, 0x34, 0x92, 0xe4, 0x13, 0x18, 0x22, 0x5b, 0xf2, 0x24, 0x98, 0xad, 0xb8, 0x42, 0x21, 0x53, + 0xa7, 0x31, 0x6e, 0x4c, 0x4e, 0xe9, 0xa0, 0x88, 0xfe, 0x5a, 0x04, 0x89, 0x0b, 0xfd, 0x40, 0xb1, + 0xa5, 0xd0, 0x9c, 0xe9, 0x5c, 0x71, 0xa7, 0x39, 0x6e, 0x4c, 0xba, 0xb4, 0x16, 0x23, 0x5f, 0x42, + 0x9b, 0x29, 0x1e, 0x68, 0x1e, 0x3a, 0xad, 0x71, 0x63, 0xd2, 0xbb, 0x1c, 0x79, 0x45, 0x2b, 0x5e, + 0xd5, 0x8a, 0xf7, 0x4b, 0x35, 0x05, 0xad, 0xa0, 0xa6, 0x81, 0x50, 0xb2, 0x5b, 0xae, 0x36, 0x0d, + 0x9c, 0x58, 0xee, 0x41, 0x11, 0xad, 0x1a, 0x18, 0x42, 0x53, 0xa2, 0x73, 0x6a, 0x53, 0x4d, 0x89, + 0xe4, 0x3b, 0xb8, 0x58, 0x0a, 0xd4, 0x52, 0xad, 0x67, 0x59, 0xc0, 0x6e, 0x83, 0x05, 0x47, 0xe7, + 0x6c, 0xdc, 0x9a, 0xf4, 0x2e, 0x3f, 0xf0, 0x4a, 0x2d, 0xad, 0x38, 0xde, 0x4d, 0x91, 0xa5, 0xe7, + 0x25, 0xbc, 0x3c, 0xa3, 0xfb, 0x17, 0x90, 0x9b, 0x5c, 0x57, 0x62, 0x50, 0x7e, 0x97, 0x73, 0xd4, + 0xe4, 0x19, 0xf4, 0x82, 0x32, 0x34, 0x13, 0xa1, 0x15, 0xa3, 0x4b, 0xa1, 0x0a, 0x4d, 0x43, 0x72, + 0x05, 0x83, 0x2d, 0x20, 0x8d, 0xa4, 0x95, 0xa2, 0x77, 0xf9, 0xc4, 0xab, 0x6f, 0xd0, 0xdb, 0x55, + 0xd9, 0x08, 0xb5, 0x3d, 0xb9, 0x7f, 0x9f, 0x42, 0xe7, 0x45, 0x2c, 0xe7, 0xef, 0xb2, 0x80, 0xb1, + 0x9d, 0xbf, 0xb8, 0xeb, 0xa2, 0x3e, 0xe1, 0x4f, 0x6f, 0xac, 0x22, 0x5f, 0x01, 0x28, 0x9e, 0x49, + 0x14, 0x66, 0x4a, 0xa7, 0x67, 0x91, 0x4e, 0x1d, 0x49, 0x37, 0x79, 0xba, 0x83, 0x25, 0xdf, 0xc2, + 0xa0, 0xd4, 0xd0, 0x4e, 0x84, 0x4e, 0xcb, 0x0a, 0xf9, 0xf8, 0xa8, 0x90, 0xc5, 0x3c, 0xd9, 0xf6, + 0x80, 0xe4, 0x1b, 0xe8, 0x07, 0x59, 0x16, 0x0b, 0x16, 0x68, 0x21, 0x53, 0x74, 0x4e, 0x8e, 0x95, + 0x5f, 0x6d, 0x11, 0xb4, 0x06, 0x27, 0xaf, 0xe0, 0xbd, 0x44, 0x20, 0x93, 0x69, 0x24, 0x16, 0xb9, + 0x2a, 0x39, 0xba, 0x96, 0xe3, 0x69, 0x9d, 0xe3, 0xf5, 0x1e, 0x8c, 0x1e, 0x16, 0x9a, 0x05, 0xca, + 0x2c, 0xb8, 0xcb, 0xf9, 0x2c, 0x14, 0xca, 0x38, 0xa6, 0x65, 0x16, 0x58, 0x84, 0x5e, 0x0a, 0x85, + 0x46, 0xf0, 0x3f, 0x8d, 0x69, 0x65, 0xae, 0x67, 0x91, 0x88, 0x4b, 0xdf, 0x74, 0xe9, 0xa0, 0x8a, + 0xfe, 0x60, 0x82, 0xe4, 0x21, 0x9c, 0x85, 0x62, 0xc1, 0x51, 0x3b, 0x6d, 0xeb, 0x81, 0xf2, 0x44, + 0x1e, 0x41, 0x3b, 0x14, 0x51, 0x64, 0xcc, 0xd1, 0xa9, 0x12, 0x51, 0x34, 0x0d, 0xc9, 0x8f, 0x70, + 0xc1, 0x72, 0xd4, 0x32, 0x99, 0x29, 0x8e, 0x32, 0x57, 0x8c, 0xa3, 0x03, 0x76, 0x8a, 0x27, 0xf5, + 0x29, 0xae, 0x2d, 0x8a, 0x96, 0x20, 0x7a, 0xce, 0x6a, 0x67, 0x24, 0x1e, 0xb4, 0x91, 0x33, 0xc5, + 0x35, 0x3a, 0x7d, 0x5b, 0xff, 0xa0, 0x5e, 0xff, 0xc6, 0x26, 0x69, 0x05, 0x22, 0xcf, 0xa1, 0x13, + 0x0b, 0xc6, 0x53, 0xe4, 0xe8, 0x0c, 0x8e, 0x49, 0xff, 0xaa, 0xc8, 0x9a, 0xb9, 0xe8, 0x06, 0xea, + 0xfe, 0x01, 0xc3, 0x9b, 0x5c, 0x1b, 0x1f, 0x56, 0xde, 0xdf, 0x19, 0xad, 0x51, 0x1b, 0xed, 0x39, + 0x74, 0xe7, 0xb1, 0x9c, 0x17, 0x7e, 0x6f, 0xd5, 0x9d, 0x55, 0xf9, 0xbd, 0x32, 0x34, 0xed, 0xcc, + 0xcb, 0x27, 0xf7, 0x1a, 0x7a, 0x37, 0xb9, 0xa6, 0x1c, 0x33, 0x99, 0x22, 0x2f, 0x2d, 0xdc, 0xb8, + 0xc7, 0xc2, 0x04, 0x4e, 0xb8, 0xc4, 0xd8, 0xda, 0xbc, 0x43, 0xed, 0xb3, 0xfb, 0x33, 0xbc, 0xff, + 0x5a, 0x20, 0x8a, 0x74, 0x61, 0x6e, 0xc0, 0xff, 0xfd, 0x9e, 0x3e, 0x86, 0x4e, 0xd1, 0x73, 0x68, + 0x5e, 0x1b, 0xb3, 0xe0, 0xb6, 0x6d, 0x2c, 0x44, 0xf7, 0x16, 0x1e, 0xd4, 0x29, 0xcb, 0x06, 0x3f, + 0x85, 0x8b, 0xa4, 0x88, 0xcf, 0x2a, 0x22, 0x4b, 0xdc, 0xa1, 0xe7, 0x65, 0xbc, 0x7a, 0xa9, 0xc9, + 0x64, 0x0b, 0xdd, 0xbb, 0x65, 0x98, 0x6c, 0xa9, 0xcd, 0x65, 0x3e, 0x90, 0x97, 0x3c, 0xe6, 0x9a, + 0xd7, 0xda, 0xdf, 0xed, 0xae, 0x51, 0xeb, 0xee, 0xf2, 0xdf, 0x26, 0x9c, 0x5e, 0x1b, 0x55, 0xc9, + 0xd4, 0xea, 0xb7, 0xb9, 0xd3, 0xdd, 0x97, 0xfc, 0xf0, 0xf3, 0x35, 0x7a, 0x78, 0xf0, 0xc9, 0xfd, + 0xde, 0x7c, 0xfd, 0xc9, 0x15, 0xb4, 0xcb, 0x65, 0x93, 0xa7, 0x47, 0x68, 0x76, 0x5c, 0xf0, 0x56, + 0x8a, 0xdf, 0xa0, 0xbf, 0xab, 0x1a, 0xf9, 0x68, 0x9f, 0xe7, 0xc8, 0x9a, 0x46, 0x1f, 0xdf, 0x0f, + 0x2a, 0x85, 0x9f, 0x42, 0x6f, 0x47, 0xa3, 0xc3, 0x41, 0x0f, 0x05, 0x7c, 0x5b, 0x97, 0x2f, 0xfc, + 0xdf, 0x3f, 0x5b, 0x08, 0xbd, 0xcc, 0xe7, 0xc6, 0x5a, 0x7e, 0x70, 0x97, 0x07, 0xc8, 0x59, 0xae, + 0x84, 0x5e, 0xfb, 0x96, 0xd4, 0xdf, 0xfc, 0x03, 0x7f, 0x6d, 0x7f, 0xe7, 0x67, 0x96, 0xe0, 0x8b, + 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x82, 0x05, 0x5f, 0x23, 0x9b, 0x07, 0x00, 0x00, } diff --git a/rpc/common/service.pb.go b/rpc/common/service.pb.go index a3174db57e58..7183f59f6a24 100644 --- a/rpc/common/service.pb.go +++ b/rpc/common/service.pb.go @@ -77,22 +77,22 @@ func (Severity) EnumDescriptor() ([]byte, []int) { return file_rpc_common_service_proto_rawDescGZIP(), []int{0} } -type DetectedLicense_LicenseCategory int32 +type LicenseCategory_Enum int32 const ( - DetectedLicense_UNSPECIFIED DetectedLicense_LicenseCategory = 0 - DetectedLicense_FORBIDDEN DetectedLicense_LicenseCategory = 1 - DetectedLicense_RESTRICTED DetectedLicense_LicenseCategory = 2 - DetectedLicense_RECIPROCAL DetectedLicense_LicenseCategory = 3 - DetectedLicense_NOTICE DetectedLicense_LicenseCategory = 4 - DetectedLicense_PERMISSIVE DetectedLicense_LicenseCategory = 5 - DetectedLicense_UNENCUMBERED DetectedLicense_LicenseCategory = 6 - DetectedLicense_UNKNOWN DetectedLicense_LicenseCategory = 7 + LicenseCategory_UNSPECIFIED LicenseCategory_Enum = 0 + LicenseCategory_FORBIDDEN LicenseCategory_Enum = 1 + LicenseCategory_RESTRICTED LicenseCategory_Enum = 2 + LicenseCategory_RECIPROCAL LicenseCategory_Enum = 3 + LicenseCategory_NOTICE LicenseCategory_Enum = 4 + LicenseCategory_PERMISSIVE LicenseCategory_Enum = 5 + LicenseCategory_UNENCUMBERED LicenseCategory_Enum = 6 + LicenseCategory_UNKNOWN LicenseCategory_Enum = 7 ) -// Enum value maps for DetectedLicense_LicenseCategory. +// Enum value maps for LicenseCategory_Enum. var ( - DetectedLicense_LicenseCategory_name = map[int32]string{ + LicenseCategory_Enum_name = map[int32]string{ 0: "UNSPECIFIED", 1: "FORBIDDEN", 2: "RESTRICTED", @@ -102,7 +102,7 @@ var ( 6: "UNENCUMBERED", 7: "UNKNOWN", } - DetectedLicense_LicenseCategory_value = map[string]int32{ + LicenseCategory_Enum_value = map[string]int32{ "UNSPECIFIED": 0, "FORBIDDEN": 1, "RESTRICTED": 2, @@ -114,31 +114,83 @@ var ( } ) -func (x DetectedLicense_LicenseCategory) Enum() *DetectedLicense_LicenseCategory { - p := new(DetectedLicense_LicenseCategory) +func (x LicenseCategory_Enum) Enum() *LicenseCategory_Enum { + p := new(LicenseCategory_Enum) *p = x return p } -func (x DetectedLicense_LicenseCategory) String() string { +func (x LicenseCategory_Enum) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (DetectedLicense_LicenseCategory) Descriptor() protoreflect.EnumDescriptor { +func (LicenseCategory_Enum) Descriptor() protoreflect.EnumDescriptor { return file_rpc_common_service_proto_enumTypes[1].Descriptor() } -func (DetectedLicense_LicenseCategory) Type() protoreflect.EnumType { +func (LicenseCategory_Enum) Type() protoreflect.EnumType { return &file_rpc_common_service_proto_enumTypes[1] } -func (x DetectedLicense_LicenseCategory) Number() protoreflect.EnumNumber { +func (x LicenseCategory_Enum) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use DetectedLicense_LicenseCategory.Descriptor instead. -func (DetectedLicense_LicenseCategory) EnumDescriptor() ([]byte, []int) { - return file_rpc_common_service_proto_rawDescGZIP(), []int{19, 0} +// Deprecated: Use LicenseCategory_Enum.Descriptor instead. +func (LicenseCategory_Enum) EnumDescriptor() ([]byte, []int) { + return file_rpc_common_service_proto_rawDescGZIP(), []int{22, 0} +} + +type LicenseType_Enum int32 + +const ( + LicenseType_UNSPECIFIED LicenseType_Enum = 0 + LicenseType_DPKG LicenseType_Enum = 1 + LicenseType_HEADER LicenseType_Enum = 2 + LicenseType_LICENSE_FILE LicenseType_Enum = 3 +) + +// Enum value maps for LicenseType_Enum. +var ( + LicenseType_Enum_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "DPKG", + 2: "HEADER", + 3: "LICENSE_FILE", + } + LicenseType_Enum_value = map[string]int32{ + "UNSPECIFIED": 0, + "DPKG": 1, + "HEADER": 2, + "LICENSE_FILE": 3, + } +) + +func (x LicenseType_Enum) Enum() *LicenseType_Enum { + p := new(LicenseType_Enum) + *p = x + return p +} + +func (x LicenseType_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LicenseType_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_rpc_common_service_proto_enumTypes[2].Descriptor() +} + +func (LicenseType_Enum) Type() protoreflect.EnumType { + return &file_rpc_common_service_proto_enumTypes[2] +} + +func (x LicenseType_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LicenseType_Enum.Descriptor instead. +func (LicenseType_Enum) EnumDescriptor() ([]byte, []int) { + return file_rpc_common_service_proto_rawDescGZIP(), []int{23, 0} } type OS struct { @@ -1883,13 +1935,13 @@ type DetectedLicense struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Severity Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=trivy.common.Severity" json:"severity,omitempty"` - Category DetectedLicense_LicenseCategory `protobuf:"varint,2,opt,name=category,proto3,enum=trivy.common.DetectedLicense_LicenseCategory" json:"category,omitempty"` - PkgName string `protobuf:"bytes,3,opt,name=pkg_name,json=pkgName,proto3" json:"pkg_name,omitempty"` - FilePath string `protobuf:"bytes,4,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` - Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - Confidence float32 `protobuf:"fixed32,6,opt,name=confidence,proto3" json:"confidence,omitempty"` - Link string `protobuf:"bytes,7,opt,name=link,proto3" json:"link,omitempty"` + Severity Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=trivy.common.Severity" json:"severity,omitempty"` + Category LicenseCategory_Enum `protobuf:"varint,2,opt,name=category,proto3,enum=trivy.common.LicenseCategory_Enum" json:"category,omitempty"` + PkgName string `protobuf:"bytes,3,opt,name=pkg_name,json=pkgName,proto3" json:"pkg_name,omitempty"` + FilePath string `protobuf:"bytes,4,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + Confidence float32 `protobuf:"fixed32,6,opt,name=confidence,proto3" json:"confidence,omitempty"` + Link string `protobuf:"bytes,7,opt,name=link,proto3" json:"link,omitempty"` } func (x *DetectedLicense) Reset() { @@ -1931,11 +1983,11 @@ func (x *DetectedLicense) GetSeverity() Severity { return Severity_UNKNOWN } -func (x *DetectedLicense) GetCategory() DetectedLicense_LicenseCategory { +func (x *DetectedLicense) GetCategory() LicenseCategory_Enum { if x != nil { return x.Category } - return DetectedLicense_UNSPECIFIED + return LicenseCategory_UNSPECIFIED } func (x *DetectedLicense) GetPkgName() string { @@ -1973,6 +2025,235 @@ func (x *DetectedLicense) GetLink() string { return "" } +type LicenseFile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LicenseType LicenseType_Enum `protobuf:"varint,1,opt,name=license_type,json=licenseType,proto3,enum=trivy.common.LicenseType_Enum" json:"license_type,omitempty"` + FilePath string `protobuf:"bytes,2,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` + PkgName string `protobuf:"bytes,3,opt,name=pkg_name,json=pkgName,proto3" json:"pkg_name,omitempty"` + Fingings []*LicenseFinding `protobuf:"bytes,4,rep,name=fingings,proto3" json:"fingings,omitempty"` + Layer *Layer `protobuf:"bytes,5,opt,name=layer,proto3" json:"layer,omitempty"` +} + +func (x *LicenseFile) Reset() { + *x = LicenseFile{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_common_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LicenseFile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LicenseFile) ProtoMessage() {} + +func (x *LicenseFile) ProtoReflect() protoreflect.Message { + mi := &file_rpc_common_service_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LicenseFile.ProtoReflect.Descriptor instead. +func (*LicenseFile) Descriptor() ([]byte, []int) { + return file_rpc_common_service_proto_rawDescGZIP(), []int{20} +} + +func (x *LicenseFile) GetLicenseType() LicenseType_Enum { + if x != nil { + return x.LicenseType + } + return LicenseType_UNSPECIFIED +} + +func (x *LicenseFile) GetFilePath() string { + if x != nil { + return x.FilePath + } + return "" +} + +func (x *LicenseFile) GetPkgName() string { + if x != nil { + return x.PkgName + } + return "" +} + +func (x *LicenseFile) GetFingings() []*LicenseFinding { + if x != nil { + return x.Fingings + } + return nil +} + +func (x *LicenseFile) GetLayer() *Layer { + if x != nil { + return x.Layer + } + return nil +} + +type LicenseFinding struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Category LicenseCategory_Enum `protobuf:"varint,1,opt,name=category,proto3,enum=trivy.common.LicenseCategory_Enum" json:"category,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Confidence float32 `protobuf:"fixed32,3,opt,name=confidence,proto3" json:"confidence,omitempty"` + Link string `protobuf:"bytes,4,opt,name=link,proto3" json:"link,omitempty"` +} + +func (x *LicenseFinding) Reset() { + *x = LicenseFinding{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_common_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LicenseFinding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LicenseFinding) ProtoMessage() {} + +func (x *LicenseFinding) ProtoReflect() protoreflect.Message { + mi := &file_rpc_common_service_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LicenseFinding.ProtoReflect.Descriptor instead. +func (*LicenseFinding) Descriptor() ([]byte, []int) { + return file_rpc_common_service_proto_rawDescGZIP(), []int{21} +} + +func (x *LicenseFinding) GetCategory() LicenseCategory_Enum { + if x != nil { + return x.Category + } + return LicenseCategory_UNSPECIFIED +} + +func (x *LicenseFinding) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *LicenseFinding) GetConfidence() float32 { + if x != nil { + return x.Confidence + } + return 0 +} + +func (x *LicenseFinding) GetLink() string { + if x != nil { + return x.Link + } + return "" +} + +// Enumerations are wrapped with a message to improve the readability of enumerations +// in generated code and avoid name conflicts. +// https://github.com/golang/protobuf/issues/513 +type LicenseCategory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *LicenseCategory) Reset() { + *x = LicenseCategory{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_common_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LicenseCategory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LicenseCategory) ProtoMessage() {} + +func (x *LicenseCategory) ProtoReflect() protoreflect.Message { + mi := &file_rpc_common_service_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LicenseCategory.ProtoReflect.Descriptor instead. +func (*LicenseCategory) Descriptor() ([]byte, []int) { + return file_rpc_common_service_proto_rawDescGZIP(), []int{22} +} + +type LicenseType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *LicenseType) Reset() { + *x = LicenseType{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_common_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LicenseType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LicenseType) ProtoMessage() {} + +func (x *LicenseType) ProtoReflect() protoreflect.Message { + mi := &file_rpc_common_service_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LicenseType.ProtoReflect.Descriptor instead. +func (*LicenseType) Descriptor() ([]byte, []int) { + return file_rpc_common_service_proto_rawDescGZIP(), []int{23} +} + var File_rpc_common_service_proto protoreflect.FileDescriptor var file_rpc_common_service_proto_rawDesc = []byte{ @@ -2274,41 +2555,71 @@ var file_rpc_common_service_proto_rawDesc = []byte{ 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x66, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x9f, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x74, 0x65, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x85, 0x02, 0x0a, 0x0f, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, - 0x49, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2d, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x3e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x22, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, - 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6b, - 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, - 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, + 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, + 0x69, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, + 0xed, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, + 0x41, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x70, 0x6b, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x66, 0x69, + 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, + 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x66, 0x69, 0x6e, 0x67, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, + 0x98, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x46, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x8c, 0x01, 0x0a, 0x0f, 0x4c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0f, - 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0d, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0e, - 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, - 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x49, 0x50, 0x52, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x0a, - 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, - 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x56, 0x45, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, - 0x45, 0x4e, 0x43, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x07, 0x2a, 0x44, 0x0a, 0x08, 0x53, 0x65, 0x76, - 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, - 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, - 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x42, - 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x71, - 0x75, 0x61, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x72, 0x69, 0x76, 0x79, - 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x4c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x81, + 0x01, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x42, + 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x52, + 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x49, 0x50, + 0x52, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x49, 0x43, + 0x45, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x56, + 0x45, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x45, 0x4e, 0x43, 0x55, 0x4d, 0x42, 0x45, + 0x52, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x10, 0x07, 0x22, 0x4e, 0x0a, 0x0b, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x22, 0x3f, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x50, + 0x4b, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, + 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, + 0x10, 0x03, 0x2a, 0x44, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0b, + 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4c, + 0x4f, 0x57, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, + 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, + 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x71, 0x75, 0x61, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x2f, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -2323,74 +2634,83 @@ func file_rpc_common_service_proto_rawDescGZIP() []byte { return file_rpc_common_service_proto_rawDescData } -var file_rpc_common_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_rpc_common_service_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_rpc_common_service_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_rpc_common_service_proto_msgTypes = make([]protoimpl.MessageInfo, 26) var file_rpc_common_service_proto_goTypes = []interface{}{ - (Severity)(0), // 0: trivy.common.Severity - (DetectedLicense_LicenseCategory)(0), // 1: trivy.common.DetectedLicense.LicenseCategory - (*OS)(nil), // 2: trivy.common.OS - (*Repository)(nil), // 3: trivy.common.Repository - (*PackageInfo)(nil), // 4: trivy.common.PackageInfo - (*Application)(nil), // 5: trivy.common.Application - (*Package)(nil), // 6: trivy.common.Package - (*Misconfiguration)(nil), // 7: trivy.common.Misconfiguration - (*MisconfResult)(nil), // 8: trivy.common.MisconfResult - (*PolicyMetadata)(nil), // 9: trivy.common.PolicyMetadata - (*DetectedMisconfiguration)(nil), // 10: trivy.common.DetectedMisconfiguration - (*Vulnerability)(nil), // 11: trivy.common.Vulnerability - (*DataSource)(nil), // 12: trivy.common.DataSource - (*Layer)(nil), // 13: trivy.common.Layer - (*CauseMetadata)(nil), // 14: trivy.common.CauseMetadata - (*CVSS)(nil), // 15: trivy.common.CVSS - (*CustomResource)(nil), // 16: trivy.common.CustomResource - (*Line)(nil), // 17: trivy.common.Line - (*Code)(nil), // 18: trivy.common.Code - (*SecretFinding)(nil), // 19: trivy.common.SecretFinding - (*Secret)(nil), // 20: trivy.common.Secret - (*DetectedLicense)(nil), // 21: trivy.common.DetectedLicense - nil, // 22: trivy.common.Vulnerability.CvssEntry - nil, // 23: trivy.common.Vulnerability.VendorSeverityEntry - (*timestamppb.Timestamp)(nil), // 24: google.protobuf.Timestamp - (*structpb.Value)(nil), // 25: google.protobuf.Value + (Severity)(0), // 0: trivy.common.Severity + (LicenseCategory_Enum)(0), // 1: trivy.common.LicenseCategory.Enum + (LicenseType_Enum)(0), // 2: trivy.common.LicenseType.Enum + (*OS)(nil), // 3: trivy.common.OS + (*Repository)(nil), // 4: trivy.common.Repository + (*PackageInfo)(nil), // 5: trivy.common.PackageInfo + (*Application)(nil), // 6: trivy.common.Application + (*Package)(nil), // 7: trivy.common.Package + (*Misconfiguration)(nil), // 8: trivy.common.Misconfiguration + (*MisconfResult)(nil), // 9: trivy.common.MisconfResult + (*PolicyMetadata)(nil), // 10: trivy.common.PolicyMetadata + (*DetectedMisconfiguration)(nil), // 11: trivy.common.DetectedMisconfiguration + (*Vulnerability)(nil), // 12: trivy.common.Vulnerability + (*DataSource)(nil), // 13: trivy.common.DataSource + (*Layer)(nil), // 14: trivy.common.Layer + (*CauseMetadata)(nil), // 15: trivy.common.CauseMetadata + (*CVSS)(nil), // 16: trivy.common.CVSS + (*CustomResource)(nil), // 17: trivy.common.CustomResource + (*Line)(nil), // 18: trivy.common.Line + (*Code)(nil), // 19: trivy.common.Code + (*SecretFinding)(nil), // 20: trivy.common.SecretFinding + (*Secret)(nil), // 21: trivy.common.Secret + (*DetectedLicense)(nil), // 22: trivy.common.DetectedLicense + (*LicenseFile)(nil), // 23: trivy.common.LicenseFile + (*LicenseFinding)(nil), // 24: trivy.common.LicenseFinding + (*LicenseCategory)(nil), // 25: trivy.common.LicenseCategory + (*LicenseType)(nil), // 26: trivy.common.LicenseType + nil, // 27: trivy.common.Vulnerability.CvssEntry + nil, // 28: trivy.common.Vulnerability.VendorSeverityEntry + (*timestamppb.Timestamp)(nil), // 29: google.protobuf.Timestamp + (*structpb.Value)(nil), // 30: google.protobuf.Value } var file_rpc_common_service_proto_depIdxs = []int32{ - 6, // 0: trivy.common.PackageInfo.packages:type_name -> trivy.common.Package - 6, // 1: trivy.common.Application.libraries:type_name -> trivy.common.Package - 13, // 2: trivy.common.Package.layer:type_name -> trivy.common.Layer - 8, // 3: trivy.common.Misconfiguration.successes:type_name -> trivy.common.MisconfResult - 8, // 4: trivy.common.Misconfiguration.warnings:type_name -> trivy.common.MisconfResult - 8, // 5: trivy.common.Misconfiguration.failures:type_name -> trivy.common.MisconfResult - 8, // 6: trivy.common.Misconfiguration.exceptions:type_name -> trivy.common.MisconfResult - 9, // 7: trivy.common.MisconfResult.policy_metadata:type_name -> trivy.common.PolicyMetadata - 14, // 8: trivy.common.MisconfResult.cause_metadata:type_name -> trivy.common.CauseMetadata + 7, // 0: trivy.common.PackageInfo.packages:type_name -> trivy.common.Package + 7, // 1: trivy.common.Application.libraries:type_name -> trivy.common.Package + 14, // 2: trivy.common.Package.layer:type_name -> trivy.common.Layer + 9, // 3: trivy.common.Misconfiguration.successes:type_name -> trivy.common.MisconfResult + 9, // 4: trivy.common.Misconfiguration.warnings:type_name -> trivy.common.MisconfResult + 9, // 5: trivy.common.Misconfiguration.failures:type_name -> trivy.common.MisconfResult + 9, // 6: trivy.common.Misconfiguration.exceptions:type_name -> trivy.common.MisconfResult + 10, // 7: trivy.common.MisconfResult.policy_metadata:type_name -> trivy.common.PolicyMetadata + 15, // 8: trivy.common.MisconfResult.cause_metadata:type_name -> trivy.common.CauseMetadata 0, // 9: trivy.common.DetectedMisconfiguration.severity:type_name -> trivy.common.Severity - 13, // 10: trivy.common.DetectedMisconfiguration.layer:type_name -> trivy.common.Layer - 14, // 11: trivy.common.DetectedMisconfiguration.cause_metadata:type_name -> trivy.common.CauseMetadata + 14, // 10: trivy.common.DetectedMisconfiguration.layer:type_name -> trivy.common.Layer + 15, // 11: trivy.common.DetectedMisconfiguration.cause_metadata:type_name -> trivy.common.CauseMetadata 0, // 12: trivy.common.Vulnerability.severity:type_name -> trivy.common.Severity - 13, // 13: trivy.common.Vulnerability.layer:type_name -> trivy.common.Layer - 22, // 14: trivy.common.Vulnerability.cvss:type_name -> trivy.common.Vulnerability.CvssEntry - 24, // 15: trivy.common.Vulnerability.published_date:type_name -> google.protobuf.Timestamp - 24, // 16: trivy.common.Vulnerability.last_modified_date:type_name -> google.protobuf.Timestamp - 25, // 17: trivy.common.Vulnerability.custom_advisory_data:type_name -> google.protobuf.Value - 25, // 18: trivy.common.Vulnerability.custom_vuln_data:type_name -> google.protobuf.Value - 12, // 19: trivy.common.Vulnerability.data_source:type_name -> trivy.common.DataSource - 23, // 20: trivy.common.Vulnerability.vendor_severity:type_name -> trivy.common.Vulnerability.VendorSeverityEntry - 18, // 21: trivy.common.CauseMetadata.code:type_name -> trivy.common.Code - 13, // 22: trivy.common.CustomResource.layer:type_name -> trivy.common.Layer - 25, // 23: trivy.common.CustomResource.data:type_name -> google.protobuf.Value - 17, // 24: trivy.common.Code.lines:type_name -> trivy.common.Line - 18, // 25: trivy.common.SecretFinding.code:type_name -> trivy.common.Code - 13, // 26: trivy.common.SecretFinding.layer:type_name -> trivy.common.Layer - 19, // 27: trivy.common.Secret.findings:type_name -> trivy.common.SecretFinding + 14, // 13: trivy.common.Vulnerability.layer:type_name -> trivy.common.Layer + 27, // 14: trivy.common.Vulnerability.cvss:type_name -> trivy.common.Vulnerability.CvssEntry + 29, // 15: trivy.common.Vulnerability.published_date:type_name -> google.protobuf.Timestamp + 29, // 16: trivy.common.Vulnerability.last_modified_date:type_name -> google.protobuf.Timestamp + 30, // 17: trivy.common.Vulnerability.custom_advisory_data:type_name -> google.protobuf.Value + 30, // 18: trivy.common.Vulnerability.custom_vuln_data:type_name -> google.protobuf.Value + 13, // 19: trivy.common.Vulnerability.data_source:type_name -> trivy.common.DataSource + 28, // 20: trivy.common.Vulnerability.vendor_severity:type_name -> trivy.common.Vulnerability.VendorSeverityEntry + 19, // 21: trivy.common.CauseMetadata.code:type_name -> trivy.common.Code + 14, // 22: trivy.common.CustomResource.layer:type_name -> trivy.common.Layer + 30, // 23: trivy.common.CustomResource.data:type_name -> google.protobuf.Value + 18, // 24: trivy.common.Code.lines:type_name -> trivy.common.Line + 19, // 25: trivy.common.SecretFinding.code:type_name -> trivy.common.Code + 14, // 26: trivy.common.SecretFinding.layer:type_name -> trivy.common.Layer + 20, // 27: trivy.common.Secret.findings:type_name -> trivy.common.SecretFinding 0, // 28: trivy.common.DetectedLicense.severity:type_name -> trivy.common.Severity - 1, // 29: trivy.common.DetectedLicense.category:type_name -> trivy.common.DetectedLicense.LicenseCategory - 15, // 30: trivy.common.Vulnerability.CvssEntry.value:type_name -> trivy.common.CVSS - 0, // 31: trivy.common.Vulnerability.VendorSeverityEntry.value:type_name -> trivy.common.Severity - 32, // [32:32] is the sub-list for method output_type - 32, // [32:32] is the sub-list for method input_type - 32, // [32:32] is the sub-list for extension type_name - 32, // [32:32] is the sub-list for extension extendee - 0, // [0:32] is the sub-list for field type_name + 1, // 29: trivy.common.DetectedLicense.category:type_name -> trivy.common.LicenseCategory.Enum + 2, // 30: trivy.common.LicenseFile.license_type:type_name -> trivy.common.LicenseType.Enum + 24, // 31: trivy.common.LicenseFile.fingings:type_name -> trivy.common.LicenseFinding + 14, // 32: trivy.common.LicenseFile.layer:type_name -> trivy.common.Layer + 1, // 33: trivy.common.LicenseFinding.category:type_name -> trivy.common.LicenseCategory.Enum + 16, // 34: trivy.common.Vulnerability.CvssEntry.value:type_name -> trivy.common.CVSS + 0, // 35: trivy.common.Vulnerability.VendorSeverityEntry.value:type_name -> trivy.common.Severity + 36, // [36:36] is the sub-list for method output_type + 36, // [36:36] is the sub-list for method input_type + 36, // [36:36] is the sub-list for extension type_name + 36, // [36:36] is the sub-list for extension extendee + 0, // [0:36] is the sub-list for field type_name } func init() { file_rpc_common_service_proto_init() } @@ -2639,14 +2959,62 @@ func file_rpc_common_service_proto_init() { return nil } } + file_rpc_common_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LicenseFile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_common_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LicenseFinding); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_common_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LicenseCategory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_common_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LicenseType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_rpc_common_service_proto_rawDesc, - NumEnums: 2, - NumMessages: 22, + NumEnums: 3, + NumMessages: 26, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/common/service.proto b/rpc/common/service.proto index b28e7ff32959..ee8aaea697d3 100644 --- a/rpc/common/service.proto +++ b/rpc/common/service.proto @@ -205,15 +205,35 @@ message Secret { } message DetectedLicense { - Severity severity = 1; - LicenseCategory category = 2; - string pkg_name = 3; - string file_path = 4; - string name = 5; - float confidence = 6; - string link = 7; - - enum LicenseCategory { + Severity severity = 1; + LicenseCategory.Enum category = 2; + string pkg_name = 3; + string file_path = 4; + string name = 5; + float confidence = 6; + string link = 7; +} + +message LicenseFile { + LicenseType.Enum license_type = 1; + string file_path = 2; + string pkg_name = 3; + repeated LicenseFinding fingings = 4; + Layer layer = 5; +} + +message LicenseFinding { + LicenseCategory.Enum category = 1; + string name = 2; + float confidence = 3; + string link = 4; +} + +// Enumerations are wrapped with a message to improve the readability of enumerations +// in generated code and avoid name conflicts. +// https://github.com/golang/protobuf/issues/513 +message LicenseCategory { + enum Enum { UNSPECIFIED = 0; FORBIDDEN = 1; RESTRICTED = 2; @@ -224,3 +244,12 @@ message DetectedLicense { UNKNOWN = 7; } } + +message LicenseType { + enum Enum { + UNSPECIFIED = 0; + DPKG = 1; + HEADER = 2; + LICENSE_FILE = 3; + } +} \ No newline at end of file From b0141cfbaa6cd89fb2159edb7b34e42c20b22c94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 10:52:57 +0900 Subject: [PATCH 093/338] chore(deps): bump github.com/package-url/packageurl-go from 0.1.2-0.20230812223828-f8bb31c1f10b to 0.1.2 (#5491) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6385ff305c25..9090cca3bee1 100644 --- a/go.mod +++ b/go.mod @@ -77,7 +77,7 @@ require ( github.com/opencontainers/image-spec v1.1.0-rc5 github.com/openvex/go-vex v0.2.5 github.com/owenrumney/go-sarif/v2 v2.2.2 - github.com/package-url/packageurl-go v0.1.2-0.20230812223828-f8bb31c1f10b + github.com/package-url/packageurl-go v0.1.2 github.com/quasilyte/go-ruleguard/dsl v0.3.22 github.com/samber/lo v1.38.1 github.com/saracen/walker v0.1.3 diff --git a/go.sum b/go.sum index 85230ef00b1f..a65dea828000 100644 --- a/go.sum +++ b/go.sum @@ -1470,8 +1470,8 @@ github.com/owenrumney/go-sarif/v2 v2.2.2 h1:x2acaiiAW9hu+78wbEYBRGLk5nRtHmkv7HeU github.com/owenrumney/go-sarif/v2 v2.2.2/go.mod h1:MSqMMx9WqlBSY7pXoOZWgEsVB4FDNfhcaXDA1j6Sr+w= github.com/owenrumney/squealer v1.1.1 h1:e+fg29IxdNARSc4s7CbYnqVSepm9eOqErLNNNR5XbAs= github.com/owenrumney/squealer v1.1.1/go.mod h1:Q5ekVoyFSG2FlnCVIBGsyk/FSMA/ATv8PtwKIVX7t/o= -github.com/package-url/packageurl-go v0.1.2-0.20230812223828-f8bb31c1f10b h1:mUXbYcE4/ZAh9uto21SUH+FL/RGmD0OGYci9JX66jDc= -github.com/package-url/packageurl-go v0.1.2-0.20230812223828-f8bb31c1f10b/go.mod h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c= +github.com/package-url/packageurl-go v0.1.2 h1:0H2DQt6DHd/NeRlVwW4EZ4oEI6Bn40XlNPRqegcxuo4= +github.com/package-url/packageurl-go v0.1.2/go.mod h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= From 13df74652730f9e6a21949a8d2fbf1d5f3f236ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 10:55:00 +0900 Subject: [PATCH 094/338] chore(deps): bump docker/build-push-action from 4 to 5 (#5500) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/reusable-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index 34580bd70d8a..84bd66732ded 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -109,7 +109,7 @@ jobs: # because GoReleaser Free doesn't support pushing images with the `--snapshot` flag. - name: Build and push if: ${{ inputs.goreleaser_config == 'goreleaser-canary.yml' }} - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: platforms: linux/amd64, linux/arm64 file: ./Dockerfile.canary # path to Dockerfile From 2e10cd2eba7a85c809d3ee4ecb1933fc0db71827 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 12:52:43 +0900 Subject: [PATCH 095/338] chore(deps): bump goreleaser/goreleaser-action from 4 to 5 (#5502) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/reusable-release.yaml | 2 +- .github/workflows/test.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-release.yaml b/.github/workflows/reusable-release.yaml index 84bd66732ded..4844ba19ae54 100644 --- a/.github/workflows/reusable-release.yaml +++ b/.github/workflows/reusable-release.yaml @@ -91,7 +91,7 @@ jobs: echo "$GPG_KEY" > gpg.key - name: GoReleaser - uses: goreleaser/goreleaser-action@v4 + uses: goreleaser/goreleaser-action@v5 with: version: v1.20.0 args: release -f=${{ inputs.goreleaser_config}} ${{ inputs.goreleaser_options}} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 8736ca5b14cd..b5bb5736cfc2 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -194,7 +194,7 @@ jobs: fi - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v4 + uses: goreleaser/goreleaser-action@v5 with: version: v1.20.0 args: build --snapshot --clean --timeout 90m ${{ steps.goreleaser_id.outputs.id }} From 8656bd9f774ae0c2ceb67d545fa772af59257ad9 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Thu, 2 Nov 2023 05:14:16 +0100 Subject: [PATCH 096/338] fix: correct error mismatch causing race in fast walks (#5482) --- pkg/fanal/artifact/local/fs.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/fanal/artifact/local/fs.go b/pkg/fanal/artifact/local/fs.go index 99499974e19b..2cd582fe1a9e 100644 --- a/pkg/fanal/artifact/local/fs.go +++ b/pkg/fanal/artifact/local/fs.go @@ -143,7 +143,7 @@ func (a Artifact) Inspect(ctx context.Context) (types.ArtifactReference, error) dir, filePath = path.Split(a.rootPath) } - if err = a.analyzer.AnalyzeFile(ctx, &wg, limit, result, dir, filePath, info, opener, nil, opts); err != nil { + if err := a.analyzer.AnalyzeFile(ctx, &wg, limit, result, dir, filePath, info, opener, nil, opts); err != nil { return xerrors.Errorf("analyze file (%s): %w", filePath, err) } From 7299867c21f18a2a7af9e90c1fce3dfba6f7e4f0 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Thu, 2 Nov 2023 05:14:54 +0100 Subject: [PATCH 097/338] chore: remove unused logger attribute in amazon detector (#5476) --- pkg/detector/ospkg/amazon/amazon.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkg/detector/ospkg/amazon/amazon.go b/pkg/detector/ospkg/amazon/amazon.go index c1d92ef03b6e..5d28dce0a17e 100644 --- a/pkg/detector/ospkg/amazon/amazon.go +++ b/pkg/detector/ospkg/amazon/amazon.go @@ -5,7 +5,6 @@ import ( "time" version "github.com/knqyf263/go-deb-version" - "go.uber.org/zap" "golang.org/x/xerrors" "k8s.io/utils/clock" @@ -30,7 +29,6 @@ var ( type options struct { clock clock.Clock - l *zap.SugaredLogger } type option func(*options) @@ -50,7 +48,6 @@ type Scanner struct { // NewScanner is the factory method to return Amazon scanner func NewScanner(opts ...option) *Scanner { o := &options{ - l: log.Logger, clock: clock.RealClock{}, } From 474167c47eec364905a9908af08f86e4d3e559c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 10:36:27 +0900 Subject: [PATCH 098/338] chore(deps): bump github.com/testcontainers/testcontainers-go/modules/localstack from 0.21.0 to 0.26.0 (#5475) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: DmitriyLewen --- go.mod | 19 +++++--- go.sum | 44 ++++++++++++++----- integration/aws_cloud_test.go | 6 ++- integration/client_server_test.go | 9 +++- integration/registry_test.go | 16 ++++--- pkg/fanal/test/integration/containerd_test.go | 7 ++- pkg/fanal/test/integration/registry_test.go | 5 +++ 7 files changed, 81 insertions(+), 25 deletions(-) diff --git a/go.mod b/go.mod index 9090cca3bee1..88f113db723e 100644 --- a/go.mod +++ b/go.mod @@ -37,7 +37,7 @@ require ( github.com/bmatcuk/doublestar/v4 v4.6.0 github.com/cenkalti/backoff v2.2.1+incompatible github.com/cheggaaa/pb/v3 v3.1.4 - github.com/containerd/containerd v1.7.5 + github.com/containerd/containerd v1.7.7 github.com/docker/docker v24.0.7+incompatible github.com/docker/go-connections v0.4.0 github.com/fatih/color v1.15.0 @@ -91,8 +91,8 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.16.0 github.com/stretchr/testify v1.8.4 - github.com/testcontainers/testcontainers-go v0.23.0 - github.com/testcontainers/testcontainers-go/modules/localstack v0.21.0 + github.com/testcontainers/testcontainers-go v0.26.0 + github.com/testcontainers/testcontainers-go/modules/localstack v0.26.0 github.com/tetratelabs/wazero v1.2.1 github.com/twitchtv/twirp v8.1.2+incompatible github.com/xeipuuv/gojsonschema v1.2.0 @@ -136,7 +136,7 @@ require ( github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/Masterminds/squirrel v1.5.4 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/Microsoft/hcsshim v0.10.0-rc.8 // indirect + github.com/Microsoft/hcsshim v0.11.1 // indirect github.com/OneOfOne/xxhash v1.2.8 // indirect github.com/ProtonMail/go-crypto v0.0.0-20230518184743-7afd39499903 // indirect github.com/VividCortex/ewma v1.2.0 // indirect @@ -206,6 +206,7 @@ require ( github.com/containerd/cgroups v1.1.0 // indirect github.com/containerd/continuity v0.4.2 // indirect github.com/containerd/fifo v1.1.0 // indirect + github.com/containerd/log v0.1.0 // indirect github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect github.com/containerd/ttrpc v1.2.2 // indirect github.com/containerd/typeurl v1.0.2 // indirect @@ -236,6 +237,7 @@ require ( github.com/go-gorp/gorp/v3 v3.0.5 // indirect github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-openapi/analysis v0.21.4 // indirect github.com/go-openapi/errors v0.20.4 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect @@ -287,6 +289,7 @@ require ( github.com/liamg/memoryfs v1.4.3 // indirect github.com/lib/pq v1.10.9 // indirect github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect + github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect @@ -301,7 +304,7 @@ require ( github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/locker v1.0.1 // indirect - github.com/moby/patternmatcher v0.5.0 // indirect + github.com/moby/patternmatcher v0.6.0 // indirect github.com/moby/spdystream v0.2.0 // indirect github.com/moby/sys/mountinfo v0.6.2 // indirect github.com/moby/sys/sequential v0.5.0 // indirect @@ -325,6 +328,7 @@ require ( github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect github.com/prometheus/client_golang v1.16.0 // indirect github.com/prometheus/client_model v0.4.0 // indirect github.com/prometheus/common v0.44.0 // indirect @@ -336,6 +340,8 @@ require ( github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sergi/go-diff v1.2.0 // indirect github.com/shibumi/go-pathspec v1.3.0 // indirect + github.com/shirou/gopsutil/v3 v3.23.9 // indirect + github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/skeema/knownhosts v1.1.1 // indirect github.com/spf13/afero v1.9.5 // indirect @@ -343,6 +349,8 @@ require ( github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/tchap/go-patricia/v2 v2.3.1 // indirect + github.com/tklauser/go-sysconf v0.3.12 // indirect + github.com/tklauser/numcpus v0.6.1 // indirect github.com/ulikunitz/xz v0.5.11 // indirect github.com/vbatts/tar-split v0.11.3 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect @@ -350,6 +358,7 @@ require ( github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/yashtewari/glob-intersection v0.1.0 // indirect github.com/yuin/gopher-lua v1.1.0 // indirect + github.com/yusufpapurcu/wmi v1.2.3 // indirect github.com/zclconf/go-cty v1.13.0 // indirect github.com/zclconf/go-cty-yaml v1.0.3 // indirect go.mongodb.org/mongo-driver v1.11.3 // indirect diff --git a/go.sum b/go.sum index a65dea828000..bcf9a1ca9a9a 100644 --- a/go.sum +++ b/go.sum @@ -275,8 +275,8 @@ github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg3 github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= -github.com/Microsoft/hcsshim v0.10.0-rc.8 h1:YSZVvlIIDD1UxQpJp0h+dnpLUw+TrY0cx8obKsp3bek= -github.com/Microsoft/hcsshim v0.10.0-rc.8/go.mod h1:OEthFdQv/AD2RAdzR6Mm1N1KPCztGKDurW1Z8b8VGMM= +github.com/Microsoft/hcsshim v0.11.1 h1:hJ3s7GbWlGK4YVV92sO88BQSyF4ZLVy7/awqOlPxFbA= +github.com/Microsoft/hcsshim v0.11.1/go.mod h1:nFJmaO4Zr5Y7eADdFOpYswDDlNVbvcIJJNJLECr5JQg= github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= @@ -618,8 +618,8 @@ github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= github.com/containerd/containerd v1.5.2/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= -github.com/containerd/containerd v1.7.5 h1:i9T9XpAWMe11BHMN7pu1BZqOGjXaKTPyz2v+KYOZgkY= -github.com/containerd/containerd v1.7.5/go.mod h1:ieJNCSzASw2shSGYLHx8NAE7WsZ/gEigo5fQ78W5Zvw= +github.com/containerd/containerd v1.7.7 h1:QOC2K4A42RQpcrZyptP6z9EJZnlHfHJUfZrAAHe15q4= +github.com/containerd/containerd v1.7.7/go.mod h1:3c4XZv6VeT9qgf9GMTxNTMFxGJrGpI2vz1yk4ye+YY8= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= @@ -648,6 +648,8 @@ github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= +github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= @@ -841,6 +843,8 @@ github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc= github.com/go-openapi/analysis v0.21.4/go.mod h1:4zQ35W4neeZTqh3ol0rv/O8JBbka9QyAgQRPp9y3pfo= @@ -1262,6 +1266,8 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 h1:EnfXoSqDfSNJv0VBNqY/88RNnhSGYkrHaO0mmFGbVsc= github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40/go.mod h1:vy1vK6wD6j7xX6O6hXe621WabdtNkou2h7uRtTfRMyg= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= @@ -1367,8 +1373,8 @@ github.com/moby/buildkit v0.11.6 h1:VYNdoKk5TVxN7k4RvZgdeM4GOyRvIi4Z8MXOY7xvyUs= github.com/moby/buildkit v0.11.6/go.mod h1:GCqKfHhz+pddzfgaR7WmHVEE3nKKZMMDPpK8mh3ZLv4= github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= -github.com/moby/patternmatcher v0.5.0 h1:YCZgJOeULcxLw1Q+sVR636pmS7sPEn1Qo2iAN6M7DBo= -github.com/moby/patternmatcher v0.5.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= +github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= +github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= @@ -1498,6 +1504,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/poy/onpar v0.0.0-20200406201722-06f95a1c68e8/go.mod h1:nSbFQvMj97ZyhFRSJYtut+msi4sOY6zJDGCdSc+/rZU= github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY= github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg= @@ -1579,6 +1587,12 @@ github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= +github.com/shirou/gopsutil/v3 v3.23.9 h1:ZI5bWVeu2ep4/DIxB4U9okeYJ7zp/QLTO4auRb/ty/E= +github.com/shirou/gopsutil/v3 v3.23.9/go.mod h1:x/NWSb71eMcjFIO0vhyGW5nZ7oSIgVjrCnADckb85GA= +github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= +github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= +github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -1671,14 +1685,18 @@ github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes= github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= github.com/terminalstatic/go-xsd-validate v0.1.5 h1:RqpJnf6HGE2CB/lZB1A8BYguk8uRtcvYAPLCF15qguo= -github.com/testcontainers/testcontainers-go v0.23.0 h1:ERYTSikX01QczBLPZpqsETTBO7lInqEP349phDOVJVs= -github.com/testcontainers/testcontainers-go v0.23.0/go.mod h1:3gzuZfb7T9qfcH2pHpV4RLlWrPjeWNQah6XlYQ32c4I= -github.com/testcontainers/testcontainers-go/modules/localstack v0.21.0 h1:G6tMC/cUrv0wgFcQc3gyyxPeSxffLTzx5F1PjuJewXw= -github.com/testcontainers/testcontainers-go/modules/localstack v0.21.0/go.mod h1:L7h8f9DfHYKbmkCUS4FsQqiWBenCtiJAHerkUnzj/e8= +github.com/testcontainers/testcontainers-go v0.26.0 h1:uqcYdoOHBy1ca7gKODfBd9uTHVK3a7UL848z09MVZ0c= +github.com/testcontainers/testcontainers-go v0.26.0/go.mod h1:ICriE9bLX5CLxL9OFQ2N+2N+f+803LNJ1utJb1+Inx0= +github.com/testcontainers/testcontainers-go/modules/localstack v0.26.0 h1:lpL04dHA9mGFBQLFcV+aEEh1Tf4ohXdIGgoj3J0bacM= +github.com/testcontainers/testcontainers-go/modules/localstack v0.26.0/go.mod h1:1xkZPpkBu6coI7CyVn3DXUBnsVrZ+fd/Cc8lx6zk2mk= github.com/tetratelabs/wazero v1.2.1 h1:J4X2hrGzJvt+wqltuvcSjHQ7ujQxA9gb6PeMs4qlUWs= github.com/tetratelabs/wazero v1.2.1/go.mod h1:wYx2gNRg8/WihJfSDxA1TIL8H+GkfLYm+bIfbblu9VQ= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= +github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= +github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/twitchtv/twirp v8.1.2+incompatible h1:0O6TfzZW09ZP5r+ORA90XQEE3PTgA6C7MBbl2KxvVgE= @@ -1736,6 +1754,8 @@ github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/gopher-lua v1.1.0 h1:BojcDhfyDWgU2f2TOzYK/g5p2gxMrku8oupLDqlnSqE= github.com/yuin/gopher-lua v1.1.0/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= +github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= +github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMztlGpl/VA+Zm1AcTPHYkHJPbHqE6WJUXE= @@ -2057,6 +2077,7 @@ golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2113,6 +2134,9 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= diff --git a/integration/aws_cloud_test.go b/integration/aws_cloud_test.go index 53bcecf5220f..e992c758f87b 100644 --- a/integration/aws_cloud_test.go +++ b/integration/aws_cloud_test.go @@ -10,6 +10,7 @@ import ( awscommands "github.com/aquasecurity/trivy/pkg/cloud/aws/commands" "github.com/aquasecurity/trivy/pkg/flag" + dockercontainer "github.com/docker/docker/api/types/container" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" testcontainers "github.com/testcontainers/testcontainers-go" @@ -79,11 +80,14 @@ func TestAwsCommandRun(t *testing.T) { func setupLocalStack(t *testing.T, ctx context.Context) (*localstack.LocalStackContainer, string) { t.Helper() - + t.Setenv("TESTCONTAINERS_RYUK_DISABLED", "true") container, err := localstack.RunContainer(ctx, testcontainers.CustomizeRequest( testcontainers.GenericContainerRequest{ ContainerRequest: testcontainers.ContainerRequest{ Image: "localstack/localstack:2.2.0", + HostConfigModifier: func(hostConfig *dockercontainer.HostConfig) { + hostConfig.AutoRemove = true + }, }, }, )) diff --git a/integration/client_server_test.go b/integration/client_server_test.go index a878ad160ef2..eadd893cc8ed 100644 --- a/integration/client_server_test.go +++ b/integration/client_server_test.go @@ -11,6 +11,7 @@ import ( "testing" "time" + dockercontainer "github.com/docker/docker/api/types/container" "github.com/docker/go-connections/nat" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -496,6 +497,8 @@ func TestClientServerWithToken(t *testing.T) { func TestClientServerWithRedis(t *testing.T) { // Set up a Redis container ctx := context.Background() + // This test includes 2 checks + // redisC container will terminate after first check redisC, addr := setupRedis(t, ctx) // Set up Trivy server @@ -650,6 +653,7 @@ func setupClient(t *testing.T, c csArgs, addr string, cacheDir string, golden st } func setupRedis(t *testing.T, ctx context.Context) (testcontainers.Container, string) { + t.Setenv("TESTCONTAINERS_RYUK_DISABLED", "true") t.Helper() imageName := "redis:5.0" port := "6379/tcp" @@ -657,8 +661,9 @@ func setupRedis(t *testing.T, ctx context.Context) (testcontainers.Container, st Name: "redis", Image: imageName, ExposedPorts: []string{port}, - SkipReaper: true, - AutoRemove: true, + HostConfigModifier: func(hostConfig *dockercontainer.HostConfig) { + hostConfig.AutoRemove = true + }, } redis, err := testcontainers.GenericContainer(ctx, testcontainers.GenericContainerRequest{ diff --git a/integration/registry_test.go b/integration/registry_test.go index 881fbfa1375b..0d343a075d71 100644 --- a/integration/registry_test.go +++ b/integration/registry_test.go @@ -18,6 +18,7 @@ import ( "path/filepath" "testing" + dockercontainer "github.com/docker/docker/api/types/container" "github.com/docker/go-connections/nat" "github.com/google/go-containerregistry/pkg/authn" "github.com/google/go-containerregistry/pkg/name" @@ -58,8 +59,9 @@ func setupRegistry(ctx context.Context, baseDir string, authURL *url.URL) (testc Mounts: testcontainers.Mounts( testcontainers.BindMount(filepath.Join(baseDir, "data", "certs"), "/certs"), ), - SkipReaper: true, - AutoRemove: true, + HostConfigModifier: func(hostConfig *dockercontainer.HostConfig) { + hostConfig.AutoRemove = true + }, WaitingFor: wait.ForLog("listening on [::]:5443"), } @@ -79,9 +81,10 @@ func setupAuthServer(ctx context.Context, baseDir string) (testcontainers.Contai testcontainers.BindMount(filepath.Join(baseDir, "data", "auth_config"), "/config"), testcontainers.BindMount(filepath.Join(baseDir, "data", "certs"), "/certs"), ), - SkipReaper: true, - AutoRemove: true, - Cmd: []string{"/config/config.yml"}, + HostConfigModifier: func(hostConfig *dockercontainer.HostConfig) { + hostConfig.AutoRemove = true + }, + Cmd: []string{"/config/config.yml"}, } authC, err := testcontainers.GenericContainer(ctx, testcontainers.GenericContainerRequest{ @@ -119,6 +122,9 @@ func TestRegistry(t *testing.T) { baseDir, err := filepath.Abs(".") require.NoError(t, err) + // disable Reaper for auth server and registry containers + t.Setenv("TESTCONTAINERS_RYUK_DISABLED", "true") + // set up auth server authC, err := setupAuthServer(ctx, baseDir) require.NoError(t, err) diff --git a/pkg/fanal/test/integration/containerd_test.go b/pkg/fanal/test/integration/containerd_test.go index 07fee21cd151..45339fd9a347 100644 --- a/pkg/fanal/test/integration/containerd_test.go +++ b/pkg/fanal/test/integration/containerd_test.go @@ -19,6 +19,7 @@ import ( "github.com/containerd/containerd" "github.com/containerd/containerd/images" "github.com/containerd/containerd/namespaces" + dockercontainer "github.com/docker/docker/api/types/container" v1 "github.com/google/go-containerregistry/pkg/v1" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -53,6 +54,7 @@ func configureTestDataPaths(t *testing.T, namespace string) (string, string) { func startContainerd(t *testing.T, ctx context.Context, hostPath string) testcontainers.Container { t.Helper() + t.Setenv("TESTCONTAINERS_RYUK_DISABLED", "true") req := testcontainers.ContainerRequest{ Name: "containerd", Image: "ghcr.io/aquasecurity/trivy-test-images/containerd:latest", @@ -64,8 +66,9 @@ func startContainerd(t *testing.T, ctx context.Context, hostPath string) testcon Mounts: testcontainers.Mounts( testcontainers.BindMount(hostPath, "/run"), ), - SkipReaper: true, - AutoRemove: false, + HostConfigModifier: func(hostConfig *dockercontainer.HostConfig) { + hostConfig.AutoRemove = true + }, WaitingFor: wait.ForLog("containerd successfully booted"), } containerdC, err := testcontainers.GenericContainer(ctx, testcontainers.GenericContainerRequest{ diff --git a/pkg/fanal/test/integration/registry_test.go b/pkg/fanal/test/integration/registry_test.go index 4ff52abae8b3..081f9df20d95 100644 --- a/pkg/fanal/test/integration/registry_test.go +++ b/pkg/fanal/test/integration/registry_test.go @@ -12,6 +12,7 @@ import ( "path/filepath" "testing" + dockercontainer "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "github.com/stretchr/testify/assert" @@ -43,6 +44,7 @@ func TestTLSRegistry(t *testing.T) { baseDir, err := filepath.Abs(".") require.NoError(t, err) + t.Setenv("TESTCONTAINERS_RYUK_DISABLED", "true") req := testcontainers.ContainerRequest{ Name: "registry", Image: registryImage, @@ -59,6 +61,9 @@ func TestTLSRegistry(t *testing.T) { testcontainers.BindMount(filepath.Join(baseDir, "data", "registry", "certs"), "/certs"), testcontainers.BindMount(filepath.Join(baseDir, "data", "registry", "auth"), "/auth"), ), + HostConfigModifier: func(hostConfig *dockercontainer.HostConfig) { + hostConfig.AutoRemove = true + }, WaitingFor: wait.ForLog("listening on [::]:5443"), } From 68b0797e5b5ce7ea109e544d9564b4dd23da2f74 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Fri, 3 Nov 2023 07:37:35 +0600 Subject: [PATCH 099/338] docs: remove glad for java datasources (#5508) --- docs/docs/scanner/vulnerability.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/docs/scanner/vulnerability.md b/docs/docs/scanner/vulnerability.md index 2ebd9ec7a5f8..3d63ea7b1884 100644 --- a/docs/docs/scanner/vulnerability.md +++ b/docs/docs/scanner/vulnerability.md @@ -89,8 +89,7 @@ See [here](../coverage/language/index.md#supported-languages) for the supported | | [GitHub Advisory Database (RubyGems)][ruby-ghsa] | ✅ | - | | Node.js | [Ecosystem Security Working Group][nodejs] | ✅ | - | | | [GitHub Advisory Database (npm)][nodejs-ghsa] | ✅ | - | -| Java | [GitLab Advisories Community][gitlab] | ✅ | 1 month | -| | [GitHub Advisory Database (Maven)][java-ghsa] | ✅ | - | +| Java | [GitHub Advisory Database (Maven)][java-ghsa] | ✅ | - | | Go | [GitHub Advisory Database (Go)][go-ghsa] | ✅ | - | | Rust | [Open Source Vulnerabilities (crates.io)][rust-osv] | ✅ | - | | .NET | [GitHub Advisory Database (NuGet)][dotnet-ghsa] | ✅ | - | From d0d956fdc1aa71ddf7f806888ea2b64d8441bfa1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 10:38:04 +0900 Subject: [PATCH 100/338] chore(deps): bump github.com/owenrumney/go-sarif/v2 from 2.2.2 to 2.3.0 (#5493) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: DmitriyLewen --- go.mod | 2 +- go.sum | 4 ++-- integration/testdata/alpine-310.sarif.golden | 2 +- pkg/report/sarif_test.go | 10 +++++----- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 88f113db723e..9d778fd5efb2 100644 --- a/go.mod +++ b/go.mod @@ -76,7 +76,7 @@ require ( github.com/opencontainers/go-digest v1.0.0 github.com/opencontainers/image-spec v1.1.0-rc5 github.com/openvex/go-vex v0.2.5 - github.com/owenrumney/go-sarif/v2 v2.2.2 + github.com/owenrumney/go-sarif/v2 v2.3.0 github.com/package-url/packageurl-go v0.1.2 github.com/quasilyte/go-ruleguard/dsl v0.3.22 github.com/samber/lo v1.38.1 diff --git a/go.sum b/go.sum index bcf9a1ca9a9a..eb415ac188ac 100644 --- a/go.sum +++ b/go.sum @@ -1472,8 +1472,8 @@ github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYr github.com/openvex/go-vex v0.2.5 h1:41utdp2rHgAGCsG+UbjmfMG5CWQxs15nGqir1eRgSrQ= github.com/openvex/go-vex v0.2.5/go.mod h1:j+oadBxSUELkrKh4NfNb+BPo77U3q7gdKME88IO/0Wo= github.com/owenrumney/go-sarif v1.1.1/go.mod h1:dNDiPlF04ESR/6fHlPyq7gHKmrM0sHUvAGjsoh8ZH0U= -github.com/owenrumney/go-sarif/v2 v2.2.2 h1:x2acaiiAW9hu+78wbEYBRGLk5nRtHmkv7HeUsKvblwc= -github.com/owenrumney/go-sarif/v2 v2.2.2/go.mod h1:MSqMMx9WqlBSY7pXoOZWgEsVB4FDNfhcaXDA1j6Sr+w= +github.com/owenrumney/go-sarif/v2 v2.3.0 h1:wP5yEpI53zr0v5cBmagXzLbHZp9Oylyo3AJDpfLBITs= +github.com/owenrumney/go-sarif/v2 v2.3.0/go.mod h1:MSqMMx9WqlBSY7pXoOZWgEsVB4FDNfhcaXDA1j6Sr+w= github.com/owenrumney/squealer v1.1.1 h1:e+fg29IxdNARSc4s7CbYnqVSepm9eOqErLNNNR5XbAs= github.com/owenrumney/squealer v1.1.1/go.mod h1:Q5ekVoyFSG2FlnCVIBGsyk/FSMA/ATv8PtwKIVX7t/o= github.com/package-url/packageurl-go v0.1.2 h1:0H2DQt6DHd/NeRlVwW4EZ4oEI6Bn40XlNPRqegcxuo4= diff --git a/integration/testdata/alpine-310.sarif.golden b/integration/testdata/alpine-310.sarif.golden index cb4eb6616be6..535bd2d09f71 100644 --- a/integration/testdata/alpine-310.sarif.golden +++ b/integration/testdata/alpine-310.sarif.golden @@ -1,6 +1,6 @@ { "version": "2.1.0", - "$schema": "https://json.schemastore.org/sarif-2.1.0.json", + "$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", "runs": [ { "tool": { diff --git a/pkg/report/sarif_test.go b/pkg/report/sarif_test.go index 62d60309ca3a..3ce0eab1d91b 100644 --- a/pkg/report/sarif_test.go +++ b/pkg/report/sarif_test.go @@ -89,7 +89,7 @@ func TestReportWriter_Sarif(t *testing.T) { }, want: &sarif.Report{ Version: "2.1.0", - Schema: "https://json.schemastore.org/sarif-2.1.0.json", + Schema: "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", Runs: []*sarif.Run{ { Tool: sarif.Tool{ @@ -214,7 +214,7 @@ func TestReportWriter_Sarif(t *testing.T) { }, want: &sarif.Report{ Version: "2.1.0", - Schema: "https://json.schemastore.org/sarif-2.1.0.json", + Schema: "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", Runs: []*sarif.Run{ { Tool: sarif.Tool{ @@ -354,7 +354,7 @@ func TestReportWriter_Sarif(t *testing.T) { }, want: &sarif.Report{ Version: "2.1.0", - Schema: "https://json.schemastore.org/sarif-2.1.0.json", + Schema: "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", Runs: []*sarif.Run{ { Tool: sarif.Tool{ @@ -448,7 +448,7 @@ func TestReportWriter_Sarif(t *testing.T) { }, want: &sarif.Report{ Version: "2.1.0", - Schema: "https://json.schemastore.org/sarif-2.1.0.json", + Schema: "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", Runs: []*sarif.Run{ { Tool: sarif.Tool{ @@ -518,7 +518,7 @@ func TestReportWriter_Sarif(t *testing.T) { name: "no vulns", want: &sarif.Report{ Version: "2.1.0", - Schema: "https://json.schemastore.org/sarif-2.1.0.json", + Schema: "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json", Runs: []*sarif.Run{ { Tool: sarif.Tool{ From fdb3a15b2dd04fc617d231e4f2996a44facc4166 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 4 Nov 2023 08:58:20 +0900 Subject: [PATCH 101/338] chore(deps): bump github.com/aws/aws-sdk-go-v2/service/sts from 1.23.2 to 1.25.0 (#5506) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 10 +++++----- go.sum | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index 9d778fd5efb2..c670dce2bb13 100644 --- a/go.mod +++ b/go.mod @@ -26,14 +26,14 @@ require ( github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231019164303-dcdfdc50763f - github.com/aws/aws-sdk-go-v2 v1.22.0 + github.com/aws/aws-sdk-go-v2 v1.22.1 github.com/aws/aws-sdk-go-v2/config v1.18.45 github.com/aws/aws-sdk-go-v2/credentials v1.13.43 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.90 github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.21.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 - github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 + github.com/aws/aws-sdk-go-v2/service/sts v1.25.0 github.com/bmatcuk/doublestar/v4 v4.6.0 github.com/cenkalti/backoff v2.2.1+incompatible github.com/cheggaaa/pb/v3 v3.1.4 @@ -152,8 +152,8 @@ require ( github.com/aws/aws-sdk-go v1.46.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 // indirect github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.16.0 // indirect @@ -179,7 +179,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.23 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4 // indirect github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19 // indirect diff --git a/go.sum b/go.sum index eb415ac188ac..8187d3cc2a44 100644 --- a/go.sum +++ b/go.sum @@ -375,8 +375,8 @@ github.com/aws/aws-sdk-go-v2 v1.18.1/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3eP github.com/aws/aws-sdk-go-v2 v1.19.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.20.0/go.mod h1:uWOr0m0jDsiWw8nnXiqZ+YG6LdvAlGYDLLf2NmHZoy4= github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= -github.com/aws/aws-sdk-go-v2 v1.22.0 h1:CpTS3XO3MWNel8ohoazkLZC6scvkYL2k+m0yzFJ17Hg= -github.com/aws/aws-sdk-go-v2 v1.22.0/go.mod h1:Kd0OJtkW3Q0M0lUWGszapWjEvrXDzRW+D21JNsroB+c= +github.com/aws/aws-sdk-go-v2 v1.22.1 h1:sjnni/AuoTXxHitsIdT0FwmqUuNUuHtufcVDErVFT9U= +github.com/aws/aws-sdk-go-v2 v1.22.1/go.mod h1:Kd0OJtkW3Q0M0lUWGszapWjEvrXDzRW+D21JNsroB+c= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.8/go.mod h1:JTnlBSot91steJeti4ryyu/tLd4Sk84O5W22L7O2EQU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 h1:Sc82v7tDQ/vdU1WtuSyzZ1I7y/68j//HJ6uozND1IDs= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14/go.mod h1:9NCTOURS8OpxvoAVHq79LK81/zC78hfRWFn+aL0SPcY= @@ -398,8 +398,8 @@ github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34/go.mod h1:wZpTEecJe0 github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35/go.mod h1:ipR5PvpSPqIqL5Mi82BxLnfMkHVbmco8kUwO2xrCi0M= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.37/go.mod h1:Pdn4j43v49Kk6+82spO3Tu5gSeQXRsxo56ePPQAvFiA= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.0 h1:tN6dNNE4SzMuyMnVtQJXGVKX177/d5Zy4MuA1HA4KUc= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.0/go.mod h1:F6MXWETIeetAHwFHyoHEqrcB3NpijFv9nLP5h9CXtT0= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1 h1:fi1ga6WysOyYb5PAf3Exd6B5GiSNpnZim4h1rhlBqx0= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1/go.mod h1:V5CY8wNurvPUibTi9mwqUqpiFZ5LnioKWIFUDtIzdI8= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.17/go.mod h1:pRwaTYCJemADaqCbUAxltMoHKata7hmB5PjEXeu0kfg= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.23/go.mod h1:mr6c4cHC+S/MMkrjtSlG4QA36kOznDep+0fga5L/fGQ= @@ -410,8 +410,8 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28/go.mod h1:7VRpKQQedkf github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29/go.mod h1:M/eUABlDbw2uVrdAn+UsI6M727qp2fxkp8K0ejcBDUY= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.31/go.mod h1:fTJDMe8LOFYtqiFFFeHA+SVMAwqLhoq0kcInYoLa9Js= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.0 h1:bfdsbTARDjaC/dSYGMO+E0psxFU4hTvCLnqYAfZ3D38= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.0/go.mod h1:Jg8XVv5M2V2wiAMvBFx+O59jg6Yr8vhP0bgNF/IuquM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1 h1:ZpaV/j48RlPc4AmOZuPv22pJliXjXq8/reL63YzyFnw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1/go.mod h1:R8aXraabD2e3qv1csxM14/X9WF4wFMIY0kH4YEtYD5M= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 h1:hze8YsjSh8Wl1rYa1CJpRmXP21BvOBuc76YhW0HsuQ4= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE= github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 h1:wmGLw2i8ZTlHLw7a9ULGfQbuccw8uIiNr6sol5bFzc8= @@ -471,8 +471,9 @@ github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.23/go.mod github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.17/go.mod h1:4nYOrY41Lrbk2170/BGkcJKBhws9Pfn8MG3aGqjjeFI= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27/go.mod h1:EOwBD4J4S5qYszS5/3DpkejfuK+Z5/1uzICfPaZLtqw= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28/go.mod h1:jj7znCIg05jXlaGBlFMGP8+7UN3VtCkRBG2spnmRQkU= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37 h1:WWZA/I2K4ptBS1kg0kV1JbBtG/umed0vwHRrmcr9z7k= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37/go.mod h1:vBmDnwWXWxNPFRMmG2m/3MKOe+xEcMDo1tanpaWCcck= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1 h1:2OXw3ppu1XsB6rqKEMV4tnecTjIY3PRV2U6IP6KPJQo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1/go.mod h1:FZB4AdakIqW/yERVdGJA6Z9jraax1beXfhBBnK2wwR8= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 h1:9ulSU5ClouoPIYhDQdg9tpl83d5Yb91PXTKK+17q+ow= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6/go.mod h1:lnc2taBsR9nTlz9meD+lhFZZ9EWY712QHrRflWpTcOA= github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4 h1:EmEk3gRJzSEK8DUnkvTGDn/RQc/Ud+yimUFIG+PSvTI= @@ -503,8 +504,9 @@ github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 h1:JuPGc7IkOP4AaqcZSIcyqLpFSqBW github.com/aws/aws-sdk-go-v2/service/sso v1.15.2/go.mod h1:gsL4keucRCgW+xA85ALBpRFfdSLH4kHOVSnLMSuBECo= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 h1:HFiiRkf1SdaAmV3/BHOFZ9DjFynPHj8G/UIO1lQS+fk= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3/go.mod h1:a7bHA82fyUXOm+ZSWKU6PIoBxrjSprdLoM8xPYvzYVg= -github.com/aws/aws-sdk-go-v2/service/sts v1.23.2 h1:0BkLfgeDjfZnZ+MhB3ONb01u9pwFYTCZVhlsSSBvlbU= github.com/aws/aws-sdk-go-v2/service/sts v1.23.2/go.mod h1:Eows6e1uQEsc4ZaHANmsPRzAKcVDrcmjjWiih2+HUUQ= +github.com/aws/aws-sdk-go-v2/service/sts v1.25.0 h1:sYIFy8tm1xQwRvVQ4CRuBGXKIg9sHNuG6+3UAQuoujk= +github.com/aws/aws-sdk-go-v2/service/sts v1.25.0/go.mod h1:S/LOQUeYDfJeJpFCIJDMjy7dwL4aA33HUdVi+i7uH8k= github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0 h1:lrgZ9pZm9utPOPAXmQhqtf8oWRRksoSFxOE8RoD+pHc= github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0/go.mod h1:vPam8+zGthTXeaFWgl3Uqbzo/0QEoXF22jpuMZ97hSk= github.com/aws/smithy-go v1.13.3/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= From 46f1b9e7dc12ce23e9fb5ecbcee843ed391d5336 Mon Sep 17 00:00:00 2001 From: chenk Date: Mon, 6 Nov 2023 04:30:07 +0200 Subject: [PATCH 102/338] docs: k8s vulnerability scanning (#5515) Signed-off-by: chenk --- docs/docs/target/kubernetes.md | 58 +++++++++++++++++++++++++++++----- docs/docs/target/sbom.md | 58 ++++++++++++++++++---------------- 2 files changed, 81 insertions(+), 35 deletions(-) diff --git a/docs/docs/target/kubernetes.md b/docs/docs/target/kubernetes.md index c10546ed53f3..e97bdf0ed848 100644 --- a/docs/docs/target/kubernetes.md +++ b/docs/docs/target/kubernetes.md @@ -15,12 +15,14 @@ When scanning a Kubernetes cluster, Trivy differentiates between the following: When scanning any of the above, the container image is scanned separately to the Kubernetes resource definition (the YAML manifest) that defines the resource. Container image is scanned for: + - Vulnerabilities - Misconfigurations - Exposed secrets Kubernetes resource definition is scanned for: -- Vulnerabilities - partially supported through [KBOM scanning](#KBOM) + +- Vulnerabilities (Open Source Libraries, Control Plane and Node Components) - Misconfigurations - Exposed secrets @@ -73,6 +75,33 @@ You can exclude specific nodes from the scan using the `--exclude-nodes` flag, w trivy k8s cluster --report summary --exclude-nodes kubernetes.io/arch:arm6 ``` +## Control Plane and Node Components Vulnerability Scanning + +Trivy is capable of discovering Kubernetes control plane (apiserver, controller-manager and etc) and node components(kubelet, kube-proxy and etc), matching them against the [official Kubernetes vulnerability database feed](https://github.com/aquasecurity/vuln-list-k8s), and reporting any vulnerabilities it finds + + +``` +trivy k8s cluster --scanners vuln --report all + +NodeComponents/kind-control-plane (kubernetes) + +Total: 3 (UNKNOWN: 0, LOW: 1, MEDIUM: 0, HIGH: 2, CRITICAL: 0) + +┌────────────────┬────────────────┬──────────┬────────┬───────────────────┬──────────────────────────────────┬───────────────────────────────────────────────────┐ +│ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │ +├────────────────┼────────────────┼──────────┼────────┼───────────────────┼──────────────────────────────────┼───────────────────────────────────────────────────┤ +│ k8s.io/kubelet │ CVE-2023-2431 │ LOW │ fixed │ 1.21.1 │ 1.24.14, 1.25.10, 1.26.5, 1.27.2 │ Bypass of seccomp profile enforcement │ +│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2023-2431 │ +│ ├────────────────┼──────────┤ │ ├──────────────────────────────────┼───────────────────────────────────────────────────┤ +│ │ CVE-2021-25741 │ HIGH │ │ │ 1.19.16, 1.20.11, 1.21.5, 1.22.1 │ Symlink exchange can allow host filesystem access │ +│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-25741 │ +│ ├────────────────┤ │ │ ├──────────────────────────────────┼───────────────────────────────────────────────────┤ +│ │ CVE-2021-25749 │ │ │ │ 1.22.14, 1.23.11, 1.24.5 │ runAsNonRoot logic bypass for Windows containers │ +│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-25749 │ +└────────────────┴────────────────┴──────────┴────────┴───────────────────┴──────────────────────────────────┴───────────────────────────────────────────────────┘ +``` + + ### Components types You can control what kinds of components are discovered using the `--components` flag: @@ -288,25 +317,33 @@ Examples: Scan the cluster for Kubernetes Pod Security Standards Baseline compliance: ``` -trivy k8s cluster --compliance=k8s-pss-baseline --report summary + +$ trivy k8s cluster --compliance=k8s-pss-baseline --report summary + ``` Get the detailed report for checks: ``` -trivy k8s cluster --compliance=k8s-cis --report all + +$ trivy k8s cluster --compliance=k8s-cis --report all + ``` Get summary report in JSON format: ``` -trivy k8s cluster --compliance=k8s-cis --report summary --format json + +$ trivy k8s cluster --compliance=k8s-cis --report summary --format json + ``` Get detailed report in JSON format: ``` -trivy k8s cluster --compliance=k8s-cis --report all --format json + +$ trivy k8s cluster --compliance=k8s-cis --report all --format json + ``` ## KBOM @@ -317,19 +354,24 @@ For more background on KBOM, see [here](https://blog.aquasec.com/introducing-kbo Trivy can generate KBOM in CycloneDX format: ```sh -trivy k8s cluster --format cyclonedx --output mykbom.cdx.json + +$ trivy k8s cluster --format cyclonedx --output mykbom.cdx.json + ``` Trivy can also scan that generated KBOM (or any SBOM) for vulnerabilities: ```sh -trivy sbom mykbom.cdx.json + +$ trivy sbom mykbom.cdx.json + ```
Result -``` +```sh + 2023-09-28T22:52:25.707+0300 INFO Vulnerability scanning is enabled 2023-09-28T22:52:25.707+0300 INFO Detected SBOM format: cyclonedx-json 2023-09-28T22:52:25.717+0300 WARN No OS package is detected. Make sure you haven't deleted any files that contain information about the installed packages. diff --git a/docs/docs/target/sbom.md b/docs/docs/target/sbom.md index 21670f2d3d85..184e9aa33853 100644 --- a/docs/docs/target/sbom.md +++ b/docs/docs/target/sbom.md @@ -1,4 +1,5 @@ # SBOM scanning + Trivy can take the following SBOM formats as an input and scan for vulnerabilities. - CycloneDX @@ -11,25 +12,28 @@ To scan SBOM, you can use the `sbom` subcommand and pass the path to the SBOM. The input format is automatically detected. ```bash + $ trivy sbom /path/to/sbom_file + ``` !!! note - Passing SBOMs generated by tool other than Trivy may result in inaccurate detection + Passing SBOMs generated by tool other than Trivy may result in inaccurate detection because Trivy relies on custom properties in SBOM for accurate scanning. ## CycloneDX + Trivy supports CycloneDX as an input. !!! note CycloneDX XML is not supported at the moment. - ```bash $ trivy sbom /path/to/cyclonedx.json ``` ## SPDX + Trivy supports the SPDX SBOM as an input. The following SPDX formats are supported: @@ -113,28 +117,28 @@ Total: 2 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 2) To read more about KBOM, see the [documentation for Kubernetes scanning](./kubernetes.md#KBOM). -```shell - $ trivy k8s --format cyclonedx cluster -o kbom.json - $ trivy sbom kbom.json - 2023-09-28T22:52:25.707+0300 INFO Vulnerability scanning is enabled - 2023-09-28T22:52:25.707+0300 INFO Detected SBOM format: cyclonedx-json - 2023-09-28T22:52:25.717+0300 WARN No OS package is detected. Make sure you haven't deleted any files that contain information about the installed packages. - 2023-09-28T22:52:25.717+0300 WARN e.g. files under "/lib/apk/db/", "/var/lib/dpkg/" and "/var/lib/rpm" - 2023-09-28T22:52:25.717+0300 INFO Detected OS: debian gnu/linux - 2023-09-28T22:52:25.717+0300 WARN unsupported os : debian gnu/linux - 2023-09-28T22:52:25.717+0300 INFO Number of language-specific files: 3 - 2023-09-28T22:52:25.717+0300 INFO Detecting kubernetes vulnerabilities... - 2023-09-28T22:52:25.718+0300 INFO Detecting gobinary vulnerabilities... - Kubernetes (kubernetes) - Total: 2 (UNKNOWN: 0, LOW: 1, MEDIUM: 0, HIGH: 1, CRITICAL: 0) - ┌────────────────┬────────────────┬──────────┬────────┬───────────────────┬─────────────────────────────────┬──────────────────────────────────────────────────┐ - │ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │ - ├────────────────┼────────────────┼──────────┼────────┼───────────────────┼─────────────────────────────────┼──────────────────────────────────────────────────┤ - │ k8s.io/kubelet │ CVE-2021-25749 │ HIGH │ fixed │ 1.24.0 │ 1.22.14, 1.23.11, 1.24.5 │ runAsNonRoot logic bypass for Windows containers │ - │ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-25749 │ - │ ├────────────────┼──────────┤ │ ├─────────────────────────────────┼──────────────────────────────────────────────────┤ - │ │ CVE-2023-2431 │ LOW │ │ │ 1.24.14, 1.25.9, 1.26.4, 1.27.1 │ Bypass of seccomp profile enforcement │ - │ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2023-2431 │ - └────────────────┴────────────────┴──────────┴────────┴───────────────────┴─────────────────────────────────┴──────────────────────────────────────────────────┘ - ``` - \ No newline at end of file +```sh + +$ trivy k8s --format cyclonedx cluster -o kbom.json +$ trivy sbom kbom.json +2023-09-28T22:52:25.707+0300 INFO Vulnerability scanning is enabled +2023-09-28T22:52:25.717+0300 INFO Number of language-specific files: 3 +2023-09-28T22:52:25.717+0300 INFO Detecting kubernetes vulnerabilities... +2023-09-28T22:52:25.718+0300 INFO Detecting gobinary vulnerabilities... + +Kubernetes (kubernetes) + +Total: 2 (UNKNOWN: 0, LOW: 1, MEDIUM: 0, HIGH: 1, CRITICAL: 0) + + +┌────────────────┬────────────────┬──────────┬────────┬───────────────────┬────────────────────────────────┬──────────────────────────────────────────────────┐ +│ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │ +├────────────────┼────────────────┼──────────┼────────┼───────────────────┼────────────────────────────────┼──────────────────────────────────────────────────┤ +│ k8s.io/kubelet │ CVE-2021-25749 │ HIGH │ fixed │ 1.24.0 │ 1.22.14, 1.23.11, 1.24.5 │ runAsNonRoot logic bypass for Windows containers │ +│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-25749 │ +│ ├────────────────┼──────────┤ │ ├────────────────────────────────┼──────────────────────────────────────────────────┤ +│ │ CVE-2023-2431 │ LOW │ │ │1.24.14, 1.25.9, 1.26.4, 1.27.1 │ Bypass of seccomp profile enforcement │ +│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2023-2431 │ +└────────────────┴────────────────┴──────────┴────────┴───────────────────┴────────────────────────────────┴──────────────────────────────────────────────────┘ + +``` From fed471018878e5cffae0fe92fd5524b06fb315f5 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Mon, 6 Nov 2023 03:31:12 +0100 Subject: [PATCH 103/338] fix: correct error mismatch causing race in fast walks (#5516) --- pkg/fanal/artifact/local/fs.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/fanal/artifact/local/fs.go b/pkg/fanal/artifact/local/fs.go index 2cd582fe1a9e..49d20fd14f95 100644 --- a/pkg/fanal/artifact/local/fs.go +++ b/pkg/fanal/artifact/local/fs.go @@ -154,7 +154,7 @@ func (a Artifact) Inspect(ctx context.Context) (types.ArtifactReference, error) } // Build filesystem for post analysis - if err = composite.CreateLink(analyzerTypes, dir, filePath, filepath.Join(dir, filePath)); err != nil { + if err := composite.CreateLink(analyzerTypes, dir, filePath, filepath.Join(dir, filePath)); err != nil { return xerrors.Errorf("failed to create link: %w", err) } From df47073fa433011df9c1cab522d2daa5eace148b Mon Sep 17 00:00:00 2001 From: Nikita Pivkin Date: Mon, 6 Nov 2023 03:25:58 +0000 Subject: [PATCH 104/338] ci: use maximize build space for K8s tests (#5387) --- .github/workflows/test.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index b5bb5736cfc2..b000f9dace39 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -88,6 +88,15 @@ jobs: name: K8s Integration Test runs-on: ubuntu-latest steps: + - name: Maximize build space + uses: easimon/maximize-build-space@v8 + with: + root-reserve-mb: 35840 # The Go cache (`~/.cache/go-build` and `~/go/pkg`) requires a lot of storage space. + remove-android: "true" + remove-docker-images: "true" + remove-dotnet: "true" + remove-haskell: "true" + - name: Check out code into the Go module directory uses: actions/checkout@v4.1.1 From 772d1d08f82a4db6013cd8ec3fc11ca409354948 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Mon, 6 Nov 2023 09:29:13 +0600 Subject: [PATCH 105/338] fix(sbom): Use UUID as BomRef for packages with empty purl (#5448) --- pkg/k8s/scanner/scanner.go | 2 +- pkg/purl/purl.go | 13 ++++--- pkg/purl/purl_test.go | 56 +++++++++++------------------- pkg/report/github/github.go | 3 ++ pkg/sbom/cyclonedx/marshal.go | 28 ++++++++++----- pkg/sbom/cyclonedx/marshal_test.go | 23 ++++++++++++ pkg/sbom/spdx/marshal.go | 4 +-- 7 files changed, 78 insertions(+), 51 deletions(-) diff --git a/pkg/k8s/scanner/scanner.go b/pkg/k8s/scanner/scanner.go index f260e8b088e5..861699102c92 100644 --- a/pkg/k8s/scanner/scanner.go +++ b/pkg/k8s/scanner/scanner.go @@ -383,7 +383,7 @@ func clusterInfoToReportResources(allArtifact []*artifacts.Artifact) (*core.Comp return nil, xerrors.Errorf("failed to create PURL: %w", err) } imageComponents = append(imageComponents, &core.Component{ - PackageURL: &imagePURL, + PackageURL: imagePURL, Type: cdx.ComponentTypeContainer, Name: name, Version: cDigest, diff --git a/pkg/purl/purl.go b/pkg/purl/purl.go index a7bbbbfef6b3..947c6eb696be 100644 --- a/pkg/purl/purl.go +++ b/pkg/purl/purl.go @@ -199,7 +199,7 @@ func (p *PackageURL) BOMRef() string { } // nolint: gocyclo -func NewPackageURL(t ftypes.TargetType, metadata types.Metadata, pkg ftypes.Package) (PackageURL, error) { +func NewPackageURL(t ftypes.TargetType, metadata types.Metadata, pkg ftypes.Package) (*PackageURL, error) { var qualifiers packageurl.Qualifiers if metadata.OS != nil { qualifiers = parseQualifier(pkg) @@ -235,7 +235,7 @@ func NewPackageURL(t ftypes.TargetType, metadata types.Metadata, pkg ftypes.Pack case packageurl.TypeGolang: namespace, name = parseGolang(name) if name == "" { - return PackageURL{PackageURL: *packageurl.NewPackageURL("", "", "", "", nil, "")}, nil + return nil, nil } case packageurl.TypeNPM: namespace, name = parseNpm(name) @@ -246,12 +246,15 @@ func NewPackageURL(t ftypes.TargetType, metadata types.Metadata, pkg ftypes.Pack case packageurl.TypeOCI: purl, err := parseOCI(metadata) if err != nil { - return PackageURL{}, err + return nil, err } - return PackageURL{PackageURL: purl}, nil + if purl.Type == "" { + return nil, nil + } + return &PackageURL{PackageURL: purl}, nil } - return PackageURL{ + return &PackageURL{ PackageURL: *packageurl.NewPackageURL(ptype, namespace, name, ver, qualifiers, subpath), FilePath: pkg.FilePath, }, nil diff --git a/pkg/purl/purl_test.go b/pkg/purl/purl_test.go index dfb3bf841b28..c6195d003a77 100644 --- a/pkg/purl/purl_test.go +++ b/pkg/purl/purl_test.go @@ -20,7 +20,7 @@ func TestNewPackageURL(t *testing.T) { typ ftypes.TargetType pkg ftypes.Package metadata types.Metadata - want purl.PackageURL + want *purl.PackageURL wantErr string }{ { @@ -30,7 +30,7 @@ func TestNewPackageURL(t *testing.T) { Name: "org.springframework:spring-core", Version: "5.3.14", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeMaven, Namespace: "org.springframework", @@ -46,7 +46,7 @@ func TestNewPackageURL(t *testing.T) { Name: "org.springframework:spring-core", Version: "5.3.14", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeMaven, Namespace: "org.springframework", @@ -62,7 +62,7 @@ func TestNewPackageURL(t *testing.T) { Name: "@xtuc/ieee754", Version: "1.2.0", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeNPM, Namespace: "@xtuc", @@ -78,7 +78,7 @@ func TestNewPackageURL(t *testing.T) { Name: "lodash", Version: "4.17.21", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeNPM, Name: "lodash", @@ -93,7 +93,7 @@ func TestNewPackageURL(t *testing.T) { Name: "@xtuc/ieee754", Version: "1.2.0", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeNPM, Namespace: "@xtuc", @@ -109,7 +109,7 @@ func TestNewPackageURL(t *testing.T) { Name: "lodash", Version: "4.17.21", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeNPM, Name: "lodash", @@ -124,7 +124,7 @@ func TestNewPackageURL(t *testing.T) { Name: "Django_test", Version: "1.2.0", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypePyPi, Name: "django-test", @@ -139,7 +139,7 @@ func TestNewPackageURL(t *testing.T) { Name: "absl-py", Version: "0.4.1", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeConda, Name: "absl-py", @@ -154,7 +154,7 @@ func TestNewPackageURL(t *testing.T) { Name: "symfony/contracts", Version: "v1.0.2", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeComposer, Namespace: "symfony", @@ -170,7 +170,7 @@ func TestNewPackageURL(t *testing.T) { Name: "github.com/go-sql-driver/Mysql", Version: "v1.5.0", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeGolang, Namespace: "github.com/go-sql-driver", @@ -186,14 +186,7 @@ func TestNewPackageURL(t *testing.T) { Name: "./private_repos/cnrm.googlesource.com/cnrm/", Version: "(devel)", }, - want: purl.PackageURL{ - PackageURL: packageurl.PackageURL{ - Type: "", - Namespace: "", - Name: "", - Version: "", - }, - }, + want: nil, }, { name: "hex package", @@ -209,7 +202,7 @@ func TestNewPackageURL(t *testing.T) { }, }, }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeHex, Name: "bunt", @@ -224,7 +217,7 @@ func TestNewPackageURL(t *testing.T) { Name: "http", Version: "0.13.2", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: purl.TypeDart, Name: "http", @@ -240,7 +233,7 @@ func TestNewPackageURL(t *testing.T) { Name: "github.com/apple/swift-atomics", Version: "1.1.0", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeSwift, Namespace: "github.com/apple", @@ -257,7 +250,7 @@ func TestNewPackageURL(t *testing.T) { Name: "GoogleUtilities/NSData+zlib", Version: "7.5.2", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeCocoapods, Name: "GoogleUtilities", @@ -274,7 +267,7 @@ func TestNewPackageURL(t *testing.T) { Name: "abomination", Version: "0.7.3", }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeCargo, Name: "abomination", @@ -304,7 +297,7 @@ func TestNewPackageURL(t *testing.T) { Name: "8", }, }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeRPM, Namespace: "redhat", @@ -342,7 +335,7 @@ func TestNewPackageURL(t *testing.T) { Architecture: "amd64", }, }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeOCI, Namespace: "", @@ -372,14 +365,7 @@ func TestNewPackageURL(t *testing.T) { }, ImageID: "sha256:8fe1727132b2506c17ba0e1f6a6ed8a016bb1f5735e43b2738cd3fd1979b6260", }, - want: purl.PackageURL{ - PackageURL: packageurl.PackageURL{ - Type: "", - Namespace: "", - Name: "", - Version: "", - }, - }, + want: nil, }, { name: "container with implicit registry", @@ -397,7 +383,7 @@ func TestNewPackageURL(t *testing.T) { Architecture: "amd64", }, }, - want: purl.PackageURL{ + want: &purl.PackageURL{ PackageURL: packageurl.PackageURL{ Type: packageurl.TypeOCI, Namespace: "", diff --git a/pkg/report/github/github.go b/pkg/report/github/github.go index b17bc29fda9a..4a5007c79872 100644 --- a/pkg/report/github/github.go +++ b/pkg/report/github/github.go @@ -165,5 +165,8 @@ func buildPurl(t ftypes.TargetType, pkg ftypes.Package) (string, error) { if err != nil { return "", xerrors.Errorf("purl error: %w", err) } + if packageUrl == nil { + return "", nil + } return packageUrl.ToString(), nil } diff --git a/pkg/sbom/cyclonedx/marshal.go b/pkg/sbom/cyclonedx/marshal.go index 9ee79da064c1..c6934571c0a0 100644 --- a/pkg/sbom/cyclonedx/marshal.go +++ b/pkg/sbom/cyclonedx/marshal.go @@ -193,6 +193,11 @@ func (e *Marshaler) marshalPackage(pkg Package, pkgs map[string]Package, compone if err != nil { return nil, xerrors.Errorf("failed to parse pkg: %w", err) } + + // Skip component that can't be converted from `Package` + if component == nil { + return nil, nil + } components[pkg.ID] = component // Iterate dependencies @@ -234,8 +239,9 @@ func (e *Marshaler) rootComponent(r types.Report) (*core.Component, error) { p, err := purl.NewPackageURL(purl.TypeOCI, r.Metadata, ftypes.Package{}) if err != nil { return nil, xerrors.Errorf("failed to new package url for oci: %w", err) - } else if p.Type != "" { - root.PackageURL = &p + } + if p != nil { + root.PackageURL = p } case ftypes.ArtifactVM: @@ -315,11 +321,17 @@ func pkgComponent(pkg Package) (*core.Component, error) { } name := pkg.Name + version := pkg.Version var group string - // use `group` field for GroupID and `name` for ArtifactID for jar files - if pkg.Type == ftypes.Jar { - name = pu.Name - group = pu.Namespace + // there are cases when we can't build purl + // e.g. local Go packages + if pu != nil { + version = pu.Version + // use `group` field for GroupID and `name` for ArtifactID for jar files + if pkg.Type == ftypes.Jar { + name = pu.Name + group = pu.Namespace + } } properties := []core.Property{ @@ -369,8 +381,8 @@ func pkgComponent(pkg Package) (*core.Component, error) { Type: cdx.ComponentTypeLibrary, Name: name, Group: group, - Version: pu.Version, - PackageURL: &pu, + Version: version, + PackageURL: pu, Supplier: pkg.Maintainer, Licenses: pkg.Licenses, Hashes: lo.Ternary(pkg.Digest == "", nil, []digest.Digest{pkg.Digest}), diff --git a/pkg/sbom/cyclonedx/marshal_test.go b/pkg/sbom/cyclonedx/marshal_test.go index ddc68131ea0c..59f77a24ad63 100644 --- a/pkg/sbom/cyclonedx/marshal_test.go +++ b/pkg/sbom/cyclonedx/marshal_test.go @@ -168,6 +168,11 @@ func TestMarshaler_Marshal(t *testing.T) { Name: "golang.org/x/crypto", Version: "v0.0.0-20210421170649-83a5a9bb288b", }, + // dependency has been replaced with local directory + { + Name: "./api", + Version: "(devel)", + }, }, }, }, @@ -302,6 +307,19 @@ func TestMarshaler_Marshal(t *testing.T) { }, }, }, + { + // Use UUID for local Go packages + BOMRef: "3ff14136-e09f-4df9-80ea-000000000007", + Type: cdx.ComponentTypeLibrary, + Name: "./api", + Version: "(devel)", + Properties: &[]cdx.Property{ + { + Name: "aquasecurity:trivy:PkgType", + Value: "gobinary", + }, + }, + }, { BOMRef: "pkg:gem/actioncontroller@7.0.0", Type: cdx.ComponentTypeLibrary, @@ -441,9 +459,14 @@ func TestMarshaler_Marshal(t *testing.T) { { Ref: "3ff14136-e09f-4df9-80ea-000000000006", Dependencies: &[]string{ + "3ff14136-e09f-4df9-80ea-000000000007", "pkg:golang/golang.org/x/crypto@v0.0.0-20210421170649-83a5a9bb288b", }, }, + { + Ref: "3ff14136-e09f-4df9-80ea-000000000007", + Dependencies: lo.ToPtr([]string{}), + }, { Ref: "pkg:gem/actioncontroller@7.0.0", Dependencies: &[]string{ diff --git a/pkg/sbom/spdx/marshal.go b/pkg/sbom/spdx/marshal.go index dbb72af2e69c..12e07e3de07d 100644 --- a/pkg/sbom/spdx/marshal.go +++ b/pkg/sbom/spdx/marshal.go @@ -233,7 +233,7 @@ func (m *Marshaler) rootPackage(r types.Report, pkgDownloadLocation string) (*sp // When the target is a container image, add PURL to the external references of the root package. if p, err := purl.NewPackageURL(purl.TypeOCI, r.Metadata, ftypes.Package{}); err != nil { return nil, xerrors.Errorf("failed to new package url for oci: %w", err) - } else if p.Type != "" { + } else if p != nil { externalReferences = append(externalReferences, purlExternalReference(p.ToString())) } @@ -327,7 +327,7 @@ func (m *Marshaler) pkgToSpdxPackage(t ftypes.TargetType, pkgDownloadLocation st } var pkgExtRefs []*spdx.PackageExternalReference - if packageURL.Type != "" { + if packageURL != nil { pkgExtRefs = []*spdx.PackageExternalReference{purlExternalReference(packageURL.String())} } From 156d4cc6051d27d396ad3f05e4a8f399c92a405c Mon Sep 17 00:00:00 2001 From: Matheus Moraes Date: Mon, 6 Nov 2023 01:54:48 -0300 Subject: [PATCH 106/338] docs: add Zora integration into Ecosystem session (#5490) --- docs/ecosystem/prod.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/ecosystem/prod.md b/docs/ecosystem/prod.md index 8a6660970ecf..8f9b8fb71be0 100644 --- a/docs/ecosystem/prod.md +++ b/docs/ecosystem/prod.md @@ -21,3 +21,11 @@ Trivy is natively integrated into Harbor, no installation is needed. More info i You can use Kyverno to ensure and enforce that deployed workloads' images are scanned for vulnerabilities. 👉 Get it at: + +## Zora (Community) + +[Zora](https://zora-docs.undistro.io/) is an open-source solution that scans Kubernetes clusters with multiple plugins at scheduled times. + +Trivy is integrated into Zora as a vulnerability scanner plugin. + +👉 Get it at: From d6df5fbcda878e43e5e02484304726ebe7c6c418 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Mon, 6 Nov 2023 10:55:08 +0600 Subject: [PATCH 107/338] docs: add info that license scanning supports file-patterns flag (#5484) Co-authored-by: Teppei Fukuda --- docs/docs/configuration/skipping.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/docs/configuration/skipping.md b/docs/docs/configuration/skipping.md index 2537a529ff54..7e228d696fff 100644 --- a/docs/docs/configuration/skipping.md +++ b/docs/docs/configuration/skipping.md @@ -98,7 +98,7 @@ This will skip the file `foo` that happens to be nested under any parent(s). | Vulnerability | ✓ | | Misconfiguration | ✓ | | Secret | | -| License | | +| License | ✓[^1] | When a directory is given as an input, Trivy will recursively look for and test all files based on file patterns. The default file patterns are [here](../scanner/misconfiguration/custom/index.md). @@ -114,3 +114,6 @@ A file pattern contains the analyzer it is used for, and the pattern itself, joi ``` The prefixes are listed [here](https://github.com/aquasecurity/trivy/tree/{{ git.commit }}/pkg/fanal/analyzer/const.go) + + +[^1]: Only work with the [license-full](../scanner/license.md) flag) \ No newline at end of file From 043fbfcd38f3cf513a114c57ae724b7218c0d787 Mon Sep 17 00:00:00 2001 From: Tom Janson Date: Tue, 7 Nov 2023 01:38:39 +0100 Subject: [PATCH 108/338] docs(k8s): fix whitespace in list syntax (#5525) --- docs/docs/coverage/kubernetes.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/docs/coverage/kubernetes.md b/docs/docs/coverage/kubernetes.md index 66a144190bc7..5f2b3a62fc5e 100644 --- a/docs/docs/coverage/kubernetes.md +++ b/docs/docs/coverage/kubernetes.md @@ -10,13 +10,15 @@ Whenever Trivy scans either of these Kubernetes resources, the container image i When scanning any of the above, the container image is scanned separately to the Kubernetes resource definition (the YAML manifest) that defines the resource. Container image is scanned for: + - Vulnerabilities - Misconfigurations - Exposed secrets Kubernetes resource definition is scanned for: + - Vulnerabilities - partially supported through [KBOM scanning](#KBOM) - Misconfigurations - Exposed secrets -To learn more, please see the [documentation for Kubernetes scanning](../target/kubernetes.md) +To learn more, please see the [documentation for Kubernetes scanning](../target/kubernetes.md). From 7712f8f216702e4e485028944bbdcdc940bff7cb Mon Sep 17 00:00:00 2001 From: Tom Janson Date: Tue, 7 Nov 2023 02:18:44 +0100 Subject: [PATCH 109/338] docs(k8s): fix link in kubernetes.md (#5524) --- docs/docs/target/kubernetes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/target/kubernetes.md b/docs/docs/target/kubernetes.md index e97bdf0ed848..7927938482f3 100644 --- a/docs/docs/target/kubernetes.md +++ b/docs/docs/target/kubernetes.md @@ -4,7 +4,7 @@ This feature might change without preserving backwards compatibility. Trivy can connect to your Kubernetes cluster and scan it for security issues using the `trivy k8s` command. This page covers the technical capabilities of Trivy Kubernetes scanning. -Trivy can also be installed *inside* your cluster as a Kubernetes Operator, and continuously scan it. For more about this, please see the [Trivy Operator][https://aquasecurity.github.io/trivy-operator/] project. +Trivy can also be installed *inside* your cluster as a Kubernetes Operator, and continuously scan it. For more about this, please see the [Trivy Operator](https://aquasecurity.github.io/trivy-operator/) project. When scanning a Kubernetes cluster, Trivy differentiates between the following: From a1b47441a5a8eb493bc0bf8a02b3bb6b4bfd0ddc Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Wed, 8 Nov 2023 05:40:42 +0600 Subject: [PATCH 110/338] refactor(misconf): don't remove Highlighted in json format (#5531) --- integration/testdata/helm.json.golden | 18 ++++++++++ .../testdata/helm_testchart.json.golden | 18 ++++++++++ .../helm_testchart.overridden.json.golden | 34 +++++++++++++++++++ pkg/types/report.go | 7 ---- 4 files changed, 70 insertions(+), 7 deletions(-) diff --git a/integration/testdata/helm.json.golden b/integration/testdata/helm.json.golden index 1ac2f8a5b349..39789ee45107 100644 --- a/integration/testdata/helm.json.golden +++ b/integration/testdata/helm.json.golden @@ -56,6 +56,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - \u001b[38;5;33mname\u001b[0m: testchart", "FirstCause": true, "LastCause": false }, @@ -65,6 +66,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33msecurityContext\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -74,6 +76,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mcapabilities\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -83,6 +86,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mdrop\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -92,6 +96,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - ALL", "FirstCause": false, "LastCause": false }, @@ -101,6 +106,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mreadOnlyRootFilesystem\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -110,6 +116,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsGroup\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": false }, @@ -119,6 +126,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsNonRoot\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -128,6 +136,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsUser\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": true }, @@ -175,6 +184,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - \u001b[38;5;33mname\u001b[0m: testchart", "FirstCause": true, "LastCause": false }, @@ -184,6 +194,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33msecurityContext\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -193,6 +204,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mcapabilities\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -202,6 +214,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mdrop\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -211,6 +224,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - ALL", "FirstCause": false, "LastCause": false }, @@ -220,6 +234,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mreadOnlyRootFilesystem\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -229,6 +244,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsGroup\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": false }, @@ -238,6 +254,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsNonRoot\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -247,6 +264,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsUser\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": true }, diff --git a/integration/testdata/helm_testchart.json.golden b/integration/testdata/helm_testchart.json.golden index 21c933af825d..3ee6bdc26cf9 100644 --- a/integration/testdata/helm_testchart.json.golden +++ b/integration/testdata/helm_testchart.json.golden @@ -56,6 +56,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - \u001b[38;5;33mname\u001b[0m: testchart", "FirstCause": true, "LastCause": false }, @@ -65,6 +66,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33msecurityContext\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -74,6 +76,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mcapabilities\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -83,6 +86,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mdrop\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -92,6 +96,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - ALL", "FirstCause": false, "LastCause": false }, @@ -101,6 +106,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mreadOnlyRootFilesystem\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -110,6 +116,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsGroup\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": false }, @@ -119,6 +126,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsNonRoot\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -128,6 +136,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsUser\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": true }, @@ -175,6 +184,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - \u001b[38;5;33mname\u001b[0m: testchart", "FirstCause": true, "LastCause": false }, @@ -184,6 +194,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33msecurityContext\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -193,6 +204,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mcapabilities\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -202,6 +214,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mdrop\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -211,6 +224,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - ALL", "FirstCause": false, "LastCause": false }, @@ -220,6 +234,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mreadOnlyRootFilesystem\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -229,6 +244,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsGroup\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": false }, @@ -238,6 +254,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsNonRoot\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -247,6 +264,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsUser\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": true }, diff --git a/integration/testdata/helm_testchart.overridden.json.golden b/integration/testdata/helm_testchart.overridden.json.golden index 0899ed583382..88097a308e8c 100644 --- a/integration/testdata/helm_testchart.overridden.json.golden +++ b/integration/testdata/helm_testchart.overridden.json.golden @@ -56,6 +56,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - \u001b[38;5;33mname\u001b[0m: testchart", "FirstCause": true, "LastCause": false }, @@ -65,6 +66,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33msecurityContext\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -74,6 +76,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mcapabilities\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -83,6 +86,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mdrop\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -92,6 +96,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - ALL", "FirstCause": false, "LastCause": false }, @@ -101,6 +106,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mreadOnlyRootFilesystem\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -110,6 +116,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsGroup\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": false }, @@ -119,6 +126,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsNonRoot\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -128,6 +136,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsUser\u001b[0m: \u001b[38;5;37m0", "FirstCause": false, "LastCause": true }, @@ -175,6 +184,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - \u001b[38;5;33mname\u001b[0m: testchart", "FirstCause": true, "LastCause": false }, @@ -184,6 +194,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33msecurityContext\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -193,6 +204,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mcapabilities\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -202,6 +214,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mdrop\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -211,6 +224,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - ALL", "FirstCause": false, "LastCause": false }, @@ -220,6 +234,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mreadOnlyRootFilesystem\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -229,6 +244,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsGroup\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": false }, @@ -238,6 +254,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsNonRoot\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -247,6 +264,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsUser\u001b[0m: \u001b[38;5;37m0", "FirstCause": false, "LastCause": true }, @@ -294,6 +312,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - \u001b[38;5;33mname\u001b[0m: testchart", "FirstCause": true, "LastCause": false }, @@ -303,6 +322,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33msecurityContext\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -312,6 +332,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mcapabilities\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -321,6 +342,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mdrop\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -330,6 +352,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - ALL", "FirstCause": false, "LastCause": false }, @@ -339,6 +362,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mreadOnlyRootFilesystem\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -348,6 +372,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsGroup\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": false }, @@ -357,6 +382,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsNonRoot\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -366,6 +392,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsUser\u001b[0m: \u001b[38;5;37m0", "FirstCause": false, "LastCause": true }, @@ -439,6 +466,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mcapabilities\u001b[0m:", "FirstCause": true, "LastCause": false }, @@ -448,6 +476,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mdrop\u001b[0m:", "FirstCause": false, "LastCause": false }, @@ -457,6 +486,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " - ALL", "FirstCause": false, "LastCause": false }, @@ -466,6 +496,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": " \u001b[38;5;33mreadOnlyRootFilesystem\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -475,6 +506,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsGroup\u001b[0m: \u001b[38;5;37m10001", "FirstCause": false, "LastCause": false }, @@ -484,6 +516,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsNonRoot\u001b[0m: \u001b[38;5;166mtrue", "FirstCause": false, "LastCause": false }, @@ -493,6 +526,7 @@ "IsCause": true, "Annotation": "", "Truncated": false, + "Highlighted": "\u001b[0m \u001b[38;5;33mrunAsUser\u001b[0m: \u001b[38;5;37m0", "FirstCause": false, "LastCause": true } diff --git a/pkg/types/report.go b/pkg/types/report.go index e83ce3b6c394..a085ee454519 100644 --- a/pkg/types/report.go +++ b/pkg/types/report.go @@ -119,13 +119,6 @@ func (r *Result) MarshalJSON() ([]byte, error) { r.Vulnerabilities[i].VendorSeverity = nil } - // remove the Highlighted attribute from the json results - for i := range r.Misconfigurations { - for li := range r.Misconfigurations[i].CauseMetadata.Code.Lines { - r.Misconfigurations[i].CauseMetadata.Code.Lines[li].Highlighted = "" - } - } - // Notice the Alias struct prevents MarshalJSON being called infinitely type ResultAlias Result return json.Marshal(&struct { From 05df24477ee30ae2aed13ffffbcf9836ade8969d Mon Sep 17 00:00:00 2001 From: chenk Date: Wed, 8 Nov 2023 07:39:53 +0200 Subject: [PATCH 111/338] fix: fail k8s resource scanning (#5529) Signed-off-by: chenk --- integration/k8s_test.go | 45 ++++++++++++++++++++++++++++++++++++++ pkg/k8s/scanner/scanner.go | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/integration/k8s_test.go b/integration/k8s_test.go index b90a27a9fc81..99e16e59514f 100644 --- a/integration/k8s_test.go +++ b/integration/k8s_test.go @@ -109,4 +109,49 @@ func TestK8s(t *testing.T) { })) }) + + t.Run("specific resource scan", func(t *testing.T) { + // Set up the output file + outputFile := filepath.Join(t.TempDir(), "output.json") + + osArgs := []string{ + "k8s", + "-n", + "default", + "deployments/nginx-deployment", + "-q", + "--timeout", + "5m0s", + "--format", + "json", + "--components", + "workload", + "--context", + "kind-kind-test", + "--output", + outputFile, + } + + // Run Trivy + err := execute(osArgs) + require.NoError(t, err) + + var got report.Report + f, err := os.Open(outputFile) + require.NoError(t, err) + defer f.Close() + + err = json.NewDecoder(f).Decode(&got) + require.NoError(t, err) + + // Flatten findings + results := lo.FlatMap(got.Resources, func(resource report.Resource, _ int) []types.Result { + return resource.Results + }) + + // Has vulnerabilities + assert.True(t, lo.SomeBy(results, func(r types.Result) bool { + return len(r.Vulnerabilities) > 0 + })) + }) } diff --git a/pkg/k8s/scanner/scanner.go b/pkg/k8s/scanner/scanner.go index 861699102c92..35b9003fabf3 100644 --- a/pkg/k8s/scanner/scanner.go +++ b/pkg/k8s/scanner/scanner.go @@ -226,7 +226,7 @@ func (s *Scanner) scanK8sVulns(ctx context.Context, artifactsData []*artifacts.A var resources []report.Resource var nodeName string if nodeName = findNodeName(artifactsData); nodeName == "" { - return nil, fmt.Errorf("failed to find node name") + return resources, nil } k8sScanner := k8s.NewKubenetesScanner() From 91fc8dac92d0f20cae24c7009ecf00f8caaf4f7f Mon Sep 17 00:00:00 2001 From: chenk Date: Thu, 9 Nov 2023 03:05:45 +0200 Subject: [PATCH 112/338] fix: trivy k8s parse ecr image with arn (#5537) Signed-off-by: chenk --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c670dce2bb13..d0130f316b0c 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/aquasecurity/tml v0.6.1 github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 - github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231019164303-dcdfdc50763f + github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a github.com/aws/aws-sdk-go-v2 v1.22.1 github.com/aws/aws-sdk-go-v2/config v1.18.45 github.com/aws/aws-sdk-go-v2/credentials v1.13.43 diff --git a/go.sum b/go.sum index 8187d3cc2a44..b2ae55b48e3e 100644 --- a/go.sum +++ b/go.sum @@ -347,8 +347,8 @@ github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d h1:fjI9mkoTU github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d/go.mod h1:cj9/QmD9N3OZnKQMp+/DvdV+ym3HyIkd4e+F0ZM3ZGs= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 h1:0eS+V7SXHgqoT99tV1mtMW6HL4HdoB9qGLMCb1fZp8A= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728/go.mod h1:Ldya37FLi0e/5Cjq2T5Bty7cFkzUDwTcPeQua+2M8i8= -github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231019164303-dcdfdc50763f h1:HDWxGTNMAeX8LFUDQKME+JwE2sPkFEFLso1OicnoXgw= -github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231019164303-dcdfdc50763f/go.mod h1:k2Nf7s+Gx88BZE/yjBv7Kqdng/quv/hwaYI2bjSWFqY= +github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a h1:x1Z+k7snLeDjTLnvTd4UPNo0HPMP6SNWxZTVU5smuA0= +github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a/go.mod h1:e3iMAeJ1V/iPsNcRBVd9aDqj1YAXeURzv3qLurbloUk= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= From 2f5afa5f292000f1075b882d94565d9f99f607fc Mon Sep 17 00:00:00 2001 From: very-doge-wow <95224950+very-doge-wow@users.noreply.github.com> Date: Thu, 9 Nov 2023 02:34:52 +0100 Subject: [PATCH 113/338] feat(secret): add built-in rule for JWT tokens (#5480) --- pkg/fanal/secret/builtin-rules.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/fanal/secret/builtin-rules.go b/pkg/fanal/secret/builtin-rules.go index 1fc282d02d8c..58330c916865 100644 --- a/pkg/fanal/secret/builtin-rules.go +++ b/pkg/fanal/secret/builtin-rules.go @@ -49,6 +49,7 @@ var ( CategoryHubSpot = types.SecretRuleCategory("HubSpot") CategoryIntercom = types.SecretRuleCategory("Intercom") CategoryIonic = types.SecretRuleCategory("Ionic") + CategoryJWT = types.SecretRuleCategory("JWT") CategoryLinear = types.SecretRuleCategory("Linear") CategoryLob = types.SecretRuleCategory("Lob") CategoryMailchimp = types.SecretRuleCategory("Mailchimp") @@ -562,6 +563,14 @@ var builtinRules = []Rule{ Regex: MustCompile(`(?i)(ionic[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"](ion_[a-z0-9]{42})['\"]`), Keywords: []string{"ionic"}, }, + { + ID: "jwt-token", + Category: CategoryJWT, + Title: "JWT token", + Severity: "MEDIUM", + Regex: MustCompile(`ey[a-zA-Z0-9]{17,}\.ey[a-zA-Z0-9\/\\_-]{17,}\.(?:[a-zA-Z0-9\/\\_-]{10,}={0,2})?`), + Keywords: []string{"jwt"}, + }, { ID: "linear-api-token", Category: CategoryLinear, From e7f6a5c8059b5c44fbacc8f2627b5794996e414d Mon Sep 17 00:00:00 2001 From: simar7 <1254783+simar7@users.noreply.github.com> Date: Wed, 8 Nov 2023 19:24:52 -0700 Subject: [PATCH 114/338] refactor(misconf): Update refactored dependencies (#5245) Signed-off-by: Simar --- docs/docs/coverage/iac/index.md | 2 +- docs/docs/coverage/iac/terraform.md | 4 +- docs/docs/index.md | 2 +- .../references/configuration/cli/trivy_aws.md | 2 +- .../configuration/cli/trivy_config.md | 2 +- .../configuration/cli/trivy_filesystem.md | 2 +- .../configuration/cli/trivy_image.md | 2 +- .../configuration/cli/trivy_kubernetes.md | 2 +- .../configuration/cli/trivy_repository.md | 2 +- .../configuration/cli/trivy_rootfs.md | 2 +- .../references/configuration/cli/trivy_vm.md | 2 +- .../scanner/misconfiguration/custom/index.md | 4 +- .../scanner/misconfiguration/custom/schema.md | 8 +- .../misconfiguration/custom/testing.md | 4 +- .../misconfiguration/policy/builtin.md | 14 +- .../misconfiguration/policy/exceptions.md | 8 +- go.mod | 122 +++--- go.sum | 362 +++++++----------- pkg/cloud/aws/commands/run.go | 4 +- pkg/cloud/aws/scanner/scanner.go | 2 +- pkg/commands/app.go | 2 +- pkg/compliance/spec/compliance.go | 2 +- .../analyzer/config/terraform/terraform.go | 2 +- pkg/fanal/analyzer/const.go | 2 +- pkg/fanal/secret/builtin-rules.go | 2 +- pkg/misconf/scanner.go | 20 +- pkg/policy/policy.go | 2 +- 27 files changed, 252 insertions(+), 332 deletions(-) diff --git a/docs/docs/coverage/iac/index.md b/docs/docs/coverage/iac/index.md index 7fd9a475643d..21f0209f2fad 100644 --- a/docs/docs/coverage/iac/index.md +++ b/docs/docs/coverage/iac/index.md @@ -9,7 +9,7 @@ Trivy scans Infrastructure as Code (IaC) files for ## Supported configurations | Config type | File patterns | -| ----------------------------------- | ----------------------------- | +|-------------------------------------|-------------------------------| | [Kubernetes](kubernetes.md) | *.yml, *.yaml, *.json | | [Docker](docker.md) | Dockerfile, Containerfile | | [Terraform](terraform.md) | *.tf, *.tf.json, *.tfvars, | diff --git a/docs/docs/coverage/iac/terraform.md b/docs/docs/coverage/iac/terraform.md index a8dc17a28fae..dff17725524f 100644 --- a/docs/docs/coverage/iac/terraform.md +++ b/docs/docs/coverage/iac/terraform.md @@ -2,14 +2,14 @@ Trivy supports the scanners listed in the table below. | Scanner | Supported | -| :--------------: | :-------: | +|:----------------:|:---------:| | Misconfiguration | ✓ | | Secret | ✓ | It supports the following formats: | Format | Supported | -| :-------: | :-------: | +|:---------:|:---------:| | JSON | ✓ | | HCL | ✓ | | Plan JSON | ✓ | diff --git a/docs/docs/index.md b/docs/docs/index.md index 70f423d23820..a475356b734e 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -1,5 +1,5 @@ # Docs -In this section you can find the complete reference documentation for all of the different features and settings that Trivy has to offer. +In this section you can find the complete reference documentation for all the different features and settings that Trivy has to offer. 👈 Please use the side-navigation on the left in order to browse the different topics. diff --git a/docs/docs/references/configuration/cli/trivy_aws.md b/docs/docs/references/configuration/cli/trivy_aws.md index e7e5651c91d4..eb7e5a144ac1 100644 --- a/docs/docs/references/configuration/cli/trivy_aws.md +++ b/docs/docs/references/configuration/cli/trivy_aws.md @@ -85,7 +85,7 @@ trivy aws [flags] --list-all-pkgs enabling the option will output all packages regardless of vulnerability --max-cache-age duration The maximum age of the cloud cache. Cached data will be requeried from the cloud provider if it is older than this. (default 24h0m0s) -o, --output string output file name - --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/defsec:0") + --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces --region string AWS Region to scan --report string specify a report format for the output (all,summary) (default "all") diff --git a/docs/docs/references/configuration/cli/trivy_config.md b/docs/docs/references/configuration/cli/trivy_config.md index 8dfc097e3f29..ced1b2c94788 100644 --- a/docs/docs/references/configuration/cli/trivy_config.md +++ b/docs/docs/references/configuration/cli/trivy_config.md @@ -31,7 +31,7 @@ trivy config [flags] DIR --module-dir string specify directory to the wasm modules that will be loaded (default "$HOME/.trivy/modules") -o, --output string output file name --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. - --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/defsec:0") + --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces --redis-ca string redis ca file location, if using redis as cache backend --redis-cert string redis certificate file location, if using redis as cache backend diff --git a/docs/docs/references/configuration/cli/trivy_filesystem.md b/docs/docs/references/configuration/cli/trivy_filesystem.md index bfeb6302ce40..2241d05de8a6 100644 --- a/docs/docs/references/configuration/cli/trivy_filesystem.md +++ b/docs/docs/references/configuration/cli/trivy_filesystem.md @@ -55,7 +55,7 @@ trivy filesystem [flags] PATH --offline-scan do not issue API requests to identify dependencies -o, --output string output file name --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. - --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/defsec:0") + --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces --redis-ca string redis ca file location, if using redis as cache backend --redis-cert string redis certificate file location, if using redis as cache backend diff --git a/docs/docs/references/configuration/cli/trivy_image.md b/docs/docs/references/configuration/cli/trivy_image.md index dd96a620e634..767d4152cf54 100644 --- a/docs/docs/references/configuration/cli/trivy_image.md +++ b/docs/docs/references/configuration/cli/trivy_image.md @@ -75,7 +75,7 @@ trivy image [flags] IMAGE_NAME -o, --output string output file name --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. --platform string set platform in the form os/arch if image is multi-platform capable - --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/defsec:0") + --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces --redis-ca string redis ca file location, if using redis as cache backend --redis-cert string redis certificate file location, if using redis as cache backend diff --git a/docs/docs/references/configuration/cli/trivy_kubernetes.md b/docs/docs/references/configuration/cli/trivy_kubernetes.md index 3fd04a287b69..47c61a5b2288 100644 --- a/docs/docs/references/configuration/cli/trivy_kubernetes.md +++ b/docs/docs/references/configuration/cli/trivy_kubernetes.md @@ -67,7 +67,7 @@ trivy kubernetes [flags] { cluster | all | specific resources like kubectl. eg: -o, --output string output file name --parallel int number (between 1-20) of goroutines enabled for parallel scanning (default 5) --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. - --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/defsec:0") + --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces --redis-ca string redis ca file location, if using redis as cache backend --redis-cert string redis certificate file location, if using redis as cache backend diff --git a/docs/docs/references/configuration/cli/trivy_repository.md b/docs/docs/references/configuration/cli/trivy_repository.md index 984a40a28af6..19d9a3429027 100644 --- a/docs/docs/references/configuration/cli/trivy_repository.md +++ b/docs/docs/references/configuration/cli/trivy_repository.md @@ -55,7 +55,7 @@ trivy repository [flags] (REPO_PATH | REPO_URL) --offline-scan do not issue API requests to identify dependencies -o, --output string output file name --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. - --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/defsec:0") + --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces --redis-ca string redis ca file location, if using redis as cache backend --redis-cert string redis certificate file location, if using redis as cache backend diff --git a/docs/docs/references/configuration/cli/trivy_rootfs.md b/docs/docs/references/configuration/cli/trivy_rootfs.md index bb007e1210f6..7bd2d06c2cb9 100644 --- a/docs/docs/references/configuration/cli/trivy_rootfs.md +++ b/docs/docs/references/configuration/cli/trivy_rootfs.md @@ -57,7 +57,7 @@ trivy rootfs [flags] ROOTDIR --offline-scan do not issue API requests to identify dependencies -o, --output string output file name --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. - --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/defsec:0") + --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces --redis-ca string redis ca file location, if using redis as cache backend --redis-cert string redis certificate file location, if using redis as cache backend diff --git a/docs/docs/references/configuration/cli/trivy_vm.md b/docs/docs/references/configuration/cli/trivy_vm.md index 2a2067c2c0df..31a84b1fec8d 100644 --- a/docs/docs/references/configuration/cli/trivy_vm.md +++ b/docs/docs/references/configuration/cli/trivy_vm.md @@ -51,7 +51,7 @@ trivy vm [flags] VM_IMAGE --no-progress suppress progress bar --offline-scan do not issue API requests to identify dependencies -o, --output string output file name - --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/defsec:0") + --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --redis-ca string redis ca file location, if using redis as cache backend --redis-cert string redis certificate file location, if using redis as cache backend --redis-key string redis key file location, if using redis as cache backend diff --git a/docs/docs/scanner/misconfiguration/custom/index.md b/docs/docs/scanner/misconfiguration/custom/index.md index 064aa7364f4a..ef34d0f20414 100644 --- a/docs/docs/scanner/misconfiguration/custom/index.md +++ b/docs/docs/scanner/misconfiguration/custom/index.md @@ -14,7 +14,7 @@ As for `--namespaces` option, the detail is described as below. If a file name matches the following file patterns, Trivy will parse the file and pass it as input to your Rego policy. | File format | File pattern | -| ------------- | --------------------------------------------------------- | +|---------------|-----------------------------------------------------------| | JSON | `*.json` | | YAML | `*.yaml` and `*.yml` | | Dockerfile | `Dockerfile`, `Dockerfile.*`, and `*.Dockerfile` | @@ -125,7 +125,7 @@ schema that will be used is based on the input document type. It is recommended correct and do not reference incorrect properties/values. | Field name | Allowed values | Default value | In table | In JSON | -| -------------------------- | ----------------------------------------------------------------- | :--------------------------: | :--------------: | :--------------: | +|----------------------------|-------------------------------------------------------------------|:----------------------------:|:----------------:|:----------------:| | title | Any characters | N/A | :material-check: | :material-check: | | description | Any characters | | :material-close: | :material-check: | | schemas.input | `schema["kubernetes"]`, `schema["dockerfile"]`, `schema["cloud"]` | (applied to all input types) | :material-close: | :material-close: | diff --git a/docs/docs/scanner/misconfiguration/custom/schema.md b/docs/docs/scanner/misconfiguration/custom/schema.md index ba154f30f806..8791d1a22752 100644 --- a/docs/docs/scanner/misconfiguration/custom/schema.md +++ b/docs/docs/scanner/misconfiguration/custom/schema.md @@ -4,7 +4,7 @@ Policies can be defined with custom schemas that allow inputs to be verified against them. Adding a policy schema enables Trivy to show more detailed error messages when an invalid input is encountered. -In Trivy we have been able to define a schema for a [Dockerfile](https://github.com/aquasecurity/defsec/blob/master/pkg/rego/schemas/dockerfile.json). +In Trivy we have been able to define a schema for a [Dockerfile](https://github.com/aquasecurity/trivy-iac/blob/main/pkg/rego/schemas/dockerfile.json) Without input schemas, a policy would be as follows: !!! example @@ -50,9 +50,9 @@ Now if this policy is evaluated against, a more descriptive error will be availa Currently, out of the box the following schemas are supported natively: -1. [Docker](https://github.com/aquasecurity/defsec/blob/master/pkg/rego/schemas/dockerfile.json) -2. [Kubernetes](https://github.com/aquasecurity/defsec/blob/master/pkg/rego/schemas/kubernetes.json) -3. [Cloud](https://github.com/aquasecurity/defsec/blob/master/pkg/rego/schemas/cloud.json) +1. [Docker](https://github.com/aquasecurity/trivy-iac/blob/main/pkg/rego/schemas/dockerfile.json) +2. [Kubernetes](https://github.com/aquasecurity/trivy-iac/blob/main/pkg/rego/schemas/kubernetes.json) +3. [Cloud](https://github.com/aquasecurity/trivy-iac/blob/main/pkg/rego/schemas/cloud.json) ## Custom Policies with Custom Schemas diff --git a/docs/docs/scanner/misconfiguration/custom/testing.md b/docs/docs/scanner/misconfiguration/custom/testing.md index 8933f2002924..e09df1a35bc0 100644 --- a/docs/docs/scanner/misconfiguration/custom/testing.md +++ b/docs/docs/scanner/misconfiguration/custom/testing.md @@ -22,7 +22,7 @@ For more details, see [Policy Testing][opa-testing]. } ``` -To write tests for custom policies, you can refer to existing tests under [defsec][defsec]. +To write tests for custom policies, you can refer to existing tests under [trivy-policies][trivy-policies]. ## Go testing [Fanal][fanal] which is a core library of Trivy can be imported as a Go library. @@ -85,6 +85,6 @@ The following example stores allowed and denied configuration files in a directo `Dockerfile.allowed` has one successful result in `Successes`, while `Dockerfile.denied` has one failure result in `Failures`. [opa-testing]: https://www.openpolicyagent.org/docs/latest/policy-testing/ -[defsec]: https://github.com/aquasecurity/defsec +[defsec]: https://github.com/aquasecurity/trivy-policies/tree/main [table]: https://github.com/golang/go/wiki/TableDrivenTests [fanal]: https://github.com/aquasecurity/fanal \ No newline at end of file diff --git a/docs/docs/scanner/misconfiguration/policy/builtin.md b/docs/docs/scanner/misconfiguration/policy/builtin.md index 5bca22d8b684..aeaa48afbb27 100644 --- a/docs/docs/scanner/misconfiguration/policy/builtin.md +++ b/docs/docs/scanner/misconfiguration/policy/builtin.md @@ -2,13 +2,13 @@ ## Policy Sources Built-in policies are mainly written in [Rego][rego] and Go. -Those policies are managed under [defsec repository][defsec]. +Those policies are managed under [trivy-policies repository][trivy-policies]. See [here](../../../coverage/iac/index.md) for the list of supported config types. -For suggestions or issues regarding policy content, please open an issue under the [defsec][defsec] repository. +For suggestions or issues regarding policy content, please open an issue under the [trivy-policies][trivy-policies] repository. ## Policy Distribution -defsec policies are distributed as an OPA bundle on [GitHub Container Registry][ghcr] (GHCR). +Trivy policies are distributed as an OPA bundle on [GitHub Container Registry][ghcr] (GHCR). When misconfiguration detection is enabled, Trivy pulls the OPA bundle from GHCR as an OCI artifact and stores it in the cache. Those policies are then loaded into Trivy OPA engine and used for detecting misconfigurations. If Trivy is unable to pull down newer policies, it will use the embedded set of policies as a fallback. This is also the case in air-gap environments where `--skip-policy-update` might be passed. @@ -18,7 +18,7 @@ Trivy checks for updates to OPA bundle on GHCR every 24 hours and pulls it if th [rego]: https://www.openpolicyagent.org/docs/latest/policy-language/ -[kubernetes-policies]: https://github.com/aquasecurity/defsec/tree/master/rules/kubernetes/policies -[docker-policies]: https://github.com/aquasecurity/defsec/tree/master/rules/docker/policies -[defsec]: https://github.com/aquasecurity/defsec -[ghcr]: https://github.com/aquasecurity/defsec/pkgs/container/defsec \ No newline at end of file +[kubernetes-policies]: https://github.com/aquasecurity/trivy-policies/tree/main/rules/kubernetes/policies +[docker-policies]: https://github.com/aquasecurity/trivy-policies/tree/main/rules/docker/policies +[trivy-policies]: https://github.com/aquasecurity/trivy-policies +[ghcr]: https://github.com/aquasecurity/trivy-policies/pkgs/container/trivy-policies \ No newline at end of file diff --git a/docs/docs/scanner/misconfiguration/policy/exceptions.md b/docs/docs/scanner/misconfiguration/policy/exceptions.md index 5a71c2f76521..9d0e109fcdd5 100644 --- a/docs/docs/scanner/misconfiguration/policy/exceptions.md +++ b/docs/docs/scanner/misconfiguration/policy/exceptions.md @@ -87,12 +87,12 @@ If you want to apply rule-based exceptions to built-in policies, you have to def } ``` -This exception is applied to [KSV012][ksv012] in defsec. -You can get the package names in the [defsec repository][defsec] or the JSON output from Trivy. +This exception is applied to [KSV012][ksv012] in trivy-policies. +You can get the package names in the [trivy-policies repository][trivy-policies] or the JSON output from Trivy. For more details, see [an example][rule-example]. [ns-example]: https://github.com/aquasecurity/trivy/tree/{{ git.commit }}/examples/misconf/namespace-exception [rule-example]: https://github.com/aquasecurity/trivy/tree/{{ git.commit }}/examples/misconf/rule-exception -[ksv012]: https://github.com/aquasecurity/defsec/blob/master/internal/rules/kubernetes/policies/pss/restricted/3_runs_as_root.rego -[defsec]: https://github.com/aquasecurity/defsec/ \ No newline at end of file +[ksv012]: https://github.com/aquasecurity/trivy-policies/blob/main/rules/kubernetes/policies/pss/restricted/3_runs_as_root.rego +[trivy-policies]: https://github.com/aquasecurity/trivy-policies/ \ No newline at end of file diff --git a/go.mod b/go.mod index d0130f316b0c..89014fc8473f 100644 --- a/go.mod +++ b/go.mod @@ -13,8 +13,8 @@ require ( github.com/NYTimes/gziphandler v1.1.1 github.com/alicebob/miniredis/v2 v2.30.4 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 - github.com/aquasecurity/defsec v0.93.1 - github.com/aquasecurity/go-dep-parser v0.0.0-20231030050624-4548cca9a5c9 + github.com/aquasecurity/defsec v0.93.2-0.20231024055158-015ab97ce898 + github.com/aquasecurity/go-dep-parser v0.0.0-20231013060839-6f348921ea39 github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798 github.com/aquasecurity/go-pep440-version v0.0.0-20210121094942-22b2f8951d46 @@ -23,14 +23,17 @@ require ( github.com/aquasecurity/table v1.8.0 github.com/aquasecurity/testdocker v0.0.0-20230111101738-e741bda259da github.com/aquasecurity/tml v0.6.1 + github.com/aquasecurity/trivy-aws v0.4.0 github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d + github.com/aquasecurity/trivy-iac v0.5.2 github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a + github.com/aquasecurity/trivy-policies v0.4.0 github.com/aws/aws-sdk-go-v2 v1.22.1 github.com/aws/aws-sdk-go-v2/config v1.18.45 github.com/aws/aws-sdk-go-v2/credentials v1.13.43 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.90 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.116.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.21.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 github.com/aws/aws-sdk-go-v2/service/sts v1.25.0 @@ -41,7 +44,7 @@ require ( github.com/docker/docker v24.0.7+incompatible github.com/docker/go-connections v0.4.0 github.com/fatih/color v1.15.0 - github.com/go-git/go-git/v5 v5.7.0 + github.com/go-git/go-git/v5 v5.8.1 github.com/go-openapi/runtime v0.26.0 github.com/go-openapi/strfmt v0.21.7 github.com/go-redis/redis/v8 v8.11.5 @@ -72,7 +75,7 @@ require ( github.com/mitchellh/hashstructure/v2 v2.0.2 github.com/mitchellh/mapstructure v1.5.0 github.com/moby/buildkit v0.11.6 - github.com/open-policy-agent/opa v0.45.0 + github.com/open-policy-agent/opa v0.57.0 github.com/opencontainers/go-digest v1.0.0 github.com/opencontainers/image-spec v1.1.0-rc5 github.com/openvex/go-vex v0.2.5 @@ -138,7 +141,7 @@ require ( github.com/Microsoft/go-winio v0.6.1 // indirect github.com/Microsoft/hcsshim v0.11.1 // indirect github.com/OneOfOne/xxhash v1.2.8 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20230518184743-7afd39499903 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect github.com/VividCortex/ewma v1.2.0 // indirect github.com/acomagu/bufpipe v1.0.4 // indirect github.com/agext/levenshtein v1.2.3 // indirect @@ -148,6 +151,7 @@ require ( github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/aws/aws-sdk-go v1.46.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 // indirect @@ -156,45 +160,45 @@ require ( github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 // indirect - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.16.0 // indirect - github.com/aws/aws-sdk-go-v2/service/apigateway v1.15.24 // indirect - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.13.11 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.30.4 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.20.5 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.26.2 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.15.20 // indirect - github.com/aws/aws-sdk-go-v2/service/codebuild v1.19.17 // indirect - github.com/aws/aws-sdk-go-v2/service/docdb v1.19.11 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.7 // indirect + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.1 // indirect + github.com/aws/aws-sdk-go-v2/service/apigateway v1.18.0 // indirect + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.14.5 // indirect + github.com/aws/aws-sdk-go-v2/service/athena v1.31.6 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.28.5 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.29.1 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.27.7 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.23.5 // indirect + github.com/aws/aws-sdk-go-v2/service/codebuild v1.22.0 // indirect + github.com/aws/aws-sdk-go-v2/service/docdb v1.23.5 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.5 // indirect github.com/aws/aws-sdk-go-v2/service/ebs v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/efs v1.20.3 // indirect - github.com/aws/aws-sdk-go-v2/service/eks v1.27.14 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticache v1.26.8 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.19.11 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.19.0 // indirect - github.com/aws/aws-sdk-go-v2/service/emr v1.24.4 // indirect - github.com/aws/aws-sdk-go-v2/service/iam v1.21.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.30.1 // indirect + github.com/aws/aws-sdk-go-v2/service/efs v1.21.6 // indirect + github.com/aws/aws-sdk-go-v2/service/eks v1.29.5 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticache v1.29.3 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.21.3 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.20.6 // indirect + github.com/aws/aws-sdk-go-v2/service/emr v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/iam v1.22.5 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.23 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.35 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.24.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lambda v1.24.6 // indirect - github.com/aws/aws-sdk-go-v2/service/mq v1.15.0 // indirect - github.com/aws/aws-sdk-go-v2/service/neptune v1.20.7 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/service/redshift v1.27.7 // indirect - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sns v1.20.10 // indirect - github.com/aws/aws-sdk-go-v2/service/sqs v1.20.6 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.22.6 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.5 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.24.5 // indirect + github.com/aws/aws-sdk-go-v2/service/lambda v1.39.5 // indirect + github.com/aws/aws-sdk-go-v2/service/mq v1.16.5 // indirect + github.com/aws/aws-sdk-go-v2/service/neptune v1.21.5 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.54.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshift v1.29.5 // indirect + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.21.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.21.5 // indirect + github.com/aws/aws-sdk-go-v2/service/sqs v1.24.5 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.1 // indirect github.com/aws/smithy-go v1.16.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect @@ -230,14 +234,13 @@ require ( github.com/evanphx/json-patch v5.6.0+incompatible // indirect github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/ghodss/yaml v1.0.0 // indirect github.com/go-errors/errors v1.4.2 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.4.1 // indirect - github.com/go-gorp/gorp/v3 v3.0.5 // indirect + github.com/go-gorp/gorp/v3 v3.1.0 // indirect + github.com/go-ini/ini v1.67.0 // indirect github.com/go-logr/logr v1.2.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-openapi/analysis v0.21.4 // indirect github.com/go-openapi/errors v0.20.4 // indirect github.com/go-openapi/jsonpointer v0.19.6 // indirect @@ -270,7 +273,7 @@ require ( github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/hcl/v2 v2.17.0 // indirect + github.com/hashicorp/hcl/v2 v2.18.1 // indirect github.com/huandu/xstrings v1.4.0 // indirect github.com/imdario/mergo v0.3.15 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect @@ -286,10 +289,9 @@ require ( github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect github.com/liamg/iamgo v0.0.9 // indirect github.com/liamg/jfather v0.0.7 // indirect - github.com/liamg/memoryfs v1.4.3 // indirect + github.com/liamg/memoryfs v1.6.0 // indirect github.com/lib/pq v1.10.9 // indirect github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect - github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect @@ -321,14 +323,13 @@ require ( github.com/opencontainers/runtime-spec v1.1.0-rc.1 // indirect github.com/opencontainers/selinux v1.11.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect - github.com/owenrumney/squealer v1.1.1 // indirect + github.com/owenrumney/squealer v1.2.1 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect github.com/prometheus/client_golang v1.16.0 // indirect github.com/prometheus/client_model v0.4.0 // indirect github.com/prometheus/common v0.44.0 // indirect @@ -336,35 +337,32 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/rivo/uniseg v0.2.0 // indirect - github.com/rubenv/sql-migrate v1.3.1 // indirect + github.com/rubenv/sql-migrate v1.5.2 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sergi/go-diff v1.2.0 // indirect github.com/shibumi/go-pathspec v1.3.0 // indirect - github.com/shirou/gopsutil/v3 v3.23.9 // indirect - github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/shopspring/decimal v1.3.1 // indirect - github.com/skeema/knownhosts v1.1.1 // indirect + github.com/skeema/knownhosts v1.2.0 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/tchap/go-patricia/v2 v2.3.1 // indirect - github.com/tklauser/go-sysconf v0.3.12 // indirect - github.com/tklauser/numcpus v0.6.1 // indirect github.com/ulikunitz/xz v0.5.11 // indirect github.com/vbatts/tar-split v0.11.3 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect - github.com/yashtewari/glob-intersection v0.1.0 // indirect + github.com/yashtewari/glob-intersection v0.2.0 // indirect github.com/yuin/gopher-lua v1.1.0 // indirect - github.com/yusufpapurcu/wmi v1.2.3 // indirect github.com/zclconf/go-cty v1.13.0 // indirect github.com/zclconf/go-cty-yaml v1.0.3 // indirect go.mongodb.org/mongo-driver v1.11.3 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/otel v1.14.0 // indirect - go.opentelemetry.io/otel/trace v1.14.0 // indirect + go.opentelemetry.io/otel v1.16.0 // indirect + go.opentelemetry.io/otel/metric v1.16.0 // indirect + go.opentelemetry.io/otel/sdk v1.16.0 // indirect + go.opentelemetry.io/otel/trace v1.16.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.14.0 // indirect @@ -378,16 +376,16 @@ require ( google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect - google.golang.org/grpc v1.57.1 // indirect + google.golang.org/grpc v1.58.2 // indirect gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - helm.sh/helm/v3 v3.12.3 // indirect - k8s.io/apiextensions-apiserver v0.27.3 // indirect + helm.sh/helm/v3 v3.13.0 // indirect + k8s.io/apiextensions-apiserver v0.28.2 // indirect k8s.io/apimachinery v0.28.2 // indirect - k8s.io/apiserver v0.27.3 // indirect + k8s.io/apiserver v0.28.2 // indirect k8s.io/cli-runtime v0.28.2 // indirect k8s.io/client-go v0.28.2 // indirect k8s.io/component-base v0.28.2 // indirect @@ -414,3 +412,7 @@ require ( // oras 1.2.2 is incompatible with github.com/docker/docker v24.0.2 // cf. https://github.com/oras-project/oras-go/pull/527 replace oras.land/oras-go => oras.land/oras-go v1.2.4-0.20230801060855-932dd06d38af + +// testcontainers-go has a bug with versions v0.25.0 and v0.26.0 +// ref: https://github.com/testcontainers/testcontainers-go/issues/1782 +replace github.com/testcontainers/testcontainers-go => github.com/testcontainers/testcontainers-go v0.23.0 diff --git a/go.sum b/go.sum index b2ae55b48e3e..3ea367f33079 100644 --- a/go.sum +++ b/go.sum @@ -247,11 +247,9 @@ github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJ github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= -github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA= github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM= github.com/Masterminds/squirrel v1.5.4 h1:uUcX/aBc8O7Fg9kaISIUsHXdKuqehiXAMQTYX8afzqM= @@ -285,15 +283,14 @@ github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMo github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= -github.com/ProtonMail/go-crypto v0.0.0-20230518184743-7afd39499903 h1:ZK3C5DtzV2nVAQTx5S5jQvMeDqWtD1By5mOoyY/xJek= -github.com/ProtonMail/go-crypto v0.0.0-20230518184743-7afd39499903/go.mod h1:8TI4H3IbrackdNgv+92dI+rhpCaLqM0IfpgCgenFvRE= +github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 h1:KLq8BE0KwCL+mmXnjLWEAOYO+2l2AE4YMmqG1ZpZHBs= +github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= -github.com/a8m/expect v1.0.0/go.mod h1:4IwSCMumY49ScypDnjNbYEjgVeqy1/U2cEs3Lat96eA= github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= @@ -319,12 +316,14 @@ github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4t github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30xLN2sUZcMXl50hg+PJCIDdJgIvIbVcKqLJ/ZrtM= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8= -github.com/aquasecurity/defsec v0.93.1 h1:y4XgRknjs2M58XVLANBT1wulO7N6Rz1oyfwNuzID+h4= -github.com/aquasecurity/defsec v0.93.1/go.mod h1:i80K4WRNbcIWDOQDWnTHkutBwplzw/uZD4laKbhu4sE= -github.com/aquasecurity/go-dep-parser v0.0.0-20231030050624-4548cca9a5c9 h1:AYees+PQjw47SEdM6e/xxgrFzHA+UWxQl6WndDzILNY= -github.com/aquasecurity/go-dep-parser v0.0.0-20231030050624-4548cca9a5c9/go.mod h1:RpdbxLhxxvWmv83HWNEiv+reFkmnV+GqHqr66mIU8nU= +github.com/aquasecurity/defsec v0.93.2-0.20231024055158-015ab97ce898 h1:gu7XQvv2CswgzOdOFHg/AmtR4vBonG35XvGxHHvcIr4= +github.com/aquasecurity/defsec v0.93.2-0.20231024055158-015ab97ce898/go.mod h1:J30VViSgmoW2Ic/6aqVJO2qvuADsmZ3MYuNxPcU6Vt0= +github.com/aquasecurity/go-dep-parser v0.0.0-20231013060839-6f348921ea39 h1:5yB6PHCaU4yZzN1mMFnrpBerz2pgqYdDRRVSOj4EjVo= +github.com/aquasecurity/go-dep-parser v0.0.0-20231013060839-6f348921ea39/go.mod h1:RpdbxLhxxvWmv83HWNEiv+reFkmnV+GqHqr66mIU8nU= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce/go.mod h1:HXgVzOPvXhVGLJs4ZKO817idqr/xhwsTcj17CLYY74s= github.com/aquasecurity/go-mock-aws v0.0.0-20230810212901-d6feebd39060 h1:V7nC90NpRDEubNpNEgRDtTfLH3RKQlZeY9/HSqxEze8= @@ -343,10 +342,16 @@ github.com/aquasecurity/testdocker v0.0.0-20230111101738-e741bda259da h1:pj/adfN github.com/aquasecurity/testdocker v0.0.0-20230111101738-e741bda259da/go.mod h1:852lbQLpK2nCwlR4ZLYIccxYCfoQao6q9Nl6tjz54v8= github.com/aquasecurity/tml v0.6.1 h1:y2ZlGSfrhnn7t4ZJ/0rotuH+v5Jgv6BDDO5jB6A9gwo= github.com/aquasecurity/tml v0.6.1/go.mod h1:OnYMWY5lvI9ejU7yH9LCberWaaTBW7hBFsITiIMY2yY= +github.com/aquasecurity/trivy-aws v0.4.0 h1:vrpL9Gx3+33D8TvRCDFJxEIHR3AA+TcnTr0rzRI62OI= +github.com/aquasecurity/trivy-aws v0.4.0/go.mod h1:dPx0xRElmFrVXBxeYqEAl5NejJ2kHb51ybFPzBMxWow= github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d h1:fjI9mkoTUAkbGqpzt9nJsO24RAdfG+ZSiLFj0G2jO8c= github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d/go.mod h1:cj9/QmD9N3OZnKQMp+/DvdV+ym3HyIkd4e+F0ZM3ZGs= +github.com/aquasecurity/trivy-iac v0.5.2 h1:cqeSDEfQtM3l4ceiQ+IUD2K/ZBhyz443xe+S2TkBdE0= +github.com/aquasecurity/trivy-iac v0.5.2/go.mod h1:dHoaIzm4niotuaEiSM40HelhcL8m/2MHzT3uHcQYUh8= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 h1:0eS+V7SXHgqoT99tV1mtMW6HL4HdoB9qGLMCb1fZp8A= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728/go.mod h1:Ldya37FLi0e/5Cjq2T5Bty7cFkzUDwTcPeQua+2M8i8= +github.com/aquasecurity/trivy-policies v0.4.0 h1:20dEiWkiTrFXAiPLVshfJ/x1i9LvDDsBJ/CAb4fNEBI= +github.com/aquasecurity/trivy-policies v0.4.0/go.mod h1:Wqj81EIp4lDQGVzbPalKLNucR7c96YLQbfdA60KpEkQ= github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a h1:x1Z+k7snLeDjTLnvTd4UPNo0HPMP6SNWxZTVU5smuA0= github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a/go.mod h1:e3iMAeJ1V/iPsNcRBVd9aDqj1YAXeURzv3qLurbloUk= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= @@ -355,7 +360,6 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= @@ -365,19 +369,13 @@ github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZo github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.46.1 h1:U26quvBWFZMQuultLw5tloW4GnmWaChEwMZNq8uYatw= github.com/aws/aws-sdk-go v1.46.1/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= -github.com/aws/aws-sdk-go-v2 v1.16.16/go.mod h1:SwiyXi/1zTUZ6KIAmLK5V5ll8SiURNUYOqTerZPaF9k= -github.com/aws/aws-sdk-go-v2 v1.17.1/go.mod h1:JLnGeGONAyi2lWXI1p0PCIOIy333JMVK1U7Hf0aRFLw= -github.com/aws/aws-sdk-go-v2 v1.17.5/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.17.7/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.17.8/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.18.1/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= -github.com/aws/aws-sdk-go-v2 v1.19.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.20.0/go.mod h1:uWOr0m0jDsiWw8nnXiqZ+YG6LdvAlGYDLLf2NmHZoy4= +github.com/aws/aws-sdk-go-v2 v1.21.0/go.mod h1:/RfNgGmRxI+iFOB1OeJUyxiU+9s88k3pfHvDagGEp0M= +github.com/aws/aws-sdk-go-v2 v1.21.1/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= github.com/aws/aws-sdk-go-v2 v1.22.1 h1:sjnni/AuoTXxHitsIdT0FwmqUuNUuHtufcVDErVFT9U= github.com/aws/aws-sdk-go-v2 v1.22.1/go.mod h1:Kd0OJtkW3Q0M0lUWGszapWjEvrXDzRW+D21JNsroB+c= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.8/go.mod h1:JTnlBSot91steJeti4ryyu/tLd4Sk84O5W22L7O2EQU= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.13/go.mod h1:gpAbvyDGQFozTEmlTFO8XcQKHzubdq0LzRyJpG6MiXM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14 h1:Sc82v7tDQ/vdU1WtuSyzZ1I7y/68j//HJ6uozND1IDs= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.14/go.mod h1:9NCTOURS8OpxvoAVHq79LK81/zC78hfRWFn+aL0SPcY= github.com/aws/aws-sdk-go-v2/config v1.18.45 h1:Aka9bI7n8ysuwPeFdm77nfbyHCAKQ3z9ghB3S/38zes= @@ -388,27 +386,15 @@ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13 h1:PIktER+hwIG286DqXyvVEN github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13/go.mod h1:f/Ib/qYjhV2/qdsf79H3QP/eRE4AkVyEf6sk7XfZ1tg= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.90 h1:mtJRt80k1oGw7QQPluAx8AZ6u16MyCA2di/lMhagZ7I= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.90/go.mod h1:lYwZTkeMQWPvNU+u7oYArdNhQ8EKiSGU76jVv0w2GH4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.23/go.mod h1:2DFxAQ9pfIRy0imBCJv+vZ2X6RKxves6fbnEuSry6b4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25/go.mod h1:Zb29PYkf42vVYQY6pvSyJCJcFHlPIiY+YKdPtwnvMkY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.29/go.mod h1:Dip3sIGv485+xerzVv24emnjX5Sg88utCL8fwGmCeWg= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31/go.mod h1:QT0BqUvX1Bh2ABdTGnjqEjvjzrCfIniM9Sc8zn9Yndo= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.32/go.mod h1:RudqOgadTWdcS3t/erPQo24pcVEoYyqj/kKW5Vya21I= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2eUPFcjkVIwq+DOygHEoK92t5cDqNgYbIw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34/go.mod h1:wZpTEecJe0Btj3IYnDx/VlUzor9wm3fJHyvLpQF0VwY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35/go.mod h1:ipR5PvpSPqIqL5Mi82BxLnfMkHVbmco8kUwO2xrCi0M= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.37/go.mod h1:Pdn4j43v49Kk6+82spO3Tu5gSeQXRsxo56ePPQAvFiA= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.41/go.mod h1:CrObHAuPneJBlfEJ5T3szXOUkLEThaGfvnhTf33buas= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.42/go.mod h1:oDfgXoBBmj+kXnqxDDnIDnC56QBosglKp8ftRCTxR+0= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ= github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1 h1:fi1ga6WysOyYb5PAf3Exd6B5GiSNpnZim4h1rhlBqx0= github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1/go.mod h1:V5CY8wNurvPUibTi9mwqUqpiFZ5LnioKWIFUDtIzdI8= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.17/go.mod h1:pRwaTYCJemADaqCbUAxltMoHKata7hmB5PjEXeu0kfg= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.23/go.mod h1:mr6c4cHC+S/MMkrjtSlG4QA36kOznDep+0fga5L/fGQ= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.25/go.mod h1:zBHOPwhBc3FlQjQJE/D3IfPWiWaQmT06Vq9aNukDo0k= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.26/go.mod h1:vq86l7956VgFr0/FWQ2BWnK07QC3WYsepKzy33qqY5U= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0pBZ6QBAEQcqFLf8FAzLmoUfPVIueOvoM= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28/go.mod h1:7VRpKQQedkfIEXb4k52I7swUnZP0wohVajJMRn3vsUw= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29/go.mod h1:M/eUABlDbw2uVrdAn+UsI6M727qp2fxkp8K0ejcBDUY= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.31/go.mod h1:fTJDMe8LOFYtqiFFFeHA+SVMAwqLhoq0kcInYoLa9Js= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.35/go.mod h1:SJC1nEVVva1g3pHAIdCp7QsRIkMmLAgoDquQ9Rr8kYw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.36/go.mod h1:rwr4WnmFi3RJO0M4dxbJtgi9BPLMpVBMX1nUte5ha9U= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1 h1:ZpaV/j48RlPc4AmOZuPv22pJliXjXq8/reL63YzyFnw= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1/go.mod h1:R8aXraabD2e3qv1csxM14/X9WF4wFMIY0kH4YEtYD5M= @@ -416,90 +402,87 @@ github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45 h1:hze8YsjSh8Wl1rYa1CJpRmXP21B github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE= github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6 h1:wmGLw2i8ZTlHLw7a9ULGfQbuccw8uIiNr6sol5bFzc8= github.com/aws/aws-sdk-go-v2/internal/v4a v1.1.6/go.mod h1:Q0Hq2X/NuL7z8b1Dww8rmOFl+jzusKEcyvkKspwdpyc= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.16.0 h1:rPv8ZiaTIwLp4JOCQAQcgPx7i2a7FTRY7lnyrNS0HbU= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.16.0/go.mod h1:l5+hat25VFsG9jpsXrtEYqw6Ih3pLaC5I4+8hrng7F4= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.15.24 h1:eWwaF3m67oAJGBhfzVC9dLXPYhLHB238N1LhgFa8INk= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.15.24/go.mod h1:3olVANhEv+CFhEvC/TTkqh+1kg+r0px3CbH5eRKx7J4= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.13.11 h1:1L2042GftNVyI3TtWclGodfN5zBQjBNXsTQxDNaPXs8= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.13.11/go.mod h1:Cs+mG0DXkVYPWsWIE8Ga78C/HeN5zFBbPHdOnJPwZ4M= -github.com/aws/aws-sdk-go-v2/service/athena v1.30.4 h1:x6pNnhCWXrkGX43gkJkcdCtlYSFx3tzqJKnm2QBqz6k= -github.com/aws/aws-sdk-go-v2/service/athena v1.30.4/go.mod h1:XyrQmcmWx6BNhu1K5la/Zub8gX29MqiIMQ9silULHjk= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.20.5 h1:nLAPA7/DSmDWYP/MGtRNP6bHjiL8Fmyg8qeDxW90nm0= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.20.5/go.mod h1:HYQXu2AKM7RLCn3APoQ5EvL2N/RlI4LSNN8pIGbdaDQ= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.27.1 h1:Qw1G/M7eanpm6s/URkG1UuRLKEnRnpUvkUb7NMVvWb8= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.27.1/go.mod h1:oKRYqorIUkfAVmX03+lpv3tW5WelDpaliqzTwmCj/k8= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.26.2 h1:PWGu2JhCb/XJlJ7SSFJq76pxk4xWsN76nZxh7TzMHx0= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.26.2/go.mod h1:2KOZkkzMDZCo/aLzPhys06mHNkiU74u85aMJA3PLRvg= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.15.20 h1:yPyXdrZaB4SW+pn2CmqyAbhuqGM4Pv4fsMhLOt8cOj8= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.15.20/go.mod h1:p2i2jyYZzFBJeOOQ5ji2k/Yc6IvlQsG/CuHRwEi8whs= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.19.17 h1:Phl0QyhBW8mzNpQxin1Dyp+rXBultaQqkGEsmDCWYGQ= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.19.17/go.mod h1:jwvgRGwqsF5vN4xQo2WcRaQLUJTP0RjV8laURrBaLxk= -github.com/aws/aws-sdk-go-v2/service/docdb v1.19.11 h1:+jNOF3BdrSwCHWHU+lXYR78DCItCwSn4T90CCGKjQx4= -github.com/aws/aws-sdk-go-v2/service/docdb v1.19.11/go.mod h1:p2/C5LVvGstUjTb0z0qQNDf356iVEDrAMOvFJAkJQbA= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.7 h1:/TwGWNd3vnjXaPMau8eY7s5j6Afe4WxnRfIB64r4jEk= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.7/go.mod h1:BiglbKCG56L8tmMnUEyEQo422BO9xnNR8vVHnOsByf8= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.1 h1:3fWAJsw4dLG4eYKHL9lygUWbE0lD+/gkqQC1zmmdAig= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.21.1/go.mod h1:thg9BfQH96QsZg9BMe30WS2av72ZAo7/lTfvUJqjK4s= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.18.0 h1:rByriM7T0xvKy7eDiNUhFyVgnGupZ7DIifReKDzfk5E= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.18.0/go.mod h1:OJmEdRP/gDTqY71Cc/eJ/anpvvGHNgf62FyNuah3X48= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.14.5 h1:pLmOgMUiwXOi3oKx2J3feVb9JGVgwJ78RYnOV9UR0BM= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.14.5/go.mod h1:4eIs6K6ag6ymoUMOFfjm9dmP9KbuKgC7K5eIqlIBsbY= +github.com/aws/aws-sdk-go-v2/service/athena v1.31.6 h1:EFaTu1rBt+KQglDeYRpP1PHot/6xlYzvouxm2aRmrG8= +github.com/aws/aws-sdk-go-v2/service/athena v1.31.6/go.mod h1:DHafyhR8x70ANJZ2RkJx8oeJsfEBqaGwZ591vlihVFQ= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.28.5 h1:Skw91L/Y1HkdYhCbdM0eiWOjrHKnpB/VNBHpg8e/8qo= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.28.5/go.mod h1:s+OI3YtisOCVORf07RWL2xjwrWgeYwvScNp7ZA2YGwI= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.29.1 h1:+aOn02ynxbYNcKynX+WrSCfeV9tHA/fNcEiTuGrUw9c= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.29.1/go.mod h1:0+M+TMNyLPNzvLwJz1Y+RSZO2VTvcSivlHf6hwYJj68= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.27.7 h1:qULF+ElcvjjSEO1+z5x+TmKE9d4yTej7PfpJQPVvexY= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.27.7/go.mod h1:1HKxVrj5wsKy/wb2v07vzTSd+YPV1sDsWxferwPK7PA= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.23.5 h1:/rXnxd9VGnTc5fLuSFKkWCy+kDP6CxXAIMvfJQEfx8U= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.23.5/go.mod h1:5v2ZNXCSwG73rx0k3sCuB1Ju8sbEbG0iUlxCA7D8sV8= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.22.0 h1:S/R9Wt8ICyPFV9B3f2DhcBPPSr1gIbFd4iR6E/kkyos= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.22.0/go.mod h1:a0ghZ8nA7qvVSQ69JRKUxIMqVFgXp7pEF8sGYx1ibO0= +github.com/aws/aws-sdk-go-v2/service/docdb v1.23.5 h1:UcFHE3wNm7hOsVolGFJyKGNiv+vzk4DiP3kgmG/2V7k= +github.com/aws/aws-sdk-go-v2/service/docdb v1.23.5/go.mod h1:2koFrNxz/jYwXiaAVw37p37KveilCeL+jKoeoecCMjk= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.5 h1:EeNQ3bDA6hlx3vifHf7LT/l9dh9w7D2XgCdaD11TRU4= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.21.5/go.mod h1:X3ThW5RPV19hi7bnQ0RMAiBjZbzxj4rZlj+qdctbMWY= github.com/aws/aws-sdk-go-v2/service/ebs v1.18.1 h1:iUgGXA8fg41B4Of0F+BS766SRQ7c8rr5jtka8RgaocQ= github.com/aws/aws-sdk-go-v2/service/ebs v1.18.1/go.mod h1:9n0SC5yHomD8IjsR37+/txpdfNdpGSgV1RzmsTHrbWg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0 h1:WblDV33AG9dhv0zFEPEmGtD5UECSNpKMxtdENULfR8M= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.98.0/go.mod h1:L3ZT0N/vBsw77mOAawXmRnREpEjcHd2v5Hzf7AkIH8M= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.116.0 h1:knbx9D59itE07Ihbx+1Po8jPDfo2M/8vDQn/4oUtTxk= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.116.0/go.mod h1:0FhI2Rzcv5BNM3dNnbcCx2qa2naFZoAidJi11cQgzL0= github.com/aws/aws-sdk-go-v2/service/ecr v1.21.0 h1:S0uAQWwpl6Di64Z+6zDfXnyiO4o7ZmLByNdPfIP9iHY= github.com/aws/aws-sdk-go-v2/service/ecr v1.21.0/go.mod h1:q94FTlrkHQjYo/2aOYimhPXhwrkZsjreFYPn6Cdh0/4= -github.com/aws/aws-sdk-go-v2/service/ecs v1.28.1 h1:PxWgrtfQvct60NjxSrFsSWG/Yg1HATRKP4IeUPiLlrE= -github.com/aws/aws-sdk-go-v2/service/ecs v1.28.1/go.mod h1:eZBCsRjzc+ZX8x3h0beHOu+uxRWRwnEHzzvDgKy9v0E= -github.com/aws/aws-sdk-go-v2/service/efs v1.20.3 h1:+rQHxWkGK5GyanoetOyOG/U0sgXjlt3vw+jufY7wp4k= -github.com/aws/aws-sdk-go-v2/service/efs v1.20.3/go.mod h1:UpiMmYILiWWe5wfcz6dJded9/K1XVmcOD3LB1ZCLVdw= -github.com/aws/aws-sdk-go-v2/service/eks v1.27.14 h1:47HQVuJXgwvuoc4AT3rVdm77H0qGFbFnsuE4PRT+xX0= -github.com/aws/aws-sdk-go-v2/service/eks v1.27.14/go.mod h1:QxuWcm9rlLkW3aEV8tiDzqZewnNSNUZfnqJvo1Nv9A0= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.26.8 h1:QBi/EzjmsZAm2qWCftCDHQ5DW1iDd4IwLDvXA6ikj8E= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.26.8/go.mod h1:HPSFSw7eCcEJFRaNZxnlMxOOctdrSNttq5JR/Q9yusU= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.19.11 h1:IN2XMTLmhIEL5e3o+tY9JsLFSAxmjgM8gI7W2+CPrpw= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.19.11/go.mod h1:oPHYtcocUcfHOE7qygtvyZMw82nedCKZSop/R9jxlAM= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.19.0 h1:XE/MewOiHgWR8XsW7VJtlXYQUF0n8n4pgXqmShhzROM= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.19.0/go.mod h1:2GKcrxIvmAf07PsxbJ7tccJDXzVj0oHT/MuBQ9835X8= -github.com/aws/aws-sdk-go-v2/service/emr v1.24.4 h1:C6I3p2ENt01I5iO5oEXyfzSk1VIEKADXSMgNdiW1Tw8= -github.com/aws/aws-sdk-go-v2/service/emr v1.24.4/go.mod h1:hvWrBVsomnNf7Y0Onrl+wGAkcOAH81Ybcy8FSQrvARM= -github.com/aws/aws-sdk-go-v2/service/iam v1.21.1 h1:VTCWgsrromZqnlRgfziqqWWcW7LFkQLwJVYgf/5zgWA= -github.com/aws/aws-sdk-go-v2/service/iam v1.21.1/go.mod h1:LBsjrFczXiQLASO6FtDGTeHuZh6oHuIH6VKaOozFghg= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.10/go.mod h1:9cBNUHI2aW4ho0A5T87O294iPDuuUOSIEDjnd1Lq/z0= +github.com/aws/aws-sdk-go-v2/service/ecs v1.30.1 h1:bOS7hAfvd8+glVAG88WnvRITe5N1vopGFHh10ORe/BI= +github.com/aws/aws-sdk-go-v2/service/ecs v1.30.1/go.mod h1:cxbA26Kf4UlTb40f5FON22ZPNMyEVmMS82KUJZC1E1w= +github.com/aws/aws-sdk-go-v2/service/efs v1.21.6 h1:Hk/hIxTQ2OcLqG/rThJSwawnXwNftGUyYMNq3Dmrl0E= +github.com/aws/aws-sdk-go-v2/service/efs v1.21.6/go.mod h1:cws4IYv3vkLS4pZzStRQH6AcBISp5JlI+dgBA/seDbA= +github.com/aws/aws-sdk-go-v2/service/eks v1.29.5 h1:6eSpTHOsDixcFIvPdiAAVdyCru3k2jIVRPdIQfGzfc8= +github.com/aws/aws-sdk-go-v2/service/eks v1.29.5/go.mod h1:TwqefcyPlF31NTF+fH34tJ2VwMMR6c74IbiiUgA6kVY= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.29.3 h1:VT1Yq9MPp/sQhrfeHkC0SQf8mKGrb0epAYTExGipChg= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.29.3/go.mod h1:WTAOgZesN8YgaTo0aNJPB4ufoN/QpxAHeC2HRxKay+M= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.21.3 h1:CAWMcMnRYCBaeMnycTwZs+0BcuepIMfyP3F0r1VfgPc= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.21.3/go.mod h1:CbJHS0jJJNd2dZOakkG5TBbT8OHz+T0UBzR1ClIdezI= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.20.6 h1:5n5h2hr9zdB9RdbO0vaWKur97g7153I1/RmrwZC9IcA= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.20.6/go.mod h1:L9XcF8QdOpGUDPccs9VZPlNhrpfPEKFDl/vb3C+iZbs= +github.com/aws/aws-sdk-go-v2/service/emr v1.28.7 h1:rwQcpb3VcILVKL2G/ZAbfgSa0+dD3zw8zmSdrI2vbc0= +github.com/aws/aws-sdk-go-v2/service/emr v1.28.7/go.mod h1:NjDlvuvjuHi3uh3r4mXnSvn0UHQACj7i5y8zwIyHs6w= +github.com/aws/aws-sdk-go-v2/service/iam v1.22.5 h1:qGv+oW4uV1T3kbE9uSYEfdZbo38OqxgRxxfStfDr4BU= +github.com/aws/aws-sdk-go-v2/service/iam v1.22.5/go.mod h1:8lyPrjQczmx72ac9s82zTjf9xLqs7uuFMG9TVEZ07XU= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.14/go.mod h1:dDilntgHy9WnHXsh7dDtUPgHKEfTJIBUTHM8OWm0f/0= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15 h1:7R8uRYyXzdD71KWVCL78lJZltah6VVznXBazvKjfH58= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.15/go.mod h1:26SQUPcTNgV1Tapwdt4a1rOsYRsnBsJHLMPoxK2b0d8= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38 h1:skaFGzv+3kA+v2BPKhuekeb1Hbb105+44r8ASC+q5SE= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.38/go.mod h1:epIZoRSSbRIwLPJU5F+OldHhwZPBdpDeQkRdCeY3+00= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.19/go.mod h1:2WpVWFC5n4DYhjNXzObtge8xfgId9UP6GWca46KJFLo= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.23 h1:5AwQnYQT3ZX/N7hPTAx4ClWyucaiqr2esQRMNbJIby0= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.23/go.mod h1:s8OUYECPoPpevQHmRmMBemFIx6Oc91iapsw56KiXIMY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.17/go.mod h1:4nYOrY41Lrbk2170/BGkcJKBhws9Pfn8MG3aGqjjeFI= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27/go.mod h1:EOwBD4J4S5qYszS5/3DpkejfuK+Z5/1uzICfPaZLtqw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28/go.mod h1:jj7znCIg05jXlaGBlFMGP8+7UN3VtCkRBG2spnmRQkU= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.35 h1:UKjpIDLVF90RfV88XurdduMoTxPqtGHZMIDYZQM7RO4= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.35/go.mod h1:B3dUg0V6eJesUTi+m27NUkj7n8hdDKYUpxj8f4+TqaQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.35/go.mod h1:QGF2Rs33W5MaN9gYdEQOBBFPLwTZkEhRwI33f7KIG0o= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37/go.mod h1:vBmDnwWXWxNPFRMmG2m/3MKOe+xEcMDo1tanpaWCcck= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1 h1:2OXw3ppu1XsB6rqKEMV4tnecTjIY3PRV2U6IP6KPJQo= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1/go.mod h1:FZB4AdakIqW/yERVdGJA6Z9jraax1beXfhBBnK2wwR8= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 h1:9ulSU5ClouoPIYhDQdg9tpl83d5Yb91PXTKK+17q+ow= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6/go.mod h1:lnc2taBsR9nTlz9meD+lhFZZ9EWY712QHrRflWpTcOA= -github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4 h1:EmEk3gRJzSEK8DUnkvTGDn/RQc/Ud+yimUFIG+PSvTI= -github.com/aws/aws-sdk-go-v2/service/kafka v1.19.4/go.mod h1:+O9qi0UC83Lk0KAnC/ixNcw4piXfUtPzXpYn/KC2Mhg= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19 h1:qVaBkJxFxm6o/9DPNnJU6L9O3V7ycEKhCvRm2BFBQTU= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19/go.mod h1:9rLNg+J9SEe7rhge/YzKU3QTovlLqOmqH8akb0IB1ko= -github.com/aws/aws-sdk-go-v2/service/kms v1.24.1 h1:zDmx9yZjSYDaeakQVN16qfsLxhBeAxgclioB0+rOCDM= -github.com/aws/aws-sdk-go-v2/service/kms v1.24.1/go.mod h1:yrlimpsAJc9fXj3jHC7Ig2Zb4iMAoSJ/VVzChf22dZk= -github.com/aws/aws-sdk-go-v2/service/lambda v1.24.6 h1:N7RkXX2SJbN+TCp295J3LdMR0KRFd2Bhi5nIO+svLQY= -github.com/aws/aws-sdk-go-v2/service/lambda v1.24.6/go.mod h1:oTJIIluTaJCRT6xP1AZpuU3JwRHBC0Q5O4Hg+SUxFHw= -github.com/aws/aws-sdk-go-v2/service/mq v1.15.0 h1:Z1q5y9q4feZb/h2H4D+MHqGflTEeyZH6MarBG6o00ng= -github.com/aws/aws-sdk-go-v2/service/mq v1.15.0/go.mod h1:CT2bVyhH6LN35rLvJ98OxFtjMruG1zCtn5rDi9rZs9M= -github.com/aws/aws-sdk-go-v2/service/neptune v1.20.7 h1:cZ5WMVZeKBJZDNliJiEXjU3A+5sqCkXm8UE7ZsZGZN8= -github.com/aws/aws-sdk-go-v2/service/neptune v1.20.7/go.mod h1:N1cuDqSpLRxxf3RUIKUvG7MFORReZmLFyskIXMeUCLY= -github.com/aws/aws-sdk-go-v2/service/rds v1.26.1 h1:tiXsw36GaRUWMcH5uRM2uM7vo+bNsa1mEOn68ZOBjWA= -github.com/aws/aws-sdk-go-v2/service/rds v1.26.1/go.mod h1:d8jJiNpy2cyl52sw5msQQ12ajEbPAK+twYPR7J35slw= -github.com/aws/aws-sdk-go-v2/service/redshift v1.27.7 h1:fKg773iDMTGUxd8UNkEfwYGNjT6H6KFSmqV97Yte+jc= -github.com/aws/aws-sdk-go-v2/service/redshift v1.27.7/go.mod h1:jLAH4E3fjUxkBhu7vcx7eCSurnq7q1qMyAB1VZvvbAk= +github.com/aws/aws-sdk-go-v2/service/kafka v1.22.6 h1:DyJVI9uQB+mO4IuKEE4AloqOvo9XFg7olhZkwWZJ7wc= +github.com/aws/aws-sdk-go-v2/service/kafka v1.22.6/go.mod h1:uXijjFwDzFVyGUwtXqqEPV/SxxLPrh0LqJxe64Csr7E= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.5 h1:naSZmQiFjoTLxNjfDy/KgEnWdG3odkR6gIEgTx21YOM= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.18.5/go.mod h1:0h3hOcyFXyjvI3wGt8C8vk2+II9XxHwFM7zH2KvLHmA= +github.com/aws/aws-sdk-go-v2/service/kms v1.24.5 h1:VNEw+EdYDUdkICYAVQ6n9WoAq8ZuZr7dXKjyaOw94/Q= +github.com/aws/aws-sdk-go-v2/service/kms v1.24.5/go.mod h1:NZEhPgq+vvmM6L9w+xl78Vf7YxqUcpVULqFdrUhHg8I= +github.com/aws/aws-sdk-go-v2/service/lambda v1.39.5 h1:uMvxJFS92hNW6BRX0Ou+5zb9DskgrJQHZ+5yT8FXK5Y= +github.com/aws/aws-sdk-go-v2/service/lambda v1.39.5/go.mod h1:ByLHcf0zbHpyLTOy1iPVRPJWmAUPCiJv5k81dt52ID8= +github.com/aws/aws-sdk-go-v2/service/mq v1.16.5 h1:xlziZnBjo10pGC+Uol5j8JNSzQksYOgHzAmF5sKnE/s= +github.com/aws/aws-sdk-go-v2/service/mq v1.16.5/go.mod h1:kxETQ9R0dWsvWyL+5Vp/pNsEYejv76B+RvHr3S0jjhI= +github.com/aws/aws-sdk-go-v2/service/neptune v1.21.5 h1:qPTVGmBtdPGmXVZ914ZthB2UmIBw9UGMOw6OaSuv8QE= +github.com/aws/aws-sdk-go-v2/service/neptune v1.21.5/go.mod h1:uH/l4gGqbqoS1FQ/gmkt5TNM3LAeu+H20/tcuhU6j80= +github.com/aws/aws-sdk-go-v2/service/rds v1.54.0 h1:FmExQnV6PXPAwP2DT3nXlWyKtCJ30gCEQIu4MUOuESo= +github.com/aws/aws-sdk-go-v2/service/rds v1.54.0/go.mod h1:UNv1vk1fU1NJefzteykVpVLA88w4WxB05g3vp2kQhYM= +github.com/aws/aws-sdk-go-v2/service/redshift v1.29.5 h1:ufl4QI+6Vuxg6E8UOFVy+CeCtXS+gBMb00oTh2qSPco= +github.com/aws/aws-sdk-go-v2/service/redshift v1.29.5/go.mod h1:U8V+thdAH44/2weiprIA0JyDWa2XBov58TtdjCTTpc8= github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 h1:Ll5/YVCOzRB+gxPqs2uD0R7/MyATC0w85626glSKmp4= github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2/go.mod h1:Zjfqt7KhQK+PO1bbOsFNzKgaq7TcxzmEoDWN8lM0qzQ= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.2 h1:3x1Qilin49XQ1rK6pDNAfG+DmCFPfB7Rrpl+FUDAR/0= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.16.2/go.mod h1:HEBBc70BYi5eUvxBqC3xXjU/04NO96X/XNUe5qhC7Bc= -github.com/aws/aws-sdk-go-v2/service/sns v1.20.10 h1:pJ/iXyg9aD5Hg2FRHQjrWPDyabsP6R3aqxaXqscAVKk= -github.com/aws/aws-sdk-go-v2/service/sns v1.20.10/go.mod h1:WjBcrd28zNbbuAcIRO/n89sSeOxTuOZPiuxNXU/2WrI= -github.com/aws/aws-sdk-go-v2/service/sqs v1.20.6 h1:4P/vyx7zCI5yBhlDZ2kwhoLjMJi0X7iR3cxqjNfbego= -github.com/aws/aws-sdk-go-v2/service/sqs v1.20.6/go.mod h1:HQHh1eChX10zDnGmD53WLYk8nPhUKO/JkAUUzDZ530Y= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.21.3 h1:H6ZipEknzu7RkJW3w2PP75zd8XOdR35AEY5D57YrJtA= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.21.3/go.mod h1:5W2cYXDPabUmwULErlC92ffLhtTuyv4ai+5HhdbhfNo= +github.com/aws/aws-sdk-go-v2/service/sns v1.21.5 h1:KI6xffjUcP3KgpJEtKefQL8B7AXFqyAXkVw8SyvT/o8= +github.com/aws/aws-sdk-go-v2/service/sns v1.21.5/go.mod h1:eEjNDG7Y1BH7Ci9qKVH2L02se84z5GPCqXKcqEUpnXg= +github.com/aws/aws-sdk-go-v2/service/sqs v1.24.5 h1:RyDpTOMEJO6ycxw1vU/6s0KLFaH3M0z/z9gXHSndPTk= +github.com/aws/aws-sdk-go-v2/service/sqs v1.24.5/go.mod h1:RZBu4jmYz3Nikzpu/VuVvRnTEJ5a+kf36WT2fcl5Q+Q= github.com/aws/aws-sdk-go-v2/service/sso v1.15.2 h1:JuPGc7IkOP4AaqcZSIcyqLpFSqBWK32rM9+a1g6u73k= github.com/aws/aws-sdk-go-v2/service/sso v1.15.2/go.mod h1:gsL4keucRCgW+xA85ALBpRFfdSLH4kHOVSnLMSuBECo= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3 h1:HFiiRkf1SdaAmV3/BHOFZ9DjFynPHj8G/UIO1lQS+fk= @@ -507,12 +490,10 @@ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3/go.mod h1:a7bHA82fyUXOm+ZSW github.com/aws/aws-sdk-go-v2/service/sts v1.23.2/go.mod h1:Eows6e1uQEsc4ZaHANmsPRzAKcVDrcmjjWiih2+HUUQ= github.com/aws/aws-sdk-go-v2/service/sts v1.25.0 h1:sYIFy8tm1xQwRvVQ4CRuBGXKIg9sHNuG6+3UAQuoujk= github.com/aws/aws-sdk-go-v2/service/sts v1.25.0/go.mod h1:S/LOQUeYDfJeJpFCIJDMjy7dwL4aA33HUdVi+i7uH8k= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0 h1:lrgZ9pZm9utPOPAXmQhqtf8oWRRksoSFxOE8RoD+pHc= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.23.0/go.mod h1:vPam8+zGthTXeaFWgl3Uqbzo/0QEoXF22jpuMZ97hSk= -github.com/aws/smithy-go v1.13.3/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= -github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.1 h1:+gN/oR6jT53ggl+jd/7wO4A7u9r1GLCpMiRiatD79WQ= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.31.1/go.mod h1:56TIMTOeThR8Ep+O82yxpTuGzCOzZuo3XmsJXxukgUo= github.com/aws/smithy-go v1.14.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.14.2/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.16.0 h1:gJZEH/Fqh+RsvlJ1Zt4tVAtV6bKkp3cC+R6FCZMNzik= github.com/aws/smithy-go v1.16.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE= @@ -543,8 +524,8 @@ github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembj github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/bytecodealliance/wasmtime-go v1.0.0 h1:9u9gqaUiaJeN5IoD1L7egD8atOnTGyJcNp8BhkL9cUU= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/bytecodealliance/wasmtime-go/v3 v3.0.2 h1:3uZCA/BLTIu+DqCfguByNMJa2HVHpXvjfy0Dy7g6fuA= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= @@ -571,7 +552,6 @@ github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -720,10 +700,9 @@ github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjI github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= -github.com/dgraph-io/badger/v3 v3.2103.2 h1:dpyM5eCJAtQCBcMCZcT4UBZchuTJgCywerHHgmxfxM8= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= +github.com/dgraph-io/badger/v3 v3.2103.5 h1:ylPa6qzbjYRQMU6jokoj4wzcaweHylt//CH0AKt0akg= +github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= @@ -796,7 +775,6 @@ github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwC github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= @@ -804,7 +782,6 @@ github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoD github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/foxcpp/go-mockdns v1.0.0 h1:7jBqxd3WDWwi/6WhDvacvH1XsN3rOLXyHM1uhvIx6FI= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= @@ -813,7 +790,6 @@ github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbS github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/glebarez/go-sqlite v1.20.3 h1:89BkqGOXR9oRmG58ZrzgoY/Fhy5x0M+/WV48U5zVrZ4= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= @@ -824,19 +800,20 @@ github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmS github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4= github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20230305113008-0c11038e723f h1:Pz0DHeFij3XFhoBRGUDPzSJ+w2UcK5/0JvF8DRI58r8= -github.com/go-git/go-git/v5 v5.7.0 h1:t9AudWVLmqzlo+4bqdf7GY+46SUuRsx59SboFxkq2aE= -github.com/go-git/go-git/v5 v5.7.0/go.mod h1:coJHKEOk5kUClpsNlXrUvPrDxY3w3gjHvhcZd8Fodw8= +github.com/go-git/go-git/v5 v5.8.1 h1:Zo79E4p7TRk0xoRgMq0RShiTHGKcKI4+DI6BfJc/Q+A= +github.com/go-git/go-git/v5 v5.8.1/go.mod h1:FHFuoD6yGz5OSKEBK+aWN9Oah0q54Jxl0abmj6GnqAo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gorp/gorp/v3 v3.0.5 h1:PUjzYdYu3HBOh8LE+UUmRG2P0IRDak9XMeGNvaeq4Ow= -github.com/go-gorp/gorp/v3 v3.0.5/go.mod h1:dLEjIyyRNiXvNZ8PSmzpt1GsWAUK8kjVhEpjH8TixEw= +github.com/go-gorp/gorp/v3 v3.1.0 h1:ItKF/Vbuj31dmV4jxA1qblpSwkl9g1typ24xoe70IGs= +github.com/go-gorp/gorp/v3 v3.1.0/go.mod h1:dLEjIyyRNiXvNZ8PSmzpt1GsWAUK8kjVhEpjH8TixEw= github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= +github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -845,8 +822,6 @@ github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc= github.com/go-openapi/analysis v0.21.4/go.mod h1:4zQ35W4neeZTqh3ol0rv/O8JBbka9QyAgQRPp9y3pfo= @@ -919,17 +894,14 @@ github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSC github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= github.com/gobuffalo/logger v1.0.6 h1:nnZNpxYo0zx+Aj9RfMPBm+x9zAU2OayFh/xrAWi34HU= -github.com/gobuffalo/logger v1.0.6/go.mod h1:J31TBEHR1QLV2683OXTAItYIg8pv2JMHnF/quuAbMjs= github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= github.com/gobuffalo/packd v1.0.1 h1:U2wXfRr4E9DH8IdsDLlRFwTZTK7hLfq9qT/QHXGVe/0= -github.com/gobuffalo/packd v1.0.1/go.mod h1:PP2POP3p3RXGz7Jh6eYEf93S7vA2za6xM7QT85L4+VY= github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= github.com/gobuffalo/packr/v2 v2.8.3 h1:xE1yzvnO56cUC0sTpKR3DIbxZgB54AftTFMhB2XEWlY= -github.com/gobuffalo/packr/v2 v2.8.3/go.mod h1:0SahksCVcx4IMnigTjiFuyldmTrdTctXsOdiU5KwbKc= github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= @@ -941,7 +913,6 @@ github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6 github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godror/godror v0.24.2/go.mod h1:wZv/9vPiUib6tkoDl+AZ/QLf5YZgMravZ7jxH2eQWAE= github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.3.1+incompatible h1:0/KbAdpx3UXAx1kEOWHJeOkpbgRFGHVgv+CFIY7dBJI= github.com/gofrs/uuid v4.3.1+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= @@ -961,7 +932,6 @@ github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOW github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE= github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -1112,7 +1082,9 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 h1:BZHcxBETFHIdVyhyEfOvn/RdU/QGdLI4y34qQGjGWO0= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -1150,15 +1122,13 @@ github.com/hashicorp/golang-lru/v2 v2.0.6 h1:3xi/Cafd1NaoEnS/yDssIiuVeDVywU0QdFG github.com/hashicorp/golang-lru/v2 v2.0.6/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY= -github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4= +github.com/hashicorp/hcl/v2 v2.18.1 h1:6nxnOJFku1EuSawSD81fuviYUV8DxFr3fp2dUi3ZYSo= +github.com/hashicorp/hcl/v2 v2.18.1/go.mod h1:ThLC89FV4p9MPW804KVbe/cEXoQ8NZEh+JtMeeGErHE= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= @@ -1168,7 +1138,6 @@ github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/in-toto/in-toto-golang v0.9.0 h1:tHny7ac4KgtsfrG6ybU8gVOZux2H8jN05AXJ9EBM1XU= @@ -1204,7 +1173,6 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V 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/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= -github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= 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 v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= @@ -1234,15 +1202,12 @@ github.com/knqyf263/nested v0.0.1/go.mod h1:zwhsIhMkBg90DTOJQvxPkKIypEHPYkgWHs4g 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= -github.com/kortschak/utter v1.0.1/go.mod h1:vSmSjbyrlKjjsL71193LmzBOKgwePk9DH6uFaWHIInc= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -1260,16 +1225,13 @@ github.com/liamg/iamgo v0.0.9 h1:tADGm3xVotyRJmuKKaH4+zsBn7LOcvgdpuF3WsSKW3c= github.com/liamg/iamgo v0.0.9/go.mod h1:Kk6ZxBF/GQqG9nnaUjIi6jf+WXNpeOTyhwc6gnguaZQ= github.com/liamg/jfather v0.0.7 h1:Xf78zS263yfT+xr2VSo6+kyAy4ROlCacRqJG7s5jt4k= github.com/liamg/jfather v0.0.7/go.mod h1:xXBGiBoiZ6tmHhfy5Jzw8sugzajwYdi6VosIpB3/cPM= -github.com/liamg/memoryfs v1.4.3 h1:+ChjcuPRYpjJSulD13PXDNR3JeJ5HUYKjLHyWVK0bqU= -github.com/liamg/memoryfs v1.4.3/go.mod h1:z7mfqXFQS8eSeBBsFjYLlxYRMRyiPktytvYCYTb3BSk= +github.com/liamg/memoryfs v1.6.0 h1:jAFec2HI1PgMTem5gR7UT8zi9u4BfG5jorCRlLH06W8= +github.com/liamg/memoryfs v1.6.0/go.mod h1:z7mfqXFQS8eSeBBsFjYLlxYRMRyiPktytvYCYTb3BSk= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 h1:EnfXoSqDfSNJv0VBNqY/88RNnhSGYkrHaO0mmFGbVsc= github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40/go.mod h1:vy1vK6wD6j7xX6O6hXe621WabdtNkou2h7uRtTfRMyg= github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= @@ -1285,10 +1247,8 @@ github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/markbates/errx v1.1.0 h1:QDFeR+UP95dO12JgW+tgi2UVfo0V8YBHiUIOaeBPiEI= -github.com/markbates/errx v1.1.0/go.mod h1:PLa46Oex9KNbVDZhKel8v1OT7hD5JZ2eI7AHhA0wswc= github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= github.com/markbates/oncer v1.0.0 h1:E83IaVAHygyndzPimgUYJjbshhDTALZyXxvk9FOlQRY= -github.com/markbates/oncer v1.0.0/go.mod h1:Z59JA581E9GP6w96jai+TGqafHPW+cPfRxz2aSZ0mcI= github.com/markbates/safe v1.0.1 h1:yjZkbvRM6IzKj9tlu/zMJLS0n/V351OZWRnF3QfaUxI= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= @@ -1309,7 +1269,6 @@ github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlW github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -1318,12 +1277,9 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-oci8 v0.1.1/go.mod h1:wjDx6Xm9q7dFtHJvIlrI99JytznLw5wQ4R+9mNXJwGI= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= @@ -1331,7 +1287,6 @@ github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWV github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -1345,7 +1300,6 @@ github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7Xn github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= @@ -1411,8 +1365,6 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= -github.com/nelsam/hel/v2 v2.3.2/go.mod h1:1ZTGfU2PFTOd5mx22i5O0Lc2GY933lQ2wb/ggy+rL3w= -github.com/nelsam/hel/v2 v2.3.3/go.mod h1:1ZTGfU2PFTOd5mx22i5O0Lc2GY933lQ2wb/ggy+rL3w= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= @@ -1436,8 +1388,8 @@ github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= -github.com/open-policy-agent/opa v0.45.0 h1:P5nuhVRtR+e58fk3CMMbiqr6ZFyWQPNOC3otsorGsFs= -github.com/open-policy-agent/opa v0.45.0/go.mod h1:/OnsYljNEWJ6DXeFOOnoGn8CvwZGMUS4iRqzYdJvmBI= +github.com/open-policy-agent/opa v0.57.0 h1:DftxYfOEHOheXvO2Q6HCIM2ZVdKrvnF4cZlU9C64MIQ= +github.com/open-policy-agent/opa v0.57.0/go.mod h1:3FY6GNSbUqOhjCdvTXCBJ2rNuh66p/XrIc2owr/hSwo= github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= @@ -1476,8 +1428,8 @@ github.com/openvex/go-vex v0.2.5/go.mod h1:j+oadBxSUELkrKh4NfNb+BPo77U3q7gdKME88 github.com/owenrumney/go-sarif v1.1.1/go.mod h1:dNDiPlF04ESR/6fHlPyq7gHKmrM0sHUvAGjsoh8ZH0U= github.com/owenrumney/go-sarif/v2 v2.3.0 h1:wP5yEpI53zr0v5cBmagXzLbHZp9Oylyo3AJDpfLBITs= github.com/owenrumney/go-sarif/v2 v2.3.0/go.mod h1:MSqMMx9WqlBSY7pXoOZWgEsVB4FDNfhcaXDA1j6Sr+w= -github.com/owenrumney/squealer v1.1.1 h1:e+fg29IxdNARSc4s7CbYnqVSepm9eOqErLNNNR5XbAs= -github.com/owenrumney/squealer v1.1.1/go.mod h1:Q5ekVoyFSG2FlnCVIBGsyk/FSMA/ATv8PtwKIVX7t/o= +github.com/owenrumney/squealer v1.2.1 h1:4ryMMT59aaz8VMsqsD+FDkarADJz0F1dcq2fd0DRR+c= +github.com/owenrumney/squealer v1.2.1/go.mod h1:7D0a/+Bouwy504YhaWsBYW73kyklSEq1MNf6zsNoTRg= github.com/package-url/packageurl-go v0.1.2 h1:0H2DQt6DHd/NeRlVwW4EZ4oEI6Bn40XlNPRqegcxuo4= github.com/package-url/packageurl-go v0.1.2/go.mod h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= @@ -1494,7 +1446,6 @@ github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1505,12 +1456,7 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/poy/onpar v0.0.0-20200406201722-06f95a1c68e8/go.mod h1:nSbFQvMj97ZyhFRSJYtut+msi4sOY6zJDGCdSc+/rZU= github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY= -github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= @@ -1563,12 +1509,9 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rubenv/sql-migrate v1.3.1 h1:Vx+n4Du8X8VTYuXbhNxdEUoh6wiJERA0GlWocR5FrbA= -github.com/rubenv/sql-migrate v1.3.1/go.mod h1:YzG/Vh82CwyhTFXy+Mf5ahAiiEOpAlHurg+23VEzcsk= +github.com/rubenv/sql-migrate v1.5.2 h1:bMDqOnrJVV/6JQgQ/MxOpU+AdO8uzYYA/TxFUBzFtS0= +github.com/rubenv/sql-migrate v1.5.2/go.mod h1:H38GW8Vqf8F0Su5XignRyaRcbXbJunSWxs+kmzlg0Is= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -1589,12 +1532,6 @@ github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= -github.com/shirou/gopsutil/v3 v3.23.9 h1:ZI5bWVeu2ep4/DIxB4U9okeYJ7zp/QLTO4auRb/ty/E= -github.com/shirou/gopsutil/v3 v3.23.9/go.mod h1:x/NWSb71eMcjFIO0vhyGW5nZ7oSIgVjrCnADckb85GA= -github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -1613,8 +1550,8 @@ github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/skeema/knownhosts v1.1.1 h1:MTk78x9FPgDFVFkDLTrsnnfCJl7g1C/nnKvePgrIngE= -github.com/skeema/knownhosts v1.1.1/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= +github.com/skeema/knownhosts v1.2.0 h1:h9r9cf0+u7wSE+M183ZtMGgOJKiL96brpaz5ekfJCpM= +github.com/skeema/knownhosts v1.2.0/go.mod h1:g4fPeYpque7P0xefxtGzV81ihjC8sX2IqpAoNkjxbMo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= @@ -1632,12 +1569,10 @@ github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= @@ -1687,18 +1622,14 @@ github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes= github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= github.com/terminalstatic/go-xsd-validate v0.1.5 h1:RqpJnf6HGE2CB/lZB1A8BYguk8uRtcvYAPLCF15qguo= -github.com/testcontainers/testcontainers-go v0.26.0 h1:uqcYdoOHBy1ca7gKODfBd9uTHVK3a7UL848z09MVZ0c= -github.com/testcontainers/testcontainers-go v0.26.0/go.mod h1:ICriE9bLX5CLxL9OFQ2N+2N+f+803LNJ1utJb1+Inx0= +github.com/testcontainers/testcontainers-go v0.23.0 h1:ERYTSikX01QczBLPZpqsETTBO7lInqEP349phDOVJVs= +github.com/testcontainers/testcontainers-go v0.23.0/go.mod h1:3gzuZfb7T9qfcH2pHpV4RLlWrPjeWNQah6XlYQ32c4I= github.com/testcontainers/testcontainers-go/modules/localstack v0.26.0 h1:lpL04dHA9mGFBQLFcV+aEEh1Tf4ohXdIGgoj3J0bacM= github.com/testcontainers/testcontainers-go/modules/localstack v0.26.0/go.mod h1:1xkZPpkBu6coI7CyVn3DXUBnsVrZ+fd/Cc8lx6zk2mk= github.com/tetratelabs/wazero v1.2.1 h1:J4X2hrGzJvt+wqltuvcSjHQ7ujQxA9gb6PeMs4qlUWs= github.com/tetratelabs/wazero v1.2.1/go.mod h1:wYx2gNRg8/WihJfSDxA1TIL8H+GkfLYm+bIfbblu9VQ= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= -github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= -github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= -github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= -github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/twitchtv/twirp v8.1.2+incompatible h1:0O6TfzZW09ZP5r+ORA90XQEE3PTgA6C7MBbl2KxvVgE= @@ -1744,20 +1675,17 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yashtewari/glob-intersection v0.1.0 h1:6gJvMYQlTDOL3dMsPF6J0+26vwX9MB8/1q3uAdhmTrg= -github.com/yashtewari/glob-intersection v0.1.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= +github.com/yashtewari/glob-intersection v0.2.0 h1:8iuHdN88yYuCzCdjt0gDe+6bAhUwBeEWqThExu54RFg= +github.com/yashtewari/glob-intersection v0.2.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= 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.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/gopher-lua v1.1.0 h1:BojcDhfyDWgU2f2TOzYK/g5p2gxMrku8oupLDqlnSqE= github.com/yuin/gopher-lua v1.1.0/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= -github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= -github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMztlGpl/VA+Zm1AcTPHYkHJPbHqE6WJUXE= @@ -1793,12 +1721,20 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM= -go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU= -go.opentelemetry.io/otel/sdk v1.14.0 h1:PDCppFRDq8A1jL9v6KMI6dYesaq+DFcDZvjsoGvxGzY= -go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyKcFq/M= -go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 h1:pginetY7+onl4qN1vl0xW/V/v6OBZ0vVdH+esuJgvmM= +go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= +go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 h1:cbsD4cUcviQGXdw8+bo5x2wazq10SKz8hEbtCRPcU78= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0 h1:TVQp/bboR4mhZSav+MdgXB8FaRho1RC8UwVn3T0vjVc= +go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= +go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= +go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= +go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= +go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= +go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1818,7 +1754,6 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -1827,10 +1762,8 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= @@ -1840,7 +1773,7 @@ golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= @@ -1938,7 +1871,6 @@ golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= 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= @@ -1953,7 +1885,6 @@ golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfS golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= @@ -2079,7 +2010,6 @@ golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2102,11 +2032,9 @@ golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/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-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2129,16 +2057,11 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220906165534-d0df966e6959/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2146,7 +2069,6 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= @@ -2162,7 +2084,6 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= @@ -2217,7 +2138,6 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200313205530-4303120df7d8/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -2241,7 +2161,6 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= 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-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= @@ -2467,8 +2386,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= -google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I= +google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -2534,7 +2453,6 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= @@ -2542,8 +2460,8 @@ gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81 gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= -helm.sh/helm/v3 v3.12.3 h1:5y1+Sbty12t48T/t/CGNYUIME5BJ0WKfmW/sobYqkFg= -helm.sh/helm/v3 v3.12.3/go.mod h1:KPKQiX9IP5HX7o5YnnhViMnNuKiL/lJBVQ47GHe1R0k= +helm.sh/helm/v3 v3.13.0 h1:XPJKIU30K4JTQ6VX/6e0hFAmEIonYa8E7wx5aqv4xOc= +helm.sh/helm/v3 v3.13.0/go.mod h1:2PBEKsMWKLVZTojUOqMS3Eadv5mP43FBWrRgLNkNm9Y= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -2556,8 +2474,8 @@ k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw= k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg= -k8s.io/apiextensions-apiserver v0.27.3 h1:xAwC1iYabi+TDfpRhxh4Eapl14Hs2OftM2DN5MpgKX4= -k8s.io/apiextensions-apiserver v0.27.3/go.mod h1:BH3wJ5NsB9XE1w+R6SSVpKmYNyIiyIz9xAmBl8Mb+84= +k8s.io/apiextensions-apiserver v0.28.2 h1:J6/QRWIKV2/HwBhHRVITMLYoypCoPY1ftigDM0Kn+QU= +k8s.io/apiextensions-apiserver v0.28.2/go.mod h1:5tnkxLGa9nefefYzWuAlWZ7RZYuN/765Au8cWLA6SRg= k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= @@ -2566,8 +2484,8 @@ k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDAp k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= -k8s.io/apiserver v0.27.3 h1:AxLvq9JYtveYWK+D/Dz/uoPCfz8JC9asR5z7+I/bbQ4= -k8s.io/apiserver v0.27.3/go.mod h1:Y61+EaBMVWUBJtxD5//cZ48cHZbQD+yIyV/4iEBhhNA= +k8s.io/apiserver v0.28.2 h1:rBeYkLvF94Nku9XfXyUIirsVzCzJBs6jMn3NWeHieyI= +k8s.io/apiserver v0.28.2/go.mod h1:f7D5e8wH8MWcKD7azq6Csw9UN+CjdtXIVQUyUhrtb+E= k8s.io/cli-runtime v0.28.2 h1:64meB2fDj10/ThIMEJLO29a1oujSm0GQmKzh1RtA/uk= k8s.io/cli-runtime v0.28.2/go.mod h1:bTpGOvpdsPtDKoyfG4EG041WIyFZLV9qq4rPlkyYfDA= k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= diff --git a/pkg/cloud/aws/commands/run.go b/pkg/cloud/aws/commands/run.go index 51df16536158..0562dbf72e21 100644 --- a/pkg/cloud/aws/commands/run.go +++ b/pkg/cloud/aws/commands/run.go @@ -9,8 +9,8 @@ import ( "golang.org/x/exp/slices" "golang.org/x/xerrors" - "github.com/aquasecurity/defsec/pkg/errs" - awsScanner "github.com/aquasecurity/defsec/pkg/scanners/cloud/aws" + "github.com/aquasecurity/trivy-aws/pkg/errs" + awsScanner "github.com/aquasecurity/trivy-aws/pkg/scanner" "github.com/aquasecurity/trivy/pkg/cloud" "github.com/aquasecurity/trivy/pkg/cloud/aws/config" "github.com/aquasecurity/trivy/pkg/cloud/aws/scanner" diff --git a/pkg/cloud/aws/scanner/scanner.go b/pkg/cloud/aws/scanner/scanner.go index aa6733fc137d..eac5f73d039d 100644 --- a/pkg/cloud/aws/scanner/scanner.go +++ b/pkg/cloud/aws/scanner/scanner.go @@ -10,9 +10,9 @@ import ( "github.com/aquasecurity/defsec/pkg/framework" "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/cloud/aws" "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/defsec/pkg/state" + aws "github.com/aquasecurity/trivy-aws/pkg/scanner" "github.com/aquasecurity/trivy/pkg/cloud/aws/cache" "github.com/aquasecurity/trivy/pkg/commands/operation" "github.com/aquasecurity/trivy/pkg/flag" diff --git a/pkg/commands/app.go b/pkg/commands/app.go index 85cf164275ff..36dc8be3d38a 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -13,7 +13,7 @@ import ( "github.com/spf13/viper" "golang.org/x/xerrors" - awsScanner "github.com/aquasecurity/defsec/pkg/scanners/cloud/aws" + awsScanner "github.com/aquasecurity/trivy-aws/pkg/scanner" awscommands "github.com/aquasecurity/trivy/pkg/cloud/aws/commands" "github.com/aquasecurity/trivy/pkg/commands/artifact" "github.com/aquasecurity/trivy/pkg/commands/convert" diff --git a/pkg/compliance/spec/compliance.go b/pkg/compliance/spec/compliance.go index 18f1aa840492..73b7dfe635c1 100644 --- a/pkg/compliance/spec/compliance.go +++ b/pkg/compliance/spec/compliance.go @@ -9,8 +9,8 @@ import ( "golang.org/x/xerrors" "gopkg.in/yaml.v3" - sp "github.com/aquasecurity/defsec/pkg/spec" defsecTypes "github.com/aquasecurity/defsec/pkg/types" + sp "github.com/aquasecurity/trivy-policies/pkg/spec" "github.com/aquasecurity/trivy/pkg/types" ) diff --git a/pkg/fanal/analyzer/config/terraform/terraform.go b/pkg/fanal/analyzer/config/terraform/terraform.go index 11ffa446469c..e684ca1017c0 100644 --- a/pkg/fanal/analyzer/config/terraform/terraform.go +++ b/pkg/fanal/analyzer/config/terraform/terraform.go @@ -3,7 +3,7 @@ package terraform import ( "os" - "github.com/aquasecurity/defsec/pkg/detection" + "github.com/aquasecurity/trivy-iac/pkg/detection" "github.com/aquasecurity/trivy/pkg/fanal/analyzer" "github.com/aquasecurity/trivy/pkg/fanal/analyzer/config" "github.com/aquasecurity/trivy/pkg/misconf" diff --git a/pkg/fanal/analyzer/const.go b/pkg/fanal/analyzer/const.go index 896b76202c01..0720dcc78a24 100644 --- a/pkg/fanal/analyzer/const.go +++ b/pkg/fanal/analyzer/const.go @@ -1,6 +1,6 @@ package analyzer -import "github.com/aquasecurity/defsec/pkg/detection" +import "github.com/aquasecurity/trivy-iac/pkg/detection" type Type string diff --git a/pkg/fanal/secret/builtin-rules.go b/pkg/fanal/secret/builtin-rules.go index 58330c916865..16be5ff66595 100644 --- a/pkg/fanal/secret/builtin-rules.go +++ b/pkg/fanal/secret/builtin-rules.go @@ -5,7 +5,7 @@ import ( "github.com/samber/lo" - defsecRules "github.com/aquasecurity/defsec/pkg/rules" + defsecRules "github.com/aquasecurity/trivy-iac/pkg/rules" "github.com/aquasecurity/trivy/pkg/fanal/types" ) diff --git a/pkg/misconf/scanner.go b/pkg/misconf/scanner.go index d602bca7c948..39e6030e6d44 100644 --- a/pkg/misconf/scanner.go +++ b/pkg/misconf/scanner.go @@ -14,18 +14,18 @@ import ( "github.com/samber/lo" "golang.org/x/xerrors" - "github.com/aquasecurity/defsec/pkg/detection" "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners" - "github.com/aquasecurity/defsec/pkg/scanners/azure/arm" - cfscanner "github.com/aquasecurity/defsec/pkg/scanners/cloudformation" - cfparser "github.com/aquasecurity/defsec/pkg/scanners/cloudformation/parser" - dfscanner "github.com/aquasecurity/defsec/pkg/scanners/dockerfile" - "github.com/aquasecurity/defsec/pkg/scanners/helm" - k8sscanner "github.com/aquasecurity/defsec/pkg/scanners/kubernetes" "github.com/aquasecurity/defsec/pkg/scanners/options" - tfscanner "github.com/aquasecurity/defsec/pkg/scanners/terraform" - tfpscanner "github.com/aquasecurity/defsec/pkg/scanners/terraformplan" + "github.com/aquasecurity/trivy-iac/pkg/detection" + "github.com/aquasecurity/trivy-iac/pkg/scanners" + "github.com/aquasecurity/trivy-iac/pkg/scanners/azure/arm" + cfscanner "github.com/aquasecurity/trivy-iac/pkg/scanners/cloudformation" + cfparser "github.com/aquasecurity/trivy-iac/pkg/scanners/cloudformation/parser" + dfscanner "github.com/aquasecurity/trivy-iac/pkg/scanners/dockerfile" + "github.com/aquasecurity/trivy-iac/pkg/scanners/helm" + k8sscanner "github.com/aquasecurity/trivy-iac/pkg/scanners/kubernetes" + tfscanner "github.com/aquasecurity/trivy-iac/pkg/scanners/terraform" + tfpscanner "github.com/aquasecurity/trivy-iac/pkg/scanners/terraformplan" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/mapfs" diff --git a/pkg/policy/policy.go b/pkg/policy/policy.go index 081908ddd899..a312753e823d 100644 --- a/pkg/policy/policy.go +++ b/pkg/policy/policy.go @@ -19,7 +19,7 @@ import ( const ( BundleVersion = 0 // Latest released MAJOR version for defsec - BundleRepository = "ghcr.io/aquasecurity/defsec" + BundleRepository = "ghcr.io/aquasecurity/trivy-policies" policyMediaType = "application/vnd.cncf.openpolicyagent.layer.v1.tar+gzip" updateInterval = 24 * time.Hour ) From cb241a800774a37527566dd3895575b935003f2b Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Thu, 9 Nov 2023 15:25:27 +0600 Subject: [PATCH 115/338] fix(sbom): add `FilesAnalyzed` and `PackageVerificationCode` fields for SPDX (#5533) --- go.mod | 4 ++-- go.sum | 8 ++++---- integration/testdata/conda-spdx.json.golden | 15 ++++++++++----- pkg/sbom/spdx/marshal.go | 12 ++++++++++++ pkg/sbom/spdx/marshal_test.go | 12 ++++++++++++ 5 files changed, 40 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 89014fc8473f..f1bbcaac5c9f 100644 --- a/go.mod +++ b/go.mod @@ -88,7 +88,7 @@ require ( github.com/sigstore/rekor v1.2.2 github.com/sirupsen/logrus v1.9.3 github.com/sosedoff/gitkit v0.4.0 - github.com/spdx/tools-golang v0.5.0 + github.com/spdx/tools-golang v0.5.4-0.20231108154018-0c0f394b5e1a // v0.5.3 with necessary changes. Can be upgraded to version 0.5.4 after release. github.com/spf13/cast v1.5.1 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 @@ -258,7 +258,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/btree v1.1.2 // indirect github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/s2a-go v0.1.5 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect diff --git a/go.sum b/go.sum index 3ea367f33079..3072b2968060 100644 --- a/go.sum +++ b/go.sum @@ -995,8 +995,9 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-containerregistry v0.6.0/go.mod h1:euCCtNbZ6tKqi1E72vwDj2xZcN5ttKpZLfa/wSo5iLw= github.com/google/go-containerregistry v0.16.1 h1:rUEt426sR6nyrL3gt+18ibRcvYpKYdpsa5ZW7MA08dQ= github.com/google/go-containerregistry v0.16.1/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= @@ -1560,8 +1561,8 @@ github.com/sosedoff/gitkit v0.4.0 h1:opyQJ/h9xMRLsz2ca/2CRXtstePcpldiZN8DpLLF8Os github.com/sosedoff/gitkit v0.4.0/go.mod h1:V3EpGZ0nvCBhXerPsbDeqtyReNb48cwP9KtkUYTKT5I= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spdx/gordf v0.0.0-20201111095634-7098f93598fb/go.mod h1:uKWaldnbMnjsSAXRurWqqrdyZen1R7kxl8TkmWk2OyM= -github.com/spdx/tools-golang v0.5.0 h1:/fqihV2Jna7fmow65dHpgKNsilgLK7ICpd2tkCnPEyY= -github.com/spdx/tools-golang v0.5.0/go.mod h1:kkGlrSXXfHwuSzHQZJRV3aKu9ZXCq/MSf2+xyiJH1lM= +github.com/spdx/tools-golang v0.5.4-0.20231108154018-0c0f394b5e1a h1:uuREJ3I15VLjYZuhxjTQnA2bTqzRQX1HKEphYBzqT9o= +github.com/spdx/tools-golang v0.5.4-0.20231108154018-0c0f394b5e1a/go.mod h1:BHs8QEhK6MbFGdyjxvuBtzJtCLrN5bwUBC9fzQlYBXs= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= @@ -1608,7 +1609,6 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= diff --git a/integration/testdata/conda-spdx.json.golden b/integration/testdata/conda-spdx.json.golden index 9be36f45a259..0ddb0febe831 100644 --- a/integration/testdata/conda-spdx.json.golden +++ b/integration/testdata/conda-spdx.json.golden @@ -5,7 +5,6 @@ "name": "testdata/fixtures/repo/conda", "documentNamespace": "http://aquasecurity.github.io/trivy/filesystem/testdata/fixtures/repo/conda-3ff14136-e09f-4df9-80ea-000000000001", "creationInfo": { - "licenseListVersion": "", "creators": [ "Organization: aquasecurity", "Tool: trivy-dev" @@ -17,8 +16,8 @@ "name": "conda-pkg", "SPDXID": "SPDXRef-Application-ee5ef1aa4ac89125", "downloadLocation": "NONE", + "filesAnalyzed": false, "sourceInfo": "Conda", - "copyrightText": "", "primaryPackagePurpose": "APPLICATION" }, { @@ -27,9 +26,12 @@ "versionInfo": "1.1.1q", "supplier": "NOASSERTION", "downloadLocation": "NONE", + "filesAnalyzed": true, + "packageVerificationCode": { + "packageVerificationCodeValue": "2a05c7ad4baa728c79bc1ee1adea9b837d0bf6c0" + }, "licenseConcluded": "OpenSSL", "licenseDeclared": "OpenSSL", - "copyrightText": "", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", @@ -45,9 +47,12 @@ "versionInfo": "22.2.2", "supplier": "NOASSERTION", "downloadLocation": "NONE", + "filesAnalyzed": true, + "packageVerificationCode": { + "packageVerificationCodeValue": "8619446a1cd1118e82f1f984ce59116422a59151" + }, "licenseConcluded": "MIT", "licenseDeclared": "MIT", - "copyrightText": "", "externalRefs": [ { "referenceCategory": "PACKAGE-MANAGER", @@ -61,7 +66,7 @@ "name": "testdata/fixtures/repo/conda", "SPDXID": "SPDXRef-Filesystem-2e2426fd0f2580ef", "downloadLocation": "NONE", - "copyrightText": "", + "filesAnalyzed": false, "attributionTexts": [ "SchemaVersion: 2" ], diff --git a/pkg/sbom/spdx/marshal.go b/pkg/sbom/spdx/marshal.go index 12e07e3de07d..69544d850548 100644 --- a/pkg/sbom/spdx/marshal.go +++ b/pkg/sbom/spdx/marshal.go @@ -11,6 +11,7 @@ import ( "github.com/samber/lo" "github.com/spdx/tools-golang/spdx" "github.com/spdx/tools-golang/spdx/v2/common" + spdxutils "github.com/spdx/tools-golang/utils" "golang.org/x/exp/maps" "golang.org/x/xerrors" @@ -147,13 +148,24 @@ func (m *Marshaler) Marshal(r types.Report) (*spdx.Document, error) { files, err := m.pkgFiles(pkg) if err != nil { return nil, xerrors.Errorf("package file error: %w", err) + } else if files == nil { + continue } + spdxFiles = append(spdxFiles, files...) for _, file := range files { relationShips = append(relationShips, relationShip(spdxPackage.PackageSPDXIdentifier, file.FileSPDXIdentifier, RelationShipContains), ) } + + verificationCode, err := spdxutils.GetVerificationCode(files, "") + if err != nil { + return nil, xerrors.Errorf("package verification error: %w", err) + } + + spdxPackage.FilesAnalyzed = true + spdxPackage.PackageVerificationCode = &verificationCode } } diff --git a/pkg/sbom/spdx/marshal_test.go b/pkg/sbom/spdx/marshal_test.go index 3371be69eb48..b173958a0164 100644 --- a/pkg/sbom/spdx/marshal_test.go +++ b/pkg/sbom/spdx/marshal_test.go @@ -401,6 +401,10 @@ func TestMarshaler_Marshal(t *testing.T) { }, PrimaryPackagePurpose: tspdx.PackagePurposeLibrary, PackageSupplier: &spdx.Supplier{Supplier: tspdx.PackageSupplierNoAssertion}, + FilesAnalyzed: true, + PackageVerificationCode: &spdx.PackageVerificationCode{ + Value: "688d98e7e5660b879fd1fc548af8c0df3b7d785a", + }, }, { PackageSPDXIdentifier: spdx.ElementID("Package-d5443dbcbba0dbd4"), @@ -421,6 +425,10 @@ func TestMarshaler_Marshal(t *testing.T) { }, PrimaryPackagePurpose: tspdx.PackagePurposeLibrary, PackageSupplier: &spdx.Supplier{Supplier: tspdx.PackageSupplierNoAssertion}, + FilesAnalyzed: true, + PackageVerificationCode: &spdx.PackageVerificationCode{ + Value: "c7526b18eaaeb410e82cb0da9288dd02b38ea171", + }, }, { PackageSPDXIdentifier: spdx.ElementID("OperatingSystem-197f9a00ebcb51f0"), @@ -692,6 +700,10 @@ func TestMarshaler_Marshal(t *testing.T) { }, PrimaryPackagePurpose: tspdx.PackagePurposeLibrary, PackageSupplier: &spdx.Supplier{Supplier: tspdx.PackageSupplierNoAssertion}, + FilesAnalyzed: true, + PackageVerificationCode: &spdx.PackageVerificationCode{ + Value: "da39a3ee5e6b4b0d3255bfef95601890afd80709", + }, }, }, Files: []*spdx.File{ From 138feb024c428492a094825ac4956465d752e8e2 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Mon, 13 Nov 2023 13:24:22 +0600 Subject: [PATCH 116/338] fix(cli): set correct `scanners` for `k8s` target (#5561) --- docs/docs/references/configuration/cli/trivy_kubernetes.md | 2 +- pkg/commands/app.go | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/docs/references/configuration/cli/trivy_kubernetes.md b/docs/docs/references/configuration/cli/trivy_kubernetes.md index 47c61a5b2288..8accf7d19909 100644 --- a/docs/docs/references/configuration/cli/trivy_kubernetes.md +++ b/docs/docs/references/configuration/cli/trivy_kubernetes.md @@ -79,7 +79,7 @@ trivy kubernetes [flags] { cluster | all | specific resources like kubectl. eg: --reset remove all caches and database --reset-policy-bundle remove policy bundle --sbom-sources strings [EXPERIMENTAL] try to retrieve SBOM from the specified sources (oci,rekor) - --scanners string comma-separated list of what security issues to detect (vuln,config,secret,license) (default "vuln,config,secret,rbac") + --scanners strings comma-separated list of what security issues to detect (vuln,config,secret,rbac) (default [vuln,config,secret,rbac]) --secret-config string specify a path to config file for secret scanning (default "trivy-secret.yaml") -s, --severity strings severities of security issues to be displayed (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL) (default [UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL]) --skip-db-update skip updating vulnerability database diff --git a/pkg/commands/app.go b/pkg/commands/app.go index 36dc8be3d38a..c01d76b80896 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -862,13 +862,14 @@ func NewModuleCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { func NewKubernetesCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { scanFlags := flag.NewScanFlagGroup() scanners := flag.ScannersFlag - scanners.Default = fmt.Sprintf( // overwrite the default value - "%s,%s,%s,%s", + // overwrite the default scanners + scanners.Values = xstrings.ToStringSlice(types.Scanners{ types.VulnerabilityScanner, types.MisconfigScanner, types.SecretScanner, types.RBACScanner, - ) + }) + scanners.Default = scanners.Values scanFlags.Scanners = &scanners scanFlags.IncludeDevDeps = nil // disable '--include-dev-deps' From 3891e3d5d4edcde4799c81780010db6f0df2b39e Mon Sep 17 00:00:00 2001 From: chenk Date: Tue, 14 Nov 2023 04:42:40 +0200 Subject: [PATCH 117/338] fix: no schedule toleration (#5562) Signed-off-by: chenk --- pkg/flag/kubernetes_flags.go | 2 +- pkg/flag/kubernetes_flags_test.go | 51 +++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 pkg/flag/kubernetes_flags_test.go diff --git a/pkg/flag/kubernetes_flags.go b/pkg/flag/kubernetes_flags.go index a6e8b563a1dc..fd560e7defc4 100644 --- a/pkg/flag/kubernetes_flags.go +++ b/pkg/flag/kubernetes_flags.go @@ -223,8 +223,8 @@ func optionToTolerations(tolerationsOptions []string) ([]corev1.Toleration, erro if err != nil { return nil, fmt.Errorf("TolerationSeconds must must be a number") } + toleration.TolerationSeconds = lo.ToPtr(int64(tolerationSec)) } - toleration.TolerationSeconds = lo.ToPtr(int64(tolerationSec)) tolerations = append(tolerations, toleration) } return tolerations, nil diff --git a/pkg/flag/kubernetes_flags_test.go b/pkg/flag/kubernetes_flags_test.go new file mode 100644 index 000000000000..50c0b4f793bf --- /dev/null +++ b/pkg/flag/kubernetes_flags_test.go @@ -0,0 +1,51 @@ +package flag + +import ( + "testing" + + "github.com/samber/lo" + "github.com/stretchr/testify/assert" + corev1 "k8s.io/api/core/v1" +) + +func TestOptionToToleration(t *testing.T) { + + tests := []struct { + name string + tolerationsOptions []string + want []corev1.Toleration + }{ + { + name: "no execute", + tolerationsOptions: []string{"key1=CriticalAddonsOnly:NoExecute:3600"}, + want: []corev1.Toleration{ + { + Key: "key1", + Operator: "Equal", + Value: "CriticalAddonsOnly", + Effect: "NoExecute", + TolerationSeconds: lo.ToPtr(int64(3600)), + }, + }, + }, + { + name: "no schedule", + tolerationsOptions: []string{"key1=CriticalAddonsOnly:NoSchedule"}, + want: []corev1.Toleration{ + { + Key: "key1", + Operator: "Equal", + Value: "CriticalAddonsOnly", + Effect: "NoSchedule", + }, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := optionToTolerations(tt.tolerationsOptions) + assert.NoError(t, err) + assert.Equal(t, got, tt.want) + }) + } +} From cccaa15ccd8a0db1165269b08911aae6c3025a23 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Tue, 14 Nov 2023 14:35:42 +0900 Subject: [PATCH 118/338] chore: sort supported AWS services (#5570) Signed-off-by: knqyf263 --- docs/docs/references/configuration/cli/trivy_aws.md | 1 + pkg/commands/app.go | 3 +++ 2 files changed, 4 insertions(+) diff --git a/docs/docs/references/configuration/cli/trivy_aws.md b/docs/docs/references/configuration/cli/trivy_aws.md index eb7e5a144ac1..2d8790d57c53 100644 --- a/docs/docs/references/configuration/cli/trivy_aws.md +++ b/docs/docs/references/configuration/cli/trivy_aws.md @@ -7,6 +7,7 @@ Scan an AWS account for misconfigurations. Trivy uses the same authentication methods as the AWS CLI. See https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html The following services are supported: + - accessanalyzer - api-gateway - athena diff --git a/pkg/commands/app.go b/pkg/commands/app.go index c01d76b80896..4cdbc89f59a1 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -6,6 +6,7 @@ import ( "fmt" "io" "os" + "sort" "strings" "time" @@ -972,6 +973,7 @@ func NewAWSCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { } services := awsScanner.AllSupportedServices() + sort.Strings(services) cmd := &cobra.Command{ Use: "aws [flags]", @@ -982,6 +984,7 @@ func NewAWSCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { Long: fmt.Sprintf(`Scan an AWS account for misconfigurations. Trivy uses the same authentication methods as the AWS CLI. See https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html The following services are supported: + - %s `, strings.Join(services, "\n- ")), Example: ` # basic scanning From 04b93e9fd61776e9e1f27f6af3b49d8b774b7410 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Tue, 14 Nov 2023 14:37:18 +0900 Subject: [PATCH 119/338] chore: not load plugins for auto-generating docs (#5569) Signed-off-by: knqyf263 --- magefiles/docs.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/magefiles/docs.go b/magefiles/docs.go index 37d04343ecac..b69e813690af 100644 --- a/magefiles/docs.go +++ b/magefiles/docs.go @@ -3,6 +3,8 @@ package main import ( + "os" + "github.com/spf13/cobra/doc" "github.com/aquasecurity/trivy/pkg/commands" @@ -16,6 +18,9 @@ func main() { flag.CacheDirFlag.Default = "/path/to/cache" flag.ModuleDirFlag.Default = "$HOME/.trivy/modules" + // Set a dummy path not to load plugins + os.Setenv("XDG_DATA_HOME", os.TempDir()) + cmd := commands.NewApp() cmd.DisableAutoGenTag = true if err := doc.GenMarkdownTree(cmd, "./docs/docs/references/configuration/cli"); err != nil { From 2310f0dd696a7a4a163ef7d696a5bbe00771d12b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Nov 2023 16:50:00 +0900 Subject: [PATCH 120/338] chore(deps): bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#5543) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index f1bbcaac5c9f..3432b55c25a5 100644 --- a/go.mod +++ b/go.mod @@ -376,7 +376,7 @@ require ( google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect - google.golang.org/grpc v1.58.2 // indirect + google.golang.org/grpc v1.58.3 // indirect gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 3072b2968060..0c784649cb61 100644 --- a/go.sum +++ b/go.sum @@ -350,10 +350,10 @@ github.com/aquasecurity/trivy-iac v0.5.2 h1:cqeSDEfQtM3l4ceiQ+IUD2K/ZBhyz443xe+S github.com/aquasecurity/trivy-iac v0.5.2/go.mod h1:dHoaIzm4niotuaEiSM40HelhcL8m/2MHzT3uHcQYUh8= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 h1:0eS+V7SXHgqoT99tV1mtMW6HL4HdoB9qGLMCb1fZp8A= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728/go.mod h1:Ldya37FLi0e/5Cjq2T5Bty7cFkzUDwTcPeQua+2M8i8= -github.com/aquasecurity/trivy-policies v0.4.0 h1:20dEiWkiTrFXAiPLVshfJ/x1i9LvDDsBJ/CAb4fNEBI= -github.com/aquasecurity/trivy-policies v0.4.0/go.mod h1:Wqj81EIp4lDQGVzbPalKLNucR7c96YLQbfdA60KpEkQ= github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a h1:x1Z+k7snLeDjTLnvTd4UPNo0HPMP6SNWxZTVU5smuA0= github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a/go.mod h1:e3iMAeJ1V/iPsNcRBVd9aDqj1YAXeURzv3qLurbloUk= +github.com/aquasecurity/trivy-policies v0.4.0 h1:20dEiWkiTrFXAiPLVshfJ/x1i9LvDDsBJ/CAb4fNEBI= +github.com/aquasecurity/trivy-policies v0.4.0/go.mod h1:Wqj81EIp4lDQGVzbPalKLNucR7c96YLQbfdA60KpEkQ= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -2386,8 +2386,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I= -google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ= +google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= From 950e431f0f9759f053dc2fbe10e1869696c957f3 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Tue, 14 Nov 2023 21:32:23 +0900 Subject: [PATCH 121/338] refactor: reintroduce output writer (#5564) Signed-off-by: knqyf263 --- pkg/cloud/aws/commands/run_test.go | 10 ++++------ pkg/cloud/report/report.go | 6 +++--- pkg/cloud/report/resource_test.go | 12 ++++-------- pkg/cloud/report/result_test.go | 12 ++++-------- pkg/cloud/report/service_test.go | 13 +++++-------- pkg/flag/options.go | 22 +++++++++++++++++----- pkg/k8s/commands/run.go | 4 ++-- pkg/report/table/table.go | 3 +-- pkg/report/writer.go | 4 ++-- pkg/x/io/io.go | 12 ------------ 10 files changed, 42 insertions(+), 56 deletions(-) diff --git a/pkg/cloud/aws/commands/run_test.go b/pkg/cloud/aws/commands/run_test.go index 70d8dc672368..a7ac58886f8b 100644 --- a/pkg/cloud/aws/commands/run_test.go +++ b/pkg/cloud/aws/commands/run_test.go @@ -1,6 +1,7 @@ package commands import ( + "bytes" "context" "os" "path/filepath" @@ -1135,8 +1136,8 @@ Summary Report for compliance: my-custom-spec }() } - output := filepath.Join(t.TempDir(), "output") - test.options.Output = output + output := bytes.NewBuffer(nil) + test.options.SetOutputWriter(output) test.options.Debug = true test.options.GlobalOptions.Timeout = time.Minute if test.options.Format == "" { @@ -1178,10 +1179,7 @@ Summary Report for compliance: my-custom-spec return } assert.NoError(t, err) - - b, err := os.ReadFile(output) - require.NoError(t, err) - assert.Equal(t, test.want, string(b)) + assert.Equal(t, test.want, output.String()) }) } } diff --git a/pkg/cloud/report/report.go b/pkg/cloud/report/report.go index 0e3eab9a94ee..6742db9d043a 100644 --- a/pkg/cloud/report/report.go +++ b/pkg/cloud/report/report.go @@ -59,11 +59,11 @@ func (r *Report) Failed() bool { // Write writes the results in the give format func Write(rep *Report, opt flag.Options, fromCache bool) error { - output, err := opt.OutputWriter() + output, cleanup, err := opt.OutputWriter() if err != nil { return xerrors.Errorf("failed to create output file: %w", err) } - defer output.Close() + defer cleanup() if opt.Compliance.Spec.ID != "" { return writeCompliance(rep, opt, output) @@ -104,7 +104,7 @@ func Write(rep *Report, opt flag.Options, fromCache bool) error { // ensure color/formatting is disabled for pipes/non-pty var useANSI bool - if opt.Output == "" { + if output == os.Stdout { if o, err := os.Stdout.Stat(); err == nil { useANSI = (o.Mode() & os.ModeCharDevice) == os.ModeCharDevice } diff --git a/pkg/cloud/report/resource_test.go b/pkg/cloud/report/resource_test.go index 07ff85a88c27..cb17c2658d57 100644 --- a/pkg/cloud/report/resource_test.go +++ b/pkg/cloud/report/resource_test.go @@ -1,8 +1,7 @@ package report import ( - "os" - "path/filepath" + "bytes" "testing" "github.com/stretchr/testify/assert" @@ -110,18 +109,15 @@ No problems detected. tt.options.AWSOptions.Services, ) - output := filepath.Join(t.TempDir(), "output") - tt.options.Output = output + output := bytes.NewBuffer(nil) + tt.options.SetOutputWriter(output) require.NoError(t, Write(report, tt.options, tt.fromCache)) assert.Equal(t, "AWS", report.Provider) assert.Equal(t, tt.options.AWSOptions.Account, report.AccountID) assert.Equal(t, tt.options.AWSOptions.Region, report.Region) assert.ElementsMatch(t, tt.options.AWSOptions.Services, report.ServicesInScope) - - b, err := os.ReadFile(output) - require.NoError(t, err) - assert.Equal(t, tt.expected, string(b)) + assert.Equal(t, tt.expected, output.String()) }) } } diff --git a/pkg/cloud/report/result_test.go b/pkg/cloud/report/result_test.go index 5b4f669b4650..f0ef85d4d564 100644 --- a/pkg/cloud/report/result_test.go +++ b/pkg/cloud/report/result_test.go @@ -1,8 +1,7 @@ package report import ( - "os" - "path/filepath" + "bytes" "strings" "testing" @@ -69,18 +68,15 @@ See https://avd.aquasec.com/misconfig/avd-aws-9999 tt.options.AWSOptions.Services, ) - output := filepath.Join(t.TempDir(), "output") - tt.options.Output = output + output := bytes.NewBuffer(nil) + tt.options.SetOutputWriter(output) require.NoError(t, Write(report, tt.options, tt.fromCache)) - b, err := os.ReadFile(output) - require.NoError(t, err) - assert.Equal(t, "AWS", report.Provider) assert.Equal(t, tt.options.AWSOptions.Account, report.AccountID) assert.Equal(t, tt.options.AWSOptions.Region, report.Region) assert.ElementsMatch(t, tt.options.AWSOptions.Services, report.ServicesInScope) - assert.Equal(t, tt.expected, strings.ReplaceAll(string(b), "\r\n", "\n")) + assert.Equal(t, tt.expected, strings.ReplaceAll(output.String(), "\r\n", "\n")) }) } } diff --git a/pkg/cloud/report/service_test.go b/pkg/cloud/report/service_test.go index 6e4ae99c2cd4..d520285cabf1 100644 --- a/pkg/cloud/report/service_test.go +++ b/pkg/cloud/report/service_test.go @@ -1,8 +1,7 @@ package report import ( - "os" - "path/filepath" + "bytes" "testing" "github.com/aws/aws-sdk-go-v2/aws/arn" @@ -317,8 +316,8 @@ Scan Overview for AWS Account tt.options.AWSOptions.Services, ) - output := filepath.Join(t.TempDir(), "output") - tt.options.Output = output + output := bytes.NewBuffer(nil) + tt.options.SetOutputWriter(output) require.NoError(t, Write(report, tt.options, tt.fromCache)) assert.Equal(t, "AWS", report.Provider) @@ -326,13 +325,11 @@ Scan Overview for AWS Account assert.Equal(t, tt.options.AWSOptions.Region, report.Region) assert.ElementsMatch(t, tt.options.AWSOptions.Services, report.ServicesInScope) - b, err := os.ReadFile(output) - require.NoError(t, err) if tt.options.Format == "json" { // json output can be formatted/ordered differently - we just care that the data matches - assert.JSONEq(t, tt.expected, string(b)) + assert.JSONEq(t, tt.expected, output.String()) } else { - assert.Equal(t, tt.expected, string(b)) + assert.Equal(t, tt.expected, output.String()) } }) } diff --git a/pkg/flag/options.go b/pkg/flag/options.go index caf723fa5bb7..a5c5b2355f82 100644 --- a/pkg/flag/options.go +++ b/pkg/flag/options.go @@ -20,7 +20,6 @@ import ( "github.com/aquasecurity/trivy/pkg/result" "github.com/aquasecurity/trivy/pkg/types" "github.com/aquasecurity/trivy/pkg/version" - xio "github.com/aquasecurity/trivy/pkg/x/io" xstrings "github.com/aquasecurity/trivy/pkg/x/strings" ) @@ -114,6 +113,10 @@ type Options struct { // We don't want to allow disabled analyzers to be passed by users, but it is necessary for internal use. DisabledAnalyzers []analyzer.Type + + // outputWriter is not initialized via the CLI. + // It is mainly used for testing purposes or by tools that use Trivy as a library. + outputWriter io.Writer } // Align takes consistency of options @@ -159,17 +162,26 @@ func (o *Options) FilterOpts() result.FilterOption { } } +// SetOutputWriter sets an output writer. +func (o *Options) SetOutputWriter(w io.Writer) { + o.outputWriter = w +} + // OutputWriter returns an output writer. // If the output file is not specified, it returns os.Stdout. -func (o *Options) OutputWriter() (io.WriteCloser, error) { +func (o *Options) OutputWriter() (io.Writer, func(), error) { + if o.outputWriter != nil { + return o.outputWriter, func() {}, nil + } + if o.Output != "" { f, err := os.Create(o.Output) if err != nil { - return nil, xerrors.Errorf("failed to create output file: %w", err) + return nil, nil, xerrors.Errorf("failed to create output file: %w", err) } - return f, nil + return f, func() { _ = f.Close() }, nil } - return xio.NopCloser(os.Stdout), nil + return os.Stdout, func() {}, nil } func addFlag(cmd *cobra.Command, flag *Flag) { diff --git a/pkg/k8s/commands/run.go b/pkg/k8s/commands/run.go index 28cda3f67b99..df6836997632 100644 --- a/pkg/k8s/commands/run.go +++ b/pkg/k8s/commands/run.go @@ -95,11 +95,11 @@ func (r *runner) run(ctx context.Context, artifacts []*k8sArtifacts.Artifact) er return xerrors.Errorf("k8s scan error: %w", err) } - output, err := r.flagOpts.OutputWriter() + output, cleanup, err := r.flagOpts.OutputWriter() if err != nil { return xerrors.Errorf("failed to create output file: %w", err) } - defer output.Close() + defer cleanup() if r.flagOpts.Compliance.Spec.ID != "" { var scanResults []types.Results diff --git a/pkg/report/table/table.go b/pkg/report/table/table.go index 94d63784bca1..8be620f36589 100644 --- a/pkg/report/table/table.go +++ b/pkg/report/table/table.go @@ -15,7 +15,6 @@ import ( "github.com/aquasecurity/tml" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/types" - xio "github.com/aquasecurity/trivy/pkg/x/io" ) var ( @@ -137,7 +136,7 @@ func IsOutputToTerminal(output io.Writer) bool { return false } - if output != xio.NopCloser(os.Stdout) { + if output != os.Stdout { return false } o, err := os.Stdout.Stat() diff --git a/pkg/report/writer.go b/pkg/report/writer.go index 31c606f1e5bf..648a9372f534 100644 --- a/pkg/report/writer.go +++ b/pkg/report/writer.go @@ -25,11 +25,11 @@ const ( // Write writes the result to output, format as passed in argument func Write(report types.Report, option flag.Options) error { - output, err := option.OutputWriter() + output, cleanup, err := option.OutputWriter() if err != nil { return xerrors.Errorf("failed to create a file: %w", err) } - defer output.Close() + defer cleanup() // Compliance report if option.Compliance.Spec.ID != "" { diff --git a/pkg/x/io/io.go b/pkg/x/io/io.go index 8f935e08ec71..01055778ca12 100644 --- a/pkg/x/io/io.go +++ b/pkg/x/io/io.go @@ -9,18 +9,6 @@ import ( dio "github.com/aquasecurity/go-dep-parser/pkg/io" ) -// NopCloser returns a WriteCloser with a no-op Close method wrapping -// the provided Writer w. -func NopCloser(w io.Writer) io.WriteCloser { - return nopCloser{w} -} - -type nopCloser struct { - io.Writer -} - -func (nopCloser) Close() error { return nil } - func NewReadSeekerAt(r io.Reader) (dio.ReadSeekerAt, error) { if rr, ok := r.(dio.ReadSeekerAt); ok { return rr, nil From a96ec35572508860745f07085ebf25e8197694f3 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Wed, 15 Nov 2023 09:53:22 +0900 Subject: [PATCH 122/338] feat: add aliases to '--scanners' (#5558) Signed-off-by: knqyf263 --- README.md | 2 +- docs/docs/configuration/others.md | 2 +- .../references/configuration/cli/trivy_aws.md | 2 +- .../configuration/cli/trivy_config.md | 2 +- .../configuration/cli/trivy_filesystem.md | 4 +-- .../configuration/cli/trivy_image.md | 6 ++-- .../configuration/cli/trivy_kubernetes.md | 4 +-- .../configuration/cli/trivy_repository.md | 4 +-- .../configuration/cli/trivy_rootfs.md | 4 +-- .../references/configuration/cli/trivy_vm.md | 4 +-- .../references/configuration/config-file.md | 3 +- docs/docs/scanner/misconfiguration/index.md | 10 +++--- docs/docs/target/container_image.md | 4 +-- docs/docs/target/filesystem.md | 4 +-- docs/docs/target/repository.md | 4 +-- docs/docs/target/vm.md | 4 +-- docs/index.md | 2 +- docs/tutorials/integrations/gitlab-ci.md | 2 +- docs/tutorials/misconfiguration/terraform.md | 2 +- integration/repo_test.go | 4 +-- pkg/flag/misconf_flags.go | 2 +- pkg/flag/options.go | 8 +++-- pkg/flag/options_test.go | 2 +- pkg/flag/scan_flags.go | 9 +++++ pkg/flag/scan_flags_test.go | 2 +- pkg/flag/value.go | 35 +++++++++++++------ pkg/types/target.go | 2 +- 27 files changed, 80 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index 1db2353bb1fc..f02dd9c0cd9b 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ https://user-images.githubusercontent.com/1161307/171013513-95f18734-233d-45d3-a
```bash -trivy fs --scanners vuln,secret,config myproject/ +trivy fs --scanners vuln,secret,misconfig myproject/ ```
diff --git a/docs/docs/configuration/others.md b/docs/docs/configuration/others.md index 769959fa15dc..371350f07a96 100644 --- a/docs/docs/configuration/others.md +++ b/docs/docs/configuration/others.md @@ -6,7 +6,7 @@ You can enable/disable scanners with the `--scanners` flag. Supported values: - vuln -- config +- misconfig - secret - license diff --git a/docs/docs/references/configuration/cli/trivy_aws.md b/docs/docs/references/configuration/cli/trivy_aws.md index 2d8790d57c53..bd00afbeadf5 100644 --- a/docs/docs/references/configuration/cli/trivy_aws.md +++ b/docs/docs/references/configuration/cli/trivy_aws.md @@ -82,7 +82,7 @@ trivy aws [flags] -h, --help help for aws --ignore-policy string specify the Rego file path to evaluate each vulnerability --ignorefile string specify .trivyignore file (default ".trivyignore") - --include-non-failures include successes and exceptions, available with '--scanners config' + --include-non-failures include successes and exceptions, available with '--scanners misconfig' --list-all-pkgs enabling the option will output all packages regardless of vulnerability --max-cache-age duration The maximum age of the cloud cache. Cached data will be requeried from the cloud provider if it is older than this. (default 24h0m0s) -o, --output string output file name diff --git a/docs/docs/references/configuration/cli/trivy_config.md b/docs/docs/references/configuration/cli/trivy_config.md index ced1b2c94788..e2c6110b13fa 100644 --- a/docs/docs/references/configuration/cli/trivy_config.md +++ b/docs/docs/references/configuration/cli/trivy_config.md @@ -26,7 +26,7 @@ trivy config [flags] DIR -h, --help help for config --ignore-policy string specify the Rego file path to evaluate each vulnerability --ignorefile string specify .trivyignore file (default ".trivyignore") - --include-non-failures include successes and exceptions, available with '--scanners config' + --include-non-failures include successes and exceptions, available with '--scanners misconfig' --k8s-version string specify k8s version to validate outdated api by it (example: 1.21.0) --module-dir string specify directory to the wasm modules that will be loaded (default "$HOME/.trivy/modules") -o, --output string output file name diff --git a/docs/docs/references/configuration/cli/trivy_filesystem.md b/docs/docs/references/configuration/cli/trivy_filesystem.md index 2241d05de8a6..e32e6af4be53 100644 --- a/docs/docs/references/configuration/cli/trivy_filesystem.md +++ b/docs/docs/references/configuration/cli/trivy_filesystem.md @@ -45,7 +45,7 @@ trivy filesystem [flags] PATH --ignored-licenses strings specify a list of license to ignore --ignorefile string specify .trivyignore file (default ".trivyignore") --include-dev-deps include development dependencies in the report (supported: npm, yarn) - --include-non-failures include successes and exceptions, available with '--scanners config' + --include-non-failures include successes and exceptions, available with '--scanners misconfig' --java-db-repository string OCI repository to retrieve trivy-java-db from (default "ghcr.io/aquasecurity/trivy-java-db") --license-confidence-level float specify license classifier's confidence level (default 0.9) --license-full eagerly look for licenses in source code headers and license files @@ -67,7 +67,7 @@ trivy filesystem [flags] PATH --reset remove all caches and database --reset-policy-bundle remove policy bundle --sbom-sources strings [EXPERIMENTAL] try to retrieve SBOM from the specified sources (oci,rekor) - --scanners strings comma-separated list of what security issues to detect (vuln,config,secret,license) (default [vuln,secret]) + --scanners strings comma-separated list of what security issues to detect (vuln,misconfig,secret,license) (default [vuln,secret]) --secret-config string specify a path to config file for secret scanning (default "trivy-secret.yaml") --server string server address in client mode -s, --severity strings severities of security issues to be displayed (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL) (default [UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL]) diff --git a/docs/docs/references/configuration/cli/trivy_image.md b/docs/docs/references/configuration/cli/trivy_image.md index 767d4152cf54..31daec770d61 100644 --- a/docs/docs/references/configuration/cli/trivy_image.md +++ b/docs/docs/references/configuration/cli/trivy_image.md @@ -61,9 +61,9 @@ trivy image [flags] IMAGE_NAME --ignore-unfixed display only fixed vulnerabilities --ignored-licenses strings specify a list of license to ignore --ignorefile string specify .trivyignore file (default ".trivyignore") - --image-config-scanners strings comma-separated list of what security issues to detect on container image configurations (config,secret) + --image-config-scanners strings comma-separated list of what security issues to detect on container image configurations (misconfig,secret) --image-src strings image source(s) to use, in priority order (docker,containerd,podman,remote) (default [docker,containerd,podman,remote]) - --include-non-failures include successes and exceptions, available with '--scanners config' + --include-non-failures include successes and exceptions, available with '--scanners misconfig' --input string input file path instead of image name --java-db-repository string OCI repository to retrieve trivy-java-db from (default "ghcr.io/aquasecurity/trivy-java-db") --license-confidence-level float specify license classifier's confidence level (default 0.9) @@ -88,7 +88,7 @@ trivy image [flags] IMAGE_NAME --reset remove all caches and database --reset-policy-bundle remove policy bundle --sbom-sources strings [EXPERIMENTAL] try to retrieve SBOM from the specified sources (oci,rekor) - --scanners strings comma-separated list of what security issues to detect (vuln,config,secret,license) (default [vuln,secret]) + --scanners strings comma-separated list of what security issues to detect (vuln,misconfig,secret,license) (default [vuln,secret]) --secret-config string specify a path to config file for secret scanning (default "trivy-secret.yaml") --server string server address in client mode -s, --severity strings severities of security issues to be displayed (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL) (default [UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL]) diff --git a/docs/docs/references/configuration/cli/trivy_kubernetes.md b/docs/docs/references/configuration/cli/trivy_kubernetes.md index 8accf7d19909..dcc41040e7f1 100644 --- a/docs/docs/references/configuration/cli/trivy_kubernetes.md +++ b/docs/docs/references/configuration/cli/trivy_kubernetes.md @@ -55,7 +55,7 @@ trivy kubernetes [flags] { cluster | all | specific resources like kubectl. eg: --ignore-unfixed display only fixed vulnerabilities --ignorefile string specify .trivyignore file (default ".trivyignore") --image-src strings image source(s) to use, in priority order (docker,containerd,podman,remote) (default [docker,containerd,podman,remote]) - --include-non-failures include successes and exceptions, available with '--scanners config' + --include-non-failures include successes and exceptions, available with '--scanners misconfig' --java-db-repository string OCI repository to retrieve trivy-java-db from (default "ghcr.io/aquasecurity/trivy-java-db") --k8s-version string specify k8s version to validate outdated api by it (example: 1.21.0) --kubeconfig string specify the kubeconfig file path to use @@ -79,7 +79,7 @@ trivy kubernetes [flags] { cluster | all | specific resources like kubectl. eg: --reset remove all caches and database --reset-policy-bundle remove policy bundle --sbom-sources strings [EXPERIMENTAL] try to retrieve SBOM from the specified sources (oci,rekor) - --scanners strings comma-separated list of what security issues to detect (vuln,config,secret,rbac) (default [vuln,config,secret,rbac]) + --scanners strings comma-separated list of what security issues to detect (vuln,misconfig,secret,rbac) (default [vuln,misconfig,secret,rbac]) --secret-config string specify a path to config file for secret scanning (default "trivy-secret.yaml") -s, --severity strings severities of security issues to be displayed (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL) (default [UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL]) --skip-db-update skip updating vulnerability database diff --git a/docs/docs/references/configuration/cli/trivy_repository.md b/docs/docs/references/configuration/cli/trivy_repository.md index 19d9a3429027..b57cfa56025c 100644 --- a/docs/docs/references/configuration/cli/trivy_repository.md +++ b/docs/docs/references/configuration/cli/trivy_repository.md @@ -45,7 +45,7 @@ trivy repository [flags] (REPO_PATH | REPO_URL) --ignored-licenses strings specify a list of license to ignore --ignorefile string specify .trivyignore file (default ".trivyignore") --include-dev-deps include development dependencies in the report (supported: npm, yarn) - --include-non-failures include successes and exceptions, available with '--scanners config' + --include-non-failures include successes and exceptions, available with '--scanners misconfig' --java-db-repository string OCI repository to retrieve trivy-java-db from (default "ghcr.io/aquasecurity/trivy-java-db") --license-confidence-level float specify license classifier's confidence level (default 0.9) --license-full eagerly look for licenses in source code headers and license files @@ -66,7 +66,7 @@ trivy repository [flags] (REPO_PATH | REPO_URL) --reset remove all caches and database --reset-policy-bundle remove policy bundle --sbom-sources strings [EXPERIMENTAL] try to retrieve SBOM from the specified sources (oci,rekor) - --scanners strings comma-separated list of what security issues to detect (vuln,config,secret,license) (default [vuln,secret]) + --scanners strings comma-separated list of what security issues to detect (vuln,misconfig,secret,license) (default [vuln,secret]) --secret-config string specify a path to config file for secret scanning (default "trivy-secret.yaml") --server string server address in client mode -s, --severity strings severities of security issues to be displayed (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL) (default [UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL]) diff --git a/docs/docs/references/configuration/cli/trivy_rootfs.md b/docs/docs/references/configuration/cli/trivy_rootfs.md index 7bd2d06c2cb9..a5daaa47fce8 100644 --- a/docs/docs/references/configuration/cli/trivy_rootfs.md +++ b/docs/docs/references/configuration/cli/trivy_rootfs.md @@ -47,7 +47,7 @@ trivy rootfs [flags] ROOTDIR --ignore-unfixed display only fixed vulnerabilities --ignored-licenses strings specify a list of license to ignore --ignorefile string specify .trivyignore file (default ".trivyignore") - --include-non-failures include successes and exceptions, available with '--scanners config' + --include-non-failures include successes and exceptions, available with '--scanners misconfig' --java-db-repository string OCI repository to retrieve trivy-java-db from (default "ghcr.io/aquasecurity/trivy-java-db") --license-confidence-level float specify license classifier's confidence level (default 0.9) --license-full eagerly look for licenses in source code headers and license files @@ -68,7 +68,7 @@ trivy rootfs [flags] ROOTDIR --reset remove all caches and database --reset-policy-bundle remove policy bundle --sbom-sources strings [EXPERIMENTAL] try to retrieve SBOM from the specified sources (oci,rekor) - --scanners strings comma-separated list of what security issues to detect (vuln,config,secret,license) (default [vuln,secret]) + --scanners strings comma-separated list of what security issues to detect (vuln,misconfig,secret,license) (default [vuln,secret]) --secret-config string specify a path to config file for secret scanning (default "trivy-secret.yaml") --server string server address in client mode -s, --severity strings severities of security issues to be displayed (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL) (default [UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL]) diff --git a/docs/docs/references/configuration/cli/trivy_vm.md b/docs/docs/references/configuration/cli/trivy_vm.md index 31a84b1fec8d..fd47dfda7647 100644 --- a/docs/docs/references/configuration/cli/trivy_vm.md +++ b/docs/docs/references/configuration/cli/trivy_vm.md @@ -44,7 +44,7 @@ trivy vm [flags] VM_IMAGE --ignore-status strings comma-separated list of vulnerability status to ignore (unknown,not_affected,affected,fixed,under_investigation,will_not_fix,fix_deferred,end_of_life) --ignore-unfixed display only fixed vulnerabilities --ignorefile string specify .trivyignore file (default ".trivyignore") - --include-non-failures include successes and exceptions, available with '--scanners config' + --include-non-failures include successes and exceptions, available with '--scanners misconfig' --java-db-repository string OCI repository to retrieve trivy-java-db from (default "ghcr.io/aquasecurity/trivy-java-db") --list-all-pkgs enabling the option will output all packages regardless of vulnerability --module-dir string specify directory to the wasm modules that will be loaded (default "$HOME/.trivy/modules") @@ -60,7 +60,7 @@ trivy vm [flags] VM_IMAGE --reset remove all caches and database --reset-policy-bundle remove policy bundle --sbom-sources strings [EXPERIMENTAL] try to retrieve SBOM from the specified sources (oci,rekor) - --scanners strings comma-separated list of what security issues to detect (vuln,config,secret,license) (default [vuln,secret]) + --scanners strings comma-separated list of what security issues to detect (vuln,misconfig,secret,license) (default [vuln,secret]) --secret-config string specify a path to config file for secret scanning (default "trivy-secret.yaml") --server string server address in client mode -s, --severity strings severities of security issues to be displayed (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL) (default [UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL]) diff --git a/docs/docs/references/configuration/config-file.md b/docs/docs/references/configuration/config-file.md index 08902fb82159..b85cfded4667 100644 --- a/docs/docs/references/configuration/config-file.md +++ b/docs/docs/references/configuration/config-file.md @@ -112,8 +112,9 @@ scan: # Default depends on subcommand scanners: - vuln - - config + - misconfig - secret + - license ``` ## Cache Options diff --git a/docs/docs/scanner/misconfiguration/index.md b/docs/docs/scanner/misconfiguration/index.md index 9371f6f65021..8a2606a31a4e 100644 --- a/docs/docs/scanner/misconfiguration/index.md +++ b/docs/docs/scanner/misconfiguration/index.md @@ -35,28 +35,28 @@ $ trivy config [YOUR_IaC_DIRECTORY] ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ``` -You can also enable misconfiguration detection in container image, filesystem and git repository scanning via `--scanners config`. +You can also enable misconfiguration detection in container image, filesystem and git repository scanning via `--scanners misconfig`. ```bash -$ trivy image --scanners config IMAGE_NAME +$ trivy image --scanners misconfig IMAGE_NAME ``` ```bash -$ trivy fs --scanners config /path/to/dir +$ trivy fs --scanners misconfig /path/to/dir ``` !!! note Misconfiguration detection is not enabled by default in `image`, `fs` and `repo` subcommands. Unlike the `config` subcommand, `image`, `fs` and `repo` subcommands can also scan for vulnerabilities and secrets at the same time. -You can specify `--scanners vuln,config,secret` to enable vulnerability and secret detection as well as misconfiguration detection. +You can specify `--scanners vuln,misconfig,secret` to enable vulnerability and secret detection as well as misconfiguration detection. !!! example ``` bash $ ls myapp/ Dockerfile Pipfile.lock - $ trivy fs --scanners vuln,config,secret --severity HIGH,CRITICAL myapp/ + $ trivy fs --scanners vuln,misconfig,secret --severity HIGH,CRITICAL myapp/ 2022-05-16T13:42:21.440+0100 INFO Number of language-specific files: 1 2022-05-16T13:42:21.440+0100 INFO Detecting pipenv vulnerabilities... 2022-05-16T13:42:21.440+0100 INFO Detected config files: 1 diff --git a/docs/docs/target/container_image.md b/docs/docs/target/container_image.md index 6b9556b8d5c5..5e86c76b3121 100644 --- a/docs/docs/target/container_image.md +++ b/docs/docs/target/container_image.md @@ -64,10 +64,10 @@ $ trivy image --scanners vuln [YOUR_IMAGE_NAME] ### Misconfigurations It is supported, but it is not useful in most cases. As mentioned [here](../scanner/misconfiguration/index.md), Trivy mainly supports Infrastructure as Code (IaC) files for misconfigurations. -If your container image includes IaC files such as Kubernetes YAML files or Terraform files, you should enable this feature with `--scanners config`. +If your container image includes IaC files such as Kubernetes YAML files or Terraform files, you should enable this feature with `--scanners misconfig`. ``` -$ trivy image --scanners config [YOUR_IMAGE_NAME] +$ trivy image --scanners misconfig [YOUR_IMAGE_NAME] ``` ### Secrets diff --git a/docs/docs/target/filesystem.md b/docs/docs/target/filesystem.md index cb1210dc42fd..72e47f0e0c5e 100644 --- a/docs/docs/target/filesystem.md +++ b/docs/docs/target/filesystem.md @@ -65,11 +65,11 @@ Total: 10 (UNKNOWN: 2, LOW: 0, MEDIUM: 6, HIGH: 2, CRITICAL: 0)
### Misconfigurations -It is disabled by default and can be enabled with `--scanners config`. +It is disabled by default and can be enabled with `--scanners misconfig`. See [here](../scanner/misconfiguration/index.md) for the detail. ```shell -$ trivy fs --scanners config /path/to/project +$ trivy fs --scanners misconfig /path/to/project ``` ### Secrets diff --git a/docs/docs/target/repository.md b/docs/docs/target/repository.md index 497bffc9e0db..a4385825e33f 100644 --- a/docs/docs/target/repository.md +++ b/docs/docs/target/repository.md @@ -82,11 +82,11 @@ Total: 10 (UNKNOWN: 2, LOW: 0, MEDIUM: 6, HIGH: 2, CRITICAL: 0)
### Misconfigurations -It is disabled by default and can be enabled with `--scanners config`. +It is disabled by default and can be enabled with `--scanners misconfig`. See [here](../scanner/misconfiguration/index.md) for the detail. ```shell -$ trivy repo --scanners config (REPO_PATH | REPO_URL) +$ trivy repo --scanners misconfig (REPO_PATH | REPO_URL) ``` ### Secrets diff --git a/docs/docs/target/vm.md b/docs/docs/target/vm.md index 0bf616200104..b0dc23e9c507 100644 --- a/docs/docs/target/vm.md +++ b/docs/docs/target/vm.md @@ -153,10 +153,10 @@ $ trivy vm [YOUR_VM_IMAGE] ### Misconfigurations It is supported, but it is not useful in most cases. As mentioned [here](../scanner/misconfiguration/index.md), Trivy mainly supports Infrastructure as Code (IaC) files for misconfigurations. -If your VM image includes IaC files such as Kubernetes YAML files or Terraform files, you should enable this feature with `--scanners config`. +If your VM image includes IaC files such as Kubernetes YAML files or Terraform files, you should enable this feature with `--scanners misconfig`. ``` -$ trivy vm --scanners config [YOUR_VM_IMAGE] +$ trivy vm --scanners misconfig [YOUR_VM_IMAGE] ``` ### Secrets diff --git a/docs/index.md b/docs/index.md index 41711eaf20be..1fa90f8c65be 100644 --- a/docs/index.md +++ b/docs/index.md @@ -82,7 +82,7 @@ trivy image python:3.4-alpine
```bash -trivy fs --scanners vuln,secret,config myproject/ +trivy fs --scanners vuln,secret,misconfig myproject/ ```
diff --git a/docs/tutorials/integrations/gitlab-ci.md b/docs/tutorials/integrations/gitlab-ci.md index 1f0f57dbacf7..0cf1e93dbbe9 100644 --- a/docs/tutorials/integrations/gitlab-ci.md +++ b/docs/tutorials/integrations/gitlab-ci.md @@ -150,7 +150,7 @@ trivy: # Image report - ./trivy image --exit-code 0 --format template --template "@contrib/gitlab-codequality.tpl" -o gl-codeclimate-image.json $IMAGE # Filesystem report - - ./trivy filesystem --scanners config,vuln --exit-code 0 --format template --template "@contrib/gitlab-codequality.tpl" -o gl-codeclimate-fs.json . + - ./trivy filesystem --scanners misconfig,vuln --exit-code 0 --format template --template "@contrib/gitlab-codequality.tpl" -o gl-codeclimate-fs.json . # Combine report - apk update && apk add jq - jq -s 'add' gl-codeclimate-image.json gl-codeclimate-fs.json > gl-codeclimate.json diff --git a/docs/tutorials/misconfiguration/terraform.md b/docs/tutorials/misconfiguration/terraform.md index 7950e6405fe0..49d5156a191e 100644 --- a/docs/tutorials/misconfiguration/terraform.md +++ b/docs/tutorials/misconfiguration/terraform.md @@ -97,7 +97,7 @@ We have lots of examples in the [documentation](https://aquasecurity.github.io/t The `trivy config` command does not perform secrete and vulnerability checks out of the box. However, you can specify as part of your `trivy fs` scan that you would like to scan you terraform files for exposed secrets and misconfiguraction through the following flags: ``` -trivy fs --scanners secret,config ./ +trivy fs --scanners secret,misconfig ./ ``` The `trivy config` command is a sub-command of the `trivy fs` command. You can learn more about this command in the [documentation.](https://aquasecurity.github.io/trivy/latest/docs/target/filesystem/) diff --git a/integration/repo_test.go b/integration/repo_test.go index d0921cdd6740..03dac4293c30 100644 --- a/integration/repo_test.go +++ b/integration/repo_test.go @@ -360,10 +360,10 @@ func TestRepository(t *testing.T) { }, }, { - name: "dockerfile with fs subcommand", + name: "dockerfile with fs subcommand and an alias scanner", args: args{ command: "fs", - scanner: types.MisconfigScanner, + scanner: "config", // for backward compatibility policyPaths: []string{"testdata/fixtures/repo/custom-policy/policy"}, namespaces: []string{"user"}, input: "testdata/fixtures/repo/custom-policy", diff --git a/pkg/flag/misconf_flags.go b/pkg/flag/misconf_flags.go index 74e18113433d..3023ed48615a 100644 --- a/pkg/flag/misconf_flags.go +++ b/pkg/flag/misconf_flags.go @@ -23,7 +23,7 @@ var ( Name: "include-non-failures", ConfigName: "misconfiguration.include-non-failures", Default: false, - Usage: "include successes and exceptions, available with '--scanners config'", + Usage: "include successes and exceptions, available with '--scanners misconfig'", } HelmValuesFileFlag = Flag{ Name: "helm-values", diff --git a/pkg/flag/options.go b/pkg/flag/options.go index a5c5b2355f82..b231705f50da 100644 --- a/pkg/flag/options.go +++ b/pkg/flag/options.go @@ -41,6 +41,10 @@ type Flag struct { // It currently supports string flags and string slice flags only. Values []string + // ValueNormalize is a function to normalize the value. + // It can be used for aliases, etc. + ValueNormalize func(string) string + // Usage explains how to use the flag. Usage string @@ -203,13 +207,13 @@ func addFlag(cmd *cobra.Command, flag *Flag) { if len(flag.Values) > 0 { usage += fmt.Sprintf(" (%s)", strings.Join(flag.Values, ",")) } - flags.VarP(newCustomStringValue(v, flag.Values), flag.Name, flag.Shorthand, usage) + flags.VarP(newCustomStringValue(v, flag.Values, flag.ValueNormalize), flag.Name, flag.Shorthand, usage) case []string: usage := flag.Usage if len(flag.Values) > 0 { usage += fmt.Sprintf(" (%s)", strings.Join(flag.Values, ",")) } - flags.VarP(newCustomStringSliceValue(v, flag.Values), flag.Name, flag.Shorthand, usage) + flags.VarP(newCustomStringSliceValue(v, flag.Values, flag.ValueNormalize), flag.Name, flag.Shorthand, usage) case bool: flags.BoolP(flag.Name, flag.Shorthand, v, flag.Usage) case time.Duration: diff --git a/pkg/flag/options_test.go b/pkg/flag/options_test.go index 6c84ae7d9813..f3a76d177730 100644 --- a/pkg/flag/options_test.go +++ b/pkg/flag/options_test.go @@ -53,7 +53,7 @@ func Test_getStringSlice(t *testing.T) { flag: &ScannersFlag, env: env{ key: "TRIVY_SECURITY_CHECKS", - value: "rbac,config", + value: "rbac,misconfig", }, want: []string{ string(types.RBACScanner), diff --git a/pkg/flag/scan_flags.go b/pkg/flag/scan_flags.go index 66280ecb255e..07623a04fe70 100644 --- a/pkg/flag/scan_flags.go +++ b/pkg/flag/scan_flags.go @@ -37,6 +37,15 @@ var ( types.SecretScanner, types.LicenseScanner, }), + ValueNormalize: func(s string) string { + switch s { + case "vulnerability": + return string(types.VulnerabilityScanner) + case "config", "misconf", "misconfiguration": + return string(types.MisconfigScanner) + } + return s + }, Aliases: []Alias{ { Name: "security-checks", diff --git a/pkg/flag/scan_flags_test.go b/pkg/flag/scan_flags_test.go index 1490ea3bf42f..7c9d2ba42457 100644 --- a/pkg/flag/scan_flags_test.go +++ b/pkg/flag/scan_flags_test.go @@ -38,7 +38,7 @@ func TestScanFlagGroup_ToOptions(t *testing.T) { name: "happy path for configs", args: []string{"alpine:latest"}, fields: fields{ - scanners: "config", + scanners: "misconfig", }, want: flag.ScanOptions{ Target: "alpine:latest", diff --git a/pkg/flag/value.go b/pkg/flag/value.go index 47a8236dbbad..45108fe7f556 100644 --- a/pkg/flag/value.go +++ b/pkg/flag/value.go @@ -3,24 +3,32 @@ package flag import ( "strings" + "github.com/samber/lo" "golang.org/x/exp/slices" "golang.org/x/xerrors" ) +type ValueNormalizeFunc func(string) string + // -- string Value type customStringValue struct { - value *string - allowed []string + value *string + allowed []string + normalize ValueNormalizeFunc } -func newCustomStringValue(val string, allowed []string) *customStringValue { +func newCustomStringValue(val string, allowed []string, fn ValueNormalizeFunc) *customStringValue { return &customStringValue{ - value: &val, - allowed: allowed, + value: &val, + allowed: allowed, + normalize: fn, } } func (s *customStringValue) Set(val string) error { + if s.normalize != nil { + val = s.normalize(val) + } if len(s.allowed) > 0 && !slices.Contains(s.allowed, val) { return xerrors.Errorf("must be one of %q", s.allowed) } @@ -35,20 +43,25 @@ func (s *customStringValue) String() string { return *s.value } // -- stringSlice Value type customStringSliceValue struct { - value *[]string - allowed []string - changed bool + value *[]string + allowed []string + normalize ValueNormalizeFunc + changed bool } -func newCustomStringSliceValue(val, allowed []string) *customStringSliceValue { +func newCustomStringSliceValue(val, allowed []string, fn ValueNormalizeFunc) *customStringSliceValue { return &customStringSliceValue{ - value: &val, - allowed: allowed, + value: &val, + allowed: allowed, + normalize: fn, } } func (s *customStringSliceValue) Set(val string) error { values := strings.Split(val, ",") + if s.normalize != nil { + values = lo.Map(values, func(item string, _ int) string { return s.normalize(item) }) + } for _, v := range values { if len(s.allowed) > 0 && !slices.Contains(s.allowed, v) { return xerrors.Errorf("must be one of %q", s.allowed) diff --git a/pkg/types/target.go b/pkg/types/target.go index f302505bc1b6..134bded69cd7 100644 --- a/pkg/types/target.go +++ b/pkg/types/target.go @@ -33,7 +33,7 @@ const ( VulnerabilityScanner = Scanner("vuln") // MisconfigScanner is the scanner of misconfigurations - MisconfigScanner = Scanner("config") + MisconfigScanner = Scanner("misconfig") // SecretScanner is the scanner of secrets SecretScanner = Scanner("secret") From d005f5af24b814eadf34a460b6b0a6dc703cf7f8 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Wed, 15 Nov 2023 12:06:49 +0900 Subject: [PATCH 123/338] test: mock RPM DB (#5567) Signed-off-by: knqyf263 --- pkg/fanal/analyzer/pkg/rpm/rpm.go | 19 +- pkg/fanal/analyzer/pkg/rpm/rpm_test.go | 695 ++++-------------- pkg/fanal/analyzer/pkg/rpm/testdata/valid_big | Bin 8794112 -> 0 bytes .../rpm/testdata/valid_with_modularitylabel | Bin 20533248 -> 0 bytes 4 files changed, 168 insertions(+), 546 deletions(-) delete mode 100644 pkg/fanal/analyzer/pkg/rpm/testdata/valid_big delete mode 100644 pkg/fanal/analyzer/pkg/rpm/testdata/valid_with_modularitylabel diff --git a/pkg/fanal/analyzer/pkg/rpm/rpm.go b/pkg/fanal/analyzer/pkg/rpm/rpm.go index ca6e71f1cfe8..4a4911f46ccb 100644 --- a/pkg/fanal/analyzer/pkg/rpm/rpm.go +++ b/pkg/fanal/analyzer/pkg/rpm/rpm.go @@ -63,6 +63,10 @@ var osVendors = []string{ type rpmPkgAnalyzer struct{} +type RPMDB interface { + ListPackages() ([]*rpmdb.PackageInfo, error) +} + func (a rpmPkgAnalyzer) Analyze(_ context.Context, input analyzer.AnalysisInput) (*analyzer.AnalysisResult, error) { parsedPkgs, installedFiles, err := a.parsePkgInfo(input.Content) if err != nil { @@ -93,7 +97,12 @@ func (a rpmPkgAnalyzer) parsePkgInfo(rc io.Reader) (types.Packages, []string, er if err != nil { return nil, nil, xerrors.Errorf("failed to open RPM DB: %w", err) } + defer db.Close() + + return a.listPkgs(db) +} +func (a rpmPkgAnalyzer) listPkgs(db RPMDB) (types.Packages, []string, error) { // equivalent: // new version: rpm -qa --qf "%{NAME} %{EPOCHNUM} %{VERSION} %{RELEASE} %{SOURCERPM} %{ARCH}\n" // old version: rpm -qa --qf "%{NAME} %{EPOCH} %{VERSION} %{RELEASE} %{SOURCERPM} %{ARCH}\n" @@ -129,6 +138,9 @@ func (a rpmPkgAnalyzer) parsePkgInfo(rc io.Reader) (types.Packages, []string, er if err != nil { return nil, nil, xerrors.Errorf("unable to get installed files: %w", err) } + files = lo.Map(files, func(file string, _ int) string { + return filepath.ToSlash(file) + }) } // RPM DB uses MD5 digest @@ -138,6 +150,11 @@ func (a rpmPkgAnalyzer) parsePkgInfo(rc io.Reader) (types.Packages, []string, er d = digest.NewDigestFromString(digest.MD5, pkg.SigMD5) } + var licenses []string + if pkg.License != "" { + licenses = []string{pkg.License} + } + p := types.Package{ ID: fmt.Sprintf("%s@%s-%s.%s", pkg.Name, pkg.Version, pkg.Release, pkg.Arch), Name: pkg.Name, @@ -150,7 +167,7 @@ func (a rpmPkgAnalyzer) parsePkgInfo(rc io.Reader) (types.Packages, []string, er SrcVersion: srcVer, SrcRelease: srcRel, Modularitylabel: pkg.Modularitylabel, - Licenses: []string{pkg.License}, + Licenses: licenses, DependsOn: pkg.Requires, // Will be replaced with package IDs Maintainer: pkg.Vendor, Digest: d, diff --git a/pkg/fanal/analyzer/pkg/rpm/rpm_test.go b/pkg/fanal/analyzer/pkg/rpm/rpm_test.go index 9cb29cbb09b6..d5888b8574d6 100644 --- a/pkg/fanal/analyzer/pkg/rpm/rpm_test.go +++ b/pkg/fanal/analyzer/pkg/rpm/rpm_test.go @@ -1,564 +1,67 @@ package rpm import ( + "context" + "errors" + "github.com/aquasecurity/trivy/pkg/fanal/analyzer" + "github.com/aquasecurity/trivy/pkg/fanal/types" + rpmdb "github.com/knqyf263/go-rpmdb/pkg" + "github.com/samber/lo" + "github.com/stretchr/testify/require" "os" - "sort" + "strings" "testing" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "github.com/aquasecurity/trivy/pkg/fanal/types" ) -func TestParseRpmInfo(t *testing.T) { - var tests = map[string]struct { - path string - pkgs types.Packages +type mockRPMDB struct { + packages []*rpmdb.PackageInfo + err error +} + +func (m *mockRPMDB) ListPackages() ([]*rpmdb.PackageInfo, error) { + if m.err != nil { + return nil, m.err + } + return m.packages, nil +} + +func Test_rpmPkgAnalyzer_Analyze(t *testing.T) { + tests := []struct { + name string + input analyzer.AnalysisInput + want int + wantErr string }{ - "Valid": { - path: "./testdata/valid", - // cp ./testdata/valid /path/to/testdir/Packages - // rpm -qa --dbpath /path/to/testdir --queryformat "\{Name: \"%{NAME}\", Epoch: %{RPMTAG_EPOCHNUM}, Version: \"%{VERSION}\", Release: \"%{RELEASE}\", Arch: \"%{ARCH}\", Modularitylabel: \"%{RPMTAG_MODULARITYLABEL}\", Licenses: \[\]string\{\"%{LICENSE}\"\}, Maintainer: \"%{RPMTAG_VENDOR}\", Digest: \"md5:%{SIGMD5}\",\n" | sed "s/(none)//g" > 1.txt - // rpm -qa --dbpath /path/to/testdir --queryformat "%{SOURCERPM}-%{RPMTAG_EPOCHNUM}\n" | awk -F"-" '{printf("SrcName: \""$0"\", SrcEpoch: "$NF", SrcVersion: \""$(NF-2)"\", SrcRelease: \""$(NF-1)"\"},\n")}' | sed -E 's/-[0-9.]+-.+.src.rpm-[0-9]//' | sed 's/.src.rpm//g' > 2.txt - // paste -d " " 1.txt 2.txt - pkgs: []types.Package{ - {Name: "centos-release", Epoch: 0, Version: "7", Release: "1.1503.el7.centos.2.8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:2eadb70af954964e77c9bc548a15d9f9", SrcName: "centos-release", SrcEpoch: 0, SrcVersion: "7", SrcRelease: "1.1503.el7.centos.2.8"}, - {Name: "filesystem", Epoch: 0, Version: "3.2", Release: "18.el7", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:8f701812eb72ce660122437a4ac730cc", SrcName: "filesystem", SrcEpoch: 0, SrcVersion: "3.2", SrcRelease: "18.el7"}, - }, - }, - "ValidBig": { - path: "./testdata/valid_big", - // cp ./testdata/valid_big /path/to/testdir/Packages - // rpm -qa --dbpath /path/to/testdir --queryformat "\{Name: \"%{NAME}\", Epoch: %{RPMTAG_EPOCHNUM}, Version: \"%{VERSION}\", Release: \"%{RELEASE}\", Arch: \"%{ARCH}\", Modularitylabel: \"%{RPMTAG_MODULARITYLABEL}\", Licenses: \[\]string\{\"%{LICENSE}\"\}, Maintainer: \"%{RPMTAG_VENDOR}\", Digest: \"md5:%{SIGMD5}\",\n" | sed "s/(none)//g" > 1.txt - // rpm -qa --dbpath /path/to/testdir --queryformat "%{SOURCERPM}-%{RPMTAG_EPOCHNUM}\n" | awk -F"-" '{printf("SrcName: \""$0"\", SrcEpoch: "$NF", SrcVersion: \""$(NF-2)"\", SrcRelease: \""$(NF-1)"\"},\n")}' | sed -E 's/-[0-9.]+-.+.src.rpm-[0-9]//' | sed 's/.src.rpm//g' > 2.txt - // paste -d " " 1.txt 2.txt - pkgs: []types.Package{ - {Name: "publicsuffix-list-dafsa", Epoch: 0, Version: "20180514", Release: "1.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "Fedora Project", Digest: "md5:13fd895f6eb5b3c2ef15045f2e220777", SrcName: "publicsuffix-list", SrcEpoch: 0, SrcVersion: "20180514", SrcRelease: "1.fc28"}, - {Name: "libreport-filesystem", Epoch: 0, Version: "2.9.5", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:c595e91aebcebbc1c7465dfe13426f0c", SrcName: "libreport", SrcEpoch: 0, SrcVersion: "2.9.5", SrcRelease: "1.fc28"}, - {Name: "fedora-gpg-keys", Epoch: 0, Version: "28", Release: "5", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:4e4cae145b53af62ee15d4cc621b60e9", SrcName: "fedora-repos", SrcEpoch: 0, SrcVersion: "28", SrcRelease: "5"}, - {Name: "fedora-release", Epoch: 0, Version: "28", Release: "2", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:3707b27e2ac3d5bcdefcddd9d92e5b53", SrcName: "fedora-release", SrcEpoch: 0, SrcVersion: "28", SrcRelease: "2"}, - {Name: "filesystem", Epoch: 0, Version: "3.8", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:cde59860e2772e9c64eb45b9f0d574d9", SrcName: "filesystem", SrcEpoch: 0, SrcVersion: "3.8", SrcRelease: "2.fc28"}, - {Name: "tzdata", Epoch: 0, Version: "2018e", Release: "1.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:bab8f9f16582030cbafc071512c6a6af", SrcName: "tzdata", SrcEpoch: 0, SrcVersion: "2018e", SrcRelease: "1.fc28"}, - {Name: "pcre2", Epoch: 0, Version: "10.31", Release: "10.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:b1f02e8b3f97058fbdba232a52e28213", SrcName: "pcre2", SrcEpoch: 0, SrcVersion: "10.31", SrcRelease: "10.fc28"}, - {Name: "glibc-minimal-langpack", Epoch: 0, Version: "2.27", Release: "32.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL"}, Maintainer: "Fedora Project", Digest: "md5:4e3741ca11df14c5bea06ad296510f59", SrcName: "glibc", SrcEpoch: 0, SrcVersion: "2.27", SrcRelease: "32.fc28"}, - {Name: "glibc-common", Epoch: 0, Version: "2.27", Release: "32.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL"}, Maintainer: "Fedora Project", Digest: "md5:3b6df3648d3469d4132f78745df9fad3", SrcName: "glibc", SrcEpoch: 0, SrcVersion: "2.27", SrcRelease: "32.fc28"}, - {Name: "bash", Epoch: 0, Version: "4.4.23", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:8849efa6e833effbe09d0fa08ed3c303", SrcName: "bash", SrcEpoch: 0, SrcVersion: "4.4.23", SrcRelease: "1.fc28"}, - {Name: "zlib", Epoch: 0, Version: "1.2.11", Release: "8.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"zlib and Boost"}, Maintainer: "Fedora Project", Digest: "md5:7a2dca79693b19ad8e42c7999cf61552", SrcName: "zlib", SrcEpoch: 0, SrcVersion: "1.2.11", SrcRelease: "8.fc28"}, - {Name: "bzip2-libs", Epoch: 0, Version: "1.0.6", Release: "26.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:1e021b45db1fbade03d37f43131d5624", SrcName: "bzip2", SrcEpoch: 0, SrcVersion: "1.0.6", SrcRelease: "26.fc28"}, - {Name: "libcap", Epoch: 0, Version: "2.25", Release: "9.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "Fedora Project", Digest: "md5:4518daad07126037cf776e303278799d", SrcName: "libcap", SrcEpoch: 0, SrcVersion: "2.25", SrcRelease: "9.fc28"}, - {Name: "libgpg-error", Epoch: 0, Version: "1.31", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:1dcdf8ec34984a2ecb78893eab1751da", SrcName: "libgpg-error", SrcEpoch: 0, SrcVersion: "1.31", SrcRelease: "1.fc28"}, - {Name: "libzstd", Epoch: 0, Version: "1.3.5", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and GPLv2"}, Maintainer: "Fedora Project", Digest: "md5:2d6a9322d62140d6bf8d2eac4228ea4b", SrcName: "zstd", SrcEpoch: 0, SrcVersion: "1.3.5", SrcRelease: "1.fc28"}, - {Name: "expat", Epoch: 0, Version: "2.2.5", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:9fde9e0f69fd49801da2a6884c1a5f60", SrcName: "expat", SrcEpoch: 0, SrcVersion: "2.2.5", SrcRelease: "3.fc28"}, - {Name: "nss-util", Epoch: 0, Version: "3.38.0", Release: "1.0.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "Fedora Project", Digest: "md5:8afbc3c6148a05e1ccc5ea7073adc377", SrcName: "nss-util", SrcEpoch: 0, SrcVersion: "3.38.0", SrcRelease: "1.0.fc28"}, - {Name: "libcom_err", Epoch: 0, Version: "1.44.2", Release: "0.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:adf1fd36edbe4f678a5bb6eb9829d1a3", SrcName: "e2fsprogs", SrcEpoch: 0, SrcVersion: "1.44.2", SrcRelease: "0.fc28"}, - {Name: "libffi", Epoch: 0, Version: "3.1", Release: "16.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:a360a17e7547b6661ab7bdb00fbef011", SrcName: "libffi", SrcEpoch: 0, SrcVersion: "3.1", SrcRelease: "16.fc28"}, - {Name: "libgcrypt", Epoch: 0, Version: "1.8.3", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:538afec59f776a8b7c6ecac251c7a592", SrcName: "libgcrypt", SrcEpoch: 0, SrcVersion: "1.8.3", SrcRelease: "1.fc28"}, - {Name: "libxml2", Epoch: 0, Version: "2.9.8", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:87aff1711a3a002493efb048bcd82433", SrcName: "libxml2", SrcEpoch: 0, SrcVersion: "2.9.8", SrcRelease: "4.fc28"}, - {Name: "libacl", Epoch: 0, Version: "2.2.53", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:948505b4f6b7873e070340bef6f37aac", SrcName: "acl", SrcEpoch: 0, SrcVersion: "2.2.53", SrcRelease: "1.fc28"}, - {Name: "sed", Epoch: 0, Version: "4.5", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:62f9dfcf1e032617111238569a4cb549", SrcName: "sed", SrcEpoch: 0, SrcVersion: "4.5", SrcRelease: "1.fc28"}, - {Name: "libmount", Epoch: 0, Version: "2.32.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:df960e8fb1a5eaebec58b0ec17e097a9", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "1.fc28"}, - {Name: "p11-kit", Epoch: 0, Version: "0.23.12", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:3fb0875e409f4530a132289ccf4bc5fb", SrcName: "p11-kit", SrcEpoch: 0, SrcVersion: "0.23.12", SrcRelease: "1.fc28"}, - {Name: "libidn2", Epoch: 0, Version: "2.0.5", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPLv2+ or LGPLv3+) and GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:46c6bd7103d10e4ba23458f61c56d9ba", SrcName: "libidn2", SrcEpoch: 0, SrcVersion: "2.0.5", SrcRelease: "1.fc28"}, - {Name: "libcap-ng", Epoch: 0, Version: "0.7.9", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:ec88100d3579fcdcfbf85095a85b6b9a", SrcName: "libcap-ng", SrcEpoch: 0, SrcVersion: "0.7.9", SrcRelease: "4.fc28"}, - {Name: "lz4-libs", Epoch: 0, Version: "1.8.1.2", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and BSD"}, Maintainer: "Fedora Project", Digest: "md5:4dccfb6692b54bd995455aba81c6301c", SrcName: "lz4", SrcEpoch: 0, SrcVersion: "1.8.1.2", SrcRelease: "4.fc28"}, - {Name: "libassuan", Epoch: 0, Version: "2.5.1", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:cb3ad31e3bdb7c4a6f6486d45ca0a6b1", SrcName: "libassuan", SrcEpoch: 0, SrcVersion: "2.5.1", SrcRelease: "3.fc28"}, - {Name: "keyutils-libs", Epoch: 0, Version: "1.5.10", Release: "6.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:8582115f8482e34565d78b8c054fdeaf", SrcName: "keyutils", SrcEpoch: 0, SrcVersion: "1.5.10", SrcRelease: "6.fc28"}, - {Name: "glib2", Epoch: 0, Version: "2.56.1", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:60a4da3abc6b4b9e85f517e435d8d6c9", SrcName: "glib2", SrcEpoch: 0, SrcVersion: "2.56.1", SrcRelease: "4.fc28"}, - {Name: "systemd-libs", Epoch: 0, Version: "238", Release: "9.git0e0aa59.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and MIT"}, Maintainer: "Fedora Project", Digest: "md5:cedf8a4a17a04eb646eaab68995be995", SrcName: "systemd", SrcEpoch: 0, SrcVersion: "238", SrcRelease: "9.git0e0aa59.fc28"}, - {Name: "dbus-libs", Epoch: 1, Version: "1.12.10", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPLv2+ or AFL) and GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:7cc0892e9871d2a97a688391c8178560", SrcName: "dbus", SrcEpoch: 1, SrcVersion: "1.12.10", SrcRelease: "1.fc28"}, - {Name: "libtasn1", Epoch: 0, Version: "4.13", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:04014d6ea889d9f818b11950bc2c123e", SrcName: "libtasn1", SrcEpoch: 0, SrcVersion: "4.13", SrcRelease: "2.fc28"}, - {Name: "ca-certificates", Epoch: 0, Version: "2018.2.24", Release: "1.0.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:ea5c49c0c8a319c94f260ee07c23b1cf", SrcName: "ca-certificates", SrcEpoch: 0, SrcVersion: "2018.2.24", SrcRelease: "1.0.fc28"}, - {Name: "libarchive", Epoch: 0, Version: "3.3.1", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:ef366c4a5a532e07297569fe57520648", SrcName: "libarchive", SrcEpoch: 0, SrcVersion: "3.3.1", SrcRelease: "4.fc28"}, - {Name: "openssl", Epoch: 1, Version: "1.1.0h", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"OpenSSL"}, Maintainer: "Fedora Project", Digest: "md5:26a9553c1706ede95925f32215ba9a60", SrcName: "openssl", SrcEpoch: 1, SrcVersion: "1.1.0h", SrcRelease: "3.fc28"}, - {Name: "libusbx", Epoch: 0, Version: "1.0.22", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:0a5650b09182d2b0134ee832acd5432e", SrcName: "libusbx", SrcEpoch: 0, SrcVersion: "1.0.22", SrcRelease: "1.fc28"}, - {Name: "libsemanage", Epoch: 0, Version: "2.8", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:5c29e3e9ed089e3fedf7298dabe503fd", SrcName: "libsemanage", SrcEpoch: 0, SrcVersion: "2.8", SrcRelease: "2.fc28"}, - {Name: "libutempter", Epoch: 0, Version: "1.1.6", Release: "14.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:ccfd737faad3d1be60f4c21839f5a9af", SrcName: "libutempter", SrcEpoch: 0, SrcVersion: "1.1.6", SrcRelease: "14.fc28"}, - {Name: "mpfr", Epoch: 0, Version: "3.1.6", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+ and GPLv3+ and GFDL"}, Maintainer: "Fedora Project", Digest: "md5:a1339297aae3e31e8e1b1de00f793000", SrcName: "mpfr", SrcEpoch: 0, SrcVersion: "3.1.6", SrcRelease: "1.fc28"}, - {Name: "gnutls", Epoch: 0, Version: "3.6.3", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:6c813ffeecd51d2298766d86859395ca", SrcName: "gnutls", SrcEpoch: 0, SrcVersion: "3.6.3", SrcRelease: "4.fc28"}, - {Name: "gzip", Epoch: 0, Version: "1.9", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GFDL"}, Maintainer: "Fedora Project", Digest: "md5:efc5209278a36c1b62ee770a95e59929", SrcName: "gzip", SrcEpoch: 0, SrcVersion: "1.9", SrcRelease: "3.fc28"}, - {Name: "acl", Epoch: 0, Version: "2.2.53", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:9f72a1f855b12dc038e3f4921c50db92", SrcName: "acl", SrcEpoch: 0, SrcVersion: "2.2.53", SrcRelease: "1.fc28"}, - {Name: "nss-softokn-freebl", Epoch: 0, Version: "3.38.0", Release: "1.0.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "Fedora Project", Digest: "md5:e6eb1777436169f45799122ce5f9b427", SrcName: "nss-softokn", SrcEpoch: 0, SrcVersion: "3.38.0", SrcRelease: "1.0.fc28"}, - {Name: "nss", Epoch: 0, Version: "3.38.0", Release: "1.0.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "Fedora Project", Digest: "md5:bdd5b0f15a3ffce682979a9379d119d1", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.38.0", SrcRelease: "1.0.fc28"}, - {Name: "libmetalink", Epoch: 0, Version: "0.1.3", Release: "6.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:0b24a2205fff4c591e60c85dbd4dd67a", SrcName: "libmetalink", SrcEpoch: 0, SrcVersion: "0.1.3", SrcRelease: "6.fc28"}, - {Name: "libdb-utils", Epoch: 0, Version: "5.3.28", Release: "30.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and LGPLv2 and Sleepycat"}, Maintainer: "Fedora Project", Digest: "md5:8882fd2692a31eab11c2c1b35ff3717b", SrcName: "libdb", SrcEpoch: 0, SrcVersion: "5.3.28", SrcRelease: "30.fc28"}, - {Name: "file-libs", Epoch: 0, Version: "5.33", Release: "7.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:a946dfa89d79a10ff01b069bc1435dca", SrcName: "file", SrcEpoch: 0, SrcVersion: "5.33", SrcRelease: "7.fc28"}, - {Name: "libsss_idmap", Epoch: 0, Version: "1.16.3", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:ce3bea5356bcd30e4719571136134e71", SrcName: "sssd", SrcEpoch: 0, SrcVersion: "1.16.3", SrcRelease: "2.fc28"}, - {Name: "libsigsegv", Epoch: 0, Version: "2.11", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:b6b8636eb9487e009c872b86eb402657", SrcName: "libsigsegv", SrcEpoch: 0, SrcVersion: "2.11", SrcRelease: "5.fc28"}, - {Name: "krb5-libs", Epoch: 0, Version: "1.16.1", Release: "13.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:254a145d149c83917f97cb9545a68d9f", SrcName: "krb5", SrcEpoch: 0, SrcVersion: "1.16.1", SrcRelease: "13.fc28"}, - {Name: "libnsl2", Epoch: 0, Version: "1.2.0", Release: "2.20180605git4a062cf.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:971bc2ad15942d7f575c6ff7940d9c88", SrcName: "libnsl2", SrcEpoch: 0, SrcVersion: "1.2.0", SrcRelease: "2.20180605git4a062cf.fc28"}, - {Name: "python3-pip", Epoch: 0, Version: "9.0.3", Release: "2.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:bd24b8294b63337092d3b6f7bca57f1c", SrcName: "python-pip", SrcEpoch: 0, SrcVersion: "9.0.3", SrcRelease: "2.fc28"}, - {Name: "python3", Epoch: 0, Version: "3.6.6", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Python"}, Maintainer: "Fedora Project", Digest: "md5:a6407bed66cf643b299233c536265ffc", SrcName: "python3", SrcEpoch: 0, SrcVersion: "3.6.6", SrcRelease: "1.fc28"}, - {Name: "pam", Epoch: 0, Version: "1.3.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:e7ff450a56bf9534cbc9f2681964e49f", SrcName: "pam", SrcEpoch: 0, SrcVersion: "1.3.1", SrcRelease: "1.fc28"}, - {Name: "python3-gobject-base", Epoch: 0, Version: "3.28.3", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and MIT"}, Maintainer: "Fedora Project", Digest: "md5:ddde5ae6a33bc0e7a3228e768e46c0ac", SrcName: "pygobject3", SrcEpoch: 0, SrcVersion: "3.28.3", SrcRelease: "1.fc28"}, - {Name: "python3-smartcols", Epoch: 0, Version: "0.3.0", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:06a8b79d535a16ca0dd000f1c56731e7", SrcName: "python-smartcols", SrcEpoch: 0, SrcVersion: "0.3.0", SrcRelease: "2.fc28"}, - {Name: "python3-iniparse", Epoch: 0, Version: "0.4", Release: "30.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT and Python"}, Maintainer: "Fedora Project", Digest: "md5:32cce6047f9ec5ae4e993193e3f6bee1", SrcName: "python-iniparse", SrcEpoch: 0, SrcVersion: "0.4", SrcRelease: "30.fc28"}, - {Name: "openldap", Epoch: 0, Version: "2.4.46", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"OpenLDAP"}, Maintainer: "Fedora Project", Digest: "md5:c98aaadc1c628656c7f90a18759da517", SrcName: "openldap", SrcEpoch: 0, SrcVersion: "2.4.46", SrcRelease: "3.fc28"}, - {Name: "libseccomp", Epoch: 0, Version: "2.3.3", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2"}, Maintainer: "Fedora Project", Digest: "md5:26c6a917063d5654083974de6734112d", SrcName: "libseccomp", SrcEpoch: 0, SrcVersion: "2.3.3", SrcRelease: "2.fc28"}, - {Name: "npth", Epoch: 0, Version: "1.5", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:026afa87b50e9ec9812501188b6fd998", SrcName: "npth", SrcEpoch: 0, SrcVersion: "1.5", SrcRelease: "4.fc28"}, - {Name: "gpgme", Epoch: 0, Version: "1.10.0", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:5a044754d91ca7d0b4e4428b052de600", SrcName: "gpgme", SrcEpoch: 0, SrcVersion: "1.10.0", SrcRelease: "4.fc28"}, - {Name: "json-c", Epoch: 0, Version: "0.13.1", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:2d0c0ea344c78a2faeab869c9474f900", SrcName: "json-c", SrcEpoch: 0, SrcVersion: "0.13.1", SrcRelease: "2.fc28"}, - {Name: "libyaml", Epoch: 0, Version: "0.1.7", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:4e0f94eba782aa090fe6487142772aba", SrcName: "libyaml", SrcEpoch: 0, SrcVersion: "0.1.7", SrcRelease: "5.fc28"}, - {Name: "libpkgconf", Epoch: 0, Version: "1.4.2", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "Fedora Project", Digest: "md5:5721f7af98fca6a80db3d51fe0ad7312", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.fc28"}, - {Name: "pkgconf-pkg-config", Epoch: 0, Version: "1.4.2", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "Fedora Project", Digest: "md5:f297678d95f451aa7132d15aff3246a7", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.fc28"}, - {Name: "iptables-libs", Epoch: 0, Version: "1.6.2", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2 and Artistic Licence 2.0 and ISC"}, Maintainer: "Fedora Project", Digest: "md5:436c3b926769e66ee6c471295ec03069", SrcName: "iptables", SrcEpoch: 0, SrcVersion: "1.6.2", SrcRelease: "3.fc28"}, - {Name: "device-mapper-libs", Epoch: 0, Version: "1.02.146", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2"}, Maintainer: "Fedora Project", Digest: "md5:04d7f026ae3222f91454908a33a9b030", SrcName: "lvm2", SrcEpoch: 0, SrcVersion: "2.02.177", SrcRelease: "5.fc28"}, - {Name: "systemd-pam", Epoch: 0, Version: "238", Release: "9.git0e0aa59.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and MIT and GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:eb61bc3dd551e9096261751d61f59599", SrcName: "systemd", SrcEpoch: 0, SrcVersion: "238", SrcRelease: "9.git0e0aa59.fc28"}, - {Name: "systemd", Epoch: 0, Version: "238", Release: "9.git0e0aa59.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and MIT and GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:5cf717691cbe7965cb9b66007d8cb6af", SrcName: "systemd", SrcEpoch: 0, SrcVersion: "238", SrcRelease: "9.git0e0aa59.fc28"}, - {Name: "elfutils-default-yama-scope", Epoch: 0, Version: "0.173", Release: "1.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ or LGPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:df83018bdb1dbe9ff48dcecb8a0f6696", SrcName: "elfutils", SrcEpoch: 0, SrcVersion: "0.173", SrcRelease: "1.fc28"}, - {Name: "libcurl", Epoch: 0, Version: "7.59.0", Release: "6.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:bc6fada59774858c98511c28a1aad381", SrcName: "curl", SrcEpoch: 0, SrcVersion: "7.59.0", SrcRelease: "6.fc28"}, - {Name: "python3-librepo", Epoch: 0, Version: "1.8.1", Release: "7.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:e67d38dde04912162900ae0cd30ba871", SrcName: "librepo", SrcEpoch: 0, SrcVersion: "1.8.1", SrcRelease: "7.fc28"}, - {Name: "rpm-plugin-selinux", Epoch: 0, Version: "4.14.1", Release: "9.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:cc86e6bf2d8bf448550c8b65278006d9", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.1", SrcRelease: "9.fc28"}, - {Name: "rpm", Epoch: 0, Version: "4.14.1", Release: "9.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:a4038012a8f482c1cbcb27af42fbca06", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.1", SrcRelease: "9.fc28"}, - {Name: "libdnf", Epoch: 0, Version: "0.11.1", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:07f592ead4364677e6d1a0d7a3c55b82", SrcName: "libdnf", SrcEpoch: 0, SrcVersion: "0.11.1", SrcRelease: "3.fc28"}, - {Name: "rpm-build-libs", Epoch: 0, Version: "4.14.1", Release: "9.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+ with exceptions"}, Maintainer: "Fedora Project", Digest: "md5:e0a88c9a5e2d7e63af38eb5376aeeff8", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.1", SrcRelease: "9.fc28"}, - {Name: "python3-rpm", Epoch: 0, Version: "4.14.1", Release: "9.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:147e27b17f631923e5518c340a425909", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.1", SrcRelease: "9.fc28"}, - {Name: "dnf", Epoch: 0, Version: "2.7.5", Release: "12.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GPLv2 and GPL"}, Maintainer: "Fedora Project", Digest: "md5:bd88715ed29242ad4306a98df0ad531a", SrcName: "dnf", SrcEpoch: 0, SrcVersion: "2.7.5", SrcRelease: "12.fc28"}, - {Name: "deltarpm", Epoch: 0, Version: "3.6", Release: "25.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:e7e9ed52b29cb90390af12f7854171af", SrcName: "deltarpm", SrcEpoch: 0, SrcVersion: "3.6", SrcRelease: "25.fc28"}, - {Name: "sssd-client", Epoch: 0, Version: "1.16.3", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:65132a690812808d55d37f060d4e46c0", SrcName: "sssd", SrcEpoch: 0, SrcVersion: "1.16.3", SrcRelease: "2.fc28"}, - {Name: "cracklib-dicts", Epoch: 0, Version: "2.9.6", Release: "13.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:05f6ece3e3c711fc56b860f4489c829d", SrcName: "cracklib", SrcEpoch: 0, SrcVersion: "2.9.6", SrcRelease: "13.fc28"}, - {Name: "tar", Epoch: 2, Version: "1.30", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:ea2a310b216d89abc0cab39cc2d1ac77", SrcName: "tar", SrcEpoch: 2, SrcVersion: "1.30", SrcRelease: "3.fc28"}, - {Name: "diffutils", Epoch: 0, Version: "3.6", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:ed08723b1610b914fd87ec36271fffc5", SrcName: "diffutils", SrcEpoch: 0, SrcVersion: "3.6", SrcRelease: "4.fc28"}, - {Name: "langpacks-en", Epoch: 0, Version: "1.0", Release: "12.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:926a126cefbdaad1bf20a46984fd5891", SrcName: "langpacks", SrcEpoch: 0, SrcVersion: "1.0", SrcRelease: "12.fc28"}, - {Name: "gpg-pubkey", Epoch: 0, Version: "9db62fb1", Release: "59920156", Arch: "None", Modularitylabel: "", Licenses: []string{"pubkey"}, Maintainer: "", Digest: "", SrcName: "", SrcEpoch: 0, SrcVersion: "", SrcRelease: ""}, - {Name: "libgcc", Epoch: 0, Version: "8.1.1", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD"}, Maintainer: "Fedora Project", Digest: "md5:84352a20bcd304bd78f817bfbe7c13c1", SrcName: "gcc", SrcEpoch: 0, SrcVersion: "8.1.1", SrcRelease: "5.fc28"}, - {Name: "pkgconf-m4", Epoch: 0, Version: "1.4.2", Release: "1.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ with exceptions"}, Maintainer: "Fedora Project", Digest: "md5:c271acc9d36e787c084c50308c3fc06c", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.fc28"}, - {Name: "dnf-conf", Epoch: 0, Version: "2.7.5", Release: "12.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GPLv2 and GPL"}, Maintainer: "Fedora Project", Digest: "md5:50220d930013ef33381d349cd964bcd4", SrcName: "dnf", SrcEpoch: 0, SrcVersion: "2.7.5", SrcRelease: "12.fc28"}, - {Name: "fedora-repos", Epoch: 0, Version: "28", Release: "5", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:c3581989c0096ce0099764d4aa60ef8c", SrcName: "fedora-repos", SrcEpoch: 0, SrcVersion: "28", SrcRelease: "5"}, - {Name: "setup", Epoch: 0, Version: "2.11.4", Release: "1.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:51d1c9b034bde4b27cb105cc09efad78", SrcName: "setup", SrcEpoch: 0, SrcVersion: "2.11.4", SrcRelease: "1.fc28"}, - {Name: "basesystem", Epoch: 0, Version: "11", Release: "5.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:9a4682815de24f51b21232b086db3535", SrcName: "basesystem", SrcEpoch: 0, SrcVersion: "11", SrcRelease: "5.fc28"}, - {Name: "ncurses-base", Epoch: 0, Version: "6.1", Release: "5.20180224.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:7f2aaf7720a07969215fe1a23a090179", SrcName: "ncurses", SrcEpoch: 0, SrcVersion: "6.1", SrcRelease: "5.20180224.fc28"}, - {Name: "libselinux", Epoch: 0, Version: "2.8", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:923f92e5c4bba85713a5a3dfd06656e1", SrcName: "libselinux", SrcEpoch: 0, SrcVersion: "2.8", SrcRelease: "1.fc28"}, - {Name: "ncurses-libs", Epoch: 0, Version: "6.1", Release: "5.20180224.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:e0e0590d378c6a92dc54bbf0e6e22aeb", SrcName: "ncurses", SrcEpoch: 0, SrcVersion: "6.1", SrcRelease: "5.20180224.fc28"}, - {Name: "glibc", Epoch: 0, Version: "2.27", Release: "32.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL"}, Maintainer: "Fedora Project", Digest: "md5:826d5c9c240f4f4caa40e2856bdd2bf6", SrcName: "glibc", SrcEpoch: 0, SrcVersion: "2.27", SrcRelease: "32.fc28"}, - {Name: "libsepol", Epoch: 0, Version: "2.8", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:396caa3e34a4895ab9a399f3d6a6bf4c", SrcName: "libsepol", SrcEpoch: 0, SrcVersion: "2.8", SrcRelease: "1.fc28"}, - {Name: "xz-libs", Epoch: 0, Version: "5.2.4", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:f02af3d27b5312ef030e10ee3f1dc762", SrcName: "xz", SrcEpoch: 0, SrcVersion: "5.2.4", SrcRelease: "2.fc28"}, - {Name: "info", Epoch: 0, Version: "6.5", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:6146023e357c6201b0e1765b9dd988a2", SrcName: "texinfo", SrcEpoch: 0, SrcVersion: "6.5", SrcRelease: "4.fc28"}, - {Name: "libdb", Epoch: 0, Version: "5.3.28", Release: "30.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and LGPLv2 and Sleepycat"}, Maintainer: "Fedora Project", Digest: "md5:8c1ce08d80b2ae50f8d9929a56d3f2f1", SrcName: "libdb", SrcEpoch: 0, SrcVersion: "5.3.28", SrcRelease: "30.fc28"}, - {Name: "elfutils-libelf", Epoch: 0, Version: "0.173", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ or LGPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:d34e7ba3ed7f6d6eded91362840326a6", SrcName: "elfutils", SrcEpoch: 0, SrcVersion: "0.173", SrcRelease: "1.fc28"}, - {Name: "popt", Epoch: 0, Version: "1.16", Release: "14.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:5a7b62c8ec9969e76d0bb03fa2de3c8c", SrcName: "popt", SrcEpoch: 0, SrcVersion: "1.16", SrcRelease: "14.fc28"}, - {Name: "nspr", Epoch: 0, Version: "4.19.0", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "Fedora Project", Digest: "md5:531a0b52f4de1039af8c86bb65c34391", SrcName: "nspr", SrcEpoch: 0, SrcVersion: "4.19.0", SrcRelease: "1.fc28"}, - {Name: "libxcrypt", Epoch: 0, Version: "4.1.2", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and BSD and Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:fdc13ebcc1832ddd86d6935e8cb55c2d", SrcName: "libxcrypt", SrcEpoch: 0, SrcVersion: "4.1.2", SrcRelease: "1.fc28"}, - {Name: "lua-libs", Epoch: 0, Version: "5.3.4", Release: "10.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:f0da7c13dd005e9e6082c2064b0a36cd", SrcName: "lua", SrcEpoch: 0, SrcVersion: "5.3.4", SrcRelease: "10.fc28"}, - {Name: "libuuid", Epoch: 0, Version: "2.32.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:a76da5a5aa56cf31d66581ff43a2629a", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "1.fc28"}, - {Name: "readline", Epoch: 0, Version: "7.0", Release: "11.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:07a436e6d82014e8bdb5a14376957e75", SrcName: "readline", SrcEpoch: 0, SrcVersion: "7.0", SrcRelease: "11.fc28"}, - {Name: "libattr", Epoch: 0, Version: "2.4.48", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:d6f4bf85cf8a1d33a4fe6fbb5ed5db13", SrcName: "attr", SrcEpoch: 0, SrcVersion: "2.4.48", SrcRelease: "3.fc28"}, - {Name: "coreutils-single", Epoch: 0, Version: "8.29", Release: "7.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:9f532cc8c9a619d35d34bb503c4a15b2", SrcName: "coreutils", SrcEpoch: 0, SrcVersion: "8.29", SrcRelease: "7.fc28"}, - {Name: "libblkid", Epoch: 0, Version: "2.32.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:dce635c80efb14ac8541acb93d2b3b49", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "1.fc28"}, - {Name: "gmp", Epoch: 1, Version: "6.1.2", Release: "7.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+ or GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:602014b65fab8b889447bd3bf2791af0", SrcName: "gmp", SrcEpoch: 1, SrcVersion: "6.1.2", SrcRelease: "7.fc28"}, - {Name: "libunistring", Epoch: 0, Version: "0.9.10", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLV2+ or LGPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:e1b8cbbd9032775feddc924209176b6d", SrcName: "libunistring", SrcEpoch: 0, SrcVersion: "0.9.10", SrcRelease: "1.fc28"}, - {Name: "sqlite-libs", Epoch: 0, Version: "3.22.0", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:c8bcf9c9600dba85b9b6e21615b9ef9f", SrcName: "sqlite", SrcEpoch: 0, SrcVersion: "3.22.0", SrcRelease: "4.fc28"}, - {Name: "audit-libs", Epoch: 0, Version: "2.8.4", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:91627d355f76a4e490a6a327480bff60", SrcName: "audit", SrcEpoch: 0, SrcVersion: "2.8.4", SrcRelease: "2.fc28"}, - {Name: "chkconfig", Epoch: 0, Version: "1.10", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "Fedora Project", Digest: "md5:f19b3a5e681b99fe7a274bffe69dea84", SrcName: "chkconfig", SrcEpoch: 0, SrcVersion: "1.10", SrcRelease: "4.fc28"}, - {Name: "libsmartcols", Epoch: 0, Version: "2.32.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:079826f5b1d991b34f3673580a940635", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "1.fc28"}, - {Name: "pcre", Epoch: 0, Version: "8.42", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:35a6932b995f80a724b4b24baa6fe8e7", SrcName: "pcre", SrcEpoch: 0, SrcVersion: "8.42", SrcRelease: "3.fc28"}, - {Name: "grep", Epoch: 0, Version: "3.1", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:69fffa003ecf55cbae2d265a1db73b9d", SrcName: "grep", SrcEpoch: 0, SrcVersion: "3.1", SrcRelease: "5.fc28"}, - {Name: "crypto-policies", Epoch: 0, Version: "20180425", Release: "5.git6ad4018.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:7b5456e60b3904649ef88ed6d6eb0847", SrcName: "crypto-policies", SrcEpoch: 0, SrcVersion: "20180425", SrcRelease: "5.git6ad4018.fc28"}, - {Name: "gdbm-libs", Epoch: 1, Version: "1.14.1", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:8d02dd64e50a570e0435e690974ed87c", SrcName: "gdbm", SrcEpoch: 1, SrcVersion: "1.14.1", SrcRelease: "4.fc28"}, - {Name: "p11-kit-trust", Epoch: 0, Version: "0.23.12", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:1551c99a0806b5f020087330fe5e195c", SrcName: "p11-kit", SrcEpoch: 0, SrcVersion: "0.23.12", SrcRelease: "1.fc28"}, - {Name: "openssl-libs", Epoch: 1, Version: "1.1.0h", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"OpenSSL"}, Maintainer: "Fedora Project", Digest: "md5:8c1c855c5ce8faf1c068fc2e04456dc2", SrcName: "openssl", SrcEpoch: 1, SrcVersion: "1.1.0h", SrcRelease: "3.fc28"}, - {Name: "ima-evm-utils", Epoch: 0, Version: "1.1", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "Fedora Project", Digest: "md5:f0f17fdf3829aa5a371d58b113251124", SrcName: "ima-evm-utils", SrcEpoch: 0, SrcVersion: "1.1", SrcRelease: "2.fc28"}, - {Name: "gdbm", Epoch: 1, Version: "1.14.1", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:5c8164ecf3c03d355dc5547e947ad887", SrcName: "gdbm", SrcEpoch: 1, SrcVersion: "1.14.1", SrcRelease: "4.fc28"}, - {Name: "gobject-introspection", Epoch: 0, Version: "1.56.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+, LGPLv2+, MIT"}, Maintainer: "Fedora Project", Digest: "md5:33f5f6a58146988df94221944d02daa7", SrcName: "gobject-introspection", SrcEpoch: 0, SrcVersion: "1.56.1", SrcRelease: "1.fc28"}, - {Name: "shadow-utils", Epoch: 2, Version: "4.6", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:da5727d6020eca44eecf0dc2ada776b6", SrcName: "shadow-utils", SrcEpoch: 2, SrcVersion: "4.6", SrcRelease: "1.fc28"}, - {Name: "libpsl", Epoch: 0, Version: "0.20.2", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:9f6915752f645003359b143c09d109de", SrcName: "libpsl", SrcEpoch: 0, SrcVersion: "0.20.2", SrcRelease: "2.fc28"}, - {Name: "nettle", Epoch: 0, Version: "3.4", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+ or GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:de21f7ba2b85723f9e410dcfc3503c2d", SrcName: "nettle", SrcEpoch: 0, SrcVersion: "3.4", SrcRelease: "2.fc28"}, - {Name: "libfdisk", Epoch: 0, Version: "2.32.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:f262682df2eae5a78157f3ba4fe2486b", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "1.fc28"}, - {Name: "cracklib", Epoch: 0, Version: "2.9.6", Release: "13.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:6ef0f1b104fd8644707036f80c3929c2", SrcName: "cracklib", SrcEpoch: 0, SrcVersion: "2.9.6", SrcRelease: "13.fc28"}, - {Name: "libcomps", Epoch: 0, Version: "0.1.8", Release: "11.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:9cbbf1a738742b0c4f7f831ab6a97f80", SrcName: "libcomps", SrcEpoch: 0, SrcVersion: "0.1.8", SrcRelease: "11.fc28"}, - {Name: "nss-softokn", Epoch: 0, Version: "3.38.0", Release: "1.0.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "Fedora Project", Digest: "md5:5fe60496f97ce6327d779173f943bfb0", SrcName: "nss-softokn", SrcEpoch: 0, SrcVersion: "3.38.0", SrcRelease: "1.0.fc28"}, - {Name: "nss-sysinit", Epoch: 0, Version: "3.38.0", Release: "1.0.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "Fedora Project", Digest: "md5:56d7739e0735f26c771d9a31ee0b6402", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.38.0", SrcRelease: "1.0.fc28"}, - {Name: "libksba", Epoch: 0, Version: "1.3.5", Release: "7.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(LGPLv3+ or GPLv2+) and GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:64f47804b68844f3eaadb64625ecccfc", SrcName: "libksba", SrcEpoch: 0, SrcVersion: "1.3.5", SrcRelease: "7.fc28"}, - {Name: "kmod-libs", Epoch: 0, Version: "25", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:fa3e05ce583ca814c8523493164d2dd7", SrcName: "kmod", SrcEpoch: 0, SrcVersion: "25", SrcRelease: "2.fc28"}, - {Name: "libsss_nss_idmap", Epoch: 0, Version: "1.16.3", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:4f0a858d8d28c2192ba4ef1f71643edd", SrcName: "sssd", SrcEpoch: 0, SrcVersion: "1.16.3", SrcRelease: "2.fc28"}, - {Name: "libverto", Epoch: 0, Version: "0.3.0", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:36eca4dbcb08f145085a1f277ad2f2d3", SrcName: "libverto", SrcEpoch: 0, SrcVersion: "0.3.0", SrcRelease: "5.fc28"}, - {Name: "gawk", Epoch: 0, Version: "4.2.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv2+ and LGPLv2+ and BSD"}, Maintainer: "Fedora Project", Digest: "md5:c76ff7273f0569d10fe934f134f9f380", SrcName: "gawk", SrcEpoch: 0, SrcVersion: "4.2.1", SrcRelease: "1.fc28"}, - {Name: "libtirpc", Epoch: 0, Version: "1.0.3", Release: "3.rc2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"SISSL and BSD"}, Maintainer: "Fedora Project", Digest: "md5:3622fd09756d62e568cd8ef6f758da5b", SrcName: "libtirpc", SrcEpoch: 0, SrcVersion: "1.0.3", SrcRelease: "3.rc2.fc28"}, - {Name: "python3-libs", Epoch: 0, Version: "3.6.6", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Python"}, Maintainer: "Fedora Project", Digest: "md5:2df2a10f40a769626c393ee8036890b6", SrcName: "python3", SrcEpoch: 0, SrcVersion: "3.6.6", SrcRelease: "1.fc28"}, - {Name: "python3-setuptools", Epoch: 0, Version: "39.2.0", Release: "6.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:de97dffcc340039f09d416095226d667", SrcName: "python-setuptools", SrcEpoch: 0, SrcVersion: "39.2.0", SrcRelease: "6.fc28"}, - {Name: "libpwquality", Epoch: 0, Version: "1.4.0", Release: "7.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD or GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:07c137a1fde1d839050fab8d9571a339", SrcName: "libpwquality", SrcEpoch: 0, SrcVersion: "1.4.0", SrcRelease: "7.fc28"}, - {Name: "util-linux", Epoch: 0, Version: "2.32.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:6df6e3111307017cdc0d3be66a9ad3d2", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "1.fc28"}, - {Name: "python3-libcomps", Epoch: 0, Version: "0.1.8", Release: "11.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:015886962d2f403e28c54116787de72a", SrcName: "libcomps", SrcEpoch: 0, SrcVersion: "0.1.8", SrcRelease: "11.fc28"}, - {Name: "python3-six", Epoch: 0, Version: "1.11.0", Release: "3.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:b3e94962b65a8d8073b964d5be7975bb", SrcName: "python-six", SrcEpoch: 0, SrcVersion: "1.11.0", SrcRelease: "3.fc28"}, - {Name: "cyrus-sasl-lib", Epoch: 0, Version: "2.1.27", Release: "0.2rc7.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD with advertising"}, Maintainer: "Fedora Project", Digest: "md5:b19a2d49c32921b418b3d33384daafb8", SrcName: "cyrus-sasl", SrcEpoch: 0, SrcVersion: "2.1.27", SrcRelease: "0.2rc7.fc28"}, - {Name: "libssh", Epoch: 0, Version: "0.8.2", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:fccdd0ffe60f86721e8bd4e8eac22562", SrcName: "libssh", SrcEpoch: 0, SrcVersion: "0.8.2", SrcRelease: "1.fc28"}, - {Name: "qrencode-libs", Epoch: 0, Version: "3.4.4", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:d3ff72e3c3ef756417edb9eae5418635", SrcName: "qrencode", SrcEpoch: 0, SrcVersion: "3.4.4", SrcRelease: "5.fc28"}, - {Name: "gnupg2", Epoch: 0, Version: "2.2.8", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:54cd97bcdc9bdda5bb70302f0a15c426", SrcName: "gnupg2", SrcEpoch: 0, SrcVersion: "2.2.8", SrcRelease: "1.fc28"}, - {Name: "python3-gpg", Epoch: 0, Version: "1.10.0", Release: "4.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:a94041676e57089ef07d088cd75a0fc9", SrcName: "gpgme", SrcEpoch: 0, SrcVersion: "1.10.0", SrcRelease: "4.fc28"}, - {Name: "libargon2", Epoch: 0, Version: "20161029", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain or ASL 2.0"}, Maintainer: "Fedora Project", Digest: "md5:8af9f36b09b9685e6ba5f6241c01739e", SrcName: "argon2", SrcEpoch: 0, SrcVersion: "20161029", SrcRelease: "5.fc28"}, - {Name: "libmodulemd", Epoch: 0, Version: "1.6.2", Release: "2.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:835bc0b681c5104b26cfad5fc22a20b5", SrcName: "libmodulemd", SrcEpoch: 0, SrcVersion: "1.6.2", SrcRelease: "2.fc28"}, - {Name: "pkgconf", Epoch: 0, Version: "1.4.2", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "Fedora Project", Digest: "md5:b47f825995f3846e0fb24dc9d477489f", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.fc28"}, - {Name: "libpcap", Epoch: 14, Version: "1.9.0", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD with advertising"}, Maintainer: "Fedora Project", Digest: "md5:8a640dd6fcceecbfbe3ca5ae964943be", SrcName: "libpcap", SrcEpoch: 14, SrcVersion: "1.9.0", SrcRelease: "1.fc28"}, - {Name: "device-mapper", Epoch: 0, Version: "1.02.146", Release: "5.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "Fedora Project", Digest: "md5:cd04b9d971aab244a99600118b021f5e", SrcName: "lvm2", SrcEpoch: 0, SrcVersion: "2.02.177", SrcRelease: "5.fc28"}, - {Name: "cryptsetup-libs", Epoch: 0, Version: "2.0.4", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:df3fcc57a6a4b9776be8feeb41e2426a", SrcName: "cryptsetup", SrcEpoch: 0, SrcVersion: "2.0.4", SrcRelease: "1.fc28"}, - {Name: "elfutils-libs", Epoch: 0, Version: "0.173", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ or LGPLv3+"}, Maintainer: "Fedora Project", Digest: "md5:bc22d891929666e57b0572afec13fd1b", SrcName: "elfutils", SrcEpoch: 0, SrcVersion: "0.173", SrcRelease: "1.fc28"}, - {Name: "dbus", Epoch: 1, Version: "1.12.10", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPLv2+ or AFL) and GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:ee3f72fbc8a89d136d100db721431454", SrcName: "dbus", SrcEpoch: 1, SrcVersion: "1.12.10", SrcRelease: "1.fc28"}, - {Name: "libnghttp2", Epoch: 0, Version: "1.32.1", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:aa8a98c6d5a648db8e4f4c60a687cf10", SrcName: "nghttp2", SrcEpoch: 0, SrcVersion: "1.32.1", SrcRelease: "1.fc28"}, - {Name: "librepo", Epoch: 0, Version: "1.8.1", Release: "7.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:ca7b6f87d7b63decc8986ca383b3d4a0", SrcName: "librepo", SrcEpoch: 0, SrcVersion: "1.8.1", SrcRelease: "7.fc28"}, - {Name: "curl", Epoch: 0, Version: "7.59.0", Release: "6.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "Fedora Project", Digest: "md5:508c4c2ad02cffe7d550f15d60a2e131", SrcName: "curl", SrcEpoch: 0, SrcVersion: "7.59.0", SrcRelease: "6.fc28"}, - {Name: "rpm-libs", Epoch: 0, Version: "4.14.1", Release: "9.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+ with exceptions"}, Maintainer: "Fedora Project", Digest: "md5:522ef24ea7270005a459b2836051f4b3", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.1", SrcRelease: "9.fc28"}, - {Name: "libsolv", Epoch: 0, Version: "0.6.35", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "Fedora Project", Digest: "md5:7de1966ef13546320718670d8174f693", SrcName: "libsolv", SrcEpoch: 0, SrcVersion: "0.6.35", SrcRelease: "1.fc28"}, - {Name: "python3-hawkey", Epoch: 0, Version: "0.11.1", Release: "3.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:8699eceb6522941c1218010bc2862058", SrcName: "libdnf", SrcEpoch: 0, SrcVersion: "0.11.1", SrcRelease: "3.fc28"}, - {Name: "rpm-sign-libs", Epoch: 0, Version: "4.14.1", Release: "9.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+ with exceptions"}, Maintainer: "Fedora Project", Digest: "md5:4c0ed3291ed6592709845d6a9c119a2f", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.1", SrcRelease: "9.fc28"}, - {Name: "python3-dnf", Epoch: 0, Version: "2.7.5", Release: "12.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GPLv2 and GPL"}, Maintainer: "Fedora Project", Digest: "md5:55528c254ac96f57623bbaa3ae9eb41c", SrcName: "dnf", SrcEpoch: 0, SrcVersion: "2.7.5", SrcRelease: "12.fc28"}, - {Name: "dnf-yum", Epoch: 0, Version: "2.7.5", Release: "12.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GPLv2 and GPL"}, Maintainer: "Fedora Project", Digest: "md5:5f1ecbeb04b81e6d3433232a3d04f17e", SrcName: "dnf", SrcEpoch: 0, SrcVersion: "2.7.5", SrcRelease: "12.fc28"}, - {Name: "rpm-plugin-systemd-inhibit", Epoch: 0, Version: "4.14.1", Release: "9.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "Fedora Project", Digest: "md5:ff3e305325cf0052a13b2865cc28d1b7", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.1", SrcRelease: "9.fc28"}, - {Name: "nss-tools", Epoch: 0, Version: "3.38.0", Release: "1.0.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "Fedora Project", Digest: "md5:118c6a98328213346b8a4cc4dba26884", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.38.0", SrcRelease: "1.0.fc28"}, - {Name: "openssl-pkcs11", Epoch: 0, Version: "0.4.8", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and BSD"}, Maintainer: "Fedora Project", Digest: "md5:2f91bf3dff53be5197f5ef12daac76a6", SrcName: "openssl-pkcs11", SrcEpoch: 0, SrcVersion: "0.4.8", SrcRelease: "1.fc28"}, - {Name: "vim-minimal", Epoch: 2, Version: "8.1.328", Release: "1.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Vim and MIT"}, Maintainer: "Fedora Project", Digest: "md5:5ad20c562d35c2b3f15fa65dd6e31b7d", SrcName: "vim", SrcEpoch: 2, SrcVersion: "8.1.328", SrcRelease: "1.fc28"}, - {Name: "glibc-langpack-en", Epoch: 0, Version: "2.27", Release: "32.fc28", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL"}, Maintainer: "Fedora Project", Digest: "md5:3f4fbbebb7e3205a955e6aecec486f83", SrcName: "glibc", SrcEpoch: 0, SrcVersion: "2.27", SrcRelease: "32.fc28"}, - {Name: "rootfiles", Epoch: 0, Version: "8.1", Release: "22.fc28", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "Fedora Project", Digest: "md5:2f9c0518edf47a80c269222c354f2a70", SrcName: "rootfiles", SrcEpoch: 0, SrcVersion: "8.1", SrcRelease: "22.fc28"}, + { + name: "valid", + input: analyzer.AnalysisInput{ + FilePath: "testdata/valid", + Content: lo.Must(os.Open("testdata/valid")), }, + want: 1, }, - "ValidWithModularitylabel": { - path: "./testdata/valid_with_modularitylabel", - // cp ./testdata/valid_with_modularitylabel /path/to/testdir/Packages - // rpm -qa --dbpath /path/to/testdir --queryformat "\{Name: \"%{NAME}\", Epoch: %{RPMTAG_EPOCHNUM}, Version: \"%{VERSION}\", Release: \"%{RELEASE}\", Arch: \"%{ARCH}\", Modularitylabel: \"%{RPMTAG_MODULARITYLABEL}\", Licenses: \[\]string\{\"%{LICENSE}\"\}, Maintainer: \"%{RPMTAG_VENDOR}\", Digest: \"md5:%{SIGMD5}\",\n" | sed "s/(none)//g" > 1.txt - // rpm -qa --dbpath /path/to/testdir --queryformat "%{SOURCERPM}-%{RPMTAG_EPOCHNUM}\n" | awk -F"-" '{printf("SrcName: \""$0"\", SrcEpoch: "$NF", SrcVersion: \""$(NF-2)"\", SrcRelease: \""$(NF-1)"\"},\n")}' | sed -E 's/-[0-9.]+-.+.src.rpm-[0-9]//' | sed 's/.src.rpm//g' > 2.txt - // paste -d " " 1.txt 2.txt - pkgs: []types.Package{ - {Name: "perl-podlators", Epoch: 0, Version: "4.11", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"(GPL+ or Artistic) and FSFAP"}, Maintainer: "CentOS", Digest: "md5:bd2b28862f36b3cec0e1d5fb74d5edb7", SrcName: "perl-podlators", SrcEpoch: 0, SrcVersion: "4.11", SrcRelease: "1.el8"}, - {Name: "python3-setuptools-wheel", Epoch: 0, Version: "39.2.0", Release: "5.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:86b613f3e1fbf33755d1b34d3e1cb098", SrcName: "python-setuptools", SrcEpoch: 0, SrcVersion: "39.2.0", SrcRelease: "5.el8"}, - {Name: "perl-Pod-Perldoc", Epoch: 0, Version: "3.28", Release: "396.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:fc8b1db50f574413212744f6f888c3d2", SrcName: "perl-Pod-Perldoc", SrcEpoch: 0, SrcVersion: "3.28", SrcRelease: "396.el8"}, - {Name: "perl-IO-Socket-SSL", Epoch: 0, Version: "2.066", Release: "4.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"(GPL+ or Artistic) and MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:896f66d11d6b66dd0fe2f849b41febed", SrcName: "perl-IO-Socket-SSL", SrcEpoch: 0, SrcVersion: "2.066", SrcRelease: "4.el8"}, - {Name: "perl-URI", Epoch: 0, Version: "1.73", Release: "3.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:b66d85e3853e61853c8334dd507a77a0", SrcName: "perl-URI", SrcEpoch: 0, SrcVersion: "1.73", SrcRelease: "3.el8"}, - {Name: "filesystem", Epoch: 0, Version: "3.8", Release: "2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:b3b5004f3478d8b6692e392260597d96", SrcName: "filesystem", SrcEpoch: 0, SrcVersion: "3.8", SrcRelease: "2.el8"}, - {Name: "emacs-filesystem", Epoch: 1, Version: "26.1", Release: "5.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv3+ and CC0-1.0"}, Maintainer: "CentOS", Digest: "md5:94218736a9d0203615311c0eb679b00a", SrcName: "emacs", SrcEpoch: 1, SrcVersion: "26.1", SrcRelease: "5.el8"}, - {Name: "git", Epoch: 0, Version: "2.18.4", Release: "2.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:c8a5db38b49ac1f39df666f5fbf3c6e8", SrcName: "git", SrcEpoch: 0, SrcVersion: "2.18.4", SrcRelease: "2.el8_2"}, - {Name: "pcre2", Epoch: 0, Version: "10.32", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:2e9a6d375bb106ef8dbb9f37fa960b17", SrcName: "pcre2", SrcEpoch: 0, SrcVersion: "10.32", SrcRelease: "1.el8"}, - {Name: "vim-common", Epoch: 2, Version: "8.0.1763", Release: "13.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Vim and MIT"}, Maintainer: "CentOS", Digest: "md5:ff0b106bea9523285c1c4ef88558adc4", SrcName: "vim", SrcEpoch: 2, SrcVersion: "8.0.1763", SrcRelease: "13.el8"}, - {Name: "ncurses-libs", Epoch: 0, Version: "6.1", Release: "7.20180224.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:e22fb3c519b0d6c0b1544ade616647a1", SrcName: "ncurses", SrcEpoch: 0, SrcVersion: "6.1", SrcRelease: "7.20180224.el8"}, - {Name: "vim-enhanced", Epoch: 2, Version: "8.0.1763", Release: "13.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Vim and MIT"}, Maintainer: "CentOS", Digest: "md5:62728e1b7906f37e24e446db101cbebc", SrcName: "vim", SrcEpoch: 2, SrcVersion: "8.0.1763", SrcRelease: "13.el8"}, - {Name: "glibc-common", Epoch: 0, Version: "2.28", Release: "101.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL"}, Maintainer: "CentOS", Digest: "md5:59fd06b7b2ff75b002fbdc1de4e84b8f", SrcName: "glibc", SrcEpoch: 0, SrcVersion: "2.28", SrcRelease: "101.el8"}, - {Name: "openssl-devel", Epoch: 1, Version: "1.1.1c", Release: "15.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"OpenSSL"}, Maintainer: "CentOS", Digest: "md5:dc02d8f2b675a1a062e37364789e980c", SrcName: "openssl", SrcEpoch: 1, SrcVersion: "1.1.1c", SrcRelease: "15.el8"}, - {Name: "bash", Epoch: 0, Version: "4.4.19", Release: "10.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:8b1a1d644da5e718f7a1cd76769e3f83", SrcName: "bash", SrcEpoch: 0, SrcVersion: "4.4.19", SrcRelease: "10.el8"}, - {Name: "popt-devel", Epoch: 0, Version: "1.16", Release: "14.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:510a39ef7fcc2ddcc1b9a8bdef0cce12", SrcName: "popt", SrcEpoch: 0, SrcVersion: "1.16", SrcRelease: "14.el8"}, - {Name: "libarchive-devel", Epoch: 0, Version: "3.3.2", Release: "8.el8_1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:55aebe7f19c587ed2d5eac64c255b9f5", SrcName: "libarchive", SrcEpoch: 0, SrcVersion: "3.3.2", SrcRelease: "8.el8_1"}, - {Name: "bzip2-libs", Epoch: 0, Version: "1.0.6", Release: "26.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:dd9abf1cc65154142a808c839f4dda55", SrcName: "bzip2", SrcEpoch: 0, SrcVersion: "1.0.6", SrcRelease: "26.el8"}, - {Name: "xz-lzma-compat", Epoch: 0, Version: "5.2.4", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:b361e08322d3397cff6b98f18612a75e", SrcName: "xz", SrcEpoch: 0, SrcVersion: "5.2.4", SrcRelease: "3.el8"}, - {Name: "libgpg-error", Epoch: 0, Version: "1.31", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:e84b78135beff56ee4835fed39d7401c", SrcName: "libgpg-error", SrcEpoch: 0, SrcVersion: "1.31", SrcRelease: "1.el8"}, - {Name: "libdb-devel", Epoch: 0, Version: "5.3.28", Release: "37.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and LGPLv2 and Sleepycat"}, Maintainer: "CentOS", Digest: "md5:14528e1de2b3ea9df2c3bee88bea7673", SrcName: "libdb", SrcEpoch: 0, SrcVersion: "5.3.28", SrcRelease: "37.el8"}, - {Name: "elfutils-libelf", Epoch: 0, Version: "0.178", Release: "7.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ or LGPLv3+"}, Maintainer: "CentOS", Digest: "md5:cd8b135e1df7ffbfb140b41ab26f87aa", SrcName: "elfutils", SrcEpoch: 0, SrcVersion: "0.178", SrcRelease: "7.el8"}, - {Name: "libgomp", Epoch: 0, Version: "8.3.1", Release: "5.el8.0.2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD"}, Maintainer: "CentOS", Digest: "md5:2356db2ff13d8d90ede9c428e79327b1", SrcName: "gcc", SrcEpoch: 0, SrcVersion: "8.3.1", SrcRelease: "5.el8.0.2"}, - {Name: "libxcrypt", Epoch: 0, Version: "4.1.1", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and BSD and Public Domain"}, Maintainer: "CentOS", Digest: "md5:5d0ae947dd72ad1f5b27c8ab209e9b12", SrcName: "libxcrypt", SrcEpoch: 0, SrcVersion: "4.1.1", SrcRelease: "4.el8"}, - {Name: "gettext-libs", Epoch: 0, Version: "0.19.8.1", Release: "17.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and GPLv3+"}, Maintainer: "CentOS", Digest: "md5:8967e0fd86f922ac3fe079bb64ec85c4", SrcName: "gettext", SrcEpoch: 0, SrcVersion: "0.19.8.1", SrcRelease: "17.el8"}, - {Name: "sqlite-libs", Epoch: 0, Version: "3.26.0", Release: "6.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:123153073f9818beb07847d632f6bbb7", SrcName: "sqlite", SrcEpoch: 0, SrcVersion: "3.26.0", SrcRelease: "6.el8"}, - {Name: "cpp", Epoch: 0, Version: "8.3.1", Release: "5.el8.0.2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD"}, Maintainer: "CentOS", Digest: "md5:0578fcab8e65239fc0b5000723873379", SrcName: "gcc", SrcEpoch: 0, SrcVersion: "8.3.1", SrcRelease: "5.el8.0.2"}, - {Name: "libstdc++", Epoch: 0, Version: "8.3.1", Release: "5.el8.0.2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD"}, Maintainer: "CentOS", Digest: "md5:cb453d84e5e5758ed5e5cb27247ad32b", SrcName: "gcc", SrcEpoch: 0, SrcVersion: "8.3.1", SrcRelease: "5.el8.0.2"}, - {Name: "m4", Epoch: 0, Version: "1.4.18", Release: "7.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:65b81ee9fe7f8936bafa29901124e3a4", SrcName: "m4", SrcEpoch: 0, SrcVersion: "1.4.18", SrcRelease: "7.el8"}, - {Name: "popt", Epoch: 0, Version: "1.16", Release: "14.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:91f1fc1e5257f088cf83fcde67e1597f", SrcName: "popt", SrcEpoch: 0, SrcVersion: "1.16", SrcRelease: "14.el8"}, - {Name: "libgpg-error-devel", Epoch: 0, Version: "1.31", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:139964288d8e4c634dd609f40ef40fe3", SrcName: "libgpg-error", SrcEpoch: 0, SrcVersion: "1.31", SrcRelease: "1.el8"}, - {Name: "readline", Epoch: 0, Version: "7.0", Release: "10.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:53395adc92c214ce3ce3f63c19180d19", SrcName: "readline", SrcEpoch: 0, SrcVersion: "7.0", SrcRelease: "10.el8"}, - {Name: "glibc-headers", Epoch: 0, Version: "2.28", Release: "101.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL"}, Maintainer: "CentOS", Digest: "md5:14929ccf48957fe03d69f587efe9d942", SrcName: "glibc", SrcEpoch: 0, SrcVersion: "2.28", SrcRelease: "101.el8"}, - {Name: "json-c", Epoch: 0, Version: "0.13.1", Release: "0.2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:eb194624bd2d5fd5966ea9a6927525c7", SrcName: "json-c", SrcEpoch: 0, SrcVersion: "0.13.1", SrcRelease: "0.2.el8"}, - {Name: "glibc-devel", Epoch: 0, Version: "2.28", Release: "101.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL"}, Maintainer: "CentOS", Digest: "md5:e522ba17ee3f0d9e73ba581ec0dbf5d9", SrcName: "glibc", SrcEpoch: 0, SrcVersion: "2.28", SrcRelease: "101.el8"}, - {Name: "libacl", Epoch: 0, Version: "2.2.53", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:cd43f03193723ee093e7705f1c5c6f39", SrcName: "acl", SrcEpoch: 0, SrcVersion: "2.2.53", SrcRelease: "1.el8"}, - {Name: "perl-Thread-Queue", Epoch: 0, Version: "3.13", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:6f6fe2a2414cdc6fe4ef25c47b079c62", SrcName: "perl-Thread-Queue", SrcEpoch: 0, SrcVersion: "3.13", SrcRelease: "1.el8"}, - {Name: "sed", Epoch: 0, Version: "4.5", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:3ddec62cedf49c241d6ab77613daaf0a", SrcName: "sed", SrcEpoch: 0, SrcVersion: "4.5", SrcRelease: "1.el8"}, - {Name: "isl", Epoch: 0, Version: "0.16.1", Release: "6.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:7e07c5719518014f7be119290bd3c713", SrcName: "isl", SrcEpoch: 0, SrcVersion: "0.16.1", SrcRelease: "6.el8"}, - {Name: "libmount", Epoch: 0, Version: "2.32.1", Release: "22.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:bc5feadfa4bfce68811894bb73f493c4", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "22.el8"}, - {Name: "libtool", Epoch: 0, Version: "2.4.6", Release: "25.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+ and GFDL"}, Maintainer: "CentOS", Digest: "md5:46ac6d2c69ea159d33657a2cd9525be4", SrcName: "libtool", SrcEpoch: 0, SrcVersion: "2.4.6", SrcRelease: "25.el8"}, - {Name: "audit-libs", Epoch: 0, Version: "3.0", Release: "0.17.20191104git1c2f876.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:85d66fe7059cab257dff0b1a99e59479", SrcName: "audit", SrcEpoch: 0, SrcVersion: "3.0", SrcRelease: "0.17.20191104git1c2f876.el8"}, - {Name: "libgcrypt-devel", Epoch: 0, Version: "1.8.3", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:660426abcb73c094d1d5a97224b435d2", SrcName: "libgcrypt", SrcEpoch: 0, SrcVersion: "1.8.3", SrcRelease: "4.el8"}, - {Name: "libsmartcols", Epoch: 0, Version: "2.32.1", Release: "22.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:6533915dd27fba66917d6cdca81a67fc", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "22.el8"}, - {Name: "nodejs-full-i18n", Epoch: 1, Version: "10.21.0", Release: "3.module_el8.2.0+391+8da3adc6", Arch: "x86_64", Modularitylabel: "nodejs:10:8020020200707141642:6a468ee4", Licenses: []string{"MIT and ASL 2.0 and ISC and BSD"}, Maintainer: "CentOS", Digest: "md5:06c123561d40c914ddb262744ad30403", SrcName: "nodejs", SrcEpoch: 1, SrcVersion: "10.21.0", SrcRelease: "3.module_el8.2.0+391+8da3adc6"}, - {Name: "lua-libs", Epoch: 0, Version: "5.3.4", Release: "11.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:3ec414ac7e8a8f90968c86da820336cb", SrcName: "lua", SrcEpoch: 0, SrcVersion: "5.3.4", SrcRelease: "11.el8"}, - {Name: "nodejs", Epoch: 1, Version: "10.21.0", Release: "3.module_el8.2.0+391+8da3adc6", Arch: "x86_64", Modularitylabel: "nodejs:10:8020020200707141642:6a468ee4", Licenses: []string{"MIT and ASL 2.0 and ISC and BSD"}, Maintainer: "CentOS", Digest: "md5:bac7919c2369f944f9da510bbd01370b", SrcName: "nodejs", SrcEpoch: 1, SrcVersion: "10.21.0", SrcRelease: "3.module_el8.2.0+391+8da3adc6"}, - {Name: "p11-kit", Epoch: 0, Version: "0.23.14", Release: "5.el8_0", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:77b1d075374eae3c0fa1a2ffa004120a", SrcName: "p11-kit", SrcEpoch: 0, SrcVersion: "0.23.14", SrcRelease: "5.el8_0"}, - {Name: "libbabeltrace", Epoch: 0, Version: "1.5.4", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT and GPLv2"}, Maintainer: "CentOS", Digest: "md5:bd7c93a25505f05172f8039d5ba03d4a", SrcName: "babeltrace", SrcEpoch: 0, SrcVersion: "1.5.4", SrcRelease: "3.el8"}, - {Name: "gzip", Epoch: 0, Version: "1.9", Release: "9.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GFDL"}, Maintainer: "CentOS", Digest: "md5:d540a593d8d1a3e01a685dbe12294a37", SrcName: "gzip", SrcEpoch: 0, SrcVersion: "1.9", SrcRelease: "9.el8"}, - {Name: "libatomic_ops", Epoch: 0, Version: "7.6.2", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2 and MIT"}, Maintainer: "CentOS", Digest: "md5:6f1ef12f2494056f5cbafb60b23d483c", SrcName: "libatomic_ops", SrcEpoch: 0, SrcVersion: "7.6.2", SrcRelease: "3.el8"}, - {Name: "libunistring", Epoch: 0, Version: "0.9.9", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ or LGPLv3+"}, Maintainer: "CentOS", Digest: "md5:7769c82a0a6aa692f4778f71f6fdec0c", SrcName: "libunistring", SrcEpoch: 0, SrcVersion: "0.9.9", SrcRelease: "3.el8"}, - {Name: "guile", Epoch: 5, Version: "2.0.14", Release: "7.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+"}, Maintainer: "CentOS", Digest: "md5:575e446ce886def641e2b1c46db9480d", SrcName: "guile", SrcEpoch: 5, SrcVersion: "2.0.14", SrcRelease: "7.el8"}, - {Name: "libassuan", Epoch: 0, Version: "2.5.1", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and GPLv3+"}, Maintainer: "CentOS", Digest: "md5:44d9976e6073475aebe11bef3ff8dc33", SrcName: "libassuan", SrcEpoch: 0, SrcVersion: "2.5.1", SrcRelease: "3.el8"}, - {Name: "gdb", Epoch: 0, Version: "8.2", Release: "12.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL"}, Maintainer: "CentOS", Digest: "md5:0ca27d09cfd7d1091691bcdc0bafe3c9", SrcName: "gdb", SrcEpoch: 0, SrcVersion: "8.2", SrcRelease: "12.el8"}, - {Name: "gdbm-libs", Epoch: 1, Version: "1.18", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:8efb9ab97fa0223d11d0857febae479d", SrcName: "gdbm", SrcEpoch: 1, SrcVersion: "1.18", SrcRelease: "1.el8"}, - {Name: "platform-python-setuptools", Epoch: 0, Version: "39.2.0", Release: "6.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:474f0b4e883902feae0a35bf08bb1b3e", SrcName: "python-setuptools", SrcEpoch: 0, SrcVersion: "39.2.0", SrcRelease: "6.el8"}, - {Name: "libtasn1", Epoch: 0, Version: "4.13", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:6fb9739221265fd08745407c915f792d", SrcName: "libtasn1", SrcEpoch: 0, SrcVersion: "4.13", SrcRelease: "3.el8"}, - {Name: "python3-setuptools", Epoch: 0, Version: "39.2.0", Release: "6.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:5c536abe6bb6f1df908aa0507a61bceb", SrcName: "python-setuptools", SrcEpoch: 0, SrcVersion: "39.2.0", SrcRelease: "6.el8"}, - {Name: "lzo", Epoch: 0, Version: "2.08", Release: "14.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:2e8c7912284d0c40f98a93649366097c", SrcName: "lzo", SrcEpoch: 0, SrcVersion: "2.08", SrcRelease: "14.el8"}, - {Name: "python3-pip", Epoch: 0, Version: "9.0.3", Release: "18.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD)"}, Maintainer: "CentOS", Digest: "md5:5c07b4e25764b5f90d020849f23e1015", SrcName: "python-pip", SrcEpoch: 0, SrcVersion: "9.0.3", SrcRelease: "18.el8"}, - {Name: "grep", Epoch: 0, Version: "3.1", Release: "6.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:94ed80f88be0c0b77082a51035c5e53f", SrcName: "grep", SrcEpoch: 0, SrcVersion: "3.1", SrcRelease: "6.el8"}, - {Name: "python2-pip-wheel", Epoch: 0, Version: "9.0.3", Release: "18.module_el8.3.0+478+7570e00c", Arch: "noarch", Modularitylabel: "python27:2.7:8030020200831201838:851f4228", Licenses: []string{"MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD)"}, Maintainer: "CentOS", Digest: "md5:cf364e483d3b1f2e47c035520d322c04", SrcName: "python2-pip", SrcEpoch: 0, SrcVersion: "9.0.3", SrcRelease: "18.module_el8.3.0+478+7570e00c"}, - {Name: "dbus-libs", Epoch: 1, Version: "1.12.8", Release: "10.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPLv2+ or AFL) and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:e895b9b8d703c114cb15c7564df6de96", SrcName: "dbus", SrcEpoch: 1, SrcVersion: "1.12.8", SrcRelease: "10.el8_2"}, - {Name: "python2-pip", Epoch: 0, Version: "9.0.3", Release: "18.module_el8.3.0+478+7570e00c", Arch: "noarch", Modularitylabel: "python27:2.7:8030020200831201838:851f4228", Licenses: []string{"MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD)"}, Maintainer: "CentOS", Digest: "md5:a70ae1bfca6b1617bfc1cc87a05a8bd6", SrcName: "python2-pip", SrcEpoch: 0, SrcVersion: "9.0.3", SrcRelease: "18.module_el8.3.0+478+7570e00c"}, - {Name: "dhcp-libs", Epoch: 12, Version: "4.3.6", Release: "40.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "CentOS", Digest: "md5:1f247bfb2d46e59b1fe552896cfcf0d9", SrcName: "dhcp", SrcEpoch: 12, SrcVersion: "4.3.6", SrcRelease: "40.el8"}, - {Name: "python2", Epoch: 0, Version: "2.7.17", Release: "2.module_el8.3.0+478+7570e00c", Arch: "x86_64", Modularitylabel: "python27:2.7:8030020200831201838:851f4228", Licenses: []string{"Python"}, Maintainer: "CentOS", Digest: "md5:111e33c5066b23212de6c1299ddf0f85", SrcName: "python2", SrcEpoch: 0, SrcVersion: "2.7.17", SrcRelease: "2.module_el8.3.0+478+7570e00c"}, - {Name: "procps-ng", Epoch: 0, Version: "3.3.15", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:030ea9850814d2c60c5af0ddb2f69c72", SrcName: "procps-ng", SrcEpoch: 0, SrcVersion: "3.3.15", SrcRelease: "1.el8"}, - {Name: "python2-rpmUtils", Epoch: 0, Version: "0.1", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "", Digest: "md5:61a8edb4eaae41ce7e3be3b82c19a091", SrcName: "python-rpmUtils", SrcEpoch: 0, SrcVersion: "0.1", SrcRelease: "1.el8"}, - {Name: "xz", Epoch: 0, Version: "5.2.4", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and Public Domain"}, Maintainer: "CentOS", Digest: "md5:2acee73f3a4b9738e0133043726a13f7", SrcName: "xz", SrcEpoch: 0, SrcVersion: "5.2.4", SrcRelease: "3.el8"}, - {Name: "rpm", Epoch: 0, Version: "4.14.3", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:d2caa895a1f0373abe18afe94b371c29", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.3", SrcRelease: "4.el8"}, - {Name: "gdbm", Epoch: 1, Version: "1.18", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:69ce5734e1fd54cdd298b4667d76616f", SrcName: "gdbm", SrcEpoch: 1, SrcVersion: "1.18", SrcRelease: "1.el8"}, - {Name: "python3-rpm", Epoch: 0, Version: "4.14.3", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:0eb23c1126d20050844447c82dbbddfa", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.3", SrcRelease: "4.el8"}, - {Name: "shadow-utils", Epoch: 2, Version: "4.6", Release: "8.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:211de7a014813ec64ce2bb8800b336b6", SrcName: "shadow-utils", SrcEpoch: 2, SrcVersion: "4.6", SrcRelease: "8.el8"}, - {Name: "libfdisk", Epoch: 0, Version: "2.32.1", Release: "22.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:886e9927f7ebfcc4c907a870f40d9c09", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "22.el8"}, - {Name: "mpfr", Epoch: 0, Version: "3.1.6", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+ and GPLv3+ and GFDL"}, Maintainer: "CentOS", Digest: "md5:7504c4f1b7aab1cf22f4896a6c35e91f", SrcName: "mpfr", SrcEpoch: 0, SrcVersion: "3.1.6", SrcRelease: "1.el8"}, - {Name: "snappy", Epoch: 0, Version: "1.1.7", Release: "5.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:459dcaf6d9799509b291148959e3a2ac", SrcName: "snappy", SrcEpoch: 0, SrcVersion: "1.1.7", SrcRelease: "5.el8"}, - {Name: "libmetalink", Epoch: 0, Version: "0.1.3", Release: "7.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:a97ac81965ec113b881058f001c770f6", SrcName: "libmetalink", SrcEpoch: 0, SrcVersion: "0.1.3", SrcRelease: "7.el8"}, - {Name: "libksba", Epoch: 0, Version: "1.3.5", Release: "7.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(LGPLv3+ or GPLv2+) and GPLv3+"}, Maintainer: "CentOS", Digest: "md5:74d2b871d0f179895daee53422a52b94", SrcName: "libksba", SrcEpoch: 0, SrcVersion: "1.3.5", SrcRelease: "7.el8"}, - {Name: "ethtool", Epoch: 2, Version: "5.0", Release: "2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:ec93a9c27813a31ebce90966632b8edd", SrcName: "ethtool", SrcEpoch: 2, SrcVersion: "5.0", SrcRelease: "2.el8"}, - {Name: "libmnl", Epoch: 0, Version: "1.0.4", Release: "6.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:003fa2a9079721368b658c63d8832e20", SrcName: "libmnl", SrcEpoch: 0, SrcVersion: "1.0.4", SrcRelease: "6.el8"}, - {Name: "libpcap", Epoch: 14, Version: "1.9.0", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD with advertising"}, Maintainer: "CentOS", Digest: "md5:4d2a5ad234af8d3ebe34fc032aa8dfdd", SrcName: "libpcap", SrcEpoch: 14, SrcVersion: "1.9.0", SrcRelease: "3.el8"}, - {Name: "libseccomp", Epoch: 0, Version: "2.4.1", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2"}, Maintainer: "CentOS", Digest: "md5:6237a23621d5be842f2db331714e7215", SrcName: "libseccomp", SrcEpoch: 0, SrcVersion: "2.4.1", SrcRelease: "1.el8"}, - {Name: "gawk", Epoch: 0, Version: "4.2.1", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv2+ and LGPLv2+ and BSD"}, Maintainer: "CentOS", Digest: "md5:c47002ae2e1dddb7747b3a6e813e821d", SrcName: "gawk", SrcEpoch: 0, SrcVersion: "4.2.1", SrcRelease: "1.el8"}, - {Name: "libnsl2", Epoch: 0, Version: "1.2.0", Release: "2.20180605git4a062cf.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:7be9bc3ac6e7e4d56de085c410a8e20d", SrcName: "libnsl2", SrcEpoch: 0, SrcVersion: "1.2.0", SrcRelease: "2.20180605git4a062cf.el8"}, - {Name: "krb5-libs", Epoch: 0, Version: "1.17", Release: "18.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:800e946bba1c5c102ccdb4159c046ce6", SrcName: "krb5", SrcEpoch: 0, SrcVersion: "1.17", SrcRelease: "18.el8"}, - {Name: "crypto-policies", Epoch: 0, Version: "20191128", Release: "2.git23e1bf1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:a6cdcd759a11870401ea0021c2a1496c", SrcName: "crypto-policies", SrcEpoch: 0, SrcVersion: "20191128", SrcRelease: "2.git23e1bf1.el8"}, - {Name: "platform-python", Epoch: 0, Version: "3.6.8", Release: "23.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Python"}, Maintainer: "CentOS", Digest: "md5:5674cc4a141996200466adabc7e51f5c", SrcName: "python3", SrcEpoch: 0, SrcVersion: "3.6.8", SrcRelease: "23.el8"}, - {Name: "libdb", Epoch: 0, Version: "5.3.28", Release: "37.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and LGPLv2 and Sleepycat"}, Maintainer: "CentOS", Digest: "md5:293f618e23dd98b899b17e526e052883", SrcName: "libdb", SrcEpoch: 0, SrcVersion: "5.3.28", SrcRelease: "37.el8"}, - {Name: "pam", Epoch: 0, Version: "1.3.1", Release: "8.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:f83fb370c1196ddc5e979ddf009b40b2", SrcName: "pam", SrcEpoch: 0, SrcVersion: "1.3.1", SrcRelease: "8.el8"}, - {Name: "gnutls", Epoch: 0, Version: "3.6.8", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:9d8812427df36d252b285cdc3ea1bfc9", SrcName: "gnutls", SrcEpoch: 0, SrcVersion: "3.6.8", SrcRelease: "11.el8_2"}, - {Name: "kmod-libs", Epoch: 0, Version: "25", Release: "16.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:09bde70809bfa4bf789c0ad78f31dc15", SrcName: "kmod", SrcEpoch: 0, SrcVersion: "25", SrcRelease: "16.el8"}, - {Name: "ima-evm-utils", Epoch: 0, Version: "1.1", Release: "5.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:c5dccadfe8fd2c247d6785651fb218c5", SrcName: "ima-evm-utils", SrcEpoch: 0, SrcVersion: "1.1", SrcRelease: "5.el8"}, - {Name: "libcurl-minimal", Epoch: 0, Version: "7.61.1", Release: "12.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:97c7f1247354d8a7561b5a26dd184ebb", SrcName: "curl", SrcEpoch: 0, SrcVersion: "7.61.1", SrcRelease: "12.el8"}, - {Name: "cyrus-sasl-lib", Epoch: 0, Version: "2.1.27", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD with advertising"}, Maintainer: "CentOS", Digest: "md5:7a3b1a78bd4838e0f6324f5bba9c148e", SrcName: "cyrus-sasl", SrcEpoch: 0, SrcVersion: "2.1.27", SrcRelease: "1.el8"}, - {Name: "libdb-utils", Epoch: 0, Version: "5.3.28", Release: "37.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and LGPLv2 and Sleepycat"}, Maintainer: "CentOS", Digest: "md5:e4324aa7441337796a429e9f92455ede", SrcName: "libdb", SrcEpoch: 0, SrcVersion: "5.3.28", SrcRelease: "37.el8"}, - {Name: "libsolv", Epoch: 0, Version: "0.7.7", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:b742b6c750a836cf3ac712046b1479fa", SrcName: "libsolv", SrcEpoch: 0, SrcVersion: "0.7.7", SrcRelease: "1.el8"}, - {Name: "libmodulemd1", Epoch: 0, Version: "1.8.16", Release: "0.2.8.2.1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:6b71512e8c92424e2bbf51ac393fb29c", SrcName: "libmodulemd", SrcEpoch: 0, SrcVersion: "2.8.2", SrcRelease: "1.el8"}, - {Name: "gnupg2", Epoch: 0, Version: "2.2.9", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:0b4519bf8b18306203885e2108c81aca", SrcName: "gnupg2", SrcEpoch: 0, SrcVersion: "2.2.9", SrcRelease: "1.el8"}, - {Name: "python3-libdnf", Epoch: 0, Version: "0.39.1", Release: "6.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:38a109680c9ff4ce9d1c8f3597c346c4", SrcName: "libdnf", SrcEpoch: 0, SrcVersion: "0.39.1", SrcRelease: "6.el8_2"}, - {Name: "python3-gpg", Epoch: 0, Version: "1.10.0", Release: "6.el8.0.1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:f1bb67f41c054b7a241452a9db8c72f4", SrcName: "gpgme", SrcEpoch: 0, SrcVersion: "1.10.0", SrcRelease: "6.el8.0.1"}, - {Name: "dnf-data", Epoch: 0, Version: "4.2.17", Release: "7.el8_2", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GPLv2 and GPL"}, Maintainer: "CentOS", Digest: "md5:9e2017577948cc0fb98c7907611ee902", SrcName: "dnf", SrcEpoch: 0, SrcVersion: "4.2.17", SrcRelease: "7.el8_2"}, - {Name: "dbus-common", Epoch: 1, Version: "1.12.8", Release: "10.el8_2", Arch: "noarch", Modularitylabel: "", Licenses: []string{"(GPLv2+ or AFL) and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:77d77f4770ed1b5442e40d6d8fd10d58", SrcName: "dbus", SrcEpoch: 1, SrcVersion: "1.12.8", SrcRelease: "10.el8_2"}, - {Name: "device-mapper", Epoch: 8, Version: "1.02.169", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:4e2e93bf6d5fc21511b94184b03be6b9", SrcName: "lvm2", SrcEpoch: 8, SrcVersion: "2.03.08", SrcRelease: "3.el8"}, - {Name: "cryptsetup-libs", Epoch: 0, Version: "2.2.2", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:97b1e392c1b2c834b1233239b95bd0cc", SrcName: "cryptsetup", SrcEpoch: 0, SrcVersion: "2.2.2", SrcRelease: "1.el8"}, - {Name: "elfutils-libs", Epoch: 0, Version: "0.178", Release: "7.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ or LGPLv3+"}, Maintainer: "CentOS", Digest: "md5:11d18e7fceb1aacb16e96dbebdf78557", SrcName: "elfutils", SrcEpoch: 0, SrcVersion: "0.178", SrcRelease: "7.el8"}, - {Name: "systemd", Epoch: 0, Version: "239", Release: "31.el8_2.2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and MIT and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:e8944e79d0bd5f79c2746813db1244ee", SrcName: "systemd", SrcEpoch: 0, SrcVersion: "239", SrcRelease: "31.el8_2.2"}, - {Name: "iputils", Epoch: 0, Version: "20180629", Release: "2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:ca9a89c22af93423852ecbd08d3abf59", SrcName: "iputils", SrcEpoch: 0, SrcVersion: "20180629", SrcRelease: "2.el8"}, - {Name: "libkcapi", Epoch: 0, Version: "1.1.1", Release: "16_1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD or GPLv2"}, Maintainer: "CentOS", Digest: "md5:d765e8153b4adaa1b9d759650ef97cce", SrcName: "libkcapi", SrcEpoch: 0, SrcVersion: "1.1.1", SrcRelease: "16_1.el8"}, - {Name: "systemd-udev", Epoch: 0, Version: "239", Release: "31.el8_2.2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:36012002d579569d43dfa958dbbaf95c", SrcName: "systemd", SrcEpoch: 0, SrcVersion: "239", SrcRelease: "31.el8_2.2"}, - {Name: "dracut-network", Epoch: 0, Version: "049", Release: "70.git20200228.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:e91224a402dbebc12de2db7fb4747e4a", SrcName: "dracut", SrcEpoch: 0, SrcVersion: "049", SrcRelease: "70.git20200228.el8"}, - {Name: "python3-dnf", Epoch: 0, Version: "4.2.17", Release: "7.el8_2", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GPLv2 and GPL"}, Maintainer: "CentOS", Digest: "md5:32a841a42030f8a4768761feb148c477", SrcName: "dnf", SrcEpoch: 0, SrcVersion: "4.2.17", SrcRelease: "7.el8_2"}, - {Name: "yum", Epoch: 0, Version: "4.2.17", Release: "7.el8_2", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GPLv2 and GPL"}, Maintainer: "CentOS", Digest: "md5:315b9809e784fb291a584f24244e641e", SrcName: "dnf", SrcEpoch: 0, SrcVersion: "4.2.17", SrcRelease: "7.el8_2"}, - {Name: "binutils", Epoch: 0, Version: "2.30", Release: "73.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:f6fcd230323217f591c9f96172dae25f", SrcName: "binutils", SrcEpoch: 0, SrcVersion: "2.30", SrcRelease: "73.el8"}, - {Name: "vim-minimal", Epoch: 2, Version: "8.0.1763", Release: "13.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Vim and MIT"}, Maintainer: "CentOS", Digest: "md5:ed73caeb8c3746e48ced83354900908b", SrcName: "vim", SrcEpoch: 2, SrcVersion: "8.0.1763", SrcRelease: "13.el8"}, - {Name: "less", Epoch: 0, Version: "530", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ or BSD"}, Maintainer: "CentOS", Digest: "md5:c95ece51b133ab6ce794a40e777072d2", SrcName: "less", SrcEpoch: 0, SrcVersion: "530", SrcRelease: "1.el8"}, - {Name: "rootfiles", Epoch: 0, Version: "8.1", Release: "22.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:8396ccef88edaffce4a8d5eb1ac4aa66", SrcName: "rootfiles", SrcEpoch: 0, SrcVersion: "8.1", SrcRelease: "22.el8"}, - {Name: "centos-gpg-keys", Epoch: 0, Version: "8.2", Release: "2.2004.0.2.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:48b8047e1811de4b7702c3954af7f50c", SrcName: "centos-release", SrcEpoch: 0, SrcVersion: "8.2", SrcRelease: "2.2004.0.2.el8"}, - {Name: "centos-repos", Epoch: 0, Version: "8.2", Release: "2.2004.0.2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:36b1ffd95fc9f6aa9b970635dcc1b2cb", SrcName: "centos-release", SrcEpoch: 0, SrcVersion: "8.2", SrcRelease: "2.2004.0.2.el8"}, - {Name: "tzdata", Epoch: 0, Version: "2020d", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:6ea2473648de3aaee55267c11000854d", SrcName: "tzdata", SrcEpoch: 0, SrcVersion: "2020d", SrcRelease: "1.el8"}, - {Name: "ca-certificates", Epoch: 0, Version: "2020.2.41", Release: "80.0.el8_2", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:3e438f05cd93729e37e44d76a8059e57", SrcName: "ca-certificates", SrcEpoch: 0, SrcVersion: "2020.2.41", SrcRelease: "80.0.el8_2"}, - {Name: "perl-Exporter", Epoch: 0, Version: "5.72", Release: "396.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:4f56f0f2098313624fdcd567a5c644fc", SrcName: "perl-Exporter", SrcEpoch: 0, SrcVersion: "5.72", SrcRelease: "396.el8"}, - {Name: "perl-Carp", Epoch: 0, Version: "1.42", Release: "396.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:4b23c1071bd0bd3f46aa4bc06d3cc6bb", SrcName: "perl-Carp", SrcEpoch: 0, SrcVersion: "1.42", SrcRelease: "396.el8"}, - {Name: "perl-parent", Epoch: 1, Version: "0.237", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:3a1e8a3596d9a3ca9021a40c141adca3", SrcName: "perl-parent", SrcEpoch: 1, SrcVersion: "0.237", SrcRelease: "1.el8"}, - {Name: "nss-util", Epoch: 0, Version: "3.53.1", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:f4a99f6bc7e92ebfb9ae2470de3f6de4", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.53.1", SrcRelease: "11.el8_2"}, - {Name: "nss-softokn", Epoch: 0, Version: "3.53.1", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:0245449c679c87662bab54d4f57b8956", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.53.1", SrcRelease: "11.el8_2"}, - {Name: "nss-sysinit", Epoch: 0, Version: "3.53.1", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:094e2ee6a5c5ce63f17098268e8dc066", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.53.1", SrcRelease: "11.el8_2"}, - {Name: "nss-softokn-freebl-devel", Epoch: 0, Version: "3.53.1", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:0d4300a7577be8b229ddb403bdbf79c9", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.53.1", SrcRelease: "11.el8_2"}, - {Name: "perl-macros", Epoch: 4, Version: "5.26.3", Release: "416.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:ae436db14693a9b49ecd5d02ef877a13", SrcName: "perl", SrcEpoch: 4, SrcVersion: "5.26.3", SrcRelease: "416.el8"}, - {Name: "perl-Socket", Epoch: 4, Version: "2.027", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:6805c843a6f77fb26c9213320e0c54d1", SrcName: "perl-Socket", SrcEpoch: 4, SrcVersion: "2.027", SrcRelease: "3.el8"}, - {Name: "perl-Unicode-Normalize", Epoch: 0, Version: "1.25", Release: "396.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:8461c73c94cc877ae2103add615572f8", SrcName: "perl-Unicode-Normalize", SrcEpoch: 0, SrcVersion: "1.25", SrcRelease: "396.el8"}, - {Name: "perl-IO", Epoch: 0, Version: "1.38", Release: "416.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:24ea3921fbc00498cc592aa5fa5513c4", SrcName: "perl", SrcEpoch: 0, SrcVersion: "5.26.3", SrcRelease: "416.el8"}, - {Name: "perl-constant", Epoch: 0, Version: "1.33", Release: "396.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:dbb827cf7e21d66176d41c7280d1da8b", SrcName: "perl-constant", SrcEpoch: 0, SrcVersion: "1.33", SrcRelease: "396.el8"}, - {Name: "perl-threads-shared", Epoch: 0, Version: "1.58", Release: "2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:f7ca1f9a2bb956e0fcb5c0921352b23c", SrcName: "perl-threads-shared", SrcEpoch: 0, SrcVersion: "1.58", SrcRelease: "2.el8"}, - {Name: "perl-MIME-Base64", Epoch: 0, Version: "3.15", Release: "396.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPL+ or Artistic) and MIT"}, Maintainer: "CentOS", Digest: "md5:8ed7ed3ebaf11f7a51f28e8602e60020", SrcName: "perl-MIME-Base64", SrcEpoch: 0, SrcVersion: "3.15", SrcRelease: "396.el8"}, - {Name: "perl-Time-Local", Epoch: 1, Version: "1.280", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:d9ff68ed7dce4a5bb9a13c85270f9908", SrcName: "perl-Time-Local", SrcEpoch: 1, SrcVersion: "1.280", SrcRelease: "1.el8"}, - {Name: "perl-Digest", Epoch: 0, Version: "1.17", Release: "395.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:3288d677385ef645566a458dae131af2", SrcName: "perl-Digest", SrcEpoch: 0, SrcVersion: "1.17", SrcRelease: "395.el8"}, - {Name: "perl-Net-SSLeay", Epoch: 0, Version: "1.88", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Artistic 2.0"}, Maintainer: "CentOS", Digest: "md5:d060dd8a7177e91cee9f963348ab8305", SrcName: "perl-Net-SSLeay", SrcEpoch: 0, SrcVersion: "1.88", SrcRelease: "1.el8"}, - {Name: "perl-TermReadKey", Epoch: 0, Version: "2.37", Release: "7.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(Copyright only) and (Artistic or GPL+)"}, Maintainer: "CentOS", Digest: "md5:1ca4492dd5719a92713930073a8fc89c", SrcName: "perl-TermReadKey", SrcEpoch: 0, SrcVersion: "2.37", SrcRelease: "7.el8"}, - {Name: "perl-Pod-Escapes", Epoch: 1, Version: "1.07", Release: "395.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:06bdeb217473ea5c468916d046240269", SrcName: "perl-Pod-Escapes", SrcEpoch: 1, SrcVersion: "1.07", SrcRelease: "395.el8"}, - {Name: "perl-Mozilla-CA", Epoch: 0, Version: "20160104", Release: "7.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:e517a072a8b0ef27b42a5472efb1bd17", SrcName: "perl-Mozilla-CA", SrcEpoch: 0, SrcVersion: "20160104", SrcRelease: "7.el8"}, - {Name: "fipscheck", Epoch: 0, Version: "1.5.0", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:33be21c19bde710c0b22e48c6ab19c91", SrcName: "fipscheck", SrcEpoch: 0, SrcVersion: "1.5.0", SrcRelease: "4.el8"}, - {Name: "which", Epoch: 0, Version: "2.21", Release: "12.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3"}, Maintainer: "CentOS", Digest: "md5:183da0ec6dab25a25210bb1be5733f46", SrcName: "which", SrcEpoch: 0, SrcVersion: "2.21", SrcRelease: "12.el8"}, - {Name: "libpsl", Epoch: 0, Version: "0.20.2", Release: "5.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:bdc70122875df1e028ba0654b6566384", SrcName: "libpsl", SrcEpoch: 0, SrcVersion: "0.20.2", SrcRelease: "5.el8"}, - {Name: "pcre2-utf32", Epoch: 0, Version: "10.32", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:793c13660ceec0a0f375a98c077b1144", SrcName: "pcre2", SrcEpoch: 0, SrcVersion: "10.32", SrcRelease: "1.el8"}, - {Name: "openssl", Epoch: 1, Version: "1.1.1c", Release: "15.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"OpenSSL"}, Maintainer: "CentOS", Digest: "md5:a2d45c750a52617caa18d0f23c80534e", SrcName: "openssl", SrcEpoch: 1, SrcVersion: "1.1.1c", SrcRelease: "15.el8"}, - {Name: "perl-Term-Cap", Epoch: 0, Version: "1.17", Release: "395.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:a36d892cdd3e4c40b70ebf3ebd307ece", SrcName: "perl-Term-Cap", SrcEpoch: 0, SrcVersion: "1.17", SrcRelease: "395.el8"}, - {Name: "libpkgconf", Epoch: 0, Version: "1.4.2", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "CentOS", Digest: "md5:c1d476e8247ae535374ebffccfb2ca5c", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.el8"}, - {Name: "pkgconf-pkg-config", Epoch: 0, Version: "1.4.2", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "CentOS", Digest: "md5:6a5f9694de9b98ca71ed47b605ba977a", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.el8"}, - {Name: "nss-util-devel", Epoch: 0, Version: "3.53.1", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:7e8988fa06b53b21885b838eee5005ae", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.53.1", SrcRelease: "11.el8_2"}, - {Name: "libcom_err-devel", Epoch: 0, Version: "1.45.4", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:64fde397ca1b863536fc9b1de81cdbfe", SrcName: "e2fsprogs", SrcEpoch: 0, SrcVersion: "1.45.4", SrcRelease: "3.el8"}, - {Name: "libverto-devel", Epoch: 0, Version: "0.3.0", Release: "5.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:532a02d519c64b120a5574d579b4f476", SrcName: "libverto", SrcEpoch: 0, SrcVersion: "0.3.0", SrcRelease: "5.el8"}, - {Name: "libselinux-devel", Epoch: 0, Version: "2.9", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:c8de4e1f3790622c27baf4a2807e4d2e", SrcName: "libselinux", SrcEpoch: 0, SrcVersion: "2.9", SrcRelease: "3.el8"}, - {Name: "libkadm5", Epoch: 0, Version: "1.17", Release: "18.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:5b42f084acf13e7c87d03a2327b62dc3", SrcName: "krb5", SrcEpoch: 0, SrcVersion: "1.17", SrcRelease: "18.el8"}, - {Name: "openssh-clients", Epoch: 0, Version: "8.0p1", Release: "4.el8_1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:78ac3735eebc747b931cc7712cc0e46f", SrcName: "openssh", SrcEpoch: 0, SrcVersion: "8.0p1", SrcRelease: "4.el8_1"}, - {Name: "git-core-doc", Epoch: 0, Version: "2.18.4", Release: "2.el8_2", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:b5e58ac9279ac3502dc6f53feecb64c1", SrcName: "git", SrcEpoch: 0, SrcVersion: "2.18.4", SrcRelease: "2.el8_2"}, - {Name: "krb5-devel", Epoch: 0, Version: "1.17", Release: "18.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:d7ed22f52db48539363e1388925f0246", SrcName: "krb5", SrcEpoch: 0, SrcVersion: "1.17", SrcRelease: "18.el8"}, - {Name: "perl-Encode", Epoch: 4, Version: "2.97", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPL+ or Artistic) and Artistic 2.0 and UCD"}, Maintainer: "CentOS", Digest: "md5:9c13163ba1dba6de88e23119fbbb07c7", SrcName: "perl-Encode", SrcEpoch: 4, SrcVersion: "2.97", SrcRelease: "3.el8"}, - {Name: "perl-Getopt-Long", Epoch: 1, Version: "2.50", Release: "4.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:8402f4c723f38564bab926f618d4a638", SrcName: "perl-Getopt-Long", SrcEpoch: 1, SrcVersion: "2.50", SrcRelease: "4.el8"}, - {Name: "libgcc", Epoch: 0, Version: "8.3.1", Release: "5.el8.0.2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD"}, Maintainer: "CentOS", Digest: "md5:6d2466b49e2e159a9ffbc965d87539b5", SrcName: "gcc", SrcEpoch: 0, SrcVersion: "8.3.1", SrcRelease: "5.el8.0.2"}, - {Name: "perl-Pod-Usage", Epoch: 4, Version: "1.69", Release: "395.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:7ca3785d080ee4a20cb030cff8d14650", SrcName: "perl-Pod-Usage", SrcEpoch: 4, SrcVersion: "1.69", SrcRelease: "395.el8"}, - {Name: "python3-pip-wheel", Epoch: 0, Version: "9.0.3", Release: "16.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD)"}, Maintainer: "CentOS", Digest: "md5:c7af612313ed1ff4b0831c8e2a811ef4", SrcName: "python-pip", SrcEpoch: 0, SrcVersion: "9.0.3", SrcRelease: "16.el8"}, - {Name: "perl-HTTP-Tiny", Epoch: 0, Version: "0.074", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:450794533f6287021ea470ccdb71a39a", SrcName: "perl-HTTP-Tiny", SrcEpoch: 0, SrcVersion: "0.074", SrcRelease: "1.el8"}, - {Name: "perl-libnet", Epoch: 0, Version: "3.11", Release: "3.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:84cf9f5f0d65cd76fdc6916aa342c1f3", SrcName: "perl-libnet", SrcEpoch: 0, SrcVersion: "3.11", SrcRelease: "3.el8"}, - {Name: "setup", Epoch: 0, Version: "2.12.2", Release: "5.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:d55f10b24cc01ff684bb2380bcc453b8", SrcName: "setup", SrcEpoch: 0, SrcVersion: "2.12.2", SrcRelease: "5.el8"}, - {Name: "file", Epoch: 0, Version: "5.33", Release: "13.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:814793b843457f406144e67030207c01", SrcName: "file", SrcEpoch: 0, SrcVersion: "5.33", SrcRelease: "13.el8"}, - {Name: "basesystem", Epoch: 0, Version: "11", Release: "5.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:f988bd6b76df626c40d6e051ee7629c9", SrcName: "basesystem", SrcEpoch: 0, SrcVersion: "11", SrcRelease: "5.el8"}, - {Name: "perl-Git", Epoch: 0, Version: "2.18.4", Release: "2.el8_2", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:1186b063cb093bd7e40f35d6d6d2edd5", SrcName: "git", SrcEpoch: 0, SrcVersion: "2.18.4", SrcRelease: "2.el8_2"}, - {Name: "ncurses-base", Epoch: 0, Version: "6.1", Release: "7.20180224.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:b159cfc17482713cecfbfd8e031a91f2", SrcName: "ncurses", SrcEpoch: 0, SrcVersion: "6.1", SrcRelease: "7.20180224.el8"}, - {Name: "vim-filesystem", Epoch: 2, Version: "8.0.1763", Release: "13.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"Vim and MIT"}, Maintainer: "CentOS", Digest: "md5:747cf7810d58760c910bf51f0fae0722", SrcName: "vim", SrcEpoch: 2, SrcVersion: "8.0.1763", SrcRelease: "13.el8"}, - {Name: "libselinux", Epoch: 0, Version: "2.9", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:6ab87f69ce519580828da70906fc05a2", SrcName: "libselinux", SrcEpoch: 0, SrcVersion: "2.9", SrcRelease: "3.el8"}, - {Name: "gpm-libs", Epoch: 0, Version: "1.20.7", Release: "15.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2 and GPLv2+ with exceptions and GPLv3+ and Verbatim and Copyright only"}, Maintainer: "CentOS", Digest: "md5:897dcd70f96bda1474ee53eb454a307f", SrcName: "gpm", SrcEpoch: 0, SrcVersion: "1.20.7", SrcRelease: "15.el8"}, - {Name: "glibc-minimal-langpack", Epoch: 0, Version: "2.28", Release: "101.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL"}, Maintainer: "CentOS", Digest: "md5:83a4dc4baf1266a1818a32d3115c3697", SrcName: "glibc", SrcEpoch: 0, SrcVersion: "2.28", SrcRelease: "101.el8"}, - {Name: "file-devel", Epoch: 0, Version: "5.33", Release: "13.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:3bdc4b880ab807baac63dd9e32a18c17", SrcName: "file", SrcEpoch: 0, SrcVersion: "5.33", SrcRelease: "13.el8"}, - {Name: "glibc", Epoch: 0, Version: "2.28", Release: "101.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ and GPLv2+ with exceptions and BSD and Inner-Net and ISC and Public Domain and GFDL"}, Maintainer: "CentOS", Digest: "md5:5cb33fd16d51470238a7a4ec125016ba", SrcName: "glibc", SrcEpoch: 0, SrcVersion: "2.28", SrcRelease: "101.el8"}, - {Name: "nss-devel", Epoch: 0, Version: "3.53.1", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:b7a2c2d0f38735307380c0e6ad6ad433", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.53.1", SrcRelease: "11.el8_2"}, - {Name: "libsepol", Epoch: 0, Version: "2.9", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:38605757e0d48009beca6e82c6bdc8d5", SrcName: "libsepol", SrcEpoch: 0, SrcVersion: "2.9", SrcRelease: "1.el8"}, - {Name: "xz-devel", Epoch: 0, Version: "5.2.4", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:03d0dba57b4185d8b1ee4fdecc7bdafc", SrcName: "xz", SrcEpoch: 0, SrcVersion: "5.2.4", SrcRelease: "3.el8"}, - {Name: "xz-libs", Epoch: 0, Version: "5.2.4", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Public Domain"}, Maintainer: "CentOS", Digest: "md5:96bf8a25552450c4992aeb824bb55c87", SrcName: "xz", SrcEpoch: 0, SrcVersion: "5.2.4", SrcRelease: "3.el8"}, - {Name: "wget", Epoch: 0, Version: "1.19.5", Release: "8.el8_1.1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:dd754ca4ef35c74593a6d3c4785affa9", SrcName: "wget", SrcEpoch: 0, SrcVersion: "1.19.5", SrcRelease: "8.el8_1.1"}, - {Name: "libcap", Epoch: 0, Version: "2.26", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:5fe96e3190b4c9ae5bfcdb5268e7a69f", SrcName: "libcap", SrcEpoch: 0, SrcVersion: "2.26", SrcRelease: "3.el8"}, - {Name: "strace", Epoch: 0, Version: "4.24", Release: "9.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPL-2.1+ and GPL-2.0+"}, Maintainer: "CentOS", Digest: "md5:0d086902619eb98efc1c415c910d2064", SrcName: "strace", SrcEpoch: 0, SrcVersion: "4.24", SrcRelease: "9.el8"}, - {Name: "info", Epoch: 0, Version: "6.5", Release: "6.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:e368cb98b8ae037ff471725c2cea363e", SrcName: "texinfo", SrcEpoch: 0, SrcVersion: "6.5", SrcRelease: "6.el8"}, - {Name: "gdb-gdbserver", Epoch: 0, Version: "8.2", Release: "11.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL"}, Maintainer: "CentOS", Digest: "md5:f1e0d599b08052a503433bb9e4d19490", SrcName: "gdb", SrcEpoch: 0, SrcVersion: "8.2", SrcRelease: "11.el8"}, - {Name: "libcom_err", Epoch: 0, Version: "1.45.4", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:ec30a7983356b3de9e83f1dda2eecd8b", SrcName: "e2fsprogs", SrcEpoch: 0, SrcVersion: "1.45.4", SrcRelease: "3.el8"}, - {Name: "libcroco", Epoch: 0, Version: "0.6.12", Release: "4.el8_2.1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2"}, Maintainer: "CentOS", Digest: "md5:15aa0ca9c1889bdda4537f342f8df60d", SrcName: "libcroco", SrcEpoch: 0, SrcVersion: "0.6.12", SrcRelease: "4.el8_2.1"}, - {Name: "libxml2", Epoch: 0, Version: "2.9.7", Release: "7.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:18a89ea76ea4278d068b24672a91f048", SrcName: "libxml2", SrcEpoch: 0, SrcVersion: "2.9.7", SrcRelease: "7.el8"}, - {Name: "libmpc", Epoch: 0, Version: "1.0.2", Release: "9.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+ and GFDL"}, Maintainer: "CentOS", Digest: "md5:2c68aca463647ae457efae8232d80a86", SrcName: "libmpc", SrcEpoch: 0, SrcVersion: "1.0.2", SrcRelease: "9.el8"}, - {Name: "expat", Epoch: 0, Version: "2.2.5", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:0599f3c75b448b9c88e478b764361704", SrcName: "expat", SrcEpoch: 0, SrcVersion: "2.2.5", SrcRelease: "3.el8"}, - {Name: "gettext", Epoch: 0, Version: "0.19.8.1", Release: "17.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:b0c5f450b122286eb0d173e9c1aaa23d", SrcName: "gettext", SrcEpoch: 0, SrcVersion: "0.19.8.1", SrcRelease: "17.el8"}, - {Name: "libuuid", Epoch: 0, Version: "2.32.1", Release: "22.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:490942418c894fbc00e1bed23dd61096", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "22.el8"}, - {Name: "autoconf", Epoch: 0, Version: "2.69", Release: "27.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GFDL"}, Maintainer: "CentOS", Digest: "md5:9c5483a0a68d7fd73aec444ac2a9d631", SrcName: "autoconf", SrcEpoch: 0, SrcVersion: "2.69", SrcRelease: "27.el8"}, - {Name: "chkconfig", Epoch: 0, Version: "1.11", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:33ae796d1b96f631732e6553d5e67e26", SrcName: "chkconfig", SrcEpoch: 0, SrcVersion: "1.11", SrcRelease: "1.el8"}, - {Name: "kernel-headers", Epoch: 0, Version: "4.18.0", Release: "193.28.1.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2 and Redistributable, no modification permitted"}, Maintainer: "CentOS", Digest: "md5:cb027fddb5bfd3e90f75340b4b86a00b", SrcName: "kernel", SrcEpoch: 0, SrcVersion: "4.18.0", SrcRelease: "193.28.1.el8_2"}, - {Name: "gmp", Epoch: 1, Version: "6.1.2", Release: "10.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+ or GPLv2+"}, Maintainer: "CentOS", Digest: "md5:d97c6201b7617cb78474f88a10f7da34", SrcName: "gmp", SrcEpoch: 1, SrcVersion: "6.1.2", SrcRelease: "10.el8"}, - {Name: "libxcrypt-devel", Epoch: 0, Version: "4.1.1", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and BSD and Public Domain"}, Maintainer: "CentOS", Digest: "md5:aec174890471f284aa6e03020ff76443", SrcName: "libxcrypt", SrcEpoch: 0, SrcVersion: "4.1.1", SrcRelease: "4.el8"}, - {Name: "libattr", Epoch: 0, Version: "2.4.48", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:bdc22fe0cdcb03a5014e6275c6539003", SrcName: "attr", SrcEpoch: 0, SrcVersion: "2.4.48", SrcRelease: "3.el8"}, - {Name: "gettext-common-devel", Epoch: 0, Version: "0.19.8.1", Release: "17.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:0383d8a86aba24f71729c918d949d967", SrcName: "gettext", SrcEpoch: 0, SrcVersion: "0.19.8.1", SrcRelease: "17.el8"}, - {Name: "coreutils-single", Epoch: 0, Version: "8.30", Release: "7.el8_2.1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:68abfec2549d36f258bd2c2e513fbddc", SrcName: "coreutils", SrcEpoch: 0, SrcVersion: "8.30", SrcRelease: "7.el8_2.1"}, - {Name: "automake", Epoch: 0, Version: "1.16.1", Release: "6.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GFDL and Public Domain and MIT"}, Maintainer: "CentOS", Digest: "md5:82fb5fbeda4c984163fa56c0d87f88d2", SrcName: "automake", SrcEpoch: 0, SrcVersion: "1.16.1", SrcRelease: "6.el8"}, - {Name: "libblkid", Epoch: 0, Version: "2.32.1", Release: "22.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:081c1805273069f7933c6a2bc62f2a5b", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "22.el8"}, - {Name: "gcc", Epoch: 0, Version: "8.3.1", Release: "5.el8.0.2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD"}, Maintainer: "CentOS", Digest: "md5:3380ab4e7a454e71dc39e99c060dfcda", SrcName: "gcc", SrcEpoch: 0, SrcVersion: "8.3.1", SrcRelease: "5.el8.0.2"}, - {Name: "libcap-ng", Epoch: 0, Version: "0.7.9", Release: "5.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:dbb245f0f1383ee7e20511a832a9caeb", SrcName: "libcap-ng", SrcEpoch: 0, SrcVersion: "0.7.9", SrcRelease: "5.el8"}, - {Name: "gettext-devel", Epoch: 0, Version: "0.19.8.1", Release: "17.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and GPLv3+"}, Maintainer: "CentOS", Digest: "md5:bdc16337577ae7ba9540b00bfd49fe75", SrcName: "gettext", SrcEpoch: 0, SrcVersion: "0.19.8.1", SrcRelease: "17.el8"}, - {Name: "libffi", Epoch: 0, Version: "3.1", Release: "21.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:75f0d6ae08ec69f1d9c600ce05bfad37", SrcName: "libffi", SrcEpoch: 0, SrcVersion: "3.1", SrcRelease: "21.el8"}, - {Name: "make", Epoch: 1, Version: "4.2.1", Release: "10.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:5e35f9e2dafcf4717463a5cccd6363eb", SrcName: "make", SrcEpoch: 1, SrcVersion: "4.2.1", SrcRelease: "10.el8"}, - {Name: "libzstd", Epoch: 0, Version: "1.4.2", Release: "2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD and GPLv2"}, Maintainer: "CentOS", Digest: "md5:6cc827a8449f9baed1dbad4f5992d2a1", SrcName: "zstd", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "2.el8"}, - {Name: "npm", Epoch: 1, Version: "6.14.4", Release: "1.10.21.0.3.module_el8.2.0+391+8da3adc6", Arch: "x86_64", Modularitylabel: "nodejs:10:8020020200707141642:6a468ee4", Licenses: []string{"MIT and ASL 2.0 and ISC and BSD"}, Maintainer: "CentOS", Digest: "md5:c36d61a68ea091683d7a2c88e19239c1", SrcName: "nodejs", SrcEpoch: 1, SrcVersion: "10.21.0", SrcRelease: "3.module_el8.2.0+391+8da3adc6"}, - {Name: "lz4-libs", Epoch: 0, Version: "1.8.1.2", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and BSD"}, Maintainer: "CentOS", Digest: "md5:a5e16dd8650587ebf1e85350bb7fb063", SrcName: "lz4", SrcEpoch: 0, SrcVersion: "1.8.1.2", SrcRelease: "4.el8"}, - {Name: "libtool-ltdl", Epoch: 0, Version: "2.4.6", Release: "25.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:e5553e445ddba10c79d2f430439f24cb", SrcName: "libtool", SrcEpoch: 0, SrcVersion: "2.4.6", SrcRelease: "25.el8"}, - {Name: "libgcrypt", Epoch: 0, Version: "1.8.3", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:453cb9a4dcfba2847247a6004adb8a40", SrcName: "libgcrypt", SrcEpoch: 0, SrcVersion: "1.8.3", SrcRelease: "4.el8"}, - {Name: "libipt", Epoch: 0, Version: "1.6.1", Release: "8.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:68edc160e21686087d8486cdf060073e", SrcName: "libipt", SrcEpoch: 0, SrcVersion: "1.6.1", SrcRelease: "8.el8"}, - {Name: "cracklib", Epoch: 0, Version: "2.9.6", Release: "15.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:3ced50b8ce5c91849d67c8e6f75f5cd1", SrcName: "cracklib", SrcEpoch: 0, SrcVersion: "2.9.6", SrcRelease: "15.el8"}, - {Name: "gc", Epoch: 0, Version: "7.6.4", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:d16a971513963ab4666f0aef05b733b6", SrcName: "gc", SrcEpoch: 0, SrcVersion: "7.6.4", SrcRelease: "3.el8"}, - {Name: "libidn2", Epoch: 0, Version: "2.2.0", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPLv2+ or LGPLv3+) and GPLv3+"}, Maintainer: "CentOS", Digest: "md5:206b757710d3924958eeb8bd423243bd", SrcName: "libidn2", SrcEpoch: 0, SrcVersion: "2.2.0", SrcRelease: "1.el8"}, - {Name: "gdb-headless", Epoch: 0, Version: "8.2", Release: "12.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL"}, Maintainer: "CentOS", Digest: "md5:35ade298b366dbb4e1a451d391957065", SrcName: "gdb", SrcEpoch: 0, SrcVersion: "8.2", SrcRelease: "12.el8"}, - {Name: "file-libs", Epoch: 0, Version: "5.33", Release: "13.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:99f7be5b7e16f6c8881a5f0c7201d727", SrcName: "file", SrcEpoch: 0, SrcVersion: "5.33", SrcRelease: "13.el8"}, - {Name: "epel-release", Epoch: 0, Version: "8", Release: "8.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:ffafcace455ddb4eff21913fabc48caa", SrcName: "epel-release", SrcEpoch: 0, SrcVersion: "8", SrcRelease: "8.el8"}, - {Name: "keyutils-libs", Epoch: 0, Version: "1.5.10", Release: "6.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:abf58d0542bb7f9113858fce1e2aa9b4", SrcName: "keyutils", SrcEpoch: 0, SrcVersion: "1.5.10", SrcRelease: "6.el8"}, - {Name: "platform-python-pip", Epoch: 0, Version: "9.0.3", Release: "18.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD)"}, Maintainer: "CentOS", Digest: "md5:a1a1e7b786b556224de6cb0559470b94", SrcName: "python-pip", SrcEpoch: 0, SrcVersion: "9.0.3", SrcRelease: "18.el8"}, - {Name: "p11-kit-trust", Epoch: 0, Version: "0.23.14", Release: "5.el8_0", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:801f7a4fef4a8c568c336fdfb3031b21", SrcName: "p11-kit", SrcEpoch: 0, SrcVersion: "0.23.14", SrcRelease: "5.el8_0"}, - {Name: "python36", Epoch: 0, Version: "3.6.8", Release: "2.module_el8.3.0+562+e162826a", Arch: "x86_64", Modularitylabel: "python36:3.6:8030020201104034153:24f1489c", Licenses: []string{"Python"}, Maintainer: "CentOS", Digest: "md5:37556e1c897b3116f014573121cb26f4", SrcName: "python36", SrcEpoch: 0, SrcVersion: "3.6.8", SrcRelease: "2.module_el8.3.0+562+e162826a"}, - {Name: "pcre", Epoch: 0, Version: "8.42", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:9c05cc476028e5b01edd29104ec2e9b3", SrcName: "pcre", SrcEpoch: 0, SrcVersion: "8.42", SrcRelease: "4.el8"}, - {Name: "python2-setuptools-wheel", Epoch: 0, Version: "39.0.1", Release: "12.module_el8.3.0+478+7570e00c", Arch: "noarch", Modularitylabel: "python27:2.7:8030020200831201838:851f4228", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:920a10248c3d9f8b8d9a6e456259a58c", SrcName: "python2-setuptools", SrcEpoch: 0, SrcVersion: "39.0.1", SrcRelease: "12.module_el8.3.0+478+7570e00c"}, - {Name: "systemd-libs", Epoch: 0, Version: "239", Release: "31.el8_2.2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and MIT"}, Maintainer: "CentOS", Digest: "md5:a316b3f18d3fd2ae1a08e2a877f41ae7", SrcName: "systemd", SrcEpoch: 0, SrcVersion: "239", SrcRelease: "31.el8_2.2"}, - {Name: "python2-libs", Epoch: 0, Version: "2.7.17", Release: "2.module_el8.3.0+478+7570e00c", Arch: "x86_64", Modularitylabel: "python27:2.7:8030020200831201838:851f4228", Licenses: []string{"Python"}, Maintainer: "CentOS", Digest: "md5:5530a6dceb2fef1bd62c82e9933dff3c", SrcName: "python2", SrcEpoch: 0, SrcVersion: "2.7.17", SrcRelease: "2.module_el8.3.0+478+7570e00c"}, - {Name: "dbus-tools", Epoch: 1, Version: "1.12.8", Release: "10.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPLv2+ or AFL) and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:7d9ee2812adf87829a32fb0b026fe137", SrcName: "dbus", SrcEpoch: 1, SrcVersion: "1.12.8", SrcRelease: "10.el8_2"}, - {Name: "python2-setuptools", Epoch: 0, Version: "39.0.1", Release: "12.module_el8.3.0+478+7570e00c", Arch: "noarch", Modularitylabel: "python27:2.7:8030020200831201838:851f4228", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:2bde3ee3de071c004b14a3faac2ab8f0", SrcName: "python2-setuptools", SrcEpoch: 0, SrcVersion: "39.0.1", SrcRelease: "12.module_el8.3.0+478+7570e00c"}, - {Name: "libusbx", Epoch: 0, Version: "1.0.22", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:8ccdca006e6ce8c7c62ac19db25e7734", SrcName: "libusbx", SrcEpoch: 0, SrcVersion: "1.0.22", SrcRelease: "1.el8"}, - {Name: "gpg-pubkey", Epoch: 0, Version: "ce977fe0", Release: "5db1f171", Arch: "None", Modularitylabel: "", Licenses: []string{"pubkey"}, Maintainer: "", Digest: "", SrcName: "", SrcEpoch: 0, SrcVersion: "", SrcRelease: ""}, - {Name: "rpm-libs", Epoch: 0, Version: "4.14.3", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+ with exceptions"}, Maintainer: "CentOS", Digest: "md5:35f8555f8534e5acf6ca14e950fe0635", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.3", SrcRelease: "4.el8"}, - {Name: "squashfs-tools", Epoch: 0, Version: "4.3", Release: "19.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:23db010940aed94245b743afe8aabfec", SrcName: "squashfs-tools", SrcEpoch: 0, SrcVersion: "4.3", SrcRelease: "19.el8"}, - {Name: "rpm-build-libs", Epoch: 0, Version: "4.14.3", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+ with exceptions"}, Maintainer: "CentOS", Digest: "md5:66f97999bf52dc143aeaedf4750bc001", SrcName: "rpm", SrcEpoch: 0, SrcVersion: "4.14.3", SrcRelease: "4.el8"}, - {Name: "libsemanage", Epoch: 0, Version: "2.9", Release: "2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:dabbf5bee55cc3853ae33c8e739c59b1", SrcName: "libsemanage", SrcEpoch: 0, SrcVersion: "2.9", SrcRelease: "2.el8"}, - {Name: "libutempter", Epoch: 0, Version: "1.1.6", Release: "14.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:d8773aceac7955c99c3d89a95568c180", SrcName: "libutempter", SrcEpoch: 0, SrcVersion: "1.1.6", SrcRelease: "14.el8"}, - {Name: "acl", Epoch: 0, Version: "2.2.53", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:483792b8b5f9eb8be7dc4407733118d0", SrcName: "acl", SrcEpoch: 0, SrcVersion: "2.2.53", SrcRelease: "1.el8"}, - {Name: "nettle", Epoch: 0, Version: "3.4.1", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv3+ or GPLv2+"}, Maintainer: "CentOS", Digest: "md5:6bf682f2d691cb408aa61a2601d0f922", SrcName: "nettle", SrcEpoch: 0, SrcVersion: "3.4.1", SrcRelease: "1.el8"}, - {Name: "libcomps", Epoch: 0, Version: "0.1.11", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:61f1c2ca663b8226890e72a85e94f058", SrcName: "libcomps", SrcEpoch: 0, SrcVersion: "0.1.11", SrcRelease: "4.el8"}, - {Name: "findutils", Epoch: 1, Version: "4.6.0", Release: "20.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:5ca7479cd7d1cdbe30746ce1c53d6bc1", SrcName: "findutils", SrcEpoch: 1, SrcVersion: "4.6.0", SrcRelease: "20.el8"}, - {Name: "cpio", Epoch: 0, Version: "2.12", Release: "8.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:7ddd4e1548f05e3884f62166277480e7", SrcName: "cpio", SrcEpoch: 0, SrcVersion: "2.12", SrcRelease: "8.el8"}, - {Name: "ipcalc", Epoch: 0, Version: "0.2.4", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:4564057e3ae90a2296967da77f71cb87", SrcName: "ipcalc", SrcEpoch: 0, SrcVersion: "0.2.4", SrcRelease: "4.el8"}, - {Name: "libnghttp2", Epoch: 0, Version: "1.33.0", Release: "3.el8_2.1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:54279556ffeb8d7a527c7d6d157965e3", SrcName: "nghttp2", SrcEpoch: 0, SrcVersion: "1.33.0", SrcRelease: "3.el8_2.1"}, - {Name: "iptables-libs", Epoch: 0, Version: "1.8.4", Release: "10.el8_2.1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2 and Artistic 2.0 and ISC"}, Maintainer: "CentOS", Digest: "md5:5e4704a82f9b3370b941fddcb34c8031", SrcName: "iptables", SrcEpoch: 0, SrcVersion: "1.8.4", SrcRelease: "10.el8_2.1"}, - {Name: "libsigsegv", Epoch: 0, Version: "2.11", Release: "5.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:5625ecad632168eecb8960821b0abeca", SrcName: "libsigsegv", SrcEpoch: 0, SrcVersion: "2.11", SrcRelease: "5.el8"}, - {Name: "libverto", Epoch: 0, Version: "0.3.0", Release: "5.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:4b04a34ead82e762637fae7d79adf926", SrcName: "libverto", SrcEpoch: 0, SrcVersion: "0.3.0", SrcRelease: "5.el8"}, - {Name: "libtirpc", Epoch: 0, Version: "1.1.4", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"SISSL and BSD"}, Maintainer: "CentOS", Digest: "md5:8b4eec2ef36446061ee886a625584830", SrcName: "libtirpc", SrcEpoch: 0, SrcVersion: "1.1.4", SrcRelease: "4.el8"}, - {Name: "openssl-libs", Epoch: 1, Version: "1.1.1c", Release: "15.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"OpenSSL"}, Maintainer: "CentOS", Digest: "md5:035906e9d19890fe1f95b1e8d4b1a890", SrcName: "openssl", SrcEpoch: 1, SrcVersion: "1.1.1c", SrcRelease: "15.el8"}, - {Name: "python3-libs", Epoch: 0, Version: "3.6.8", Release: "23.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"Python"}, Maintainer: "CentOS", Digest: "md5:24366dc108d8d78edaf5a0297620741c", SrcName: "python3", SrcEpoch: 0, SrcVersion: "3.6.8", SrcRelease: "23.el8"}, - {Name: "libpwquality", Epoch: 0, Version: "1.4.0", Release: "9.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD or GPLv2+"}, Maintainer: "CentOS", Digest: "md5:5b6c127112b13b51d39696fe3eb6ae50", SrcName: "libpwquality", SrcEpoch: 0, SrcVersion: "1.4.0", SrcRelease: "9.el8"}, - {Name: "util-linux", Epoch: 0, Version: "2.32.1", Release: "22.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain"}, Maintainer: "CentOS", Digest: "md5:f6b9e0111f2f92d2a3cfe3091237a049", SrcName: "util-linux", SrcEpoch: 0, SrcVersion: "2.32.1", SrcRelease: "22.el8"}, - {Name: "glib2", Epoch: 0, Version: "2.56.4", Release: "8.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:5cd98b131a43e30a121edb9f26697a57", SrcName: "glib2", SrcEpoch: 0, SrcVersion: "2.56.4", SrcRelease: "8.el8"}, - {Name: "iproute", Epoch: 0, Version: "5.3.0", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and Public Domain"}, Maintainer: "CentOS", Digest: "md5:d8fba74d3a00fae03acc06cf82eac90b", SrcName: "iproute", SrcEpoch: 0, SrcVersion: "5.3.0", SrcRelease: "1.el8"}, - {Name: "kmod", Epoch: 0, Version: "25", Release: "16.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:57442c44df12acfc5a6164cbd3780511", SrcName: "kmod", SrcEpoch: 0, SrcVersion: "25", SrcRelease: "16.el8"}, - {Name: "curl", Epoch: 0, Version: "7.61.1", Release: "12.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:c305531060535f28771ea538447cc0a9", SrcName: "curl", SrcEpoch: 0, SrcVersion: "7.61.1", SrcRelease: "12.el8"}, - {Name: "openldap", Epoch: 0, Version: "2.4.46", Release: "11.el8_1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"OpenLDAP"}, Maintainer: "CentOS", Digest: "md5:435b641c2259efbca591c3692fb3ee4f", SrcName: "openldap", SrcEpoch: 0, SrcVersion: "2.4.46", SrcRelease: "11.el8_1"}, - {Name: "python3-libcomps", Epoch: 0, Version: "0.1.11", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:5b6f724e320aac06d2dbb21171455287", SrcName: "libcomps", SrcEpoch: 0, SrcVersion: "0.1.11", SrcRelease: "4.el8"}, - {Name: "libarchive", Epoch: 0, Version: "3.3.2", Release: "8.el8_1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:3e813ad4d33701372cb8dcbf7e13bab6", SrcName: "libarchive", SrcEpoch: 0, SrcVersion: "3.3.2", SrcRelease: "8.el8_1"}, - {Name: "libyaml", Epoch: 0, Version: "0.1.7", Release: "5.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:7c8bef326f7edfab7928fbaaeee8c652", SrcName: "libyaml", SrcEpoch: 0, SrcVersion: "0.1.7", SrcRelease: "5.el8"}, - {Name: "npth", Epoch: 0, Version: "1.5", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:b944c570e2db54dd8f8d3ab4d7b7990d", SrcName: "npth", SrcEpoch: 0, SrcVersion: "1.5", SrcRelease: "4.el8"}, - {Name: "gpgme", Epoch: 0, Version: "1.10.0", Release: "6.el8.0.1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:23c61df97de39d050a78bfe752b271fe", SrcName: "gpgme", SrcEpoch: 0, SrcVersion: "1.10.0", SrcRelease: "6.el8.0.1"}, - {Name: "libdnf", Epoch: 0, Version: "0.39.1", Release: "6.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:fffff8e4851ab715207b238f149bbbdd", SrcName: "libdnf", SrcEpoch: 0, SrcVersion: "0.39.1", SrcRelease: "6.el8_2"}, - {Name: "python3-hawkey", Epoch: 0, Version: "0.39.1", Release: "6.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:b91b61327f7e96d7cfc60c43131e344c", SrcName: "libdnf", SrcEpoch: 0, SrcVersion: "0.39.1", SrcRelease: "6.el8_2"}, - {Name: "libreport-filesystem", Epoch: 0, Version: "2.9.5", Release: "10.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:688a38734bfb36dcd3aa27147e733f48", SrcName: "libreport", SrcEpoch: 0, SrcVersion: "2.9.5", SrcRelease: "10.el8"}, - {Name: "dhcp-common", Epoch: 12, Version: "4.3.6", Release: "40.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "CentOS", Digest: "md5:cff0499703ca84229ef6cdb351b72248", SrcName: "dhcp", SrcEpoch: 12, SrcVersion: "4.3.6", SrcRelease: "40.el8"}, - {Name: "dbus-daemon", Epoch: 1, Version: "1.12.8", Release: "10.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPLv2+ or AFL) and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:5650c215b979d90eda12fbc0f3029c02", SrcName: "dbus", SrcEpoch: 1, SrcVersion: "1.12.8", SrcRelease: "10.el8_2"}, - {Name: "device-mapper-libs", Epoch: 8, Version: "1.02.169", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2"}, Maintainer: "CentOS", Digest: "md5:5efcaa95e0028e060cbb5e8654429d5c", SrcName: "lvm2", SrcEpoch: 8, SrcVersion: "2.03.08", SrcRelease: "3.el8"}, - {Name: "elfutils-default-yama-scope", Epoch: 0, Version: "0.178", Release: "7.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ or LGPLv3+"}, Maintainer: "CentOS", Digest: "md5:d610d0c6277635bcb67b234bc252e3ab", SrcName: "elfutils", SrcEpoch: 0, SrcVersion: "0.178", SrcRelease: "7.el8"}, - {Name: "systemd-pam", Epoch: 0, Version: "239", Release: "31.el8_2.2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+ and MIT and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:c7bcefdda4c92a3ddce3361e73a6fb04", SrcName: "systemd", SrcEpoch: 0, SrcVersion: "239", SrcRelease: "31.el8_2.2"}, - {Name: "dbus", Epoch: 1, Version: "1.12.8", Release: "10.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPLv2+ or AFL) and GPLv2+"}, Maintainer: "CentOS", Digest: "md5:0527c3681f77bd4775f23298020c568c", SrcName: "dbus", SrcEpoch: 1, SrcVersion: "1.12.8", SrcRelease: "10.el8_2"}, - {Name: "dhcp-client", Epoch: 12, Version: "4.3.6", Release: "40.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "CentOS", Digest: "md5:188f208523e4eff06746a39355aae3f9", SrcName: "dhcp", SrcEpoch: 12, SrcVersion: "4.3.6", SrcRelease: "40.el8"}, - {Name: "libkcapi-hmaccalc", Epoch: 0, Version: "1.1.1", Release: "16_1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD or GPLv2"}, Maintainer: "CentOS", Digest: "md5:386b48136f3955caddf97c0526e0fee0", SrcName: "libkcapi", SrcEpoch: 0, SrcVersion: "1.1.1", SrcRelease: "16_1.el8"}, - {Name: "dracut", Epoch: 0, Version: "049", Release: "70.git20200228.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:6ebe6c201c226b6df68e38a6d9e2c0c3", SrcName: "dracut", SrcEpoch: 0, SrcVersion: "049", SrcRelease: "70.git20200228.el8"}, - {Name: "dracut-squash", Epoch: 0, Version: "049", Release: "70.git20200228.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:477bd22fb0a32db1be3435b173f6e8a7", SrcName: "dracut", SrcEpoch: 0, SrcVersion: "049", SrcRelease: "70.git20200228.el8"}, - {Name: "dnf", Epoch: 0, Version: "4.2.17", Release: "7.el8_2", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ and GPLv2 and GPL"}, Maintainer: "CentOS", Digest: "md5:d11048989f73ec620c1e1d1df594e893", SrcName: "dnf", SrcEpoch: 0, SrcVersion: "4.2.17", SrcRelease: "7.el8_2"}, - {Name: "kexec-tools", Epoch: 0, Version: "2.0.20", Release: "14.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:a826184bec8587e019019077336578fa", SrcName: "kexec-tools", SrcEpoch: 0, SrcVersion: "2.0.20", SrcRelease: "14.el8"}, - {Name: "tar", Epoch: 2, Version: "1.30", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+"}, Maintainer: "CentOS", Digest: "md5:9cf6795c42907b004d73bbb404a037fc", SrcName: "tar", SrcEpoch: 2, SrcVersion: "1.30", SrcRelease: "4.el8"}, - {Name: "hostname", Epoch: 0, Version: "3.20", Release: "6.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:6f9f94b9611168a6baa489eeae0d1f05", SrcName: "hostname", SrcEpoch: 0, SrcVersion: "3.20", SrcRelease: "6.el8"}, - {Name: "langpacks-en", Epoch: 0, Version: "1.0", Release: "12.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+"}, Maintainer: "CentOS", Digest: "md5:170167632b0fe83fe2b3f2b1296109e2", SrcName: "langpacks", SrcEpoch: 0, SrcVersion: "1.0", SrcRelease: "12.el8"}, - {Name: "gpg-pubkey", Epoch: 0, Version: "8483c65d", Release: "5ccc5b19", Arch: "None", Modularitylabel: "", Licenses: []string{"pubkey"}, Maintainer: "", Digest: "", SrcName: "", SrcEpoch: 0, SrcVersion: "", SrcRelease: ""}, - {Name: "centos-release", Epoch: 0, Version: "8.2", Release: "2.2004.0.2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:f028acfc4904a465f8e47a49e8a8fc05", SrcName: "centos-release", SrcEpoch: 0, SrcVersion: "8.2", SrcRelease: "2.2004.0.2.el8"}, - {Name: "zlib", Epoch: 0, Version: "1.2.11", Release: "16.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"zlib and Boost"}, Maintainer: "CentOS", Digest: "md5:43b76aa847c359e8e634127cc2e8ed28", SrcName: "zlib", SrcEpoch: 0, SrcVersion: "1.2.11", SrcRelease: "16.el8_2"}, - {Name: "librepo", Epoch: 0, Version: "1.11.0", Release: "3.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:e57245767bd4ce9a832b412d56aff46e", SrcName: "librepo", SrcEpoch: 0, SrcVersion: "1.11.0", SrcRelease: "3.el8_2"}, - {Name: "bind-export-libs", Epoch: 32, Version: "9.11.13", Release: "6.el8_2.1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:bb03154a73645929b9521e1c6cea762b", SrcName: "bind", SrcEpoch: 32, SrcVersion: "9.11.13", SrcRelease: "6.el8_2.1"}, - {Name: "perl-libs", Epoch: 4, Version: "5.26.3", Release: "416.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPL+ or Artistic) and HSRL and MIT and UCD"}, Maintainer: "CentOS", Digest: "md5:6a77515e3417539336ed3f49908f83c7", SrcName: "perl", SrcEpoch: 4, SrcVersion: "5.26.3", SrcRelease: "416.el8"}, - {Name: "perl-Scalar-List-Utils", Epoch: 3, Version: "1.49", Release: "2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:ae9fd554ccfa042dc074779abf5f2e58", SrcName: "perl-Scalar-List-Utils", SrcEpoch: 3, SrcVersion: "1.49", SrcRelease: "2.el8"}, - {Name: "nspr", Epoch: 0, Version: "4.25.0", Release: "2.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:1a03fabf3824c5fa596f3160a89d3aa1", SrcName: "nspr", SrcEpoch: 0, SrcVersion: "4.25.0", SrcRelease: "2.el8_2"}, - {Name: "nss-softokn-freebl", Epoch: 0, Version: "3.53.1", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:2dc45b206ef714ffe6914e0af559ddf8", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.53.1", SrcRelease: "11.el8_2"}, - {Name: "nss", Epoch: 0, Version: "3.53.1", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:e5a5911dab0c66f9fd756f7845278a8d", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.53.1", SrcRelease: "11.el8_2"}, - {Name: "perl-Text-ParseWords", Epoch: 0, Version: "3.30", Release: "395.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:bf3b84c83bffa76bd3af79141fe72394", SrcName: "perl-Text-ParseWords", SrcEpoch: 0, SrcVersion: "3.30", SrcRelease: "395.el8"}, - {Name: "perl-Term-ANSIColor", Epoch: 0, Version: "4.06", Release: "396.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:c0fc2f73ed2179d13f01ef64e42008ad", SrcName: "perl-Term-ANSIColor", SrcEpoch: 0, SrcVersion: "4.06", SrcRelease: "396.el8"}, - {Name: "perl-Errno", Epoch: 0, Version: "1.28", Release: "416.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:f0355f3f5fcd20f240b9a59e0f0dff88", SrcName: "perl", SrcEpoch: 0, SrcVersion: "5.26.3", SrcRelease: "416.el8"}, - {Name: "perl-Text-Tabs+Wrap", Epoch: 0, Version: "2013.0523", Release: "395.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"TTWL"}, Maintainer: "CentOS", Digest: "md5:68fe36e969406f0e90c6ee13b59b03e3", SrcName: "perl-Text-Tabs+Wrap", SrcEpoch: 0, SrcVersion: "2013.0523", SrcRelease: "395.el8"}, - {Name: "perl-File-Path", Epoch: 0, Version: "2.15", Release: "2.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:26125ecafbd51e07539b96c2699308bd", SrcName: "perl-File-Path", SrcEpoch: 0, SrcVersion: "2.15", SrcRelease: "2.el8"}, - {Name: "perl-PathTools", Epoch: 0, Version: "3.74", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPL+ or Artistic) and BSD"}, Maintainer: "CentOS", Digest: "md5:7cbc1c39bf3c5c7425bf73e5235d00d3", SrcName: "perl-PathTools", SrcEpoch: 0, SrcVersion: "3.74", SrcRelease: "1.el8"}, - {Name: "perl-threads", Epoch: 1, Version: "2.21", Release: "2.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:1a94ed19723e65a29945e59d8dfb5cf4", SrcName: "perl-threads", SrcEpoch: 1, SrcVersion: "2.21", SrcRelease: "2.el8"}, - {Name: "perl-interpreter", Epoch: 4, Version: "5.26.3", Release: "416.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPL+ or Artistic) and (GPLv2+ or Artistic) and BSD and Public Domain and UCD"}, Maintainer: "CentOS", Digest: "md5:e6124e5f67e224ff12cd136480af150a", SrcName: "perl", SrcEpoch: 4, SrcVersion: "5.26.3", SrcRelease: "416.el8"}, - {Name: "perl-IO-Socket-IP", Epoch: 0, Version: "0.39", Release: "5.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:9db2eaec9a186e8a7b92990683a12044", SrcName: "perl-IO-Socket-IP", SrcEpoch: 0, SrcVersion: "0.39", SrcRelease: "5.el8"}, - {Name: "perl-File-Temp", Epoch: 0, Version: "0.230.600", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:4a996a6bcd7b0cda3b3d8dc5b4e712fe", SrcName: "perl-File-Temp", SrcEpoch: 0, SrcVersion: "0.230.600", SrcRelease: "1.el8"}, - {Name: "perl-Digest-MD5", Epoch: 0, Version: "2.55", Release: "396.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"(GPL+ or Artistic) and BSD"}, Maintainer: "CentOS", Digest: "md5:baf4430def945ca345c13bd147f60e7c", SrcName: "perl-Digest-MD5", SrcEpoch: 0, SrcVersion: "2.55", SrcRelease: "396.el8"}, - {Name: "perl-Error", Epoch: 1, Version: "0.17025", Release: "2.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"(GPL+ or Artistic) and MIT"}, Maintainer: "CentOS", Digest: "md5:235ea1ae7ab96868efe5090a4eb7bf1b", SrcName: "perl-Error", SrcEpoch: 1, SrcVersion: "0.17025", SrcRelease: "2.el8"}, - {Name: "perl-Data-Dumper", Epoch: 0, Version: "2.167", Release: "399.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:e7ff09d4e428471fd85587fbe9260fca", SrcName: "perl-Data-Dumper", SrcEpoch: 0, SrcVersion: "2.167", SrcRelease: "399.el8"}, - {Name: "perl-Storable", Epoch: 1, Version: "3.11", Release: "3.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:7575af2e91c5f435c050e1b3f453c9f3", SrcName: "perl-Storable", SrcEpoch: 1, SrcVersion: "3.11", SrcRelease: "3.el8"}, - {Name: "fipscheck-lib", Epoch: 0, Version: "1.5.0", Release: "4.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:9c891d4da9388c333268d7f2e3a9bcb1", SrcName: "fipscheck", SrcEpoch: 0, SrcVersion: "1.5.0", SrcRelease: "4.el8"}, - {Name: "openssh", Epoch: 0, Version: "8.0p1", Release: "4.el8_1", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:cbc935bae411018f5812f57975b259f3", SrcName: "openssh", SrcEpoch: 0, SrcVersion: "8.0p1", SrcRelease: "4.el8_1"}, - {Name: "publicsuffix-list-dafsa", Epoch: 0, Version: "20180723", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:8ce7a82bce196a11a42960b007ef0867", SrcName: "publicsuffix-list", SrcEpoch: 0, SrcVersion: "20180723", SrcRelease: "1.el8"}, - {Name: "pkgconf-m4", Epoch: 0, Version: "1.4.2", Release: "1.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPLv2+ with exceptions"}, Maintainer: "CentOS", Digest: "md5:398894375a82b4e1d5f7f0b38d3bec99", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.el8"}, - {Name: "pcre2-utf16", Epoch: 0, Version: "10.32", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:019c499b3107a465297726933eb4c78f", SrcName: "pcre2", SrcEpoch: 0, SrcVersion: "10.32", SrcRelease: "1.el8"}, - {Name: "ncurses", Epoch: 0, Version: "6.1", Release: "7.20180224.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MIT"}, Maintainer: "CentOS", Digest: "md5:93bfe403590240ca37823287b0cb4669", SrcName: "ncurses", SrcEpoch: 0, SrcVersion: "6.1", SrcRelease: "7.20180224.el8"}, - {Name: "libsecret", Epoch: 0, Version: "0.18.6", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:debd45dfee226d419b9cb0f66242aa5b", SrcName: "libsecret", SrcEpoch: 0, SrcVersion: "0.18.6", SrcRelease: "1.el8"}, - {Name: "pkgconf", Epoch: 0, Version: "1.4.2", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"ISC"}, Maintainer: "CentOS", Digest: "md5:c5c251d6f960076fcbae5a6e61fe23d1", SrcName: "pkgconf", SrcEpoch: 0, SrcVersion: "1.4.2", SrcRelease: "1.el8"}, - {Name: "nspr-devel", Epoch: 0, Version: "4.25.0", Release: "2.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:abe6ed3ed16d2bd85698372a81a6f782", SrcName: "nspr", SrcEpoch: 0, SrcVersion: "4.25.0", SrcRelease: "2.el8_2"}, - {Name: "nss-softokn-devel", Epoch: 0, Version: "3.53.1", Release: "11.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"MPLv2.0"}, Maintainer: "CentOS", Digest: "md5:4967426f9704426480fdb4df4e0991f0", SrcName: "nss", SrcEpoch: 0, SrcVersion: "3.53.1", SrcRelease: "11.el8_2"}, - {Name: "libsepol-devel", Epoch: 0, Version: "2.9", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:74728353391a1f9393e0bb7ec7f8e1c8", SrcName: "libsepol", SrcEpoch: 0, SrcVersion: "2.9", SrcRelease: "1.el8"}, - {Name: "pcre2-devel", Epoch: 0, Version: "10.32", Release: "1.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:8550def6c3764e92e2ff20d036fa30e7", SrcName: "pcre2", SrcEpoch: 0, SrcVersion: "10.32", SrcRelease: "1.el8"}, - {Name: "zlib-devel", Epoch: 0, Version: "1.2.11", Release: "16.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"zlib and Boost"}, Maintainer: "CentOS", Digest: "md5:a27299e14cacfca9442fdff1604139f3", SrcName: "zlib", SrcEpoch: 0, SrcVersion: "1.2.11", SrcRelease: "16.el8_2"}, - {Name: "libedit", Epoch: 0, Version: "3.1", Release: "23.20170329cvs.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"BSD"}, Maintainer: "CentOS", Digest: "md5:bcd179f588923a78be4b41d5ec7a7a39", SrcName: "libedit", SrcEpoch: 0, SrcVersion: "3.1", SrcRelease: "23.20170329cvs.el8"}, - {Name: "git-core", Epoch: 0, Version: "2.18.4", Release: "2.el8_2", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2"}, Maintainer: "CentOS", Digest: "md5:ba87010c46d7b15221de570dca65076d", SrcName: "git", SrcEpoch: 0, SrcVersion: "2.18.4", SrcRelease: "2.el8_2"}, - {Name: "keyutils-libs-devel", Epoch: 0, Version: "1.5.10", Release: "6.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv2+ and LGPLv2+"}, Maintainer: "CentOS", Digest: "md5:c2a3fa1cb645573a2b44c54118c43762", SrcName: "keyutils", SrcEpoch: 0, SrcVersion: "1.5.10", SrcRelease: "6.el8"}, - {Name: "groff-base", Epoch: 0, Version: "1.22.3", Release: "18.el8", Arch: "x86_64", Modularitylabel: "", Licenses: []string{"GPLv3+ and GFDL and BSD and MIT"}, Maintainer: "CentOS", Digest: "md5:6ed091baa7cbbcf9205fce2f24fa48cb", SrcName: "groff", SrcEpoch: 0, SrcVersion: "1.22.3", SrcRelease: "18.el8"}, - {Name: "perl-Pod-Simple", Epoch: 1, Version: "3.35", Release: "395.el8", Arch: "noarch", Modularitylabel: "", Licenses: []string{"GPL+ or Artistic"}, Maintainer: "CentOS", Digest: "md5:4634886be1066e76224760899bd706d5", SrcName: "perl-Pod-Simple", SrcEpoch: 1, SrcVersion: "3.35", SrcRelease: "395.el8"}, + { + name: "broken", + input: analyzer.AnalysisInput{ + FilePath: "testdata/valid", + Content: strings.NewReader("broken"), }, + want: 0, + wantErr: "unexpected EOF", }, } - a := rpmPkgAnalyzer{} - for testname, tc := range tests { - t.Run(testname, func(t *testing.T) { - f, err := os.Open(tc.path) - require.NoError(t, err) - defer f.Close() - - got, _, err := a.parsePkgInfo(f) - require.NoError(t, err) - - sort.Sort(tc.pkgs) - sort.Sort(got) - - for i := range got { - got[i].ID = "" - got[i].DependsOn = nil // TODO: add tests + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + a := rpmPkgAnalyzer{} + got, err := a.Analyze(context.Background(), tt.input) + if tt.wantErr != "" { + assert.ErrorContains(t, err, tt.wantErr) + return } - - assert.Equal(t, tc.pkgs, got) + require.NoError(t, err) + assert.Len(t, got.PackageInfos, tt.want) }) } } @@ -603,3 +106,105 @@ func Test_splitFileName(t *testing.T) { }) } } + +func Test_rpmPkgAnalyzer_listPkgs(t *testing.T) { + type mock struct { + packages []*rpmdb.PackageInfo + err error + } + tests := []struct { + name string + mock mock + wantPkgs types.Packages + wantFiles []string + wantErr string + }{ + { + name: "normal", + mock: mock{ + packages: []*rpmdb.PackageInfo{ + { + Name: "glibc", + Version: "2.17", + Release: "307.el7.1", + Arch: "x86_64", + SourceRpm: "glibc-2.17-317.el7.src.rpm", + DirNames: []string{"/etc", "/lib64"}, + DirIndexes: []int32{0, 0, 1}, + BaseNames: []string{ + "ld.so.conf", + "rpc", + "libm-2.27.so", + }, + Vendor: "Red Hat", + }, + }, + }, + wantPkgs: types.Packages{ + { + ID: "glibc@2.17-307.el7.1.x86_64", + Name: "glibc", + Version: "2.17", + Release: "307.el7.1", + Arch: "x86_64", + SrcName: "glibc", + SrcVersion: "2.17", + SrcRelease: "317.el7", + Maintainer: "Red Hat", + }, + }, + wantFiles: []string{ + "/etc/ld.so.conf", + "/etc/rpc", + "/lib64/libm-2.27.so", + }, + }, + { + name: "invalid source rpm", + mock: mock{ + packages: []*rpmdb.PackageInfo{ + { + Name: "glibc", + Version: "2.17", + Release: "307.el7.1", + Arch: "x86_64", + SourceRpm: "invalid", + }, + }, + }, + wantPkgs: types.Packages{ + { + ID: "glibc@2.17-307.el7.1.x86_64", + Name: "glibc", + Version: "2.17", + Release: "307.el7.1", + Arch: "x86_64", + }, + }, + }, + { + name: "sad path", + mock: mock{ + err: errors.New("unexpected error"), + }, + wantErr: "unexpected error", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + m := &mockRPMDB{ + packages: tt.mock.packages, + err: tt.mock.err, + } + + a := rpmPkgAnalyzer{} + gotPkgs, gotFiles, err := a.listPkgs(m) + if tt.wantErr != "" { + assert.ErrorContains(t, err, tt.wantErr) + return + } + assert.Equal(t, tt.wantPkgs, gotPkgs) + assert.Equal(t, tt.wantFiles, gotFiles) + }) + } +} diff --git a/pkg/fanal/analyzer/pkg/rpm/testdata/valid_big b/pkg/fanal/analyzer/pkg/rpm/testdata/valid_big deleted file mode 100644 index 925367c6fe410cd5a50c5944ccbabab0018115ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8794112 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

N7C|z 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

QfC<>$N~WEl`T6eGIS(P(xjaE64RTL8eY`&@5^V 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

~I+AE&V(xI7bLFXzU9rg98w(%7iq6 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℞YI2Pxv)Ex2Em^xy*J;TI zDWMbE-{Qy&C!4Y!Mo})ajO6%_*u?a{NeNFN)@<5R{LEO977p&5MP#fL=|7Gvt=I~4 zowr#wWrjcfClS00SKm`(=B?992;4Yn?6byN- zJF9#ag#7kQdk+zuu8}yLS@$h8k}7vGF|;bkJSt4-Fz`B5&ped1U`|8CoJShfTHJDh zMkc`tv`=tZ;n@s+? zAVX3DVG@UpDV(C>b$m`AwqDn8{6_nbzH_155N6Cxj@q>ZmdR_kf>p}Lgf}YfS?X+T zx6m>pu|8oXn2Y^?TEh?wA%aw-b{Y(u`6z{g6zLiMRYGpwrsh5vOyBl79HQ7HW0F&_ zemzd5pB~KuW-P|YeiaF8Qri_2`b>BRi+oGa~3NTCGama&&kyxlL&zCzXbXd`7BSs4Pv2;pJdA(!y#p zSqdUrCB#S)Yo+(K^INTLS6_-uvM{F8}hXfpk5FAqT&7y>OWLOlB z>=>hd)GR<=x71VIadtF8y=`jd)S1p2iCKafqP>~E)FrqnSbkY7dRq3&%ONojRMrs+ zr?*vnI&{3sbKG4Fmch=B+i}@H-As$Ps3V1f*e=$JQkPwAb<-nku0y#NnM?EtejG0jfBcvAt>1uFG@|mmrF*UJ!qR}7ninnQ9F~MBEYFi@#ro? zsj{71eUM|PF=RUOt4Egd&|jq`vNY+QNX+&c!&?)^pn6PzLo>36btdSlH)WT!i*i%= zc=?voyuOys#`EMz%9~3fea|3-$daU?GVFG_1Bi~@+P^%r0*|KE;lGM2NR6_m&cV&= zzts29QBxU^dX=p4E?M@KK)+bp&6i!V$t`-~7=p~_jx&gxu80>SN^jOU0SL>a@r^0j zcUS!rSkOnJl#%ett*+j{RN1JfI^1X6xX?bWsT2(xoY^89OND~zNJb!U0uj7?YS zT@X=U)2<*?1QpC$)3ZjFNdmV~6HjWK8&XdO1lI}-1LTtC^qB9U5u06P!bB>`?_5Hf z+M+%Q^0rNq9fvS$`5UGQx|r|bQcHp?Y%a0DEeJS3!RC!n0L|p<*A_Y;UZOG1W=**wkFxs^30UEHT@(1IS`997p)2{MAs7S#!XvU2(946mOf3)B z6tLjvp)-;g|Egu+8c0fM6|bO(GVVYy!h~Q5BAFb0SL&Gj=wlxTnaN@^KAIk|fW(>3 ztmex@4VD+4r7UNb85KD4YT_G$=n?v9l*Gw%UG~6|PRvPng%v5f{8uz`7e@@h#ex#w z5KRjRWgfs}c%%v=t(n0fpA$W^vGKD;(mIWX6;T5kX+nWhB&CN)riy;HSyVDUEZIAq*=`MZztv z)mgX1#z54w1skLE-U8Cf#>Ic!6DA0)TbNFvM3!9|z{-H4MP!}}^2>*2=zFFhHGYA3 zidedAKrGpvCPPfpBGBg+UN?VOm1rF-63NCakG=l81raV0Q9*Ec#F8-y=vQVL_C>8I z2u7znjPsR-5alqL&gidrhWy3$`o$V__Y-9pHC?QBlVFWpe~gN1^9#NY7f?~vCsMbi zv4lu^91huvPmD~D?kd^zh~rr0mnV*W*acyUAT-{}b!e`wU!VL6TvR#3;TItXGwgSGHqiT~?@Gi9oT< zwFh))f$|y)|BCyeXK3hYK}X4+Ey8cSxU@DiYuz^;J7v1IAc#rnvbFWM#B$cb-8&@J z-(LE}sA(kBKA69>ePR)mU-=009$Qpl!(uAA3|gLBTI;gXY*B1!_3F ze|kqVk0l81hs2R0YAh_2fU>Yy#yD3?0hU682@}a%`h2hb*gWbLrj))Bn1rY=UO^*9 z9Dq8O-?K85pVD3p2+h`5ff@=>z(tGJVAR1J6HqP$D^4U-jdhoMRsara*pffGAW3~$ z2{k?DkKjS^DL4jHnJorr5rQ)78$}!;kMaSzlhxSaUW<)bF;;?7tHtoJf7L3H(w$#)xe>LwAOlTDW7+69UNkLBza4g24R&7l2)T#v>Gt#4-F0Jd&b7wg7i`s zn5`S;;d3Q}sdS~*v}BSR_(|t7(uHHCuTTd@OL{?ROb&@jX;h0vOCFkHeIwKZY?$%yZXrB#6RXUk6`W3mg=M-DzFqsOD^^^@;SIvyihTgI|! zcxuF&H6gR&T7Bcjj@Z4xb^8$^d9D=hNyvmud_76 zO3%q3;DUw}_r~h(3Ln437hq7;^fMUazqjmRoc!1Ad7$H zD)o6TRlaP2E%Zj0!nzo5P_Q923y*=mw1-Y2hh% zKPSBtHeY+OnhU}Rjh=jpm~1$71Yn(6Pwp7YUsA3V%O+v$ zrzM^tc6DC8X>F0*yX5#}ELJ!9p$q1hX9J@ab3t7;tI2-TnlMIrs8ui21!oW}-%6l; z$#AS^{PLT(NsS;Iyk*W!MPE?N#g3H0+on=VIyvGzD3CIwBFV_XPH<<6JPE7}wT1-5 zZXENQ9T@7xi%-IP7aP3MH)of%bk!=CGO@lrR;m|t}xI#jAMB;`S3Ea1x08lpa^)4ggC06s!pfGh&nC1>~LC5ZJg z)t@Qj998Ddo+ViRzIQ#ef*g(Jp7Pk5l1ZCV5BWFXPHke11y|zg9}g|gKZZ&t zQlmSOUX;5YG)4==`bgsSx+Alf2i~~BQ?wh5k3MM=Nfagr-COdrgf~mp=HcOO4(x0S zGC_xHUmpuYB~EK(;shlmg)RhaY0Z1n4XWurVM~5cg7XIwgn(V4Q zk1_+vly^QnXE?6|=i*U^&^v-UAbj3y)-GF;$uxhqq z?W?x>ypd1D$#HYGc2yrT+FUG`r@+X7>>6rap0K^yNwCj32##KlXcBC*JvOOy;{qJ>NR?%riwyQTGO?=x}|5=<}d7E+YolqePSrggkBuw!ucXpps6Qf1xo9Vp3;AK(=htzuKl<6nYIvp6%9-$ztSn;4{nVN+%} z;g=y(|BNqyNpK)#izfp+r>51+tK{+$KW5gBb>S)WakNJzEskM9MzC5a3nC~ux57X} z3}wsif*tc?i#IQsuLNL2!Tci_rvSXSC2!kf9zn|mw{CLj66RvJ0G!U$7U1GZE5fs! zLZe#Q%nM&$(13`mH}$aT-M}=?&$Nq+K^KF$Od-cQOOf0=-IBl5VMG{6?_ZwcFyp_V z_C4EwYMD1u;Ha9!Vn-BE^HFCC@3e#%J^3rrd2|S$c4i_Hg&l{5b`bMxKAs89!fFgW z4?Qi+H-zK$nUo&`-!6mnj`{Jb0&jh zPMJ6F$DvG+%8vH{4rS9*X2%C}JcL789hJ#Z*&Fj5kKnkN;}VW79AwtZDXH5qN0CEe z@1;MiaFFpSSK}aGQH~5$gZ@2*7tZF$T|hw{{%?I)aF?uaqkC3dV|b@BdWmMC+RXU? z{=Oo?f}ZQFan@O5t+UTAXk)Hxjl0fjht8SHm4ltNFi1Uh|gVVHfxCU&3cLa zVx_1RS8JuHNfxUrS-ePo5a(*0a=jJTk_uU=YNaN%H^N3ziW^Zv_OeRYibw}v&DG1f zTGFh>VY3=wGO2WuR;$=*)q+MXNCGl>CCzdYkX9?#NOH9%C8DGgH_7Hzs>aQ*8Z|qm zVznBQ5~~ullCYMPa!v9r)Ph=B$;h#XhVW{J#LMb%wu6g$mUg+yfN4O(=Hv|mx9 z(rVC&249a_VU0v*^-inSX^`7KATwIEl2JD`=D=QpHspNr(NE3|v%BDnf41Lu~G(?OJz%a=<@x302l#xu??T zW^ZN}y=T2Q_0V0pryh}JFZW-sE77aM7wNC1mj*_y>s`4T?7H`U-=%w=W`)ta>F@MO znrX^CORspE(a_$nY!MA_bg$Uj@OC-g@OE|M+x7B>r5nkHx0|I6Z?~!&-tN>kz8!6N zJM3(DJKDICq}VG>p153LUpZfx$rqOA@ChkgCziHw9a^lVm8%7XFkPA2t8m@&mcsV- zj(wBU<2w$tr}pii938uw*WG=~E_40$?UAXeF-q*)JC!da@zF3gyD7qL0#g|tDnR?? zL$b7j2dr7V3p4D~z-z03=CII(QNdS>;^IfUS7)<}Pr$It8sSd`xmIFU$Ga;mokj6r zad8P&+m&9xid`;S zA-rTE36s9Nxo~-IDR=ZZB-A;x;o20zys?u}g3ZjLlKlR_{zUuq_x(DnF3~>y{ZE`# z=l6|Xqj@l3BQ5gS?j8AhwLqe*{O+l3`Qd)i;{DU~9Z9Uyt60`o&vm|c)rDsXl`n&4{|4ee9 z<1QTMa-7GZdw1oykmu)c-st(={PR1V=6U+Q>O9l?`rZW`I;)(%m$pUiIG^M09BPZ6 zpKaOxI?}eNF11JXrtMGbJGq}KlYUq4t9>e?{;F=ZC9O*^b3wWt9FxKEQ*#@o{tG#C z*vcXPSCcx~q{9FKv|fu!9YWj$bzEhuq{FDfnFORQuagKHVVG>?NWYC%v)UjBHEtRa zAJjKFuHiWU_S^sKeVi}Mo%fbUKI2XooqOlp!LQ%%oKHXNCp#~A{qSqfxgh_-3v;hp z_=ivb_R#X!o4)k;$M62q-s`sg)O+5Vyz_o9eDf<`Tz=TX7q%Z*eDbe6@j0K~|IDwR zzo+$)hyUH(4?p3BkNTPCZTrry+y2i~^E;Kd{YL%nLoceI|II(W>6c&enh*ZWrI&r+ z=fD1t=iO`gFTZ*7e_p@&f-fBU@7G>%^&edL{M+w*?4BQd_pRGM|K$swS>OGw;OmFJ zRQ=4WD({M3yZF_KS3N!cz*{fr{LRz9cITIW_?4gj@SC6hphsW$nY+AZ*E>gkx%k2_ z{L;IB|JpZy@o#>&{`}nH+dp~VExBi0@tyFq7aYFnr*Dm#TR;7!3*Pa$Z_hX1{-(Q3 z-0MNB*S`7qr9XY2+n)30UwPJpUi!z^f9NX@eET!r@`&e0ufE&pX!7fSd){4M`Q`ik z;oJxBI`gdhgWmR2S6=s_H^1RKAA7>f-{1cG=YQr?AKpLz{#QR_>7Aeb(@Q_{hKIlL zZTH=C?YqX?%O7~ymkvGt+~Iq?=$_Dgr+;|&U*6|YkKU1c z=6RbQdzTBJ`0te$-(&RVhyUkAH-#&O*Dv1f=0}fAzU^Ocd)hhWcOAUnP5*SCYkupR z&bxp1Q4f4T@}~KRcCPx=Km5t^_TDa^rsKpv+;{J|H|J@|H)VX@w1nIX(Kp!@}}yUZ@TRHzjnWeKW6ngk34u@ZuIki_ESIm>XEnJ^2|4X@x^pEh-I{vW5`-ud+x|H9)wy1)FQ2Y$Y=<+fja^^aZl+OIwAuYPiM{8^j6_0A8x zuXONtzWE0q?|xzU|NPpYJp1-HzT>_BR*qkC)r~K>?7*$RSo(VHJ{MoTeE&~uId}KU zS3mN=d;V_jww>qv>Zai@UNry0$xC+p=1U&*;#-1Wy72{{jK1@yTmCA4@VP&?`91Id z#M|!q`}_ZM>W?41^c(kh;_lbX-`u+K-=DE->*oJ@{c!E$|L~Q&zV0z^`0Z`~yfpsK ztuH?EYu^>W828$tS+z(xopp-*e+vzg)hu^pGdM^?4V3d-TG) zJz)N}XWuz|_nSZW?b}}c(0A3NNBqYxKH;O^n(lt<{E;ty{!M>Uyzi5r`l-X8x%V@l z`g6}a@Wfwx@YlZbm>Zw`ga_aLrg+okk9hsRpL_MM-F9o|=kIgXS8p7<={sBAx$hs( zJ$m$2_xbVfy!($TTmI!W=Z_El>QiR^;_Bbq@~XXWdiAHi@XQD7dcc>Tc-Mc5FMjW< zzx|x|9e?L%AM`u#S$)D=Uw+L(_x1OF=UpHA%0GW={<*LJiN7BI%wJu7|JNO=Km735 zU;LM!ySRSowzs|Dp6~qKU)U6ccfS5e`1aSm>b<3x?Edem3%31a`ByG~|EI3J_a&Xq z8$Yt?SEg@0@1t8D_Wt6-zH`myn;!ekm%Z!yEie4oI}ZF#^AFEk`1U>X^Z)sdH+M&0 z@|5cRX1-DV@&m4W_cy*i_x@+@-gn-k<7OGpjz&~%#^}@{w%D*Ox6=&KJeJU~m8)T; zRPK~vfpV2b+(5G#H#?QMRF9K#*r>IVVy%`0tvHnSu~J6MS1UFUGHRu;7}uMn2rsja zRGSs4xNms&pZ_|i!T#>`nWyl=xxD*pa6grxloZP-4Qo_g3`)7E*l9GwQo^lDwbm>p zwGs;466(Ze5SN2$Sfp$C7IfH8jiMKYC!QEpRF6TuUT;*R@4W)tPe}}ulsm0X(x{^` zZ4eBg*ktq?9ePeXD{(na8kM*fb1K!#b!8;120^P4S4*8-IV#1~fYB;e(XBGdNv9T~ z{EdR7-YiBfl+p0)3}-p6)Pf=!V+I$+vb4@YvDL`Myc42ZEhS+!sRe`tNUCT+p*fXi zJ*aj9B8EY6qE4q;Ap#ggCcjyrs z<_KkUOuU_>#wXa|5yzDr-9_cicj}EOjLY?iY)Xt+Oi>i@Q42?yq=nYGRu4rnTS3xk z*6PhxOliiaoa=Nt_yLs}lTuVdpI!{5es5JvMQW+lP;jHCZ&kuF!``9E9Y(Z8C-5qZ zt7YJT=0t(Au5>!BxZX$|VMri>L!zo+FGM z%K1(+q0#jQp8e>)tN0QC3SnG|Tg8AjgtbPqUPB!nMJT@O#ef!9%0Z)1tziuaS`i9% zG+pItT#Zn`OYL536&q2V8I*wme=SC_7)6~p>J%#&1h4=U0p?23`QE!wZZvSqFSC_6 zV&6?EskS0urxg~1dQ>Z;J!r&iSg2Qu#V~A@>y-%Cq!KPtL8sioI?`eq<7TbM@BoPv zuUBa$MwGY{1RYo(x)w%&eJ4ulVFJ9f0N96s7{Q%#F+zi1OIY7wBdA3o{qOLj(~KBC zMiOWb#$6cQz>zm4d(_cTwU;hVZ+H=lt`Ro7YOnv9P!e4*eU%%I1f5%_{t-C%? zZQ(fQ?>IO4skUH6ywh9!wff5Sxm*0TEQORm_xb)>au4Hq-cR`Jd${X+tomzN5GjAp zuls9_E9HOeL;l+Md5pdq4}D+bOdIa4cG2JSWcB6uz4M&){QjJI|2~{FXXibDGtcky zNX}S_&y!_X&zJqRti)X3Pwm$8&77(Kemgj;e(Kcw_nY9npPwzxl)vc3{`yLHed*u( z>z$k_|Ezh=YR@ir{mZ-k^*CqVfA$uCeZ71B?1;14d%!=}`?|i-KYu!B)pwJ7{+wBV z{RDUY+;?!MFXweQ)BfjulC#>cdbz$;7H(a~{<`e16MtRv*ZQu?%hIj#nkV{mtNO3+ zues~nivIdAXZrIS7jkCM&pYCtzxa{<`B8WM66&z`kNNA*ac1o9`>XEy_uj*q@7?#g zocaFmz0Y62(_eqXUkfhy-tYYvXU6Bgf9tMas(ID*NBs3=?tI^ma^~AFRlj)ez8~|? zf6-rm+&|ZM^<3ko@~`8p`qWPDzf|z9_I=(xe;FrTpTnW@FT0<=mW3TF`pX``>m27u z&gc5~HC~L-Irs3_Tm5svKmC2h^_*3oyc%@Hc{${+f5}de&dlhuk@%Idd?<>t}&2)j5(*HFA}*^DP*)dzm+u`2<-M4z{KQ ztAV+(+1t5kT$TFk!2!ob>CE;ExcYl_r4CLz_wL7p&R{zVK1ZI!02V-b?_9z{QqotJq%i7HtJLIQGXLHpX zUgkq-Ot=SWmcR6J_s)skhs#%3Pt)JdPpD_LlZS0zG5>R;Qro7sTTSCcuURSV#VV$E z$EQZ^Jh9fn*_vHIa(K5pJ9li~eR7NTFUsmiz`;1mNr!Re@bHl%M}{z%sZ(sVNLGoQ z77yF#4`T|(oaRkzbod@0%;grJlFL19EBNPv+&LEkQx}coavwjMJMY{7l*@Ha8 z2pGO8mwW22T<$92JpBQuIjtA1AszaAC8-OAnl zkDvOL)BQK{mEXSI{g?jIIX%)}BVT#yi_`!5f7`tis@vTi;jCZ&!#}Xo4NqIX{f4LA za?44_c_&@#xxcskdDg-|e}9f!j#BSk`i?vM-|6|}XZ`onHZQxj+|uA(j^$7J z4@&T*6$Ho-*|t@SnsBD&q!A=A;!z_(9)?YX14Q{mX`1!WuGg z3l|+clDNx|Ajwsj2O3jpu1!cr>Mz)6DpcMqU zW~Cm`WrR`0UF1cirH(W)$d>q5A?IRk29O%6F<^d>m{2DJY=q!W%9T=%QEwuARbv4j z?pQ!kxmoE1h^I)}q%sF66Qol?BkBWGDNSTsr0y!7WkAe^NQsF`qCm1RYLpI;#~$*a z72wjQl>=BL3@NLv2q08gVqqDWMutuh%W*G5$i`WWuA(KuNx29ZA;BT)p$DL00B|d+ zv`W=_wNgPkMDW734Fv`*t5ngXlu$I(1LWUED+pz{5d*bERkp^`B7j{2X_GsM(Ks0Lq@@9_ z6U`G1Loq@$C$0cKd#F5^kpK-4;w(;tl@3}KG#;gTK&&U>m?X*B2n8&~gg~5ZSH zX|Piq_+>)mrHNVwRX_tkE61!-6k8=U0hnisjS55p6;O;yqJ)wMSSMs@L@@vp7;cp1 znb>SJv`S!!bCUa|1Nb0^lmCkhJLVp~#OCH|go3oC`N6?d8Xltb%Ri9@C3P)ja3&*1 z@O>#zLoi?x7IBGeGF#0A)dhG3($a*i;eQ#19gt643sKjU5_~*)rGxSh@MHm?r0V2a zNvl&tWr*ixhfyQaP*A3etwsP=3_74u6nS;lUzG-hDA|H$jGrhF5U_TuA*?NMiB__O z7L^I$S%+}|T~?SIFjT7s!Ds|%(i*@Hni8U)3aO$TLcs@~%ryW8kp|FjgAZ1;L}TbB zXbrT78)msyBicUBo^|$qH4;!-6FO3*f56q??^ZRgppiizMyJ7OsC|ntgzNr>hK95MiC8_{#aV6mIH9+*yZp!=I5%M@ z9TeCiGfM=~Q%b4^0);Fk8$KaK{vy)r$<^y6S1&tC&hT`@M{KOnCdG|wU7nAkji2Cy zN7RHHGhO5NnFE@AdqBZ5fifr1kZG+Mb^K|Ns2| zF*r*&a5@bsMG9UiqJSzxiiMZE{r`bKt&Y=mqhFu1PD!-cIfhC-;Hc?V&N`$O)A_p} zklnlWAG~yrVZ+U{x$G>=u6qg+=NceS_t5$_#{*6s38sd%P`)iXV; zo#7!NMb7ZFa)xK?J{irc1LbucNbjXRIO$W}*wi|Duhe@FAY?c;qogCK6*<|X9c%*K zOXRBVWjX&$cec+FQEat$Zz4E0zZ6*EE;+AbGOw{WHG9QB9`9a%{IcBYaq0P(9McP? zOF-BDufqN!vTWz7L-nDeo%OFW!IpB^bt(Z*O8l?lH$3eZPTX+I%847s{%vb^Tyx;W z4e4>!>rdR!e>^(gdc)--CvMpE!rpP0mv24z?Zp!ZzxD1D2fy)i>yNkm?bd@jZoBHl z!ROs};@~g5W$VG8edLLQ$G^DMj-xxb9$bFH)`Ls;IFTLk2euy65q$E*x}$yNiGw%( z`iXvH zTMyoQW$VFnerxN2FV#;R_~*}WJ@EOjp0ML{FWP$G@6SJR;1kh_10Px5df-EUz4gF* ze}3zMS8m;U;N_1yap3n}cH+Q`?|kCGZ{2(AffxSyi387n$cY2L@$Rkbj^|cR97vC! zxp1q`iJiYLo?}aP{;K4N{n+Z9>n)&HzCi2|!(X}4U}b)(o8Px-JKJy3uU-|}jSWf< zA(0MJcX5!?Bncj%?s9XW(v5*i*9R(H8>n=3pwg9rN|y&JJA%z%_RY;2B>?WsT^n~2b#!%=CPKWR1#8>hF>?d zM`=ij9hJXo$NK&iLq>DPq?tH?W#Ia?n zxJrQ{7H77eVzGM600dZ* z%l*XUH@CP!&mGb7?^g!^%=DE3z%zZNk=u6j+h0!%&oP)OOFOS~v;19~Hvqt<-x>h> zq^}GBpXn%I%HXq)JLbUM zAAI&JgU|jTd}2CcgU|jT9HalrAZ%m$%HXqK9(?x8gU>zz4F;Y4@_@5nz>+x7Hwxte z*FE_(2mAuO<>@4r?y)Wby=Mc`HbfSLsz)#ir2*G{VGur3phCXmL3=XboEJ(1&Uj%E zp40VV(D^P6I^TmZpVp)SQG8+0c^+_i7Y3c>T5cL&p6>DdbPi!QI36E5 zJqs}i+i8O|$ht0+2VOw%k%ajp$XP)<|6PovwPnH*#Ka4STO%4k-Ul`tmRbR$0xNN4 zi$$MWSYRVL{s!1)@eIK89p`vF2rzA9^~Ugrk9H_)Y?UV!1*=^o`S_Iy0z<+b+igQI(=^P9UzI>!m?T4hf;AGWd+OUrA7#v<_9zCC;P?QM@v>>uCW9^bot z?D}?75joj;U_Nf+i>ri4<}sVnvwAE5@}vu48FYw(zWFi&I=LK{w3y(bL_f0@mN1c7 z;*jrYT-gUu>R|tEHSn~+b6Jwt>I31}E;ex9xN3wqi!qg*eq?CZ1qBqZzfd_p|A`Fm1Rtkz z2jjBmyfp4g_oXJx;mQjKtc=&?X}e}cRdi!Xo5+csf@ zI;|L7`POa}iDZ3CeV*&@2@cuy&}k%cslfrE(+aBW45(qV$7Ib;4K@>10^BKDb-^LQ zQf99t|I;dQYa8a`NFJz#cbd3f)&IL~~tBi4d+FTQ=OFw6QKpSK8xL{+HY@+yCEY^8X#eb?m-i8&Qm- z3Y#YIgTda-W| zuu~-sc-x*LjQr?ydwP7&*wn-ro}^vE14{ovHCJH}=?*J~dUu%RLbA*DDtci#kPgj0 zCabPewPlWBdM;r>tdLFsg|NlCvm6%O%@Q8i`q;alfSN@7VBLEBhx3s|@W%i#x5Vpi zJF;1TqP6b|QHSn{MRg#m2895wwVtL-_}U_E0EWsg=BR3ixhu3C3(1k2?{lXM;&Fcp9(vAWN}%;q=YXnevF8= zK|#;q8%SW*z-I~zY%3q0A*-8ZO5NnLxiUYFJxdwUw@*!H0o=2KrDB=*1V+nC_~H29 zOk{~*&7L-wYo0bc1T1t4rnS@zLj;oqMisa`1<&~iyP8caE`n9-;s*GpZ*^)kqeZZo zXul)zcqZZ*qaJ)ub6P9n`cn@BHUZ*_7&engjy`OLWMdv~Yb3=eRd5Q6G^eB2jv-N% zng!g!Dvc`%zmvsVPZZFb;a(u+QAkEg(SYk?#(rXU&I3Np75r{@b4GynJRFWP$mQ3B zgndR6w@lF@F{xHT(4+kTnZ4&{nUNo}NU0YmP z?yY=K84+e-6JWA@li12py0tQtT)ZbZMh*fG7i>q=6s;RM zSVq{2c|a0E<&ZN`L8Xu7r1;}Dm=0U8=u;SD3#mbh0jx!URUoh43%2xU*VwKwG2Py~ zZ+Z-fn-RH68-qiqAz>`HOY?{Mv;_&*49tN%k6XxM@OOS;p*u4h5kQ%^zhr7_M?I>5 zd#bwQ7|kp5*TTvXrON_F8xH{wl3yUn#?so6kUU5(KQ)^x;FA_QE2~RKLgpDXtx&(v z0pH6p-omCo6r(bAB}cQvZJDK zt+F`MNF#fB^0d*?Hbj&>wE7}Q0A>W?MWf=LW)wGTg-dF(e^F9~XA>C$hei5WP@CMs zf^m%k9?<~DXDN?g$^{D1VSZo9r|hGBI*Y+fbhlWMiPPe0*U5Flcjo6HoU4AYDZU?) zW-f1Xj95OlI=i%3v5%8ZjfASf3X#oSLX>Q!xI`A;6Jn~crIq-PU?4ojedf+z5jRsl<_^_f=Tac$ocf8@-v*7fx6G$940 z!)|-@U?zK+grL-<+6Dzlw4|5oIWahGTLe3y;fL~@0s7GcTOg$Eos*aOdf@MnU|l+o ze9(abSZz~N)=>6LtD)T8J)M1eze{`3k4-oHI@y2K?4Uh1b@IE2jAB!>@38S$WqU)f zUm8fiM!P{9v_Tj|7ELxxj*awV$|iKfnnDzom2I}pVzy@r=LLxS*G1YRs+6;c0zz>UP@|VO(w@ zOOUXwK!VI877YBePkH`IY>1=)ZTRd{ULbH{)JOO2-aP`%VKm~^_E>KQdl0-hZf!pD z{k#+qTI_1D$q+FE#kBH!#6O?%=yJU+I@9mjXSw6tW=(r_dS!0G$1sN@uv_EgOjtuu zcbcHxOEW{tO9H5=uI|#>3NSo5v4;-Ya=0>2Kyz^g@ycN^zvM<1C2LHtEOTxv*1T9M z_FXs%{=JcbI=dWV-0x%d+mr}KQLH9Kwu>~_?Swo8n^3F~2O`i6r1HPye(3-{oXP)_ zmaxg?`%Gg+onnz6J~DS`Zg_`nEp3;Z?LFve+V0JW+C9$H9638bsS*J$C4VY61U=uS zpQq|lD@dvA&LL_@k$nYC_JKfi8$@ns5-^0_8Eg@%SHh0EmICByG2p@uaB$-3m347{hRrO%-#P&KBf%o?#1I_DB~`_72P-i=JIhb+#xapaN(dj9|OMFUQx2d-6#nw< zbo2whh)pVe^n*I4P|0z>dpNY%&r94Aq6dvtO<|UrX9PdVf4lk#rpYg5Hsm_R zihZ*U*t9tr+LkzGMBUj zzHt?>C4*%eN|`)Er+ZN&ubhDCnD<7pzq1zFn@#?t)HPhf516z=#(!9u&QS z+O!if0G~D4m04^>O-LmBrHLMfo|^4$#CVcOMBN#mYJ&JN3^!Vy(VDrbIema1CPvR| zD%SDme8@CKUIyG4;>7inKDb$LGb%twZ;m~9fq4r+W(uU6gL&Ehj^$@$!b&Xw;zK9n zBeDV+&(&SSz+|w54us``t_ak82L`N8tDi~$iLA9_uXuH7z z->ypG2cH%gWhFT>iN6)}Ur>=Dw!Ah8Hf^#m3T4cKGvbbDlSPkZXx zG1ZGcYiJgP;dNw)%hh5XEvvt#eFQ^We~BSCZ)yn;j_F19nepv=M|u-@i2}GuLE5Vs zy`?j-dbK-PE<6IYKr!T19wej|kFwNJ>QMv*Bv({rYfQ3~b$rthONAhD0tHjVP5EH; z(w}YL(Jr+w_X2~-YG_Q-Y}V}HC)$*WgM+T8X1&O6PK;eO_M>BYtyf9ZL3pvak~AYi znZce>q+AntWV7KkQ-*#m#=6f*E+p?XY!(6pi9tQ>%ke`%6y>o>!E9{NrOJ|^X!ID7 zmxPVd;c4hVr{U}xSYs9eiE7BBigbNkslNDIs7z+CEHD8vx zX>HLfzxl|NvWuGC&F7$2SQfEohOHS2R*I%$&{5SkR^s5X=b5Z4>>6gXD4T1^l9DL= z0!&yfh6gTJHL9~~?Onu-@r2wNHKHYgsnA=R(i8a62B|I12x-P030Rna)Y-6|khy6- zLWgPQ$oArr90pcNgG-;={;5mWAYgMkWK_UqL9ugOuqwmtQFoos)djTg=2aaVK6YyCc+b*)MnK;lF%W??fA@n zGEI@pUF6;~TlrKAt6oE=#L~E1DF_&Yp*IFy6_WbEF~nX>Iz*Ht-eQxCJ7Gll$~y5V z6!lQ?0Gf^z$%3(N2xUQ?AD%bxp3js<8;oF&60z@JfSFPv%_z#9aH*R(=ss+jBl0`; zjIapw^fas>5(~o&se;e*ysKG1Kyeo)(GtEC;FBBNj$Qq#^AOs9D5 z_Njfs=8kqdty_OlcPCB9K`YI&YadIAImOqpb(Y8mlT5d(U|OEH>%Ev6T=bsnnD}gy zK9r8O?e66#caQI>S8?J1{yyJ*Lf|A`w*E6nG`82=%xm}e^SH*VvBRxYP8h7W*=}Pe2VjZ7!=%+5@8yu z0kI7TVM-WQ;Xpz@5D|#{U}$3qy8&0wILXvN1Pm;*HnF3#F>MlTV3b`wM!QLO+(i$- zEobV+zNy@)ARH|WIO)0#kJFZq%c1NLIe|>L#)xN}p;njctglDFs~)e%v2`OhtZCj` zS(r_h?|{nJI)Sd-cVb06m~{nhHlmmRK5f+J0~Ds%ok4`QMC@Hp%h1%~!x3Nzo$I!( zl2nhA!u2Ty%>&BxM!XW45`5ztdj;Fkyh^sArzGTDg=wUA#2L(b7&rwmM=Z}0dL#lV zn1K)%K4fxM2YDPFL9{N(I~o{}V8U+hGdBabmq<~HHk zqI$*HK1auqUqmATgERXz;kVG^-A|eJc3T`wJ2qaqjl+fv#vTG!mKLN~0@m9GiL}^# z+Hr%j&4Im14WA%DfN4{Y2ryyFEtH7p=%Nf&3tyE>w7dOxI#>{KOE?TQAyz@!HegqR6vGG@FlvW!*i#ZE|Gt z08XCMyYj0?aI4DdAYiuYNVRrg5A^qaW+s|HniZ}&Q@)!H0cM&^%<~acl+mN^>XTNs zEI(O3Dod=wg}LKSn;40XV8r&3TGM&X7KfK(I? z#TY`ZHXR;3shXy$Sy+}_=}owdruI~CPP!SKa&Pi2Pe7~E-XW+(!P>lmab#y3MI4oN^P{rw2rb^56MgG(|0*KQ6`$5 zB$AY8HI}QN_wN@fY#^}W8%(6M;JX?QBD_7AW06}W+_p;itclOd%b^&bv<}}`v(3^7 z_=^o+y+bl0am_pRN~O{W%fw_#$V(Z@5JI^4kVxAh(YXm5hMG$#(hxH%MJ|GJ{6b|H zuv(n3jr<|af^4dcC5&jgR-6vSf$k176CYhQhjc^mi(r4eX5?#0q&hs8*Q>sWU#(Sg zD&PwMc#uK8c{exZ6|*7Wn@JiQuQ|=|-buW;XT;&a`<|T%{#bVo{(Aii@nW9MZ!VH3 zc`h&cYD<3It?|X=vTRg{^=GSpop-=C8P>zhnhVonH0NTR$uXwXO6}EB=66NZLPK8e z`{Hoh>@*5iE9D;1GQ4F{l`Cb^IwP?J>+9NSVxV_T;r?FSF=rdyEWROUAXb8-*kBGz4jm>*U_VyM<7k?~Z(H#4n zKmlE*DwB)4bF#>&IQ%r&eyKvAWpr?%E-I;RB%4+6vDaCnVl{mubBZAqJF0z}O(FOSdb!L12B(aE?uB$C)R5|QMQ5~v zPj+@(b*@P%Z9?~ESlDYlZ4l_FQ6sck@+|E-lZTB(s%4;Q9!qCDA&wDF6QAxH@kwY; z$>S`P8=FgYN7w2gx(^YERygWW4~uAL`L4 zp7-O<4Kb$mq+iT3?tCG@_?p?HoTYfM#YBumwGU0MBnR2HOcd~{p$v0(5k2JmW*Vau za&Q?jqITxZ2B)~5glyHTYfl*l*h(B>62qeseH)RDQH7Aoo4n)+8a7QJH&mPiPjzvgAEH0cF|f32N_7vPcA99)wjDELQAeiR zyRI7@nJ9ypSMw7SqwO7IBh&jQ$I9(p(|a&)w5Rs7`)Kd>{&s5+?5+0p(TRN%dX>kk ztI8D|V+3$NJgNC7ftt`Fv)3OW^X86NM9Da)y64jZXTFvug-`->s9wF^*fa; z)=c|>*4r>&ic`G0HUhlx9Y7JocCs~?3I~BgZ6i~o*QOyYJk+ZyPSsyOCE&yRLn*4i#kUP{1I012v7)gJcNvRE3F{2>it7 zdqvEB!$3=>p}jbK8MlvxEi=svwU`JG>s^50EzT4ikB?fTZ*FZqSC{A76FW1sD8|KU zQEj04PKLo!ZNPkR96gFTv}hlgZTSQR*g zP!PY;9U6XDx&v;hRF;noO=WE-oVZ{SUIII${sp0IH|br5ZK>GW>}4Kn?_m$g7E=q{ zyvAs|o8%_p-4KZq->wu8)$gE#|JN{w;fg)-n3L?zeVx#dJDkBXU09>HoHG|}UPl6A zKkC%T&M|4aLXDOK1_tD|2<)BD(Z z6^**d8|&0JXZ!7qK8+lGwyg)oPHny2Jf-!0MP2jHs)@XHN)vT&D7*sq@*3G*c>XMtIaql#hnh6Z#`bZ{lCwSX4J~7ot zJW0{gkL^S~i0B_Nw8jx;b0d=0m9v4AKgMz~SSez046|eb*^4#%a>8k=rUj!jMPn;dIT?%Qt? zM%qR}*#0ZZ#qti3A30Iu;)cI+H&#Ri_Kg{n+Am+H9jKE{s5dC82L~_lK@6V575N>z zr@4X0pymPnIGP8VYtzJ0=2>3GPx=6)l2!wql6ITY}j!-vmVG{~aU z>-BC1SR$1qx-~v2Ilzk<>Zwe%7LLQTv3RuQugcelda@Gx3{_Y9?FqS~Yd>O)h?_Ba z)MGmj{bq)|GoI*6!GhW9QXs{1LO7$h(ca=wrgS^MxTgICnd@=HCWiT?Wl4N@fS`nx zCPwrmswwennZzsvCxWQdahb)Ls>v=P0-E6B<_L;7jFiVzq=L5NUqReSj0{Mp=_KZ* z1%uvnq)F7|0zwR^WuZ;vYhw2*>2%nxP*+l_utW}CQoAUS3Mp#CMx|snttl-2`hH;8-7S$XKJ`LSmz@h3jxS;(+HM4cHV=BXd1hKvnF}J^M3(fz~m# zBYf;g{^E-ni`6!U`IYvRIv@UiV=+hYo?6f}+A9MS&g)E8FG_!6iyRCGX zN^MflYH8XU&1z8(1jj_orj*tYL}Foiv3&z5?-*2EF7qlge#Y@-Aos zw*`G(yD-vk5gF@_Xy_vH7S-@XV&hAMUlaZdMY8T-2gPN()M$0coTKE&F3=WQK{bTR+D(N`rg3o0a=qsjTR*MWx)<0e&LMO z#I=l!#TDWMkO~fWz={pR62=vLuiXB`>G6G|J13?m##~4%JQ=(xI<&^wv2E~U%ki7(b}v9ry_{8NDvmp%NCN{YQTfY%1)_De7JNCVm5GKZ(-4- z?lZwUnP0=2Yk_{G%~Dgq0?i4GvqqBHM!^E6GpM-6C*8bSQ4GXTx0^91)O z2diR;hKA(Q4f0{th}sm9dcBDUDT%j8BGxe3!kniaCD=PPG3h<9<#yy$4Xk^|Rf++d zN>ofytt)EoH)M)Z0g$a?I=;$!PSpzUFZQP+c?ZQQ{K#5GJ7CG zZYK1Jh>#*unEl5bd^JVs+C?F$Vd+UneSTOb6SE&W0OM=Noz1_w4Y%+Q?DrqeYID9_ z87fSHN)RN7vl{GalaKDw>Pby#r|6_I5NQ%^?o3GU)Tx7RCkfdFl_RW09=0MW?FdIv z$L}I&ktC2Lc_bh=DlV>5TzXU6zAaR zyo7Bzbf!Se79GPBE(8{W-t?~a^iD0K^^9*}pJTq0W!Xc!b4edd;9Ti6)X{uMB8_<1 z{A?|TL-rkK`Zpu70ET#XKnsd)jC9yQbV{x3L~n9vQZ=IF#h?6?3fZVsv3^TPP-v~g zn9Wi!RqGRXv)4~&>-M%?XJ4Wm#tI6{Ev#TRDOf~dlgux{6hYYvcPtYEG*Ih2DHW6> zWs?|UCL$~BJQuo47~dT+62xXoXg8YrutQ(k+u_HmM1nufiF00(O(1m*me*>2bLv&0 zhW6& zDLt~O+e1IDjl(wlD6D^b?^1i@+Uv21YpD`gwBQ{^Q(z^jVdfO*1aE567DtLZIo?^v zdTn+NV>=KRp^JWRwV?&#dTb*C6{D}19=xv`S}B39-SELPxrOWXR|#FW<%Nr0*Xwst z=L=6T^M=sUH`&praqm-nVG3P7LK#e<$kgl$@ZVTpQho*mR-9XuO{oa?h=(sCC!D#v z<)pUsU3^Du$$8(j-t4CHYO_q+Fx@<^#|*PAum=>tM7qbmy=&y!F-1Qd-@B6?i=(>` z)qAR)bP~W(HDd_?*UXyiS$pHM3`gzTx2L!BLFHUEntA_k$vCp0hZEDORmNFOEsF%651VO1#LGz+ByDVD9BcUYk?9cw z3X05P;OUsjyUc2`u468@5`NOzL~QGCU44QZXaCH+99SB@z7)DaF?c9u?eg_FRm>v^ z{gf1zIyWyTM=v8QJXmFjph6I_9uX|oY(=IfsT7*mS)UM7GMY=;X+ftsKKhMbvsiC% zOdLWp63$|URqO#6jBF}5U*Zb%>NxX;&{O!l8tVQcab%lhoo>{ciIS#jXKjas-b%oW zQGndwHPeWkp(EsvF86h$l0}CkCIlOpjlEE^=b9o{I{~W%!b+P>DP!HG%pG2;l)Zhx zn^@5a!9dT?*M{rEnXJz%rXd>{@nMxTr3n0C(ggv?;TUWI9)NE!A!u=x+ZL-8*s?wT zZ3&_7ODDmnKz0V~aoC*NPY$0)SMAGL7*lgt#EC#L{@MxK3M{;fU{Nc#ZI#&l3=O$S zIt}t_@0r@aqpi044N68$%=N8TfnmRi)9?H^9+eKXg5z;#7cjRR|*M>$=*%AbER?b)NllB zC|$TxM^{Rnu-O`DPH;OzrBX{sc`YfB`YRPuj#rf9nZSe%P=n+`+mM{mGEpw@DxS`4 zaA{vVHaRuEZ!cmK9;k5~4_Q#CvxW+CJ%fTO+GL<1S}P<1anRceP|ke?LWRTSMDItMq6I>2}@liF01MsL%lJ|M&<%7ZYZ zjdDTG@)LNj2S^Yz`JHQMc97078(Qp*YNHN_3 z!~_6t)EXpDw@_Q@2#&ZID4VAy+LI%DcaB{)yj#E7c-%$}21#w=MUID5Z$xVbEtz~O zDV(_?d}6*&=TaRq2ezkW>;{JV zlno(HbG4On8>JQ$AbX)v%M=~OzTfCP()$2ty^``R?9yMyx0HMEit1Zy1%+g9+qRgF z6@>_qnvxwC+6|R)_ntbfvQxGGB9X+FRG{1 zyc7nkd5c_y>H(r8Uv-+K!hPy(!T@=x)LV!rr2fQ7p`Xxczx6m9eIjS;gBscECw5kc%tx7g2Wc2tG22q# z_VcHN1h!UYNQHI^3!B}`y!TRwHsIo`3t691S}WiMs%5yNVb)38);a3pJX??xfLi)X zZ-5oE-Dl@xKh8QjwqNY;sjfjt0TNO1hc>>^>6~_C-CrNv&%nCfW|mo>ZSmNG9vX*T z7HcuvUsvS!+_NrV7&P`ebix4S(+<_hkpDSV^oAQ zX~>J~Q5R2KoB5YAlEg3~Jep@DiIJem^W;v6Da>G^6-@+DuLRScD6gXDK0_L_+psT` zW_=(%K{*JbYNuFbgMFve2+DDtO)2$yR3^q(hq!=5KPG^6qoYdKiR3*cv$$nKXl%l66k}ANVY7@%oQy~@x>!Qx7IA-Q#_U8Iy_!4y;oQ22wNt7m?6D1^dW0$mB|_3Dg&}cR;#NW`A4nK)=Wy>X)kwyH_LU44 z^>P4SVV4w2sW2+xjDg2$(y8Riom`kSNrOh5MI1$IY@Mo+2?&9a*o(DdC21Ao4lS?e zkmuR1i8NX3(Dtw#l)zT_RJJKa&#$Z5fhCa2-Jc~ zq8PNodN5SUH5)m#s><%IN|Jj#XrmfTKrlo zB=N5Yk

GRo=sNFtU9+{()2a>BF4c&*=jbWBM_^eQfXa_>S?>5ga`B>dv0AktudA z?cu(=bZ+XosRL7Od+e|E8|DAcYH3)Ik`?A7E6n{$+3~`d&Y)jp*)WNTy7?qGy6ksuGC!2$zaWf z!LILldLF{g5_EGGo1Co_!|oU4weMH9G=_`Sjc;#Uy0mfWQn+Cyy)XB^SKhed>c$n< z%4c11v$0{(AlUGBSlsyb*>@zW_0`~}^VAy-7*Bg&faLc=_%hwzj9JRK;fP%fZXA2p z{V=lbVShn^$hwDV8)aT8%;XEpbIW)Lns;E~I^$BVhPg&Df`cuNdfIedxNdpNMycZb z{hcVvMz6oVJ%Z_aQj2IRkEt^aw%6qX_LAU!pk*l@m&n#g6hjmQ1$O6QQi%#Uj~2Qx zuV&%5$hO_9)1dmp#OP-~M}#8Sp9;#}9uu#pKz!BwcQ5V}i@4GY*jEb+1Zjw`PW4X( zd}VzcP#lB{&IDeteQv$RpR(Dxkc3IvC8W|^xIDL%J9-=r0hs|SZo#$Ld3O|M7T2JJ z?oTwi|Ipq3YyH+=dUjVo+<*Jq_uX1@HhhP8Kk<4xr~IDykMubCUV44^lhrN7g9 z#LM)TN$;P0?&mXAhxi>G`fUukY1a%%cyLe`_$8xrM=m_nJIniqZiv5YXE1--@X>a5fZ zCw1e0D+&mUXD9Ffh;*k|Jv&{|N!@Wf-o^5XZFGO)hNV@LmQUPhs=bt^GS49mWU6(P zhVg&PUzvtTyLqNR^-UbSqywGR&$Pe#twWmL^q$WDTmIB89jE=9q}?2M<+uyS-8e4b zIIr)lXS#pqlkT0*^~vwtiF+!)(X;ekT3`B|lfQjW-q-g}E~mQh!O{QCyZf?w)_-5` zue)XdE=cp2;R<|w$T|2RtxF~uT3VSIHcdkgg<7GR8#diU8rt=gODQh8v$^5)j98MB zY-0b^tJ!I-yW(!2{6l5@J%0B7QrJ1&*+E$fZ5y2*_OnmPaWn&xzC}b!Mh%L0fr8ty zqq15@vlx>@nM9z(Rm3w?+RPHM&j^E8MrW+7p-Ghh^1ex0&)0CAfBWtKb%OJSxx0Vk zUC+4FMd#i*cf-?u`T3uI)=zd`@cQA`oO8j;uf5mp$FBY4U;fglM)@ahlEKK0g@e(WE=^rTyV;-?K9z{DupjcKO}z|6{Gk zKHyoi=Rd0c;;qx4yY=2by(f3k@Ucg|YxB|H`OOm_KljtYIgfhoA6@V-zyG@b{^yBL z?fSp$-3gp!d08L)GXsc@CgKu5afx0BaAsht`|is)@b)s@Jq5kd)jc!a0~U8Vx4WF` zs-l*eX^;e52+`#IpeBMV7?4e)$ond|L|So+s2~_6ECFQ^1q8vk1d;dqoO{o$Th%pn zt0cxGZ`I80d(Zwq|NrxUp5L?nKj-87-(CFvL#vV&2M_e z#jkkG6W{%qZ`k)eA3eAFJI&@NPyf_`U)%rUrQ3hD@+1G~l|O#VFTU}kCrl06X)XQFe*XgH!>NS7- zH#fZY-5+@C*Sz#I@4xlnlV5)8M?QS-8{c^LUw_R{)PLbg@A=Np{LnxC^vxgm%0qwi z+^Ii*-fO?>UBCUx|6csqtN;9q&m4Q>?VWG?Papf{@A}g>{`8mix^MoOZ+PFY9DDyO zf9lzvyyxt%z4>ci^TdTu-SW3jIaTWXr&BNc-r28v$6p@!)GxIDi!_td2izv`D?ws7*^?u|+N`Op9UpZ(6e|FZo2XWer0 znXkC`r^|o!Gr#*HBb%|W(EGy%FxbBFVaX%E>djyJO$VO+{rA58Bd>e+r|*5*^MCE_ zM_>D|AAj~+-u`bs@zkg7`<<&Fd&kQA-*MeP`GrI8x%2Y*1K;z@kNCRh{@|T={Mjeo z_4fUL`ieh#=eO_sf!8cN=C{B8@+W)$raJe#U$Xzf)u;XSe}CIn6m-+`ACi6CLgqz;Evk-zhn=lu0s=Kj3JI?^QnkyT9_apFHxSpZwJAum8gD`R~>oP ztG|EY%11u_l4pG1O+Waem%i#>zI^e|{_N~eJpEaJ{fQrK{ms#*tvz?`*s=Fr`P&P> z`6D;qRR8*gcmJ0kdh(aO{zdoR_PQUu;rD)Z_FIyt{N%6w;(LGYpZ&%Ae&ZXz=7+!c zCtiR4OKNX@(czCh>PKF8!yCWq?q~hjm$z@cYxS*fJ$l>J=@;Ji$s0a)^bLRe*cblt z*S@6mg6BT*>ZhLaEzi5@-(C3B!`|?nxBRCw-~4%Byua`zFM0X& zJKy$Q%fIsAPyNB%)2`e1;K@h)(wXo7)S1`6<2!!+^M3x!o9=nrYxWgi_SmP^{``e+ z{4eia{>;g5`{&tF!*Bl8fBwlI`=zga`ggqc32%OF{he>S{;fwJ z|B*+&sq*RH{^V=F`Y&$!zi;@`pLzVh_;9zi@BK&ax#zq8@K2e(6X4%M(8Q>a*YU`7e6(!n=R-rdNIbBfs_;e>wM*S6=zPuls%*B=vzm`zKo`t5$N^&;jd`n6%bvu1-t%gv*ax1~kq_Va;5rfL{Q%WnXcBg{9 zh1sBJ3P!4%3SnjONH-d8lkn3qg-OMFT|j3haxs5PQIv!*{&p~} zzO~xqE{k85;8E;W;?64e^$lz>=?QZcmf30(e*K=bMgd{H4q?}=cWVg3vM_ZnJSo*R zF`UKdW9xWvPgX2u#QB`U}-r zsH0s8dg99D1QwCo@7B7_Vnx#wM>JdImbR;9+4a1!Ref1(CT;bay@Vz7svM~0I(Kaa z{iNk`TPk|7rw(=tHM_oC5>A+wo9%YZ!&A#1ct|%X8jxbwtl%itMg3k&aE~QxHA!#O z%;RpmmR1yijsUBeSTNpqH{#cTKAkcRj!c0=x)E$ zt@HXuGP<_(MXnpos0>^xCvZ_c>P=%WD5xvMUG{nww~dz7oNjf($KCLlPQBgqdg5m= zqiRDv*A{0rM{ZNhCTcI$tida6RnKz{n?911x?RQdYR2C@@0Pm;o>QG;8b9bYQbbc} zCz@K}Ywjv|t)6JFBk!V(TkuoYgL2Ga^HAJ1|Fr-}PWx`ps@_$zqf>OxMq-)IM!!;5 zBZ}Fo*Xwnxm)q6<-C9SYcPo0pMC(hI60Tk0DDS6L18;bYdZ$=QI=tCEYarG!5+o~g zA75=+Hs0zRF|Y7b!_gF+YIJ*ohDvx&Uts}}KJ8lTf52?SC^31p0#qcC{vtLY7E+4| z8VO7#q%S;4mX;cx&2k&lkG1B^t$tJRfp~?ag?>AgUdOysK^*Jw&c!tCNSaA4vP{63 zx2i&OtqZ{~cZx%ZN1U1#wP-$}VS4)kOfZkYG5_@QNg)KC#l!sjxBe++*V6Q85U-*LJ zD_sPVR=cG{g)dV=xVlm-J=ytqWUXHdx~~R5!KrmNzAI}$G(iW~Hfivt4(d~DLBI~G z7nmUfK)EQP18GlNi*4Z~kF&& z+k%tzNviIcS2c(5d$A$4M%OK+(n)w$jA0AOdQE5MjcC5WTKCY zSqDaPRK1ToXrx$=s(_M8qn}s>w=B#M?RIe|Jm1axCca8CqG3u6jFn6_r@C&_5$I9J zG+Jp78?vus7%-rwxET|nR8B3Wi%FBN^|WgNvS8Kbm~(2XJGXizOtzdB@qUa>RvRHE z>ZNK9<0lO~H$H6)wd%RzQOc^e^aR%vECFyVq=^nJqJ&*a+XG-4&2G|+1PB3owJzyi z#CZ&$@xer_er@ixTP1YVDe0b`NS;QwTqE^jAvCocTCJL}7DQeXZ9{T1`w+7tRPg_5 z&t3%D#<5UXBg-@M0201N+_j;Qn)1f=&tAIX^~8muA6-S0YgUu)*9j&}rrvMLUs0w+ zRZ*0N|D_yT6}cWgk`;J@IE-du0fiI;tVi37RKM72D)yqYq+zr>$UEj*wXFl?YV@SB z37pq-t5>6%R;yTMWlhSh zv(R`VX#}HaWB9!ep)ArLqnG-kl00}K?-b<_y(qDv)m9XV>NBY-C=DY@<|QTAfy_za zKT`(5YqPaeK`>KK&}Gvi%~oz}W2@q$Fl09}oxM)gnvbP=Qc}65+cnDNkf}m6;WdES z1R;Si;D$o1>fB%^y`s+PRYhV|N)~`F)kFL=1at|Giq$zADYh+mNzG$3pNy}iAxPWN zdmh{D;{(`E0SF2=)iGTnu}T;gb!TuO z!{be$$W~GYL75uDG$DMS`~y;&QG_3lYxD@8R5)xgt+pdpss&n$5-WlMWgP{x_LI+= zkSu9#1S=9P`sPS2l9!sDl!!0(qVg56YB&jZ;b-LtRfO;waG$OVQ39O|_bO9({x9o{YluhPRkJQ!HTOzAbi z864{Xsk-ByFK~{oENgG zivi z_M!N5{=+`xJ8Yq$A;tC|54Yo-*#48@cG!nw`y;+18a5&(WBa4S?OTW2f9jis>$>+3 zw?F3F{jZDX#QA?VIDUOZImGrS2FI_Dw#D`*huaYu8{2;|+>U71*#67m_D>GC|H`-a zTz_@A{Wrcn@A}^yZhv~X9qowg|8}_j--g?t8E(gQjz3)6qx}zinNMs---rtS!dDKr z*$_JN{$FC)EuYdAJ=Bs@m`y@9-V%iGFweZ+P$Q{D?4i{_jQmpYG5<9UT9I7x?}<+Yx!}_#fUp z+z#8m?GMB_#PNtkcE1nye4~MfM^v)oADka<$2i3HvxeJoAMN?zxA~6t04v$`|JwIC zKU=W_t`0ot2kNJMM?e`Af z_s+rg{QHO7)3%-e;D?6W_Y96d>m$CO?$Yyv0%B*#5b*w!PDreD`4cO;z8X_a*<<_vhdb&EfXX`2Jkm@!oO#XNTL*7;gWZZ})%G zbB5c$>N~Fg*5S5s$*%wQ;r0i7$N9fG*uKs^v+ef|x6LK-O4q;1b=Ut>k9@>n`?vIW z@T=>-V6gq$zO&;oe?0FkkMZqZ*L~4&`@~@TVKJ_r_m&q7wjUn%yUw=v%=$ATyd8hr zi-yN94!3_`xP583{gT)|JP3Bpg5Hx#c@P1ARuL~w)=1}xh3$tqAxZ4coDrk4UXfxU z97Ih|DJ;EMYHM`10%UVhcv{K1VLsUnS@KG(8pOL{H68`Xq-I3Hut5URJ_{^MCyFB9 z@<^gIuT^_i?i;S!;{G=bDuYORR52xjy`rpWRGqfM%-WJWW);h2pUkB)hzH@j!+YCO z1Z8gJhWiF3Q9M~QvZ9!gahZj6M%|^=2T~a^dHePi&R)uvz_mDicg+%F`HSB$dhuxf zWf>(=u}#)qtduFWC#%{uyy>V%ZX3L7-cyHf7#z8h<$Pw{kROV~*kMmz*;lxGSO~x= zQjk_3P~$Bh5?yh_AgpYdgY|$_76;YahO3N(P`USctDnjuo-aLM8TWllm!#WX<7RSR z^49vZ^E}dl|0&tDdHmSvzpS3vuouxgE1)N5Ij-59Axz$;RX70%DG`+BpE>E45 zu^88??4Es}wnVrDt~(a9a&p;SkKS>7bBoR`L{`#VUsa1F{AjoB-~Ye^59|~1nfcCC z)>xI;m=2t1`xC)?YYz@%M3X7Y{A6oTWOWW=1k`(qBJGyo66$1SdxZ~Vm!=DgYZouw zFj|1_35AiAW`NpHlksQA*f9C4qVl3QyAt@> zN!}CZe`#|4g-2!E*ZqswkN5m&@C!WY<#8YW^JX0X!sH7VUgSIfd#oQf`#jDk_*VSI zzWDpP!Phn0`Tn>r|9y+!aeaPmeCNOO`{w5s9E-pF_~QqgqwSk)$Gzh(uF22K_r=tR zzkL7ZbMoiKec~_9%ik~B8Go^F{CMn(?YLLo&Ujw_jQqMdmbW+G7x#|8*v`*?bhc-G zJHKbN?Z!>V;+p)q`FZ2t`91UR{8;|{yxnoz!th@4JK7MKDgNTz{JOlo`FDPwynpld z<>yD6E5pxz-+8~~$Mfs*@4TJ)IOONu>e~2=?>HwvFTXB7FWQwKi+kkH8^2%P=KQ?; z+WZ-DZhlUFZ2a8(cf4ynKhDYb4d?1;JKqn}WPh<8_s;j{-|@`&9iJ(moKD8?oxi)o z**)UC_{;ks+LMn<{Lb%}-z&EB_lau)1IJ(NkH7p_zCGS&c*m{o70=G!HE(-z<88`+$GOpl@pieW6_5Ai{J6L>H9jnLhlb7zoe0QENt@S~l=O@>7uO<)s;a~UrIobB$JAQBa9CB&C@66|}|IYV~eP8#@9~!$? zJZou-&kKh8#*bgJk904^cYNYld^>mMo+LT+8tr{lk{mwmcQZ-)r<3b{NxS~wfOBq6 zu6x_leaH3AAARB;&+&=x@lTu+=f`Kbzwq((-=k-bU-J+5`}#BYB-dZ>^V)lohke(t zXP-g4I^E<_{*f;4O+Z`XjKJFKv@$<*G<9D1N-}&$7jLyIAn_rY% zcjG{!^BrS0>5p51NeDn9vtHx^H#sduiEPPR{PfPKK|Zu z=EfuWz1QD$e9!v%>sM{ww|;)!j{F(d9@%`x`n@*(%FoNc*IT!~C;t`S`IGW}a z?DfF^Sv?T?f9U;T19f=_~I2*5Wt#z2x)oP2XGX zi*pvYICt~4V^K-_J$G&`j-Us>f z^83c|{F?E7`R_^X$nQ6P-d4Zk`T0Hbe$2PW?-BcAd%V4|Z@i89y<&fU{`m3y`T2e0 zSX`6u&##O9`6v1zziu|0m?_`cz>r9W^^%<;HS zetv$xI6t24vxG0^zsJ7=J1>1xhUEj#XPDl;(Qn6|_l$CU6wZ|Q8iRXm|V4DDm6$lT%>`?kCZnM*`rA%a+q3?%h3~tFaOkPxUv`JvsK#ieX{HV zi6=7VdU8jk1XaYbS3IuRsm2wFO0bdZDO;^2F+t*(JkYjSbgK@^jwz{2BdEV2JipnM zXDBDCDM6xFZ%NbDzP@T2@&;N`8YLD8cdyEXvP4N!vQR7yBS$L|346uJzLWY_?Np_7 zNGvGo4PozX#a+cdsnA+d&0jXHTgw{iN;D|Rp^^PmwW4L!f)ZY<+3TiKgXLZ|`eNvv zE@eczqD&9{B6X)BpHli?gy|~-+m)fHB3G-F$}^IQCuKNN-el28L~69!N+j4eC^9*d zNJCb3Rw{r_Y{_XVDHPj~eGFYS;{ET=?2 zRYU4oS9+6d(@=}4{F&Y#Hh@1E>Hm^PlnagwHyseGtVw~ffNRqr$q<&`D=khw4ziVX z(5=g1s!HJrB2jj@Co@eFO{-nCu57>GkX%yfsTu6$WEXMZS+_>Uqosso^~my&8zCJ+ zMv3)sJVMryvdGOytBBeS*T)j zn#eDcwNo|s%X&DvFIELJ#U#sXlO##0jL22~Z>$R^BT|y2ta*7YK)AOzEsR=!oQUM(+vP)Wvd{l|kDH4~+AC#4*5_?G}+0p30M3M_xS3FD^?6%Z-%r%4w zh7fsVI5@6vs>+g=5Gem#O1hj=X~`0~EOnM3DoLplo2ostKoYR5RcU~hM32lj8CGR^ z%D5%jtKhgCK=RmXUU-d!Ly2~Y^vR~wcf3LoacP-Sx};V`x;e?>Mf$POmesM9Q}0Q@ zl#NPQn65o5ZpqdyC34^OLM>#589*W`?+|&%m6$D-WK>yPI%!PXUZi$Qs#Ehpl?dVz ze@q*)W^pc}$1IK6-j6wDMX!FFkk`HVne10p0HUP06gA1jGWq2E6JIrAteeQ0#yxu) zU|FFqVIh?ahp2m)g{v?tB?H`AT3TH#^+?^t6TOS~|&gM?LqdRpceX z%BWQKLGn0|B5$)&wHjOvSRte&qea@jrFx3W5Hyo4$6BkRQU@XHF%@ZjHKSR>&KiB? z9x7@F5D0RQWwC-I5<(@khma?l6N$FCv&28mAyn0lP?OyNNFwlUUaAiq4a$CV((zBy|F~55) zIpL;~h_ZcJ|^k8TZ$65#3nh9*k#n3(}9o_573PrS-~OZ z8?BPLC;!}7%S-J>;;+IX=uB7YDqS0i;J8ol8FgP|=k|dZe*yONtI{`-O%Fv_i2$vo zaJ__MIo)mhz##ZT_Pdf9Ub5J(Lm*L5LYlw3S@b|RQv;+ktMx(WKq3itsqO(F&_&pI z4gK3Ir1TE(i7a%s&LL{RN9n^+6iE6n=%sFnv|Gr#+Aei#s6UDu z;Z|Um{P7Bk&B}0)0T6c7i->s{t8BQpZ2u^P0rH{%$`|z^>R|wa%_#WdANZ>0ojOn; ztXV@~^iD`m$plyq2ci+ezD+PKc(Ixak+-fi54nf$w+U66gn16v0c3_8K}*d>ks5(H z7-itAL9Yu#MnoF)z4R9bF8nOc>iELcaS{WT{WvDICk%&z4MR5n*C{@ft$(JOu z$$NB6g)uNOFqyj44T@JwBMPQelp-Ot ze9IK?DMlfMA6yRM0c$9JMATM8$BC7VJlBihl2of&IZ^%xYwH?&1!ky+0g=IUbCQ6o z^l$>zi|P$E2n=F8ND%^>x~V~Jl-QqCEW;5JUDv6t;)GEACCs<ZlqDfH&?2FrcL+{v zps2W@2Nh1-Ll(!&s<_fYrn2wBg?c**gOGR10BO4-H)S+yUaF=P1RAv`tp8%D6(uCC z(3Sc`5SJ<`GV9IkQi5yYU5Z9wa$U@fGD>%%jg=KIQ9DA}rmh!J=mvEdFeN51O{>@_ zEmEfZCeRx>gLheSCF~a_R@%a)s66JJRbs#^CJSIjmqBlMRLne!)kNC9K5$b)#TtE4 zgs6k5hTzr*dYpb9WvC#Bp0SmUPZ}4A*Qm19ciT!yWgw-76d5oV2~EXNj0pLxGL}UD zSUR1?4XscI)l;C-mef^YGNKq(RRK{Srr1b2m|oP6BI*?gF*ZcE3O`Y;1p|iyY9&M+ z3N$`Rk`oyv_7@dS^oz07KOpoP{E%eOw&mn2Nn;N zA8=lS&sL-mnI0nZn+!AXbnHr0bO0r3)8>AxY|B7}(KGYtWfTiAkZ=l`5qpXnC`!e2 zr8o-9ka`jNhf-=-I(R*jQBHzc%Dt^C1On*7zIq!L?ZI2XG4M~har0m8pD3B5Vo6Q*638PZAt~gY`1+64ebP0^;n!xx{ zl*KTzJ+nZaI-&w@CjzJf;G)7-p>Ufw3PUJNWEQF=#rlGCDDx5Z-n^A^BWzw~CnAQm zdY+49)&Bs~b*j~6RljK!8NU?mBGs7}tnG_GsNI8)l3J>?kX$KS1XkXu;4@ekjKxq9 z)q@lngB_S3=?sedL~%Mq+EDBylXbn!I8n0rl0s=+2A3#VQI7&L1PPJNP^C%^X22q1 zRLiwi;J2=tGTl^X=||E)yP-8!73M94s8S`Q6#g;Y!C$md1Q9VW46{qIz;2cPQTatF z8MQrB`-&PV5@Wrw0xWHpDjB6&YCTa(tOljh8|)hO>{#|Nji>+=)$gJdh|*&fT1OS5 z!nRGAqWP~ za1EZ1A*i=Oizu0otV5mvqoFXhH^>k2y4!#}G>bZmpOepYH|0Gre&Ze>%@V_j(l&}G zDY1nPO?X7zGXJdbMLw1()B3^1Y-wSYErHYe7fmYnWtKWMVQXYR#a24N5SZ+l@eAOD zV3gCdel)cSo3BTKGm@`g&g5fM^rDAW=(N#wT7=e+8{c_O;B|k3LFK~rX=Xdl7-HS;1{JD7iFR{ zl@TZLOPYqoo7vA#>^oMW2)3iN9bAacXm|?QV9h1PYf^B4rCqs21+}u`O;KXad<|A( zl{Iv&1`!n`HIcAeqJj0D&QPWKrAh?S57ZWGci2*`@D-98IZ=X4b7j_)dZT^-G%hjw z4O64Y43R>IscF(E0)RS&@(sMIIOho!v=FqyngSUramGx}rXTi7{jZ##UQkG<#cazA z&@+tXHpN2eFx8=I{sWGB3Y8fdK$y6sg(>ZWSDW^ssF{mV`P}sEQO@uKXvn1TmiUfR zn~WbrJ+wxdK7HR8KP3tX;|YqXb=%s*320JAmzxDiDSl zRM{ky$B+O;*Fpye!KuA859Fa&!g>J8rRG~`YRZO&j;Ka5t0G6bp4bD;FeXwA4Yw5L z1WU5omN>hTj&x-Q62zLBj#$-rrvkeHh|Z^O@w@OvVbv6xF8?FMN#Q$4mrz%xJZk_z;-s7=NfbSOBG#l4opD3R6{B&`D+&O^_Pb@nWpipbf>BVa?>meb_MwEp!g|Amxf;pcG@O zGR6otE0t#fLhOT8$(*M}(ciJ8aDUTU2YLB1G9P7Kgr0WRWnL zqTo~@Of*mo#gxW!y=mZ4@i6;HRTtaUK0-LyV=t1C&Dq<`= z2#K0&wL`ihhZR5%VN=`{GUT}{v-wh}2>GlamvVSIi0!~6V^rW1BU~|Mh5V>T=z_c< zQn58kpc!id5sHj2ASjC{un|%=j9tbJqlmhvorI7ng$pm7GMFTM;W}<3W(+`wPervh zWDo#c@w6!SO7_qgC{T<*jcS70jhe2sQYJ|0#(vWz@xr=!(MINoN!di@0Am(HMIF&0tu%_zc|AUCL>QXXBorQT|y=Z!vk0R>poYMqd})LZ|QVHb#-8;So4)#AVW zbf6xOFDR`HeH1xFAfAN}p=HcC*suQ>)lm`j7yOQ96R=seJVq=&18c#vW2#I_wQePt zm}l0z!V9Goi063C?$N-yiSZuYK6>l_L+@o3( zP7me};D!1PL4?U)8v-76NPVtr)jJb#)ic{+oXiSV13}O(WK19uB(`{6nD$yQK$lSz zjy5%{j!KZ~j7Fk(CYfsp`I`8IwStOc$W%<_Z;qv26-`w#n_IYL)>{~tRKn=t2GXuh zykpJ4U(|*KJ4i0}EzMz@V{aktSUGqO;%>+(Jo)r6w_!_!xtzelq)RzMDF2MYI6bIp zU2UdC&R8}b2iY_Dr{FRsYRGOnhga&DG@^0Xwj9Pofe zHGDS^Q=(igp1@f|0&z8)Mtpaw!qTBSn2kGO%4UhXv0!;?E~@|orWHMR(0e zoGujRG+U84EUac63m2xq?#ST6GsQ@1AKeJ0oA-i8I=!TaPWT3FMF?jhJ7!J-_$_S%OCOM_5v1jfz zF8$Eg!*v2rW3EK5XbsMO3R@H_XPrV>5P*OX&Iw?NzRko+B*Q03Xb$LyimI@)S-}M+ zh$8H?06l!_2fPZnX@;1aKCOujPsjmWL-90>YB!`8zW7>cV1Q3f3mkZ}ycpezz zyb6)ckcnz5{RA^(Yz%w`#}|oRh}YB%UWPq*L4<8k!iNK6fte~T>ut3_p-Yy)2omCA z)ELkvra8V8_BL`&>&g5;3&OOb6g}evN`-OsGh3b4CiD|-CFM;S5xB4zdVqC(cVr^ah7LQdP6Z)C5im6<3(;4~%2MpG`tYG6JjP9L1jJ+g ztP>!Pp4Mx?g-D`^j>D~kD)8m-65#`6wdsg)cp>Ln149AR?}n59W7$%v`5Pl$N7{>3UmXTLjH(F(wxcUT0#o_1)QlB+R z%oe9s6tKmHxc=kb;n6?_JZgN^fENai)uZWv{$V>qVr&wMe{kX(?__$t+xtq6PyZ2vvLVWqd>vf41A0;FtmU&0|+(- zOQ(*yYgBg@Z^8iUrA!mkk{-{2#gl_31{MPig8vX$t(jn)#uUSJCaOeIL>ixh1yM9m zUxd?!4-?-OCQ1t>)buEPpu{;wlrSnnAiPl>O=GZQoa3yp{8Q9!hv;}j*=*{}+l*ec zg|Kev2{7J#1(D!4x++jz5h-G%;YJqqCe<;bWG&0tj6F3iC0E*zgIGob*qC(3ROts1Q0g2H7=gjI}2x%8OV&`l~`>s^kPI3!G0hXUc)^J6~Oq+ zVPP_&iV%=d)tfnts}Fah^+6(Zbu5^nzzPXCqHzh)WZa{cKU(oG%`pss35AAxK~%1y z?L=vaeJq@)V*ub&(RGkN?Tha-YQ&4AvYraSZ35uc)($YhOseRQv5Yz<*noMQnLn0& zU>5`F^$GTdj8L`*nAS8_vl}oIxB-UqNiu7IKr~mt4zU1RCXq=P$_76RlT9WL!CSu! zAeM-5qFjIK71RYcL}pZYt*~HyWGJ#Yn$R|MCv`ITgs=)>p(Yfd80L7v(Dh=%wFOFo zZP=7=N?zEkV+x0@1H0CAEQn0brU8eC6zj$RV-d&HgMsKiS=sq0bDZ_ zIa(V}r4LY3esn{;k^z=0w7sULZ4>7H6JS8glB=z znco(V<6q+ajG#D1OX`U#__2acEM9^a(G$c0G}*j89M&c2!dhw;m}WpmgRv3-ruq>I zWLU&I=|c2g;%eq@CuT^CT1^}m6A^%@v_HxVFDd7KFrNxx4kj1^a)HJZI#w1(f>R+> z5{_n8C0s355%9$t3$X@K0CXN*5*9FI)39O$Q5#E4#KK6iUJoM#Njge7GqU1|c%c+ocqJEOx>-(nzR^CLQk){=jtvUeiX! z1kuYXP%&RHX(LhsB?F86l zbS(X2c3CTctqiyotrp59w<2aAtFTZ^xM)D;68xb18l*G22e1ODvWs!Lnz>=tZILs) z`;2`iQa9v+X%>M%CauSd$A~#8f{1~K?hH~25aPiMogeVx-(oPu5d>y2Xt5wcg@_Ty zrU?T`sF%Y};0GuYD}69@iej-VR*Z@zv2cf2>?w3WQW|qJ6`90&NlXHbVn+%?O(Wr5 zE`qOy%&H6`GN_pm!el7mC>|aLRlXt$D>X8dN9>euCg2)Y1)&KD6sZ*>OABGNfGD*S z6N^YtfET_YurVksLfAihE`*SUZK5^8kw-cVTgE-2qJUi93=|p>wL17t1}UJ_xKcoa;=wrMy3Bcy|*NhW*{{Kp-c@XTK>4<$0(;K$r7V#mS}#fe1C zvIrY@o|alIiBa8j%C$^ zZioyC!5H7Me3K64po}5hrh0H%Z8K80&RhAQNE~xP-eCE&;b0Tp?z;s#Zq-xJ@OP4i9b?F zV?nUsK0@I{si8^AA}kxdKoS`zk^!x<>qKxLmn%L;bJx!i$ITYq5N5<_!AV1B_tFvC zM$tlv>_|?59@?lBUF%Ci!ox&+vP$9T0%~gfbC%1CK_UC}305HV67TW$f+YAp$#P)E z(6Y`5abpmR1TL4&-ViV!XPijQ6fI#fTjJ6yQ&7dwqJk)^*uh8}8j?g@j`Fh<5 z@o3{X6-)k@n=%1}Ewjvd{eWQ1zJZ@a@#sAxVWlfP=aP#MDr7>)3RMITXYA#g=0%owC8?o> zg=Qfpu%G0rNKUh26~tPn*8!EfP}~v_%a317c*J8pyvW=thJA#-lP#D8d%(S6hQ@NJ zaN-rL1xmP^mR^FY#nUKOFX@2zjOScm1T}6eUR`P;eh2n54IpEb<^~Za#C;L72DMTU z05QUYsgk3cEx;Ycy9-@|7Fkq;RS_YqNrJuDEW`ayUdnre49rAwo;i}BN%aAE$(qg= z6LAm`p2y*Ew2Sm(f5xTPMtAej?IPDr4ERvS`3;Ij2x4W0lbG-i2!u zbRaUg;bAR47swUaMkE+=f{)fud38goUgMudR)@3?Pt34fS88>l7i zbNDm15XNDQ2nnOLLJlQsW@TuH@u7&;Dh8R6b!D3?DIyF7Gg~}i%U{&p$s-c%-C$u22mAwFIg{| z2IVr)$u0m~s4jvV45(EABgT>OB<4bdX)=zA{)JKSku2t>HDw#Mv4G+_?4d>8M% zu(}BU;;_Ov*wO@o$#vpRgdq{G#Adu9GLUJdoJMq6A}tFsVc=k@*P?)#f{1jy^{u!r zL`^dLg4GZMfW@#1Dn;l=7>CVF$b}&rTQZ3m_F;xFcS<8M3<7oPJcRX#(v8$b>{c#m zcmYj%n1H=25_}0dPHl_PVm%Z+b4u_4@e>N92qJM=p`?HpcrGSN<}-V6z!m#oRb(__#5tBtUA6 zsr(LMJ`oEPhD6#iTN{VBM)1rrJ48}}q%|g5atFWU!vI?=6=r*H&q5;h*~=ph*qT=y zIg(dMk2W7+IJ~AP*7O$6UxU9KX zj1k)civzeBRM%SDLTORO4$z-QUaV~JCyW;RD*uLzr}Xi-C`SH2NzmvlKi$I&on znM}N=U^i53qGooI2nee?i?x^yRaY|b0B>Sdgxay6>Le70irHgWe;AC(MmDAZ$W$h( zSClRwk}?HA(wOJ!ZwU>t<|ka|CVbVdiAC&sRZ-T2Z^VFuyI6||jf`x;QMyTp1DstC zk`e$4=>=6#1*_&98$5Jm6okG-h#yM~kuF7(;eoL-5^3mi>_HR**9L2X@6dKcApphX zT7)4aJm+3LvK{5jn4^M&&@Hbjoz0Ae%t`5pClXr|5g1`%VuOmHN^{FApxtcsU;Gji zi@a?ME{mJXNn}h439?E?kp$*a>L-PRr9$RP0CWR{l`+PdIFv+A+5i;d zuEJm-%Sn!p{3g&_l#^nx(9GqSRySr3yDss>2fm& ze_{^|o|5P~5A`+QImFp6(%Rfm=2o8XAvbpe=vwm^&W0wpf z)HS9hW+*rx!`2itDWHqxU#W!bg;+o7;33po?ZDQg!-g|L$Soa~7Z?#(`q->stfS^> zB={*jollriF?`Sg8mN@sjJ-diGZI#43QlHScT+)H)O)5n#s}<uBG>hv9Kx`# zK{q0!Oia*&u@y6oKrrG48;bDC@Y1OMkO5A zkp}^(g~6NTAZl2I>#=>1jM9Sy!9YLku#rvc1q3ig^kKL<*}6d@)^?oN9T+ph_(Rc+ zICK5s`LII7X0t5tq?(OXJs>FzbU;3wDhfohgJqUQZ_p_sFvWNZKM)cSZaw|S63&3yf@xfP3BC;#2O6Z6!gFwXdMHsLXnq-WKWqJ?Mj4$#KQt}u(!cYOJQK2B= zC^Nwy>Y>C*IR5|zQkCvXkm>~X!hmsN5Gb`Fx7kc041u;Owvatn0K8l&twBj_a_E>@ z1O4!a@!S&pCN>ieQBIu-BN;hEnHTdMBN`DcD2ThCB<2{aA{l{9n5`Ipo+i;{p~W*2 zQ-y!K|qGqbPUl2zd$IOi^)g45o@t9de`Yh^OfMF zLxFBQZ4f3cM_69j%A&xsoL_KXUPlIxf4SP2M9)(TJJuMeXaCeK)zWgS7=5$hyQ zgRU8_(QpX{48X1RhKB;(p>D_c3x?rpj&-)PQts8>pr!`ajQAB1 z1B{gLIWrS~HIU8JBr!{2}<1mNS%iF!s984O0`F|7+L zqmP&?0-M6xz~{hDOyIEpf^HlQ)&LeSNf+k14*Mq|uOA}%mw{L>u$$1Jm~Mc#$Qx&X zl^dxzfUFIM1FkoYZ^?I{EM-{8JG@IGhx09>Z4H#c3s088r#_mkOiILCRyBeYg!jY2 zQFQ};>_}y`4~{XjM8}1FnOg`Ug`t5TDnbmZKu=T*3bR$vW~8JsQn_PfRY!0ze$G11 zhl|mA1IU{~hhwrk>j%Ou7=gBu2cg^3AB?g2*pS18mAVa2q0k9o;GjQUj!mD$VezLX zhrfuP0hUL|IN@PRPy?f!koXC$3`Pex#{oqwSdZxrv?>Ni?GPCi>8GS07ZbY~SVf&D zWxbKuT}m<&6@kxu7Y;!F1Mk6XVhkeM61!J{Mj$z5gL9PYj$MlV(EQe8B|tjjW9XL* zZxH~;BLj3%D*bF3={i&i4Sf}J&jpDXY*D3y6p0!bywd~d3}uiV(Tvgr3* z=g{)ved)sS#cq2(T|W><+6(jRJ8XA1Z1pxCyu9Jy<@?i(XD_U*%vy|dslB@4yx84a zSh;3je{MeAxOZvw(lVua!!>7&g ztjXIw`NYA)Q`0jOPxBfyn&!mw4xh#W1|7BCQ{7Hrc4gx2vh%9-iRT?Tboh>GFLE}{ z-0s15963C7;_wdMcjna8^qDCoP$u2+?9Acm=}9ML-E!?<3<$-)*O1wE@1RqF{fT`N z<6oV4R@TGiYe!<#w3+nc(e~Q>>Q3&YXv4(Qj+{F@^`z;Ud*G^TpL)%_ICO%^ZsI); z&YU6yvxJa_i! zlm(Z)_qMmqM!A*^&V<(y%QW$Bho+C!?tJphU>a?Aztd+y&WX3f&}PNWPi8L1&Kx=N zg1`(_nbK;XSOv}nmjJYj+{DkZ2I8Isne6E z?)1#`ndvE&1+urA(C-Xd6WbZna^gwG5Te}4X_2u!@w^Z+6Y1vIp(jtgQM7AkfIwPa z+-*XKiIbj41wqgB*d5)iK6&utc5Jyjc~wGVCyx~hJMnH$J~iE(IydpOtZ_S$6gja^ z9{ac@YuwI8qk3)sjo9h9o-k=x`I;ua>kNDmCyn20^sq6tV*L0utT^w7os1JKJGoUu zo^xboYBF!o+MQ#hVM|*_CU(rpgJ)-^?l`yuo_F}}OlWNA!fU!HqxWoD-|d2o71vl`E-OdJC@%y7))J7%LbbL8lbMuL~+nn#al{u(WLTgnfvxC3@~ z?9|NJSqf6UIkgi#gA9*Y;KtOUQ};XsF^oDLXJO*m(OHuv9uPEr^6aUZJFn@VtqFSa z9giP8JAHC6ij&%yA)Lu~3^6*Hj}Bqb#P^81T}y}?s9~dhWLt8`8R4~e+@k-)>rHH4 zCW;1PW2@=CP6auTf70ox$#?a7#~zByY`7)0Ug^r6w37LI2W*`_d-&u|ZbwQ?h9oDc zev?_liRlbc?PT1tp4;}snD4ELx^qU!*S2g(RbzIw3C|LJzmv}5(Y@xhmCoG4{`p?W zin)su6<&_hxWjhM87P!fr;gt-=}a`sV0=xBwwM6|o+qAm?9dPrZ`ZhZWGj2*gtOSp zCpCZO&gr9PXU8GMw)Y$;(Kv0?+@SqAC2_?!!svm`K8IFNgX(@Fistu{2D{1IhpgHyK^V68EW_JaGbZL z=tF0YPI?ssCh}8xS596UR9$7J;B!5k}-Zkg#bXU@fG+rH_+Gbh6GI$)OL zR5Frt;|_-L6E;uUjI-^CDN*lsq!#gqZPR`YyqsQMTWMcRw>fL%K46EO%y^C+Qlw&_ zQ*P+BQDelp2nJ3O_MMSXU=$#5yulk#LiuZxEI;)b5v zOeG!~1-5rGVuC_;a$1ByOgt~lA=&59?{J2!wjI8(Y7eM z$+Y7<#keQF2V#^O8K+Hp=)m!`-C3c_Oq3ZhH|6q7Y?zzv$SNpoW(TbotUBqekv;g} z;e&S^IdOi{`HTZ+PMtV-a`I3FU&tLC4{c!2*}`PHKX-Ea@Tq|i-)=aDRK?XYQOl2)b9c>E=6*I(Jiy z#-t7|ZZS|>cJRRMvOR~&O&^;Zx5W*`{XXi(6*)#bI7l_{?lr*8k~;AlJI zp~4R*-tFMYnd#YkD*FW7J#-^S@=uiFq_ggt&Z8c-e~Y0aIkAD$)V|3lky4_}c5R^j~_XA=G5sOX>;K9WZFA?dPjgS(AnhIK707ClWKsJ2Z2)C(%w4$$@Txx`@;tC zp^^SSb7U8~e8y_GqnCl^I;p3zJEe|xa8`u5Po#rf!0+J9;3$I-gl+pR+BfiKjlb(? z_H2xO8$V?$k~%lp@q6shj{MdGg5N>631;1Kua&M5JDXoZ{|cl#P=G~{Givj8=Gv9>n9K1b;#aJD;GX$u^uE{7+=o9*xE( z_onk?x=f_4At_SZ)beIXm~Kb^WVc={}5k~^3c7{ULWkyz#a|k(ZC)J?9sr02L2&r z@&8WGr1EEaf7k&2c%=XT@AL+HZQbjEZF}H<1UkRo6UIOBz~_v8V*C8^;^Jzu_s?D* z?9svAG}vPWdz^5O6Yg=sJx;jC3HLbR9w+=?kQ0W|68eAW{o(unlach6Yg=sJx;jC3HLbR9w*%6gnOKDj}!i#IAN~;hu$AHfDiBK|NnrL zlqC*lC3mB6r8P=L055mKJ)hB=Uu+zFTV5N*^a$`_IhBi2ljekuLt&e zV6O-EdSI^y_IhBi2maoB;IqQvLu|jHkz4I^!rMD*3%&WYck{)CHOYjxB!gtVn={4X zmL&Tc{Cl&CLsRwYEwLiW{M^FYgHwYYG9LGpZ@%Sb%hb)SKE%;u$EOb+p0$q2zS_=C ztnBQx>ey++EJH6bUNAmdR~l>GR!6sNU7lFE;o7X`<%T^nPV@CaHtZi1x!SxdUx#7C z{y}Z|4ZFscf!MHL?dEG=XteVo-lH3r)HmE`xGTS)R9x>zg{B7Qj}Df$J6PU)FzAfR zpXvQ!1Ng{D|JR1mJ;%oP+6Rt}>a_>Q25CR<4PMkWb?rdZ?@^+riN}lx?%V> zAKa>ud5boZ;^r$ijM3(U8wP39!Hthxui&_Wk41HvYZ>DD-ccJjknVbQ#<+Il@D7W2 zZ+#%E<9zL*@dADunm1hDB(5kv^ntvQr45XB!?mMRHoV8yr);2sEl=4*2@i43hLPLy zoJ}0zALjYn@p75To0 zdhGC${O~5Wu=(oBzK!p@>FR9{ZkSY~rLL}R@uow0%Qp4bL!7l?P#@}?jUpjx*<9O- z^}Sm)V0m@Eck{86=VtFbICJMM0WFe8_*@@V2|m}4;pc##fBzpq=7z04@$77kxe28@ zJMEQp<;u!xdU-35J!QSU%Zm#GtUWc~Ubwi_?%wx58*KlBqTU?<)eV%t38-$O+)YO} zQ0(Sop9Qqp(4t(tZv`T@qHoH|Q0$Fgu}KncEAltJ^akEJe$NdD9-=8*p0f>e9KZio zOmn<#JWgKr=0j_9^Q&_U$Jg33-Q~HZ)s`Cg>H4wQbI07p zbY<-P)9vNex%T{>?d2YA^uC#N!?7##i|y=2D|fcAX4o|P#^Gy3T zvzSnyY47Qn7|*)pvDYeP1#A&bMQ$mYp-aMV1A6U%I@I&L?^y zUdZL;#0CDX?z0$HDY^G~-+uMpXDna6_sE|e7=8Y)^H=Z9Kezw%)qBT3U!NYh_i+cW z-h0yzt$#k}RR=D7dg1DY|Nf?{7yjF~ZT$TFe?D*_KHq!$)eGPAy;m=M`_CV^@U4%z zdf}OWav=LWcQgy;__U3 zp>TIPcR5`y+}?j6`*C17?OkfG?!%LxSePmdsUSJrUY=iEDV)0LjzuFiU%0)S?bzb% zeU(zOn|l{`b9TA4tFxQCI=iu}v+LKK9TZJUW_o}4{y*w-UGl*%Odh#S-wAD3^9M%B5Y6a%oqiT)K9Yw;7$%uEw&otFg4)`z~fxX;))u z74+TQdskz*tD)T0NbYJNcQuZ+I%`9Nq5 zudnWc{PIh7L4^4wjpWcbzVWA*7Yaw9II^@8Xl}V#p4hxykY)a?UGSLvl3mbee#tJV zG{0o`1X0~RK~#6ae1;9H?4AZHyQhK5F4$4tu-%V-W%r|B+5PBOc0c-+-H-lmaAMwL zyC41CAjaWS%DW%^^6p2!y!+AL4OYzGW%r|B-sR{|m3KMzQ{`RGdzF!Q4p8F7ry$6O z(pUy|s7vkn)wGw1%5{M;wHqioc+M`zT?ymezR50Uyw#(3`-I(&_in)DpqF+#-lg4+ z_byrd)GlZE)NY4)x1(H3&MsbVuROExLtd#qfa_pzwZl_djR~@O`cEeO*VQF>#w!+c5 z2MZ6h=iFvxs@?ZBwX!s~un^d|8(?{Ep)fS<%?gs}&32X<#~fKL-2CWLyTerBG zaE{vwhZmQZ!DrX>(g$a|OKY>oFC0F3ws7;x1D$6+x?HK&>Z5Z{FD|XkgQSJSr%s$W zb#nIb>2uR}`z>cLNkzA6aO3=A*yj zqW*mQVzl@YO>WiPNHd~X&|ZpXIy~;8>A@L={@U`Yb2nVQ)hooSwigx_En%8{uePIU zE78MkO37s{ST;z#^x6){2CUjd2Jvpg)=u3qd-T+qv(rb<&(54WcjoYsCzLm}G;Zen z&x#If{dT9(PfNXStK06h+SPiuU+XrT)ndEd>NL`JrCqLHFtSwKE0eS z4En6F*e^^?_2yP$)TX-2SC%raQL9^XEF1mL>Wv%qV!6{wtIcku*ezA-y;`}~Zu(&q&eY-_K=g&xE9l=CAAbDf3-@Dx200o$w~{_%W$xnWWlN1x zFs*ZV;q1)WGv^MUojp5!;>gVDBZtvL;o@3YIo#%U5o{~_g+1J@XC@X zgG)~w-L6v2CbNaq=laNgdF8eOgYZqO=H2QV{nuU-d3AZtY|I3}$#ch#7Z$>$k>8`# zER~~4=HT3-%Ln~ixPLX99A@2IFC*D#RmQ{Pt?D+V`b}SgD~=DWuO>oAVmFA&4s$-^f->EM*s3 zFsM-s@;f-slCfbnkMn}8?*{Vm+IjlfPPS&Ti^y8Bq(!e=0LRQNfNyKTYKMz- z4yH*1xo2m8R_|8q_Nwh#+HCaeW>UM{FV*@fe3*8uvWQQXoY1KkGvTnZwy?akKJ&4% z_LTqwpwzHQjk1_ey>PKNd+gAF7_q&@cPhroM<8&9;a+&Ch#QZ3_I8+s08 z1a0S+GI2Cu&Jb_dV||S}bHFW3`kcnfjb=tE8NtS71E4UvAe;J^)}W))XJ=2II(r1g zT@0a=H>OxEWlVVBclHKr^Yd3UA9KV!pP9O0@bALq%PSWz^_JtsR#Movw>}lD@e^Gz zfRncs?lR35*H)mH2hBD_4`~!GcUD#x*Bs-57ti`Kj9f_kFx!^q)H_pqUNs z)a7i*gLpy)1XNjAe8A;7)(Z^H@4q|(iP@vMYjrcOvA9e^jh!Ct+I&ywk}xiqm4nWX z#t~^*uuiOQzjS5w(&9oTdw3_Mnq6)$-)C3`p$P+?)+me8b>U|@|D!dZ}COcI(aZJ`Wl~&K$lP?K8&n&i1M!0RX5KbcUcPL-$#=s#a_F zn&q@w>jDwgTD6zfYmHW=)ND1=R-@W(w2Kwobevr_Scl5>)@_A3U~<4WaLG(l8)yha zS|E=yfixnm%k2mE_b<;a+~!Rp;h=!D3}YsnPPR|3kZYOZiC*$s0KVhYIpnotQ~WU( zmtv}%JwAgryUU9!I;6WYd-%dg!^-pkHm+svk~tz#fEBj10g1uW*(5kdhTm7XIh~(9 zeEwE~boSVpTZZ?6@20`I#oihPrQHDlR%hL5)KCjpMMLd9es=Wea~W&cz)iP&dL`qj z-S+H}na$Ty369Rr%cwZu(jPwO2bR-}#Y~YJ zfB2jq3_>#=hff{1zS)uJr*w7p$okmSN&^~*dAYycUhZD1S9ket(Yf~yCd|{a5rWvW z#^hRZ;mGl$_3BW)9?g<+BiPg7#d)TfkPQQwl!>Wz6V&13cbv)iSq&P>xOC2D=|3bO zkdvw6wt&)=xlqyj%Zr!Ep$LST5~M}BSm=jR1^L&Ctx~4_VMg8i<4vRUU_$;hO>P!%`QE=Ja@Uk zqt507D`dN-7rOIn6!n26==kEreT%FjNG+t<%HrBG8a{LSgcr=F!)=8%%{9l<<@?Em z;A5uieQ5xn!jkV2djS9^P0&P@^ zwQ4DC#|WHBL(Z>e1AA$8)d1|@e~m|e{{wUP&Fvrf@@LD<*%PcWvx6&p?lI(~4bYIJ70iizd_oJI{^=xQr#OM$5kMS4G&*SS(ScKC3ivCrDS4@s#<9$dnO z=2i*14dgZ)^b9Noje6TL?P5fg*`yo*6oeTP@AMiKdqAOKN*e;#4TLzP!dnZyfxfb& z+fAX1Yk{aUtef9oKkT-TyS*OEO{vvxlq&5Gawyk3?FOBT?X=k}){E6jx!UVwHXL(* zVTI-LY?w*te{F&Xx5YR*i}SeYjB}_&HrJ^O7gBNG^@H0l1-GuxPJN1#X!wH;q+U)E% zUS0~le|8nn95r+>@kTOWc!!wLgUKJlBerHkS`TJ24Alv+-Y;CneOA*48J=P&Fx6l{ z>*H&5jbT1o#P7UrYjZaM=X0@j(*-3 zer5_8+O8QH23A69$#(c^)SH`(-s4y(u>aEh?CImfJ{(-*MYh%?LVZ|7^oS|5M>=t6 z;_9XB-C>&PjSk)#s@V!!Tbc(5STU}|p$D@IgQ4i*_EOBq%G5FW8orB2<{anN~)}@4d z%rME>zjA*!<2;LYg}lYas+qwoch3a<%+G~D?2or=Tr6gqe!1Ex4h$>VGiM3+)!CtS zV%;*hyvT77o#Yh}duXyAj()VgTB5=235E zmZG5!xHZKE>c2I()2v=W9qVH}BrlwI3S|yEtZ;LCo|fIaQn(n7s@%>W9PUi|K=^tx zWVNyePi3^k24cF9YgqH&p~LFceu&g+jd``pvDPltyAAFJHn?u7RqoV#MFy-=DLU-3 z4q6;K(}=DO7K_Z2g)t871L5HqoISFzj#LhcMTT_-`RKP5PNSJLj4y*rkGE$BorT}7 zhQSdNz3a%~*_r7J>-fDP%R+-jTzd#bGKavW2l(0OCBdiG)spBM+~efg*@I_J%+B0( zB<{Ht-AWpO@C%VDhZ%#5*AngiuEGsMks zSzlUSTnPKw9Y<$NvyU691)0T$#U!$|GQLu+SZ6*{2X{N4n)PCbow(Sp)vGoB)q1s6 zEY(ZBw9;?(O1%?o1zK z>CC&cKJYdT{KWIU&iquV+>~w>(!I2#yQZGO?skhIC!WIYedEyMbR$!D3{9v!qnoud z8|eSX-e17Ubzb-5|1>ExGi+0c(|V=BJ9pZott`v75(}!89jCOtXe$;)D;bie%*@Qp z%*@Qp%naW${od!o>_{Fv>$K_oU;mete0=ZTx$xk54n61WyPGtn=nSVZMYa%k4g;}d zG!41zh;B*htywEA>Gdri)OJ8P2|RGFY#4!#4cqGVvr%ik6wFS0sUHFj>k+KOyi({6UgY+AdNt{;zAou&tgye7+g@=a)*OH7&Tm zMkR~J;L@*A(W8_*#ihNv9o=@aV}!PDJ8{G$h+iLtNhHf?W{VgOu;XeQy9naf4e)Yh zD95`VCn*UP@FKz2q~lpK%ko)09oO{;ZJ|?07r3EGKF`y}8)jv6hIS?hTJStowY_KC zU8#WgVp2&q!CKNw27T_QZH!huXW_bX{v5}r&>{t$kC#lw+g9F2Wq0o0YuHVLv9qQ3 zB&eI6Tkr6U&<=P}vw}s#Vf+NAX*7p--@0=usCm0~x4N~}TiYvJ<-=4dSVmfhulbskU&q!}SFR`^Q~n;kPCpL!A6(kJ;<>hB!Dlzp#};zA+g{r`bLa6B$&^dfZO2a@ zKl_}H!nwGAX*v1kjVnqwllIQHK1CrCG$yp}`VQUInbSvuEoZ?*#&4i#otCBj(8Y@K zwNX~6W;FV0rvwwo)O+pXgB*WiLU)>da>#fwYkeOc@1UwjSvs9&MKVbjRW_}H($&Rq zgo~IIv@zp+hAWugU}{Jf3zpfYV~^ffDN~FMM%k+mO0$ zsnHvGq-<2(>)*J4<8FCA?%cI%?p-~171QYL#2Mp(finiogV;m`e+Bq=Xp`g7g=qrWmB|jHl0q{*s@Wh!-&S+4ZX@P4ez}i@lI9`E~Sd#;+xiQ6fa=} zQT3M29o=UamlNg%;UHAreD%u1FMKYCj~DD-y!^uD1N%ynetzv~`5=P9Ks9a?9rKe+ z8n&-pt;sL35*h}N?bpO_p&6O$dvkZU;nG@Od6&aRu)f_049&j!8SA^vNL1qX(=9g` zwmH;$@4j<20RpA%Jt9!To+lVh*bzKuTD02#y2?TuzdMQ+yjtY3tncpgBeT}b*4*9+ zS1l9ME79UHg^0rgYwb`ETKW}ZlHwm--aKnf`E7T^z@#JM9Z9j#atms)T#xpy zzTnEumtPn@DwoW{3+JBSY7>G?HWV&8k#6|ny}={x%cLYnii~jf#Y;p58roU9yP+s9 z1OW&YMN48rQXEgymJZ(VnlxT>;d028oe5WKhQCR}7T)-(c2QcstLKLLwe8_OD!jeJ zF4Just}kCZyoV_4)rWSJe<=<24o<38T)1qZ>g!7CS9RvBB4oDirA=!k6pY!`_;IV( zIWaUxwZ=*7%F}bE4PzBECtMwa!(SC0nkQKCo0X+s3tpt*pychLkHa<)Zo>U%8}a$_ zlzUW|(&nPXTLVF*cSX{OV>7}iN$hng#R-i9!n zDd8d*j$c%EWa_LHwsB^mSqRH1{T+6*BVyB5htdw++bj|n(fh_By&>@N7q6M{wJa;v zm6okrK0PC2`0^tMehdIVEJuCg!<>e9*4lyJn4~F-NO+C#-;c45Wj5NqI$HW&jm^FNmWgWY+Nhjeo$x{Koedkh)yPh5DH~~BOI*VGw&iSuz0Nhs zc~kVu=MIlo%Gp>w?%T_EZ#}kD4?Mnt8UVfgA98=_0RC<%|95f?Ke>iWyK3IjIqXq! zH|ljfbfdX%nSfZV!X)ii^M#gb(K?JhUcO*5&x*9Nyk=wGe?!hKbyCh3iy;TNaW$?M zNgljs!xuEVy~cmCGi|K!(m_(&A=P`c2h+pk8kDtd^ZlMlrkp~%J|fUOS|>HO=Wu?a zZt4^;@tI)p!c@`k-G~9W{7CR#ap9(uM^5e!ianlMMrq^n*NPfeY_Dqcc6;Z-Ruivl z?1io0LT`?FWdE)V!Tqt(dN*9XvU~Q-V+@V8kG6~7eOGqx*nhNVGcMj61q)a8##@&2 zokExA7#J?!*C_L@cYzrVXK5ov?{KJU*YO}ut*?ir=7Ex~sBi9m%R_6Pu&!|A;NxYf zWT}m<8QS#mjwY(f2|Fk6ZHfbWwQ-eVEwW*m59@4he-1qY4Q68ucqAcJe}7_U%4>^u8X1vCmT47L3robDdRV}~r!RCU>rY_aj#y(_zCc34quM>*1c zoo*{6q!prc<(k>qEQfpHXkd^=@3b9xQ?nb0R==T4*LUs%og-!Ih|+67mVJljcG^TL z)<)l`=NMAiQJW9Y-trafZr7)Y~RKGfkh25>x?vy>Ms!M{74fuWcBfmG|qxkdm{27 zbNVQyDXiv=*qoN-qN1*{Q6wK(wPUevnA4@vBkbqFjoF-p&um<}tk&V?)w&Jn!w|P( zHI8L`pG}?c$@jMFJ?IWbA11A`abMmE$@+rEzJGs>^6FIzxt14 zJ*u@7_Z@k#@=aT}H{4uE4q@ABM1f8z@c8Eb10 z8_F47Ma>$H)6Ig=_~ZpQt#-lscRDJiT#5&$T2aUfs;NTMiZ|8S`TLvwXODLx)>QS0 z4IztZKADfxMa>(k;5am!U?F%v)!6CLv}m?tE?LwgXLs*-_R%A!$H?#1t<$HE?%sCn z$l1Hj92@W6arOiw#_rBtb|0O*b+z2l2+dQww;nxx>U2En=c`vkImz$5I|&c-cDGR; zwmuFI+6%X|;yBA%*bw=~!}jgA`u2!n=04rnFa)7BZd%$$wC>f|j~MEy-glp#qHa9Q zboIG|xM}621P*vz34yJ0CQ%)0SZujcFu?)wf?OE?#8nRg0*Mn}mp?p0} z>D0BQ;l+0Vb7DK$HLOEB0)w<2**SXrxVErD+F0 z@7{Ou(*4|$oR!Y{A~1+9mcFgic5hh!vWt67<8xRwEB3g)a1pfJ2NA>hSne%N?-t8* ztD0WYt#)HrU#SaqwR?g?)P-};+dX+awlVNHzIp3@{>-<&%gtN%1sprO+){ctTCCiy zFYN1Yro)4{!9RiwCOK>FgsIm)zpSvcd0NGu=0z4Z7k00*o`?L|@ZbAOJT{L|eDC>7 zdB^45usNr5skr^lQ@3!DzLUIi4Sisx*A}{AIS*qngj7LI)9OK%1oM#!lZM%Ewy*Z< zLF2yB46QH#oxIfX^z3L$(|nMYMuf-5Zd>p!-n-p$@*?H0^ldXuu3kR3d;0bzSquTW z)uJ{H?K?{f)@uXKXV0fcX&m8DgH{=j1ao-5_1Ml)Pu%dzMmTubn0)Alu`o%S5}ca_ z?-h+g$m(}!bi2~q!5u1<%MTygS(bfbpQsPvC0HBdzj)4D8|gg^+o59HwPX3%?g@KH zZf?{9&%LI#+lwN%dbS`@^6lyeV$?g!`F|Y_AK7TY6XD6zebJ^gE-;?zZ|}F|JWNe~ z^~&Lk9GI>g_6L!zytIw=3+KbV!`sW# zW>7SO!EyxkrknE*Jy4DxvMaPXwhQ$62jap555;6TJ%1`k>P97T*deUTE0u^QZ)t{U zdf}SdIxZcpJx}i#dW{Njco-P)eGB>oYo^M z!H{2B!bj8jzR^3HwsC=?PROoaw0fFD4J#J&mV(V%+vqt?ZXNE=9%^=FhgziB-r5py z97p4nW!!UlZFJ6!wxzwN-2&SWaGQg#bLWc5Q$G|2<-;rgEn?P%nwo!Q*kHn$7XP~x zXVkBuBP)waGN&}yUsQO*iQcfvAP284v_`wNq-Q7|Ykpy4t~R@W)wU;CasSHXZ5P;{ zIEgLMOx{PidGEf9yC+WcH&3|jgy<0s&7A9ub0UL=%Jsbwt4A4Tn~oz~_CPFY zd*N&lDxQYr@>EYgT824ffv^|dWYqNLfTx8l(d^If`6f{}+7HH}AD!8b@L2VGX{$98 zHR{$!>BtMueUKr4*^!G@d|NK?94`gD;K+8q-nDh@K2vHpELOXjZ~|cuZgn@iw?60O zkrT&{c07OzE!U-3>YG|_x2EImsGJ$GbL{NynPWR=Pn|iod*;+#jfBycF~-qdZ#y22 zZ;Rz8oT$0D@mJofBBBESjD|^Fm9P5>B=gqN*y^<6J>0mWMKoSZ5w>o-^Q;Rz2BRP7 z$7voEhs`QBxEyZiN7uoz#RdPp(y8nK76f3gLPz`fr~Ocl6kgSP^lTOrG~NI}f|f z3|p=7B)*hgXl!-;Amup`lwp6PeG`weU$?g|UW@$%OV{JlCWiBuE{DYTVk{fQBxOXe z%h@6+Da-8zS`?O!gv%_KsnlK|VM{o&waZ4Um5V-UH*)N@{44TodwmE|(OAq&7n;%A zxAZu?)L)FUDN}7{$Yh$Owe1RtxIMFCRNC3Pm`1pi`6w;slTl;S+F|jJ?{A-)Y;8X~ z1k{cNj1skjHR4W2%EM3p-^RWFe{GR&$;yAO~ z`$x3WgIiB|iZ5T?WthLRyVG*{`}a5co_@3h)oahqw$?kP5lr`QZ_3uXDV#<@Vp~Zk z1E?I@@Q}zAEqjRHM`@byPkus-nHw&U)BAVXZ4gCWQkqu#V~J^;`{APe5M2Adjk$A-iqRACl-lXv7i!3BOEY#Z$43{7M(cWXG>Sg=j>bcac4I4hfDGSg z5n>z#8R=dznv9dESF`2tFs=IGGCzERj=u3sL3v}JZYhQn_wYq39&LQ@aWetaSyn8v ztmcfve)Tt-bST zEh0%}QpbM2M=Q)Dv;?tfteniagH?QY#*6VpK$g)kn- z`E9!qu__{;^<$i}yNUnMxPx`(X+CGy4eVx*?eW|0I(f9=I}BiA=#}`ya-Hr~XZB?F z`<+_lBz~up@|tJgSwJ%6?!wk>jhZp~;rxS{P0_Jg3#SqzwuuDMgz9Q0Qn=NigJk7a zsVY8PKL?o&+F{=WKMQqVBUsnxud(Jffqp`paoqz`3iy7g#IR^-Z!FI-=^F3&#-FtJ z5p4#Is1c%EJ;tDUWIy2%!@+7;(9nz*)qEmkfT&GnJ*`uIqQxRlX}lW=qH&;TwGAhC zPM_)gti$c7RW+FRE$c}D;5;w;fpt2ym=@ZT(<>m=kDXTQli+w zwMuK-&;u>6(o)WQ$2WN@%pL^An}j|Ik{=N%kZ{Vh2z3@+)X!ZC$!M1L4Z#Ag_+d3N zv0cv@iXS`fn*MK`gBSb*SG|OnZ)<(KmZY#BR55~L#5HedeocM!j+i~Y3GER&spSw! z#guz2qW8$Ivu@XQITY+65lyU`49mG40cFDPB3o2QfQ{i<*{tGGWpSL+S&GNB2_5GX z9WqL$t#eZ6zjZ?xkXUFQ-s|Q6ko!Xi@DEG*KeP|qp+??2)Qo%m&PjI?I<~K~5qBPwVC_rV?p<}U(h0Rb43$K4 z2(x<(po{iyGPF9-G3{rF|J>D|Tx)0k54 zJ6Ezscejq3-t@7Z`_EmDh&M~VzYBWP@RXO^73ld}&v?exaQTr@yDv7xT2$h}7_>Mm zl!t3$(=to0#9xA&w4;)9>{8v#ycnas^^H5z1z1O3VzN-Xw{$glik1TiVLMzs`{8Z# zPD4Z5;8;Y!vv=&Cy*(z_^(^uBsg^CTFUQX6y>s;nv(P%(MN^mO3n@0L!;J@S6T@No zo!0clc z(!@Gqd2{Qzuy={^yp|g_Wa!=`*-q*h=H)|pc6`a zcUA1-N3s69CokD4E*6fbJXD-x+=e!Y7`)7&fIL?vaNtkrQX$UTUSb{#hO( z&BW?_)AswY@4cokm5u4V&Q5Y_h;IDIFe zM6-q^FesPSyIU2^o(D4k*PcUpe9!4{tuq=&h3>Nq0xe%7L zpg2r>c=Mb{YkkZ)n#~#q9$Jac5A5oN%MH)nR(|*FiPN_ozjN8-1g56R_s!>*9#q&~ zSri(FsLUbiq-V1^be{6DA+z0=yWMI~8s5a60vV~%ElqsXmS<}|yM2nQUd?0h5|j76 z4O`c5<&A!fZFx@%-u1vdcRkG#!o1+L!fXm9mz8yvq-8d-tC@eMKzd2e>#pJad!GA9 zMB@#~Elj&1J6^fgc>mwLh zyrs}j_4cLwxtHsQp0-EKym;==r9IX|9Qty!&6*k6o22^De4X`)n6g}1hd5Dv*|;}$ z+qv#zz2Sa%h@*9JA1iFc9>7K{yYi;DXm8km$762@eFUF3qtqXY7MsqC*?gAP#dtoC zowa#Z&!_WL;4!{K^I4-2d5nsT5&o5mOqS6h#e}edxe=+jWe#T%xw;jwMhI44YjxHte7xf+j5Dv$v1v-E` zXoR4PS6yymwHo!!9{=4CLfhwV7@sj@??pWxXq?(_44iJiM{+l{h!8X zA8Rn(4H1a#1pC`bMzj?DaI}1xQ+DQE+`hf{nF4j?{KI zx3pfO4I?N~Cv{b`%R6X5NTkzw8^?QPMz=AJJliO`W8321c1VHk3~wLPgpU~j^bwOd z4dY9q0jqL8s)HoYs(i)~a6S=uYi@JXWRw@_;&Jr}w=*i0SzRoIZ4&Y?q2S48*oePN(?y7*(QqR%k8MO<047q5PMxTH#wfzpFJSBNf zN!)l!w$?{+vpaoaLq3*k7xK}VLC9A(88;S+=<`Vg*L*x<-;z30050pZ*`i94Svi~A zsx`5J#%^Of^X;R}$1Mf!R68+~d)vA#VsrTni%>}1%B?H@O%bcQ)AmHrw%sNo zV*gZIff40;%$1gj?%li?p?B|UqI$=7&IPx!9i43-@^<#XLu15sNm1IJl#jJqSmQgV zi(dW@xj%FO|8FV(zeRBPy=#W^S?}>=GPf=bK|h&TB1Xp}NF>cr>yV3l;HH_ah~tr)tBWZJp-1 zo{=r?-Mal6oe$}pL9yBGFr6m`&*K_%ytA;hLdVy}9xiLbm_Hd#b5m-RS3(2NXY)zb z22$@^@JO=<_RgDjPVb&Ma`N_LPdnV4+mgIXL1wW{d6Dy-+HcWWGme(>X)yNsO8CS! zcMgqUhIk#H?JtZ1qkZo)h^=ZnNW^LB+Q5Q_MUg;>hmu1dqVlb6s*^Y>=B6I zOt*D^rR>v&`^CE*?n8A(u;XUnU+N-cP+pxma+I8TOmH3hi0(di=Te=w-w18wm`+69 z-F;q&1-nc0TrEdFED;T`ZzTa|eLyx{)qxUEK#xAok&D@~mZ+KHJed&rP?Kxxu2vvR21l0@4 zqbo*~U-!_YHFIUfIig{kExPgPc0|OCdU~Tqx+dVzGUEWTrBTAPZVa(lwECb{NJmnl zc+qsWQ3#A2TC8AR)YCfMZ9QJLzR20}!D!igPTwxSa4T=4yRmilQaJfMvavC6@z9cV zC}+^x#_rX4@Ac!h8A85#VOghst&JgS?1te^!J0}o+d7Z7ah{t{CWdZkDLVsfFxxA3 zKD%zNTgUDS_Vx26>gLijVFPnwC!DGkhQ8;#4)?(XV z`&1MCVkk*KBhz&m8=4l_Zkphxwo_tmA?nKpd0O;%pEYGVr8!!gi(D&+pq0sP}q{(qtu{ttWM2@dE94)BRFuzn0Y z$vk{AyfnNFyezyNyga-Dydu03yfVBByehmJygIxFye7OByf(ZJye_;Rygs}Eydk_1 zyfM59yeYgHY{8quQ{XM&E#a-;t>LL~6GZ%!w}H2Xn_(Lc!C@G}2*xmhDa;^&Ii#?F zw}ZEbr^7Sg9pD||o!|)E0!JZowH|}p;C8qJj>9wIS#T$ufRk_vPQyFH8Q6ida2MPS z&xU*8Iq)vHT5_~dz3VbSj8hko@27D%b7JN2*4ty?r9(+E00em5R5qvRx34AGh z8GJc>1$-rZ6?`>(4SX$p9eh1}1AHTV6MQp#3w$el8+dAg82mW=1pFlY6#O*&4E!wo9Q-`|0{kNU68tj!3j8Yk8vHu^2K*-c z7W_8+4*V|s9{fK10sJBS5&SXy3H&Mi8T>i?1^gxa75p{)4g4+q9sE7~1N=YuNBAfB zXZRQRSNJ#hclZzZPxvqR?~W9_l;e}&$?($fGVrqSa`5u-3h;{XO7P0?D)6fCYVhjt z8t|I%TJYNNI`F#idhq)22JnXPM)1b)Ch(^4X0Qcs4o`u%fVYIVg13gJ!cFircpG?I zxEZ$L5FCafj9?5Cn8FMam_rH+csqD|cse`--T~eb-U*JtEpQZWg=26V+zxlZad;*? z3+{vya1u_zX?SNi13PdQ?t;7F*>Dd$2i^tV72XZr9o_?W;XNUP9119*f*S6H``{cr z7w(7iZ~-pDCAbXFgDbEHSK%5w01v`L@Gv|dUI6a}FNF7o_ks6?_k;I`4}cGZ4}uSd z4}lMb4}%YfkARPakAjbekAaVckAshgPk>K^Pl8W|Pk~Q`PlHc~&w$T_&w|f}&w4mKZ8Gqzkt7lzkKz=y(z!H2^~z(>MI!AHZ#z{kSJ!NmU@!H>gF zz)!+Y!B4}_z|X?Z!Oz1lz%Rlt!7szFz^}ru4g7m42)RFW0RIFpHTdIK8@!xfe;s}U zeiMERej9!VeiwcZejok-{t*5M{uurQ{uKTU{v7@S{u2HQ{u=%U{ucfY{(c4j==`7H zpW$ENU*X^2-{C*tKjFXNzguD8$;$b}zb9JYi57VERuX=BEdlTAunK=(_xI{=Pn`eH z+D6mLWia2Kj1TeKO&{YAcfKV5J!yPs`dIG|TDd7a$+w>jFAXnq1LE4tcE4F~ntNg# z$Msj}j<47qU&%2LzrFGb;_p}K5a+K7aeTGzXnHh%zeaa_&F=VG-SM>@1M$r3bcplU z?XJCEcYOWs_y&%FxaSQ!#Q7U_*WTE174h4fbcpjeg*d+13gYjr4srhG5XYx5yW^rezFl{Gd&e6Q?|FLn`!l-ZJ9Ni)?2hl$9glR! zTe{;>#~$&XTf6JWy5nt*f%xtA4sm`*ckQ@iAg(>LJ3gyB-q{^bI0oXLlil%DcRcMF zh~M7%2E?^9-ETYH@oaazt2^H9*dy+Lc6a?A#~Ts9Kc_>Sze|TWf7cFi{%#P*ckdAA z?{Nd-+HQw9f6oqao;4XLe!jbQp*vpe zj+eUQJLdR9a zZ|}VZas7Qd#QFQ)fVlR49pe1`JH+`1Kpa1?JARO3Ag+CIhdBR`4srgWD~P{84C46V zD~P{8qC=d2vI|>#l#iV<4`5LU;T`$3R^Br0)31-SJbp z2c-FX@h7+8w{FJAQe0{EF`QmEG~H90T#}S9gf>uj#IRZFl^-?)deNfw<=z z;2Ytay5l!HK7l9N;Qx9I7L@}%SbCKd!P7jp>PTHJti~HIqBsli-c8EH1 zAjK)CUn$#K?_!q@jRzcGZ@CgVzV2+c4Da83{q?wc6gTfw_udwJV4D}7%d?B;S0C}` z^3G!Qhe*P7D2W%8*F8`+_cz73uzLT6<^308qs+1j9G?BX{KkF=mepJKuf~nd%i~gc zaqq^vT)OU-CTPlyH#HZRw{>pbt2cF*;+A1lv2_<;y`#Ode8-im*Zmlc*|u&QIZCjh z?a`s3tMRtwwdGxr9d`8v@pt!Q$@f=kufd^acg*&=axfeY#Ce?O`NAgoqO?0jK;Ur_ z0n*1dv1B3z&+2-bF9vBb8`%(-+P_)|Lzda*GO4EHk=!-4y{$#ENay3>Kr9na6lq?R z^?2l->B6O=uIJ-%mKJt73w1dhlv!p|mraP1T)d~Lh$f=4+uM=LLp!YNNj93xzcLt( z267)RY@#g%fwFCDGR{Y%N}hW;>?U@c)rov#X_*d&lR+WDaV22l)b_?ooU}ZN4Jl*0 zs)c!%S-qTzt~nbFr-L+=1Fw?ea~_+oi%Bsa6Z8{1EN$3X*ok8I+i)=$CWD2T$wfXN zd7rG5i>b_@i=s+JZOJwEnN+Ce!O&Iekdl4iK53U5hAbCF$ybg2vR{D+h2XtJabdV1xWoFx5Z7YzC?xOZgs&Q(Q&}^7{<9wJ%nl>AV1}VO|pfJO9ktCYKp3r<= zQAuQ}$me-7nrhX-FduMcAD45f)odoOL>9G=ew@{+Fi$Ftl-OyUjHiQ%-HUUvwUVL| z>^V}(Pexi++X|m9Kdk^>T4PYntI0ez;Y$%+4~IIkNK3nyWS~zf2@%xSI2gqLC9|EE zGB*j4IjpLgR-H}+rJHBcO)tjw0gkgg9oX(X8{5}DmU4I@m;FLGsWK7YGZ%eY&S7nu zPSe3?I4FkpOo?WfMC%lWqYZ^Z1LS2gvK4;L`+YXb%E4$fDC$g?jfRyfmczm@tH)EF zF_FPI6BH?v3nZTmM&p4%@q!tb+F06>a$&<;E!y?89xciuucqZ>k&mmXHXMwl0#G7J z>&E56Ccz}~G1bOrX&0eDT(XRt4};NcP}}3EDRbqlN;5|a2m$IxHtvt}@o?hnf@_Zk zqht{Il;u$_vfAaj$91TE-;23DpMrAR@~i3U!Dv1hi)_CT&?#Gtqm`y*?9Y`?Z<0>S zyr>qk=<)9#Op8pq=J`Si1?Dn>sv>Te&^j$N!F)C=hf@{To`T~GBp?-^q>lB--Vuqv z>vEy-rL;&z1fSQlT6ZtTLg}mONK46zFstVh7U#Bv+95xYxVV_rYMl=hTGWO@6wPd5 zU#Gp4hKkO&Cvawbj_e^dEe4}v;0p_J#clbV4=ZsUbXrZ5tT4vYavq&m3`UwrFB{Pd?Y9^iV-vkuWM)Mndg^Q(Gg3C+ zfoSGYkcA1TZ|#{V4ASXvUerdt&1y4^HpvI$$-w?yTVMsCu$9*=A5LaE+b|m2vtPs~ zBnUPv^Vp)R{Y-2bfql3Ih}cD9V8tl*1%V

(( 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%0AWCrDTc~y6N%9b6s9)&+PqQRb9$ul zekFKe?!lU4@@CT#sqaoKHOJY1V7nXJl?XLr(Woy77MQRMSOhzd1-@JyDL8>=DY1gp ztOTe!BiE)1JcbbAaq(r2>x~M=LTZX4#F(Ydrncnmc$Ae|&7o0`vp4I1$Ef6@EJ25>@M|Mz;UtTS4m zX}zDD#MfL%D7(xeZnrWv;=v}{(caw12-Ii9n+u$O)P}iFkG&DW{1VaRR|`d(%Z23) z0zxPeP9)${Ota@Hi! zs_Q{DuE&WPimP{jld)=&KNXjE*vgF$2)F{FkoJS*kI;vm`uCo|X z#CJxv9kMv0@guL*J%Qxj|57CE@fJEJjrG@@*|%nR%5tm)SiMcH6=eVYSU3vy)jQj! z-B(w3qvnbuys7WokQ=c3;)9KfFWp}piu0zXae9_Kf?lajsQ2WHL;ZaNeVev#=+B7)Sx6!XBmI!+FsQu2mf0c|Cu0QH9NjXz5or;CSs=dSFFjD7r^?pNZytx3$ zeEr9#G4)y!VNcT0qt?Y(H8xxu%URIuyy~4HXpk^z++~ETisu`@Pi-&Tuxh>K%p6G9 zeNM~_ssz@)KpBd~B8mEdn}fq48EDT(v%$4uaBEM)K3Q4@Jf{3GWU73vN>eD{d#K*LMH4Zv0W+yT%G;k&+=mg6C;phpn2ccQ*8bDN2-ED* zIpU6kBbj!O&`XC$xO<7uxbNFus1Hpj7ES4)@o7h$U`!|BXu1R}QhtLQHsfoJz1!hy zn4i@~wVqQk)zo)R8kTnyqij@RkpGni3bn^6N{>?22T}N?EI(PuzLGJudhje%?!0wA z+AcY!L@iW9GNO=KeOu_l-g~E4S0oin#MGkk?<2wZ)Q6M}xjrZyOGjNUJ0mFenyPto zt!iml-4I$a;0e#1kY4yRoWW~fOT&b7C=cl1}kVLA`XXQ9{ zx2#&-B|U2FVnp7h&E7^-Z{G&I1@$YFcAoPlSzOUX$klkVwR_`+O??|S_d;RBf~lN; zE56$>xGIubR5d}q45&3sC6{@l(r_$GWCtNJ(<+(TJi<55bIK79PuXg&iK&Z^r1N$eKMa)347-)8 z_GUJT48lZ<>Dt5kX_HK8PgC)^ikgYdg|c{&^+56&6rZbvQ=F?&6FcbnO8WHCC)7%T ztuLsl@_V5M@`_sJV3^FWZnrNQRM>;f;-P{S-luU>h3dR;nhYS%{kepuC{lzrfMBN< zf{*DUor{rBiVui6RL!gQ*Jcw#i6Y{IrVj(?-#u!B*OJI>B7Uo*v|01CXYV}Ex?p+e zk_IM6e>84RYeeH))7qoeZS63n`D449f@yF2ByO)CY$seqAPwK>e3FYqjzKf)D*|U9u4%w+iBHJA4)Y3YL0}>Yiimcy5Uxs)S`@@+a?+_^~q3J zkE%AKC?e7*uqZ89tRiwOgy!IG8;^yeFk@#N9aV{i{(5Cu_>+|irZgMWUvH2-)Q~GK zC%&S}Q%8^gzDAy?wSq1l`BDcc#ZO(_={yms{#D#nr+w8wp^Ji7^-f3E%`<*W6X9s% zI8C9q?<}tL!>QNRMzQ~LJd)BX8x8 z0<6f$l;+oD+)C#qN`e1%{F}6urKyydz)?an_C!FRrLMogxmJbEdN7sGI(zS&MB&T_ zZ^?m=WzvWGCnB-f6h=;CV;k^FEt);{=q@`wN`MkjLC}v$MTJ9vwX-s7Q$3mb3zSd< zSFlMo=;bx>Y~-p&OIhY1exCl;p;U?~Aw3ig;T9*AOGQ%@woY1w@k~vl@&&FNEkmKO z+C6}b48aK-4X#pS(?DW7Y%s_pA%_zB%b0*+Wq3Mk)34|Kp-Cokec7IrPALW`^8ENX zv!)L3dovM4uZoD7LaitcZzU3XCbhKSFDSj@ry3tjh2tsN8=`Wh161ncAhX6up_=MX zBqNDLU7k|HLRf;31%rv{WJEUryhy}l0JQL5ZTeGdkeT}Vf6@EJ25@3s|L5z{W4bvt z@>&&CJDYkEMCTB%B4~+Lao8U9Nk$?Xj_dX|G(mqiEgre-j9|jiPW<9Ft3(C0dF&4< z2aPpyH&oEypnBEI#c^tH>fnG==ERVUq4F5RoH*SL)?W`n4i;-_F&&*nGQq?zx(Vm4 zaChRYuN;e?8VndN>mLhuVQN2HHjb6!Q(7bnalZD~b}ES5NPTW?Hm}RdZTHwl z3&)KbnK=t~c@l537XsdxOVh zs1rCEhZD(YOo_+378av#G!ec&Aq$)>zB(!=V;rp6YegKf!lywRIZ`Sq8Y0VF;Q%BO zvmjVnKNoB(;aa3O&DOnEN)`3d^Q4+(dZ`M&H!OqiQ4q^%kS@iNjj0A(mq2kf;F zpHG+^sd7)p9qOemU7W0NpbSZU876YTFjEH3# z&v$(S3GWqVU7d(@#7{xiL|t5O6mRgik%Kxql1k&oWFm+cl|K^fKtXJ2p48LTv!!bT zZgbu1x`yP)7QS}sq@b3^J?sf`7EZk(GR<+&HIR+qK z(!-*Kd6{26#t?a%WuD;^w4K^5^C#a!1`2z}B^5n@!G#oWw~Oqrcs|v>;Y?-{xkdS$ z;lvXqdX1LMraU@Sq|$mb{BNo4gej?zBRP?fUMI4Xh^sxV(5qg?eQ&>I)tL=VH)ZZP zl0`@<_|=}SNgZY%QDXS?SjAkkZdewya1H_;W#p`=%!bsE<0=$zaXcJVhm_^Pn8XP4 z=pa2*k7NUCEx207Lc`8j1N~xC!}ojED;Wu|IzGXI8oh*w<62VdSl)UaYc9zAey1Qo- zDT`H_$5%l}$14AoatX&4oB)&)+7yRx*Jn-af{eb*jKnNcyYzG-mLRT=|De7XErZ8u zTdf?<^nsax-g}bcR5d*4D%2wT=iDgKu}a;0LpJ%IuSjSvjm)A#0h#UI86_V_yd5ud z2M)acBjLikgzO2`)5Fej+msr1Ssyl^^-qjTU+O97cQ$m~`1*V1)fbysl-g#@Lr_z8R!_Xie|pC<3e+Nx{{=!5#5NgdObf zG27Mg#RfCFd~=zYv7TMcOf0QsCoWkgAzhZqmH`;%*-K<{q)K(L4aPtRbPNP5eKW$6u!7>+ti19vL({Pf%jkpPjrds$%bGe(LVYqxi~>dEFVrkqP4HLj@0|0I-A^STde4Q#FivW5 z=jE^$A}jXYT|#~Qxg}_V8ekbmHE8mJ(^eKCR|#wlx{?2m{~4kD(Q)ZY=HL*1 z$eXs~jXZ!4rHqBwVj-1sVqjeS;HBYpwkfid_F9oegGY~iTKsxLv6Ogt`lhsr0_QUo z$+f*eF*IG9v*|F)C5v5cF&1i0mTAtWh(4e5eKYth{gtCtU`zd1hzbX(*Zdy^H zGFiQQ)FcI`s-cv}wB>hUW*&C$q-B{c7eQzTO*^& z&q;8o!l^#l5fY3O^izliV&R*pyh3D50}#|`08I$;1A&k;dnmy5jXc^Vq(`_Mp*2Kz zq%M{bNA2K|%4LKakaQFckhW4>R;Gv;o^Kk()t970)CVKMk^?=GeVR*HA$3805p9Xc zMBpxxml#C##Y2;L0oJ1pHmnf3<1Z}Q*S=aA{WxQ`M7IBpd4TBsVgop-uK)XVPFkRj z!4kc=qwy;_bpn6^5b?SmO~k7mla4+F?r}W)sHa3O86+8EMX&q10`VxdsME=c?F{=- zcX~Y>-Z9FYJSa&uQ#?T_TE=#$-fb=1S zXPPTab}+OUr11dlZrVzr^-Lu3RS z>RTLUyYxFR!?*&RouX@US9GL>f@0tW+?7@D86gEhB=nExwJ3c}PBh|i`%!llIvhJov&X@l@3{g|K=SO7jq(5?u zRufHO^P->2Ql;baQFYc@N;P!a?-U;-t^nsw%`#4`%jG{*RYyKmH_S*rAyz9|Gu1>f zED0{@w)2{-qK0)q;hMLNqA3$i%0i*pGnJADj6ok~|mD$m_noyYOx4hXOIw$tol zv7`>EU$_n-PGQzGDoV*m^%(8Vax(Y!AA3`ZrI+pfy2*T-JANh^ltCpxVCS@b`>dcnA3*hm!df_ z%UIZrEqW{N3v$e43PHRDsfK`7=p72Z@PxnlDu#$Xac^T@&!C{SV6I&rmwvE7PZN*h zuA%OAgqX{MJYoi~;R}Z`UzW7ed8#%BR?%t7j##H)Q=leRuATB1!_7#yPc=gcJ<6A? zB18@(u4$JT`S{Q}Gp@IUrVS#jlA?o}bSPRJ!{e8qAmYqvqpd=?rN}C@U#(pxP*MU* z2uS~t44e{#DWh3pM}7Xh)hry@JNlr+WuKQYp|a$=3Iu~&Y7X=b4x7*5lrr?+r<8u( zerO0z$Knv3Q=8(%?z5|O6InLk`HeoqchB<4*OaZrUzU{B-JG`SWarAGrDi)%JeJ02 zH2ZsbQ!5%xkHm0U%XwIEtus5K{;+5~j=)MeW>Rg@rjQ%JO6r2<;#Q?a^l{FC$XXD5 z70kxtdRP;Bp+9=CZHeG0QV5lRs$%`|6pBiXF&0riCa=O(De2e~G(gX6eQd__6P|)uuW7X)ryLRB7eQ23pBKJR$zMh%hm==& z|5ehD5`RPlItT~H0O{9Q02~554mcDz3^*KkJg^Wr0(b)OMBqr^DBx(|7~ojoIN*5T zNx+kV6Mz$elYo;Ca9m!1IBb z{@FPrJz`{RBU3T5wvlxV^aZDArBOe`-B143*OK8>40vQNZ{*6xh;57%jM1_&S~K!l zBVRQxwv9s7D5i~K!ISk&-nRKit5d}7mcUHjA;f@eMiuKWj`~N^eg`nJEeEU z44@WP)(~j`fx*aSjNFKUl!i{0^crd)^yUy8x*>!THjvOEgpdHC#I#UCCn0p+_nn!0cUNt%4Da{e`@O&5 zdUo!edgjcTGiT16Qx!-w$18jZC|o3>aW_u51`MltBjo zu$!TR163dcseTecGQWT_K$V=hj6*@)lb-Fw6QkZd>SI zxc+7SYSTq)nWN-N=&#_XC9Wrkig1?bU-6D^{YzaCQ4!7{^$WewKX{^T{-lXM^}917 zXA3IQo$S`2>F!Il>Ytp5>N9`w@WzbMo|yWL9j^YN+l7Pmg!RgTosx;_lxo+YB4VCS z|AZd8{)L&J`DIn1Xo3151VR5)RKbi`$w?*D%Zy0SVVN~izi`4;p7~{wltJHBxb^E4 zbVB3Q6&w&JD(AeU;6LXDj$3IYJ2m*r0r{04R(T{*j+-}&<}@``&z;khn^*J|%9~sA zrHDrIrby*W5zAXfES|3nSdYommn?3}Mp80kd6OmcrpVj(c-~qPZTV_R^yEv?k{7}) zdEwWZx0cqveC=q96*OgzM(Z7YRK0VBwD(B$VA{2%khBpx)yt!t`?_D z9HzLIQzfsz;eFFgziWB-bXRS-Zt;?(^>r)t?YCLTuHMgGSYH!bu_9dEglqdt>lZgP zIbDhPx@cSsp{5XlTq@e`g0PDM_GAx?Oo%Zd7p_!6{2X(^PlhXnGj%ADAUOq%sadkJ za6N&Mw{j&|)qxA^g*ef0MWb#T$tj%2>9I=PiQ_X@C*-a1S>jj&M{TY|#MEGf2-MZr z1?Avfay@J*{W7oH-+l!aU8O)*P(8LDfL-(t7f`0^EvCB(m^dl zeb&CPsRqiR;Hq&t(M(T0)14qn*auEG4|tt!XKB;QrURhO6N6{nPFgv^u>?-8pz}+g zgBfkbauDH4UpZt0a<1i4B|&Sk4CWkpAcY&z(6r)_7j4W`Ojl}t^|c403GRbtRX}=R zN16b2Uuw!jix@}bN!~wz4Nd44g9w+x)D8r@wqXHvW*P$*y$-Qjf|f(Ln9%^5w{#IM zHfx)?*#LD6`DKVQv64aA6;Qx=9##iv#L%*zT>Z!{*I6pI6Ea8A;>(3rIg|zr&#AGh z0H8dBTGrLJj)Lq#{)m43vnxwy+H85cDZ}IY|M~lW69U8mo~Q6{uvK8NcSEI>LjLEU z|2H7OgCjf>@f6`1jb}WbF?dSwjKfomXDps=@Jzr{h-W)Ia_F=*A+i>m_O&5Q+)y^q z!!5-u4p=2}1s&1mh&xf$?1M?jXjMEOk3x)$duen`=xg>>MiX9lAQ6q=&Z#?s3(e8W zU_9C!kNAU8Z=xcG!y^81E#-OJ*l)i1;sb<}96MdJ)5)WDC>-rLaLSRJww!Tf^Ch>J z-&|0rg!$WrBA--ESUPtS))GQ<_`}APkXebVtrlc`7IZ(+VbcbpM1T` z&WD!2wA13gXV+dnYQpm0Klj$FDl$$y4rrbiw|vf_omR_+HnRtCn!zG)A`2J`}F*HyWW4Fxbw%?ch&qm`sNvTI=0() z)6#cN`*{82sYMG2=${Ts?y_?1MX&tru;+qoR*};f|m1?8ZMuPkCkGx?{Kd`+_ZRzw`R~gBR@Z{G+a> z(dS=1W!KAnFNA;e^*UeUR~Njn+jS>BJ@>YTJ6ErI`$wBz88vmv^nzs{Eq`yn)M3t+ z*AI_gUsV3n+0X2~<;lrUo%Z^EW47#c$w{XaJh9zhZ+`xo2mbQqBQw`uv*dgGzO?X$ zV|F;w^W%F?n0)B|u1VfsOggOm?YBHrul?pF$M;XY#5nzi2fMDjzc2XrM-MLe;8o{! ziyt`lox>L${^x>SF8^$=4{wPqT3@l}F1zeLEBwHLQ)7J_|9H#6pY8O_+nbW_`%k-b z`%CMNZn*u^U}ELJ-Z<`r+a5l6^krk7UVC-#^;a#Qb#}u^_3v+d)BFAxTQ1r5@-zN& zf8k(wa^I`lezohS=r(KL*|`10RubW9po~|2Q3< z&HK#1>V`M^_J8Q1jWsv^IPv;@*Zl0{yVjlD@Zk?{{^b=n{=_%+l0Uv0|9<8LbOI`gjcqOb0-`vnJXGit}ig}ct*`G_wTZ`}R!2Yz+wM_&it{#)Cp zTOOJA(q1uVVfC07cDQ5uj1%vTEK4lfa`CD6o)Ej{n-k`D>^JAMiL*zo``+s*zoYqq z&$g_5{h0~pUUbXkJ8RDUc=jIq&%b}lp?6%}zH4Z=r>50^dDPL>pU->ot=o>5j`dA4!S^P}I~=sf%SmHT|K<%s`Y zx%{;ow)Y?P;{5FrZ&qFZ=UadO_X*QyMi!1Q{p!mpQ@{VGH6Q%+oM+}e^Y!QJ-#CBi zgU8-@+0^y--gjF~^r+eA7%LAs$*B$eH&X{qyjG zuA656?yiah&I!D-CNQt(_P?C><X1=z)2-VayXmsH zf5Ozgt2giEUDDC|(5WTk&w23tsfYaW)sJ?YIC{yXf)!O`J1QfQcyrW~fc0^2G*$^h zR1pXUnh~kQX;uQ}mV)srcc8-IiADm!XmczP4|?43%0Ms?33_7zztf5fR&OssC za~{+zpches=sr5E(cwxRcI)s&9bT%#+jRJt4qw&b=Q{izbS+9yZmACU)8PR+?9}0L zI=o1Sx9IR;9d6O#e|5MG^fy@UUOJqq!zLZB*5NTayg-LH>hJ*_zNo{0>u@}DLRju( z9aibEQHL!$JW_|}>F|0T-mk;I>+nMz7DLa3<^EWQl{#FcLtN&S?}zE|Y#shehiM%? zqr>-fI2tF*EO!?jdUZHohY=mF)8Uyq+^EBQbojIm|E0rG6{_4H>JV;=rJlJuJXnW) zIy_B>SLyIh9sXH|Z|d+H9qtHS8@Ah}!&)64sKXu|o~*;mb$EvkpU~kyb@-(YxAUlS zr|Ga-hbwfL)Zqy_yhMkab@-?bU(w-bI-CTZAhvgk4rl9dnGQPNFH9EN2u{+5o9*YUS?d|MrV2jMt8JL>qm zI$o{g?;(UHNa4jg{ysvKUwFBWe~6IZ|DfX^A>{Xmbo^r-e@4eY(eZ!k_B|qwi z`;BsnR;cecvp)8R8fg4JUB`c-zq1^sr$!pTAEM(2>-eoY-mJn~rXXbdVk&;?S{>&C ziE?f|T*nhSP7O1r@6hpMbi5ZK`g5y^AALH$S*0tY_8QuAE8&fFMXU$m=9BdIbvk~z zj#I;p-|s*;0h=SjmGL(bqWbs5O%Ji=zME=_dC&UZz zNW5FeDFKAc^)~cl6kuEc7&HEx(-2||3eX0Lqkr<9_=@^}%l@&v@9Fr9Dqi>jLezJs zQ^ku|9@5>pCqm>aBAwv(>H2$%j#ub-tB(5^4>=&+!Bcv@2moG)g4wkVWh{rRs>}i#BiGfRy$E4_2y%-5-LGO#Iz@j z2=m?}bogm+L~QCv)!G-(5KS)8&0;oaRl}|UE?8vUTEYchitlh+hwh1!xM9j`M-ZBd zjUm|hV@pc34Odb9w;E2}cJ#jvXGlGqA?Kr|hBPBK{RMeotAPI%Nyb{6&!Hpprg6%x|f+H># z4ruToPs&;fJrXz`vTD2UhUv~FxCusUXUI`4U@r+NuqzWDi)b+wCJ*V>(1d$gNr{Pc zRDfsSsPgWtZmhTZgid5|4c!l6u@dfyX=6k2_Ry3tgjYDVwi|#5fZ$4ui;B3Sy^{o*QV% ztt-V>a+NVv0{CT5ADVuFM@*Or0Alvx&ShuY27+9d-HfL2;sLa6h#IhLf?dS6=_^Dj zZ%wDGB2d=dy3R9D_=0qf@o#OZi_^s!@AFdJ@8}m@s2yYUd%diSN3G)5)?tcxS|B*@ zYv$$cat(7`W;x7{QpjJvwynJlR0BWtNvA_y&h3Z+S6~CBO7=rjwS+C{)nf!Djuw;f`JQ9WwSdN2}EKrHw_!TmC-m1MaTS}s6XNh zRJma_rK&QHJzo^Ql>CVxbi^yF{PC(pB7*y~v6u%|rK=KwV1+vpf#IKKuN%^?SVbV= zja4=$g4ig=qW+i%N^QYtG+Gf)c+rTmvU2NxdV|vEDw_WCKm`o0{9#!T){&w0cQh}+ zLFaj^{xK&UZqx>~_Hr5Aqn6Pd<~RNRSR-GVd8{R(R2}_HwO&Y@OQ*sTJZ^aQe+{jG zra6s^7lz$s75S66tt6!UP<=DwA#OOKXhbcqikqpPDAx8(On4R?v&4} zKa<}4=qd9L^VK`tx3b~N9qwDuDiuS7CY6S)+l+OfWDU5@hPz?<8{gEn;ihD7=3QfC zJ&6}TrRKq)Wuy2Dv9jpT^{Evb@UFKbR!YOh^Ps>x6+qX2G(G6U_RUv@8)p*oU)(F> zmd*#D3C12c_Ve_r&o&sVUVJ3I>Xv$A)i3WcR&99OShYhUz4EQsjg==IV66P>nvm03oFvg9)H$Yw$F{}rVlPOnjW5DG@bo*x~cVv^pc)B zWB)HdNbkSh&yD>@@0i|yR4U#0PKnX@&p#NAn>QJa*ZtUNTzPA{asNlsjXSP28n-#a zXdL@Vdhx$2jK$~G8jDXq&{*8tkX}4#mvqC2j~ESay{w)WZZR5e{Y$#xhSSpxYs=CN zhrXF^2&d8w3%^b`RGw!vlz)|8bnkn{qMLRx7Hxbvz3A%M>N)G-^rHPMj75{qPcJxP zpY(#r;l_f(m(%m#dpJG+ulE@9H_kQYul_hazbTlme`J?*{f)m%*I(mF&-?eu>3Oeg zpPtt<+L(9n?DV|Fzcc2|syF7j+tYLZb(%5vxgQvFAGp$(d-smU+>KuwbFV(on0xNY z#@rKE8FLSsX3Smug)z5cxl#9deY)=bd(w5!j!M@(z9wDw@UceS-AzW_hE}6)&)d^= z6TV2#dH7yq&P}(Z=Nx%qdQQil={fUGGv>^87;}7oOw045-x{@F-(l3g_fPe_dv3b+ z&#xP`f2uKRH@{}oUbn)iJ>%MR?Qy%LYY+FPYkNL3YC9t7+SX2^Haf+q4SUkH%RV(~ zy*C@R)7GSGr~D;dJNX|*?ao)HYrnVJ2z_>=5&F-a>CnI1jL-+YX?fl`+6cXQYFeI` z|80a`{3acG@O&e5{}t)b?+#3d?kO?kx$BN}=;rC^(3QV7LKhyI4xRr*I&|(n>Ch=3 z8ll5}Y=jPdEgkAU#|R~>)1kI6)RP!%gqpvf4uzBH(80SIp`SdK4y}0B2rYdzZ9R?e z8==LQq(k$UtEVn%gywuN9jf890M&7D-%lC9u6We`zbhT8-qi@rI6fWnzGsBo3ye_t zXX((?W+PNODIMCYGacITT_g1UPt&3C+onUKA5MoHKTX$s<1uQ!+LEsMVwQS7d&j8x zcxk%k{X>kJH`W?8uRX1v=Pyjx{H-Zn^Y{-9dG0&is5$wCv^*!BYSi#K?)-F3m&>T> zcs^Zo@PS56eaNV(*_5uSI@GACs7%+m&PmtoxzecF;n{S}_9q(hj9-|p8N0%$e*Y4q z`jj80tGzp>t4mKwSMT*kx_Zy^jcVr=>FQmsH>!VhV7hwe5~F&jJJOBu-X7;dTu6oi zHLx=?aRpI+8)ABj4%L%gvz@$|kA=oDWNM`yB}QU&;tIGr_JW|;&QjrG7WYW91YDK& z%MZBxCL?9Kpq}5Rcms)|l4fLG6^{C>* z1Xu*i zgC98qJN@7qYA;>h)x^&52W$?1z-IGF)$BB%B+XvB?*z+zHnGSDa&MqP~;ya=_6Md8;y6{>!Uj_YDlGa#vEO+H|XB{s}?Kuk~n_{ zfc565rczygVk*hV#pj2=mn8SQX#C(L+1&qg-%lC9Zr1)kdov{MwKpfc`Du=nW)J(k z_VC4P4_`d?@WqpVF=rP%_6E>nk228&hYfV_*aL{i9zfjo0OAhXn%qccrweX-aC6&( zo7)~*y6wTuZ4Yktz-EsQ*n@^WVAz9&O-!>ln0ZrSomZmv>f!f@Nawe)HyTN@{4_>N z%a0mJmLIf8H%g2hE>GI8GmCi0)2;})RyXjm26$+6y zu5MSq`t6XVTv8@T0ft{6t(1-$TGDSw%1Lu8L=iJ_%Zioc6s?lyU&PIH_NuoD0Jkk< z1jB0!8#sm zSov9KREhudFN|h78_0yDwx|Nq<=@7rdI@3MvkqARYCE$|r5sVo7#*7>+Zsm{mVc>6 zB0G{TNtT~?kz_Up$kqgK%Sm)z636Yi4VsPS*-d5(C-PGbI|ER~?Pz}7M>0Ef56SFR zYGY>z%uqYSd;@@Fc19h^>`+G}vx6K+W`{Z=nH}ngWcEhE#zu;8v$6G&WcGS$W9uWO z*~1VUdm5HzW3wX3?635-*IkV5lI53r+cG($1YAD))gq;aw zXUckQ!PILDre44_-#Ll9jH&WN%WDg!u-am)EIZWP-bodhbX#kKO)g!^3gME9C=qy9sd&@!bVg7&8q#H^VtKZjsRG-JqonnHoyR;+!?n6OU7h)d$7@HeBD?fa@Bt z;M%7=x;4Y;K{uR4!7Wi2ou9VAWkEH41NC*wYuu`kyC_YerH!~S(bJ2I2Dn7Del2Xr zA?Y0PFomlVxJ$vi8qr917*<~4)2LjWewf#W=&&N%)&b|8u)hiy9K7Gt9*=j!7e*Ye zc%&BIaEbK74iUU}!p#&sh@b+wgfRmN;C^{6tQ7I0Q4g9I$1N4Og;4IzYUea9t*wUx zQTT3XTr#Jweg$$$b#!dZ`z^|kqNTn9IOG>hTz?z zo8ESz(HBYZUzG#i?9encsT&tk!nl}&8&vB{=_*dT!cmDdx5@o0T!O(OtjzX0X+JdQr}QnU0b^(T-~q| z&R^=6^3oS?ktk$R?h$bbOx*o258Z8O539IW(~h(nKX}n54BurvS-pz&B)gq!#Ux>0 zms};X+GKWv<++xN>lRus#DL+_ka9|GCJBcLIy!R+$C|^LeuP8G zws0YvxfRnW&>uR(4+)lFFwI*zB$fT^3bn?g?TQMS*3W=3o$&PrNQz@V+MuL2MUog? z(CXB$L-h**n>t|VI%dEH!0v7i1H6>2jbmIQYdDi6S7Z&$S|TxhqQQ$X^Pqxm+(Dfi?qJ2S7jcZY#&Ew>PB}gX3Gg zSL8F(H_q6WaB~T{Zz3x#xMf{&)t=Zoc@wf5q1Fz zq0AmA$m(l}^b*DUmD=^TP7WHEYQv}t2?Np$ffJa6%RwTuJHjQ-*_Pn#NsZVnozxJN zJJ|uptEi&Bg?>G?<-%}}9_pCfP$d(?5jBxqF88X&#+p$f7bqzi=nQAeu&Yjbs%S(P zK%7PTvy;wD^wwwUmggZo`=?=qE-Z1%=KO6 zu%tm}nus^b2qUN}Ey{8f>1qxT=z>Zvu8v~z;l3{BAI#eJXc%V*teVsoam7T-;4Kns z4|L{by)w*xO^$h?6vZM9yGr++`XX*eq^qS5^N$r1l08zp$!!5%m<{Z|nk#g$8zpUM zCRza(NT=9bB*bM`+yT+fuK*5(_PPre##;nNI3O-{i(&j;`NAEnRAt>>@e~*jixD8I za-x#{5ofUAldrPC!Mn8)$;Moq#rzZ|Q3(SqsJDhbF3dZ(Ts-6kw!%Q&fA*|46au3O zbHz!xHPpSqQVlj0YgPt#c}3jfR!p$y<5tgN$rhKv!6Eb|s# z)8b`ILURaTMdicML`Ote1U<#sJyswKr!aFuJvCmkU_izkPg%z`(;SON;n7%k4DcYi z0a?aiXzy+0$Ka?_Y%t5UX6<1uKYvo`s_?ixUKTnCACtA4055~IZd_?b+O1fmef<~C zdboLnTS)>7e%#tLdnz^r8rS1WdzaJeY+7DFmo%M3g#6(WMQ*SL_Ov!{nC$kz+qSIa zjaXvglwAO>Fua{^sIfJn&1oVBb{*~cz)`l9Oo2P>@$~Or0$8uz99SEqt%IDqf6;@C zRLQt$P7|Oxj_-wTaRZ@m`^$ZI;qt5%9M|!YdkN=6FPg0EN?_jvvd4^J$udJ$4dwO~ zm))`RNC7!DJ&_>X6Dnk>kg!~{aU=n+ESxmPXB%t$UaeV83m24@Zy zxfZbQF~x-_mI^!+nuU#!+KINx``{E?ScOh3j#w;(imCOKz9Y9{dREv$GH%ee9x2ed zDE-KaO%Ql2<%EXa4LDMyS47JrIeAIV$H2aOZ)6>k5e;&9A?-=okI*-IX2RJ^&*qvF zsZ6ZsqxG71#u@xH$AQML;PgT%=YP2us%WhNH=Dhz_*SL^&;RHUn!!#sGdH zlPWx|bgIxEDOsqK$(rgtl(VV6*4Ythrj-nsgTdulL1D>6utqv?6)P2%{E#U05;IMd zhLkI!mO3_3b~)%!n41SWuXm=}>FyKmiCoEqD}`1oA^;b!Fs6gr1g6|ta-J`R19XbR zH2U@%mN=KYk&^=V0I5_4{c{F_983=ua5Y&o9TSkLgC5zxvDx55yD_@hTEd-pM~r=s zCR3ep^3jS9l`VnVE@G+jv*9ucZ~%Vc1d>*h+8fW~suR(p-$%*?K>yV=iO0mtv$c7_;?q_ctmO8*Rm`9d z!X64lfoFgyS~J)%Ih_DBIe#@sGqMOS5yvFD7BV--TO(`Ql093AI>Sg})Sg4pR-g#j!M@ZJk*4 zr8ANVX0$K}sua%W!A211*%LR#uFkSJWv6*u`Pb1v{oNh@@s< zv{&=aC|M6+F1lhaOw6TFZw92B7M3ffNNvXyUk6`qU96M>DsUY%n2(u{m6;rp!?hIM zHK&NqOsNQl0hExE4eocq9LD;(!4GqmDUa=BuefG3^N67Yj@2N&(V{Oxu&+zkC&DGL zY&dlQ$Q8&e$rw}SBq&icE7C!NLFdYvJc$u8%t{KiFz9p^Z#9U9q|iX_O;ux3HGy=tE6~vK0gcGt^^GCW9%PSgx>mmZ^-oA_{J#mPSZ(;6Ystbz3UR9Rpk!vf1FS zDea?YBTjVH7xvDAmf029LBnwp4x=FDLwlueky(Mi!RZl&;j&&cqdvk?NG#I`3uxFX zovmatoWH51)%v1E1{ucRB!Z^lGwBbGhd@|UtP~P33DKmmBA4LrvR56RY{?0nf+ASm zIOsrJQD3zVL$rqTCSV)ZN6rpSa5c}z%{9*bu>Pyo3esvgA*Cu@^}l};h9-3)VIng$ z2x~;zPLp+I-690g#GTV+6MUtNkv& zN|spS&&htjKj`%%^|J1Kt-@G?gW$n??m3=Xgcn7+lB;3)q-_nbCbA|%XyqxB)2F+= z1uGrwMoOzyQF9_V+f;@@Y?hKO>=tzmlGhbD{1g&PX_nVjXUK z(YZ2M3E7oz#g==3^w`D-VDsFXlx?qKd^F<%ULLGDB}~FCDFB9ALCoP{9K0zBdu+W8 zI1-;t4ozenoMP~6j1iJSnV(Fx_C=gE6wQKbv+!9w`&tH8)m*@o!DOU8Qw)Z+aYxjF zg$;15i#I#nLFh|VR5^#&IFx(UP&veQYFHRK2%qr ztD%&W9#}`_Amfv{yHZ8*U+Fh&?VzTtp`UoU%u0}v*w0kOdr&!R~4ldYh!@p!vzOq%+-pmqeRtKknxr4qE5 zTWQ#Sm2C+`T0K!41HOpIHwwsHlVvMNcAC>Z2ZKk9lI9>QB_X|+g-8~Iixn&yR|lHr zIAg7XAbGuNN!AGnoXM)89}2M3oHc512tGv4qO_U`SSJmm7?c6jnki*0O=3A)1nwo? zV*@_2_GvW;$UbAqPOKuikjY`6ho@50oV8S9)9P!k+2-++(ro0+$0i?oBD(2et~!cb zNIS&9ySxljG!0-f5JgRFTF~Qxxdj=xM`{D<%k)1~HUbd9V0d@0bB{W#vF&@v={;CU z>g{%Mi=VY0))EQ;NGsOlF6)C#3$;725Di^`1iUNE!+S8<%AkF=q?sTZ5xj|oCYjYI zN}v#w{*rc}rK%FB0#cB%E(}H$`nRTj(0n;zTna@D8>rHVIZNTe%08S6wmBOj?U7EX z5KRFq3qQut?}Abnu^-I1=v+apiM6MXDpuychTS87qQPfnvH0deXMw$CDI3U`jj29t zM_aVkSy+xn2JWyk%@x|zO&v`QMQJyo0tjO{73_l)0=-+)7GG5emD3W2=SEcpff_{8cVd`Y>nd} z0Gx%UzS%R&b_HBj+Y(BYrBNd5m`j~4sD;2{!TL|2{7_yJrzSE)=p7KHk}Z-k=dpiR zyAwKuV1a4yD5h43R*2uI0i%5hSoyM11-z!HiG=DFR?lr>i?KH&;&A8$ z0N5^riH9Rw&>LvJc0tk0Ik&BY+K@KpyDXi#D9pLr4`3#J$>PpOM8GKMr}P46nvgq! zU~rj+ELz9($sxKUW1O0pUq2)}A<|+dUTliEY)|ir(d_{vTQw+P(Py~9bGiHb?1nMRe%ec+;TK2up#&``BZhA$8muDxUD@%Y&5U?zW^gwZ! zYc%WC+hOWC=z0~+L;@Lv$Qq~x^3WK_3{u9yNUiT|PNE1o3b744Ykh~#ypqUUE$T;_ zWufKifHVNdaw(kQtigjOaF?dZDPRX_8c(=HT91`Xw@(D>LQQqo^_Eeb^H5&I379Ht zB@nDufwl`^aG=iREh1u%JdjnASm>UEosw;uu%`rzK4~HKAXf{#10F}fig5oSmuf(f z(SP))lFbNU$0PhZ#nbut>;ApchfHJ%oUTM;eF%U^_414f9D^&-jb)t!FVGwy{6Xaa zpRgLOZR+%oW8Bh_Y{s1l5ESYX$xusv(mF_28?&@+MP8$Il@&Zeso{d1eHHLx{UQH{ zb0$&;AiW%rThN!(_PcFiP3~|B(nLToG;+!55?4S>RH+w~!bN^b%_^La(l0xA-X>mm zj<5|FY;)i_0z6y5qHF05X{eG;;MA=pE{(`KpiqKdnUQirD@T=3?A0AHi}ovCM3HkT zL$a9rfA0G!1DI^>|7#)Mhl``R$v9Yv4)zJsTnGT6gH6{&X1UM@hax0*I&5fLvX6_Q zDIX$|N_x!?=Eq5;&TP&m><1`b1LEcAn+wPVA@digk(|l}A|8>MLpWxiW|*usCcYll z41{vwV7o#YtE>YT@Yh)Slus*=AKx0eA+yc^Iw8ob%?$(14lIV`xEN8Gs22$i_3 zJOewV`6!S}bRgLWw`%52P3}&Te3DS>D^(OH$=ab;m;9r$kivkj-W=HR&K2*<2}x9Y zpa}FVJi4Xi#)SIx8!=SIlU}8!fw_@;7S=%@u*w)twpn1TRQ z4B4b+FVwabW7ld56QqhPCSSFqNyLuxFzwdcVJ1K=xC7y((40Q$JtXIKSadMtNRxy} zUQr1&%p*_LQFVNZb%@#2)>?>Gs;`AknNS0v2WBS}kMT%+NwRNU4v@)iiDs##zlq}n z9zUt;YZmrrK1=V}9@RR`G3>FhF_5avEzk&o0j3E}weC^F=Od(7vdZ>S`&6WYnBpK( z*c$*9sPW9v#j1}1?omxLg=?B$RL8BV5c6t=MHx_rDeactDw2*lhRu~JVbSBS4|DUQ za(_NetJ?Bx8FWpq%;Dyos8M3g=7F!mUo6MCRD)L>7@plx*%shHYbfQkF69X>C)#>= zG7jvHD?f+83eF&cFNp)rQBj-~|zqlDN={q{04vgU!loVe>uzn4|KX-j!PpmDz#zrl3;~>Yn1KcKX zCMtE!3`qtmn<|{#@8h$Lf)$M9%A7`Li`)n`(;H;-8jaD0kN=_87wD?r;t@euOUpZ-kFOZ*>kHOrRKqBhH9FG znrnnwJVlsfZp=(wc_DteRbVzL%>yNTPelE$R_tr@PcltRt*X1~NT#BQZjlS%3qm z0)-Kz&6L!jiCC~83rJ+UU&SqC(-Z|fuBNDzX%E~cJ?u+IN5kc}sFtde#ia`e%1W5dmDe zvP{WjBgimNh>DO|GmS(>B^b`mojYM{_eIe|n70xAS@wl+>9_i!pM8)X>Y0Z-eB`?F zb=LH*&8c2)O0UInbQTKcw%Vz*UiBox(33gFl9|00U^CO@tn|6CPO2v47Gb;NJQxW> z95@@hZS9<#XMIDq&33^azzW9HiRjZf8j!<`76;D2dGit}iIx)?~5Q&k*c# zVc(uLO)LyBPY87)HKPC?Ig80mt3g&#SO3lt*|YDLs^$^>vn{JAWM^|IkJKEH+)pqK zs(^k&UP~@d^a<1;z)%Cg2_Xh1EiWwqC7>b%UJu9B+`=kJ86qT)BiL4$lm@fHWGQ-j zsqD{FWSNpVpdEyPQQ6wKGc@yMHtbx3(AZ&F8BS^XpDK1a*e)>hieAdnr)PsT88rGR7EHJijE!c)tP#h#MCPRsB8_Og zo!$l^qCU45#wcr33}lh4Vw}VY^Bp}gZrH$*2!m)61k5ba`4(PCOcms(F>02QdlWHj zIErg9Knc!8y%G*v#;_j+am{U`FrZp7fG7%9AD8WUx55I6eFC7=5Xp;434*4AhTj49 zs6B)=u(Et{ccTtOxnJ%>gzWtQtg?2oJoONEKu<^95s-Xawd-pHGaCU1$AwEeE~iA+ zF(NLWg2GHIlX)+#6rDd@6Jnj1duXnjq86n9qL4Mrx)I17a2xbd$R`RalfL2tn!3@Z zd38%3r%y1I6+bZFY8r8pAe&^5WiA^=sn`K25sFiVvM*f_^MGiffmnW(T#>)aD7^2G z5(w^LI-+{3J3<+Q)|?Sl6e&dk#0E|&`F}?C1@echj~rlA7(u%_5cMc=mQX7TXVu(R zUFvnNhnNSfH+Wnd^_r}`KG@gx_Dody4lsG(DrPm?+TFxioNzr7M}%0@EWi)QFL})@ za`LCIX%L|)IW&uHUN3ox*tk>@3S{DjJlEol8Gig$}A@e zlLyj@{AANY4)VzsH>36lnT>Nl5|qDKH53WWKbgFbjGbDul>l3&vQ|e>w46I;_ckH?}q?Y`U{{PR+8pWMe6D!%jy*EQ?!Gpfb1NCR>+FV)OUUoXfcE z0vl^W46tr1OHU?+Yi1!=#N4;ZcbPs6NtF#*~_y9IdB8!sn=SFZDyi}B5@Of+brz$bi@Nm9wng6D-1vTPn~=+Oaf)PoQa z^LUtQIn9y|15VK0>c~Bc6bqTFRJk;SJd{bw zl>x=J3dn}po^s=@*I{$#2$~_cDaiE>mOVdiSW`+VQdx7^q`20c&S0sucDho_G57!6 z_frP2m$mddS9zZ_}~z;-CTu-ntvF2QOF(vW-;kg)(qozDIep~6Nh4LlP%B7RKt&BCzg*T z5`+~iFnUHBD7Z^V_uF0ypRQ4jRK}dS`Zz}_3R|U6Av>oKZEOYALFXJA`MpRXRiO>N zJeE}x%2G;@lN=gc(Ppvwkx*582$@8aOGGtU9u+AN==5hTfmtzcyxMBH%r?P{z zS<@(D^PrVx%He#%)E*Rd1?MsxfLb=8OGUmNBaI^&S;lR!O;%5Mgk~xNW2YcdH3bl3 zb91JaY&0^nAej0)Yz?nmQ4|aQQ0^;{YGU~!BdM1p zb^b8Dytm7hxUFT-$m@XCB3goIVxpY3sH@Cg(vPbg*GnMoZ*GLKOTI zL?gm()98YQmU<(lJIvM99(-k?B@c$aTBnrwZ7ueultk@K)txGR>jQ@nxWq%+Z9-S= zevv(Q<#(1Y15NxI$&C=wXTl*3&ev zll%0wJ=8JB;TL&mTD3BZQ8T*?YUPQ zU~gxVVWJZ&4k^aG6CI@qBv{T74H16wWECdZmnn?=gjtwaskQXc`xo`$pwB4mL0H-hfc0Yx?s#QKj)&U znrW;GIicV~W=K{;r4(!O&lW+;kTcsAm|Q(^wm;LR7!g(q%mOqsJSO@tm2N%F)BS6M zPz7|#-WEVzXV%lxln;M5?Jzw@kOWbf172S)<8aL!dbg0ZW{?zO_ELLA+ZUTIgn^33 z<{Ql%=)(yq7J$^C9H~%115jZc*2OS2O_ZR<+7jieFpgwN(xsc&k+Vzw)`MGkC97@|o3T(L`33smuQMtYk1mTGQ%oL4ba4r7Ab_KB8 z4g`egQMHx8QN@Di&|;=+j6@wH#T>GV+|8w6@8NlAw{vX;qRGH4KeB36*XbDxY z9E*;4nlb4%+QIu&Je-ncU0rnsxkfT*B=SxG4&Puv7^yVIfW5~r=zA}$T@@5&e13-DBR94emCej>TjgE@@7RFZA1jQKS$jH#|%+2Smm|^{D z#Nk1fYZtvSl@nfY%OrI})Q8s=`-&nl3hXgBP^IzBVnrn&BheE^3)#T$%U+&rgcw!L z>E5^CYBdQFe;Ib0B<&H3-ZW6lObkA-W7-!)h{xSHUbL~AnsNa2k%o(*)`D#eX+1f4 z@znuvplIyywMUO!yhv$1ZUsKsdUILS-Qs+gmVdX6t`l7Yv+67gnFRx2w-^Ao0RvT> zG996&Fm)|~+%m6)2{LE5SeQchG^C|(CbTI~)Q226{~n~rNNu5_qG5o#$t`KENW4+< zF#%{wK~Jt)u^j|0xhxKlYqn)=5fzgFiVZt+E`UQG0#U5iLwiEwiL^|C!D^2w?`9jd z*w~c6$PHDtLHRoZM=pTCyb_I4`C{+9<$pl`e+=~6^1sDlfKQ{|hUxSTKgHmhTn0Ds zPOW@0*wkxOX56?C=A_CPTvO?pH03Nsi8!^B%xZ~csTK~)p~2EQ+HRa+yy<&pDrTMR z472j)S%fXdQmDP^n&h@Pbv4bXJY-2-Gp};*Fi`BHPIZLmfD@%;huI`yW!t(SBf?=M zbjpDCv_66*6!wsXM*tDQEW@T)w;r4@J5IJ(Hl{k4?7}#=xoOUnz{RRXPLX;PEr=&z zLaz-b8ns2B1}NOj5UE72A0u|0CnzKg zEsti`l%)B>SB#jL$nqN?wxo=61zg1MXQUR>VhKN?&zEIgtaEh@w*TqaUtd8H(cp(KBwvnR}Di?a*h(Uxf0!rX^B zg|d0-p>tBDNLOq!WqLO!OiOM?u&uxoCwHxN5S8ZVV)YQ|3eYEgY$c2;Y@#YFIKm@%MA0~f)JmeEyC-Nv zuF~AwWOg>$kR9A_mewawnJpW3#96`zd9plcD(`DVY>2j$g9$s=Rn-)MSAsJ2J=`PzyTG^(L_XC5j8p=M9WQm9zA&d$SiSK&z79qoFkbr zX2~MAMS&3cnUWuldOx%nWQh9rP8Vp7yc+lx&OOuCwpqRmw+0QzOTmTOnL~iZHj)!V z#lnF;ez0WjL@*^fcP@=bTf36bR)wmU|S| z23CXmrYcV^g&KB9%>6(2{geSrvG)Hmt+QK+If+{$V(nSXn`v=9mIY^Du7eLE&I z_f~7#B0^7bl&u#iX*SM)wWbEFAq@Iv9_A!wsEK7t`7e`_t0>B#oRFAqTF6y^#%hao zi1&xkK|PjoXI77>S_X$q3p`S!$s~0-%cfblwGLR6j8r7r+Kx(8qZSQn_g1<-u=#nq zMgarY?hw@?F$mDx?6-*q2bGKJO2jSlHFIVtoEf48f-;(>sgl%cz-}eLK4Hcxu16rA zv;Od&C$8GyJWaGK<%9Y zb-iNw%no5@nJ2~EnrGXm1*bkU6-ybQ1~8)56-`CUI@>yCJIbk%m1=b;)hx47T+JK> z!#r5s9EEs_@QlVY29Nnyj30Q8MxY)zm3O(z5>Zdkk@XXwGk>frr_3@LFIQX45%4%X zu|PcFj#R`G&CSt7Rizv5KjKwUcO)LGh`M9JSUi{rBpl|hstg*(ZY$={yo3X{0(;7l zrabe@s%6l30Z-<2rBDBs19TK4987BPmu5rC9j?V5r>n*3>TZLG)U}+_QrB`JceB)n z+l3q7@VbS&9j@iw)8XZ_Zt;?(^>r(?r_Wi)uHMgGSYH!bu_9dE)HDYv7B@7(lvI2j z&7^`iNFf5f0qB~6;ipI1WDlK@^CqPW@&NAXT)3;~QeMeGvBZsMYL*3)p6*VVy^X<& zvkqMJAA|ekF;^5GI`b!o<>Dl8Nu}9QTVaK$3TMx;bpzLDO6t% z0~_ml`*&)X_yqG?Bl?S{NI#>NVE*DM##4xAES@oVitz9o^A)%D_I9Ucl$V3=+fbH> z$CA+V=tsYs0ze9-Z90@heC_JqpKac!`rh4kui8Hr z^wr<@a!Ek zFaO2jL;mpIt=HYT>YP1xn)>pqXFhkE=g!>{_qs0ICOA30U(YUk|0Z_SyGL|=`1KE? zcklSxA8(#i()q@g5GnzTEF9$K%KT;8!0S(|`Z3 z>W3V$NA`4IdF+{wY<}r|*ZgCCyZr(0{{5s^{{EX?{(1Gvv)=T$CcXRg=U+TI=EUEh zvZ?O0CraMG=H=sdJ>sd|@4w=<&yVTu`tzG>=Lh$A?bXNLyXUJL&N*+)uC*^cw*D78 zRCQc8+jsTJtA2acg&+TI8*POe|JKxt{=0ns1FvttX3Uu<9`T1KM)#e& z=)aYtw)@@bA0KehDd!wNb9MB{6Ytu&{ibX8I%v~T|9Nx$&L^se-*EkAwmrs50VdV0r0&-vSiC+3d2>t~L`FSy{z>HE)mWw)J6 zJ%?{P(|zZ4TaLM)W#fj6>rUF?lS?OlGGo^tU4G%jIxdJs)2C zqlM4hSMrm(rZJbjcGjmqImBK2+>t-|Fp z>q{T`TOaQ&{NuTgd%u7F=NEl-`t228jQ!JBslT~XZ`}5==lAcv@UwGvzH8$CWn-S7 zci79j{^zpg%isNJ{U^!iKkvHq?q`mD@xk5`kG=TZm)f`8c*pTqw!ge$>?=1eI`h~2 zw(oTIZhNiWGV#LGeG#9#G8Xf?D=NKFk1tXY^nvpDy#bFe8t{XMhy@bSN^ivBk9!l| zpvUd5@J8Yli9{mct@3&*{mt&?N?%n)MI~N%f(bw9TQm^#Rm3Av5-Bb!-1k!kz`p`V zDJWQFMbsa!@+7@fE0Z6&m{#etYrzY=mg@I9*<`2c6x5?-h8zyDkfH$DbFjW!fNjJBMLcmKriOOZc@ zCF&f6DA(+J0ooz31Z*b4F2lIv5eKaJ$GnV>xgUAfBYY6;0xZY;63-WS@O|t_c)ms+ z#EYtseum0h@*;jSj{IzM0s2&MBZd&L;y1o4#K;%?3GG{hINHxNqfy?NT~xn||AqKX zcuv8)C3r4J`wz^dnTYb3ulOCb{W*k9sBfO?FTOa&0dD3)coMe7Gf__|o(Rg(`A40P zJQyp-H|Wb+RnAz{Nw^ihf_MClG#m@Ub<{e9Z=(#fZ|oNJo#QaB3}v7_+kjm#;cJGY zW+VNMsPj{lf0Zi7Z2x$aEB(Njj$eRpB`EW5yu)8XKs}CU(f_e{@iM+&jB+l(?>p6R z$6aU};|TdzjDE@=-y_dhlwX7~E&L4O577Qo)l&p`7Xo%Hv*^Wb3lV;aZy4(W zjIrYj{KlBEj-ngz?g~|g<2{6UM*kS^SoiY?uSMD8)c3+dl!d2=@OR=#s`q2J;NA6j z(0=AA+7|E8p91u?U_5@akLY{BRQyI;rCm><+;%){C;Ntaijb!e<233p{6_s_ZqKw+ z;DK>u9R*I+C-#fwjmDS>{0KwT&w54!zD4)oJ^m&F24jKq#IJ%~5bmWOj@87Ak?v|F zx(yHTr|4DYK)t}v;@=@X=6x~nP~v!35W)i(j{}UxM$lH`3&Nc5953cWe!gc~h6Q-f zviK)>4;&x61-~&a#g%wI!3X@277!PSqogauY2qp818EQcI0uUFLwG#OSc(@%sr+L% zBi}QUMBeee<6J!FWj%}!_b?CBpFhZxUCv;?nRl=Uug9aUW6(C@O7TC?uNJf&V?+3i z+XLT!f%o_}E{^v{B0L@OZq=Xh|Iz9DR7hNA{?WkKVmHb>6X}qiqT6#?(~jWn9y9lt>c94i2w zV!4hN(MHl&yf2u55H!$nHy*ULV0-qVtLFX{bgMkH!F=!OZalUgm}DIwv%&)>o)t( zHIa|hca+L6II_R`%{=BG`IylO)LDfPBaB7PFj;##TKN$#+y^jbh;oUG*=1RE;Cuh~%qI`qG+N~!^_5P?_USejj#0mhHlh4i0GGX0 z@5ZkL99nfcq#X@>_wf2 zqHN6B!o~RgD}<~*Oj8XA6c#ksqz7XZGpX0XR zJL)TX4f*TwZ9kNEGkyaf*yr(>dqoc;?T+}3Hk1IS#lOTmz@`NFJMJ*x2k9)z6&N8; zA=<%q74GhEY>R%4zXHDjEB-MrSP~Sw18Ncz}=pW+UzmONW&Gr+<~-}XkC&nh^|_+X4iy^p-RA^a5I??Brzj-&ppevf(zZDSlE|4PtL z{>gjf8He)6yohHKo-(xiO7)D{331RamN|9;!jBP0e@iYxxC`RwTj5fCLs_Fg!EfM@ zJev`ojJl_*un>J>T}8(sFL4hvis{CeBfJ=8{T}&mLOFO}LOO;qE(E@mV9Z#@m_H(Z zk19jvGjM%uCElU#F&`lWyo#LaJNY#}V*&rdnRrf6?>P=*{(uMVXCBUV_NVZdc&6Yt z`p9>MhDtB(dJE+qi-+xG-%!sOasbUx(gd#07Vc+ax#}zn2+g6 z+xkD*$tK|H0S_{-s#im<@(&us;z=Q$kvzKNIn;Th|21TX_2(R4Usc#84x z519*@W(*#d!8ou+;>aWMw{;vNBJp<+j>EHqj=!tptcUsELs*0dvq<9aBV_r&0*QZ! zkl$a>@sAMl`xYH1WEp2ZmWP=sagHkE|5fpVi8}r%LbQjw0r`&6W_ofy5(frIe3p*0 z9DWa}coExzr(hw%68vP{pc)0eI?lc_ev*zOjikR=$HyZCJh@Ad{Dd>&qn^-lwiD$S z@;%GnR(&t@={Uy(=?fD&zCA*;q3{BP=&$S`nV;}veoz)kPxv8k(M|~Qee}=tcdR=6 zKAP}m`khsL%q==ziV)??%w_pO#F2jt%j?9?Dul>i%<>qYq2jyjuH$nNBE5SlLY6;I z#}C)>dW6XDzFNmu=u$4app(4Ma>A&e(xNF zY=2C}eVh%9$94R29Vc9o-glLbcj)*vI^K&A{qdy{vi?3De^bZTAVj@>w4JApMOdMk z-v5yPzD~#4ALd`L;*~ogbUGZ{fg&<}<8-G_c0YOVtGin?~@4GKdgZA{RREKMaQ@3c&m=HADCnta8l!NmqE$O?Fg##*rm`Q z=9x4O|3$@!`VBNdn|Xsg@Orl1u?jzEt06+AHCmZ=b@%l^D;HGaf zm4cBYnBu3EhpduHbV;!GMaN($3W^$X`&o{-GMAcgwggQ@_$GBYR=qKAog4(O>2!JA zW!sgcayQAT$+mB;>#bGxe#~i-qW=|9+Xb5~z{i_P#_&eeDB@*6B zuh$)OHwT)7o@hK!>G1@Eu~=0w?v48V-iRM3Y+n2adf>&8ZluEPjYmB0m>JY#BGE`Z;`ez1Za+TzBZ+uC7!5XiD?OEHkPoWt(EvpBftcG5IFyx@TmS2meH_wb z#5TzJze4kV(G0{f9c2k-nDfWAmkRV!Qnm+o7Yq39X4;7Z@ACi z;d6WQ<@OI(xWCLj{O4gi78pKvl~pvySjcawQX!bifpZuG9uW7E?1yQPHA;-G%o$t# zO0+`4z?~cr_WS55%Yi|^ul)en?`x)9AS9Yn8q#Y+JXQzoz6PqPPIc&Sd{f&-zb2V? zjgj?KQRb)AJa|-qy-Fy*T3Phx`qYXIc-PwzE1lc0EIhBeX`X_S!&_ES=5x6nzOu@) z3JLkIzs!Sw@zRa|xlW8WR$X_9vFeD^ja9u%(kp*D$ymAmujv&RuS~Bvb6Wa<&1a;S zJ^rk*?6@MM>BG0vO|R^fZaVwx^pY={jU{9DG4}tu#@PSnM~(e=n`|_8ZZH~W7a5KF zMvTVNcZ|lJ+tZEX|79%x>x*f5HeH`yJfYNRxMv$<(Z$Qsi}tTD7VdO+dcl)3j0HEH zZ!9?XpXvF>9AwPzJU?BZe#NN2_h;$)Ydq-IlcJ<~5s*A@QWnDgO6W6ldcW6s}SNz3!xS;m~1H>7KSw_Cb)^J_-vouiG=o2RBj z7ap1pO^6sZTmF%*dHjb)&HQuIHKmKv)qne0y87H}($%#y4C9H{(njrC!a5FOB`W{ptO7onp*>@gK(QhaNO$uNr5}E;}(j>xD{t~OV50`+L-y^`{|j>w;21L^jdmf*Sp4yQ&L9NecKvUzxk5)RpGL9 zRoxy&)$A&x>PH_L!AoyVSN{7ShX0e!wEyn*w13IRY5zWnv~R|qhWA%LHX7qFSpa`G zP#U72wwc|{xT+w(jR86)v*CY85lBZPaHzw%B+`~@hYIY>Zdl^tFGDE;!3}KZY^Tdi z9xxYr?QYFErwi)&aVR7~F={3qHgvTNR-08orK7$DD#UZ?PPD5%>6{67qUtBOqPDJK z^ZLJS<-TuQfOllj@{BCG`&%^+DuES_>R6-`*S@3ef&r1$k##xa$UzUfs`Az2;wbVa zZfYQNXd*)pnn{`^910ig6%%kQg}OPdx;)Q-o`Z7BzMnFHX?WEBzn{8P zra_h8O@sW7)wplh0S`V-=%lD$IZ#x{9CY~{3nK7G;anK+Y{tx++0Gd51|ed!z{Pw= z_T&k=yx&dpfK)Qko8X_EW(zQ7Q|jlSjm(Qwc19^c+!{f(0pQq(k_ShYJTS84l_N`@ zm(JJ&nQvsZg0|Qn*MMt8Xn^q>N$Gx9<=~TYh^gmy`5nAr7;(<)gMxT+O~iQstYWqE z$4r>nmtTWmryo=3JD?$cOs%b}-m{hY+*_58T-VmL)9dp19S6W?Z`|3`zP`8j{;L61 zM$1x+MvS)hwz5QlHgyX`lpnceih5teVxBfI6B^T%#_6aVd|AK~~`DgI|^ zdnD?d8R=!9xLAtKGSeeyFWCqObA)3#!l4}DNO~RfAu^0R7r>;9u;#1V)vv+l?ub&$ z&S9iE?4)`vyu4ETA1=+oSEDvn9bw_b0Ps# zM6GJewYqtAc2i~7#8!9)Nr$x5_E$SGCUWObzds*$G81Hu;)2Ff`3~ycHoHWH)RVWGQ?(+V)5Dex?fQiz(Sv=S|%C{+Wld~bb|qW zU^=g>0uqsY&>GmR+>+doxl|3(_<^Z{j-_p#&PKYdPB~}x;^LbLBOzjdD~bx_YY?}Om_P` zzRHR!I($@)Msd9#MVdFz1_%br*J3kKt~O<1PcXa)2Ajg#MJdW?!ZL!hM%)bF%e>ke zR%W$3U_@x^DhY&Za2N=iC8_?kZAFU%{mYe#!^j0G2j&r*1V{(H9>32o zfQB&uHWN}NDwS1%0LEnL<#Px;dn3wgL*4SFh*acv}JX6BToX*6+9 zk1+*SlySArv5Jt_N+E&PyI_Ss81Pw`$|{Jc zf!whRxU1aWDx_M4c8J?0G2=(8aZXGmP;XjH5&N>*<*ahDfl}1GQ}Ydl!(?D5d`G}S zHkVI2(CczGEMC?STC%cnDRpb;@C;)?XVl2OBtsV}1HsA)k_DmAGLGgv#+e4#_?T1d zb(&^dXidITB)zanVcNq%#T(|vdqaIaG(*g@-Fi6sl8UIVGm=Hy?e9M;vl@#VmR@%N zjqQ$M=|_hXIHnMo=^^6`ZL17cD&o&Bft66UP|+GSzsT>l9IVd;N3DbvKbgc?+R8!A-ZnHkkMMpR?Lt=mn8xMy`ul4mcR|B7#NSj7;A5;-@pDvYXLW$14Me0L0Ql;`l$$s~wg@7D1W?g48kXPPhI z#XVmqFbEba;D{Jt@8s-=5*k9>&A}nh1H%l^PztywM?J#1W)V-d5FnRwSYQsn8D+xig1CAxSC&*?v-XF^W{MS1tHPXbx-l5#>17e5 zHD{c2vd8zo*gNmQII64duZ`&)QxnSK0+1Z&bZmf&sCO1howkh(=?5reP4Xxxx zOfV2?LhmgE3;{xiP(oXJ08?XnbwckUp@#DP&YhW6anZ^q-~0aY3f8lC=gys5&OP_s z@;pb=@#2&<)tg3^|J@!hZoQHO32TqApq}-Gq-9w^*Ex zh*=>D5F5^K9q%bm{R%N`-aY+#oY4Ev@TSh{QYH`5wDOWjEUHBlVd#ZMPh}fJGm9e$ zBS}~_vFBAO?>4>Db9ywXcYKZtiFJ&iBXN?jpODl(=Rd_eBheq~?@l^r&v8_2zZs{*}idtOb*NFFPKrZI5K1#z&N%io!rpkaZ6S|fD3_j6>IY=IA zucftpYikbX|1$5FHGm=c`F}oRQbg~dA8TDIcb)RVE9mcv?WwKNpL)q7?W#{H(N;?s zNXeTP(~}XXXIflgV(Bn2NZJ%v)J0w%s6BbTvrrKd`@VIkQ(s1jx3=GW^;<*ZI^NiclVnyz#A*w?35lm25-L*t zf(&J)FGItm+&78!z-UXm);6`(r)Bmo#S=C}k3`z@FQs&uXu7~lW}PBvUIJB{H%8Fd+akWXzuF&+TSblv56QZJ_3HXAkwBa96AOyy`#s zQF7>591OP9)zr2Q_31=m+fvGs7Y8Z$)Z)eDjN0XY$%1&M3L?mw0X&52cl0ts&0%y0 zZth0KY}X)kza%S4+Mkdi_8oj^g^RrT5Oiy0uy`#Em)3K}h2yuyqL|fDT;CfVbtGn@ zPm-t()yo`E)fR58)wD4nDik@+su5M9C=nB@fTKooC-1_kgP64oT-gLvm>O-RpXY}( za)S-Wyfe#bP+$Kb+5?ZMroa$jE%WTJBdS{)nkiE4GF}u+k7*foH}HWW*~RRmwY*uC z-=@5aQ$%77s==HD0xiSu9v^3r{UGNU0jla{tn!9lw{c+|%i>b;EKzwHF|5{!#2EF) zK_;=P@2D*1)vJiIj9H3bk-52AkAxJrE>nj@sG$>hLI%d`)|U1s{WS#?2*puZP{+Mh zlk=DqU0HbPrbUgg&#T-v;7g3`VI$K88#n|eDppP5nGQLv(j6Oc4X4I5&#a@op7%SE zVO}mT!godu)s-)dj38leN%HA$-stJ{ip5guE31>UyU;DTG>)ToWhPM9}4+#Hw zV;Ay2)LtjvKMBk0JN>wRhCna+|FHvZBs*Y(gJJV?a0H6bima~hFX)p&yg;VqnLg|0 z5Nu{^McjLG)J&WVZWM>0QCKf&=MW6dtST!`gl9I^DSrftHE@Fn1lLkA;kEo0nvU+` z)7$?D*I-A!!A%LvM*#ft+1&pKk%4@+^gmm1m5+en<+F|d*_Nw(LKVD+Pai(QQ@9Bq z`AzgxcYK9PQ+Qm3nr@k_K}KxNv<<_ECg3eJ5?UHOl9NcroOB$3l@0dD%D8ZbMdA@K zQfV`mNjPcOa0G_ry;C83;VRS!?*L%+D360~?t2rTY3C}uW6K>v_goU`_2m0!Y`5v~ z&nB)~zWnbGAN|~_iQhhUz~Aq^VY9#N{q<(Eo;9|)^RJ_-?|mR?{_V_3f9ic{|4DmJ zJnxXkCoivkA^w-pufDB3b;8W$-=`j)wDi3#hL64A>0kH#X!(Ul|H_JE-K> zH+^x~g>S!KUDy9FyB_|_otOXV%dbwZ-tF-75{utkz4fqT{(9`qS2Yeap1pofMeo7y z-TL;kCp?kVu3Wj<&RcFi|A9+h+~Uc{f4A-Lu2^~0qU^2@+0PyqnSN!Tea}h%V%hH= zdExhO+&ud6$=42>_0&6u_xj|AnIAc?E?hkSoR!P=KX}!nH=niq@c8Qw?fJtkkGwSS zv#s{qYDWE6GhYAT?2^d4_ch)1`Y)b3?%GJ(xLtPKyfyjw6%W@Odar%ei`$(X`OhJT zU$gv@d+vQ>bj^!LfB)|C2Ty;d-#=DcuRr!~-&c3M{-|q?DgNq!bGO~5ey_UVDozH;l^)BaOC_}*{#IJ!?= z;;QZM+Tl0#hfV%z?x8=f(uQoY|5jf#fBXB)piRGd`}tv4y?E)zFBVPO`>Gf2zT>7&($&Yt=0$Gk#}lu<_>Rw-_uTo9k32eL{K3;3ew=Y@%cS``9{TZKzgxKS z!dbUFM;>(Uw8}r-xn;#4S6tX@rzhW9TKxEuy5W0VcgmPY&%fxaT`KZ&@@%`Dyg71v za{YMYF2DQemRYL?Z};Zu#jD3%edW_719#TX+qd5p)9xSopD(T$vHe>E2VeU9YrnX9 z>k$)DFD?FkqU5c8Z~Wr3g9l!C@dNYgr(d0W?6sfn_*k#r?XV-wqDeDPNgg=jrZ=`c z?cB-T)XQgUmlZq?;k6^ zJ>t#9gI-+q^rFv)SXcge=|g)wyzQQ^Jv-~D6Q6j#rq}Uv54-SU?U;tAr+z%Xs;#+X z`G^N6PkrFBotN%#%N5r>`CjEy)yMDFw&cCR2OatJp^;;*4_EBI#q=wGapC=EY@d4Q z+|`>s_{ZnI|L*!{esRkWznvLPZu5nG-|xN|c*FhMj=bZIr+2w*tBXdSad5Bm?^}4) z54SaK`%cwunZ|Gnyxk)i6BuDPcFN`1GFvY(ERf3ofS`z`)p_{zH$ zubwz>+gDfod%Jb({}u5-uo}!JZZ#5 zul2t6>B)_EHyvAl$B(6Vobbf_MBVg1{qWOX56szWH|M)0|M=s~vp*===kC9rwCCH; z+`aSl|5=%6I%SiCuX_EOC2zm~*n^3`@3?fw*G_6J+Wdy;`_yi-?Y+|PmC+{iepv(X z!Y`rW_9}XD!kvS&Uw`7?$&08ARXna)Hrv9uX+;zok)vUuD{o6$@pltxJ<9VclxQOmJ~#Zb>!THHy3%8W$~ z)72xo!z?TjffG^FZC3MKs0w9<9ED{$N)hs0g}r-wW!hxRJNQ}g6|#~eI8cLEz|QRO zBFoV=JsopQJq@aql^qj(=_Xhl)iZc)b)bKaCvDq}WUQE;wqo&UA`br3Oh$o_+O}Xr zP2J6yP9hUYB!QzwjaX7k#N&o$WpvcA69R6UOvZIoFt}7ZhH_5Zn(M@pR@6;LZ8Pau zrUORRju?PfT|H@M60vlg4I9%W2RfV!aXXq!#FH${MWSXJ5Nsx`Cv?``c$baMX@IOX z$yD5Nqb{2z$v8iynJ`NEHtmV0+oaq1kD4u(!}z3T`%;Nm{g~9e3@F9&?R2e3lU{ zX~kT2>`B&%x?0lKnfE6wJqivt9dnaWcr95+O5176$>{8CWfE3Ak&J7$n~8!R1~<$; zJ;R{kIJ%2f9*x;n$aUhH0Sl&U014JJiD)uuYK}{(q8VM|SH@92;j-6cS*~swPy#c= zYCwyVnoH(G>`X_JcEZsSL@U8!yPH5vd8eW4$z%d~P8$^2w$jN6R}jdFh+#UBOw5iY zjdVIBEdvcW0&OL1q*im`7*3OSUV*riim8zq7hE$u#AcMwR~#VpIF*JhGz!6ag~rrCO0rfqrx$haA&g6#x$6l|%wokTv! zIIU>97Pgh6MVR$%bZ<0ae%EL}2;wzOOC#&#)Yan|9q@Q2lXRnT7umFBUYXG{u?T7@ z?Zh(~zUxsO-D<*Hq{FsEXgHMHfhX81jUXg zLYR$72f<65)CvmCh}&^15wX)ceK~443B)bNd$qK|8hQq8jRGSo5GYEZ<2o{u2}ux$gkkC3ShtMQH%GGYlclSK7erp<#f#uP~PV}@y1 zQPI5#%hAYjR7-%_kHr#3+)7jLwga<3#z`0#kq5LAS2gEfxh%Ws%1KEGnilrS?7yXRxLEo|H`w$bD zj+J0c$)sKB&=lVZ(bEh@8-_Oc3``UiB)yD08Y(OnH^?-D5$eE=nbPs~gl!_Z5ev16 zc7oj?6pdOmWF(4e7Se&3p=nlHOE4_Lju2sRwW%Yf0ZAqSF4`-iS!6=;WxMH&WrQ+1 zdOT(`cc4F`!{Z4WFcRfmC;fwqg)zd4NLOYWmrf>Q$P+!6 zp@-oC3Jv-!#sr2B{UZ^II&lf1vW2c5g$Pr$i|UtUDA5xPl@8q&%}I2_py$f?&5*4_ zsiDJ6@jssc<9h80Hk3jCH=ak)+qSNoL*#TvI$`UI@rTngb~28bu2^lLDaP1Ah8%k8KguJ zA_W%fju{LvDgXtICU+TD6R{B5JI=r#)1%~wS}`bqjVeeaT!vpVi@verD1BBb(L1PA z21}P7MXyfC=!zYdjHc1!rCzhe%r~w{zU{gW65R7xUh62Q0bQ8k?-NwM=b7Qd(Lls0X9Mz0QZ9QYec$18E z4#k2lCT>{<%9I1UG@NEZ_=1^g>Nc6jGRMM zySh#ng60L&D-LxGJrP;3B5{NvWW!y&XM3R~za~mv5F+Jm&iCM@{!YGiWPSB?& zBQL$3DUQw93h6plNQhmgBxVad?f8meus5}|CW;Ls4%x+oL*|kgisB|&TncV1%0L&Fc@)`QD?ii7c46Ohy4viUgFtBw4i^5T3IAdO78fQ%%lZl-Q@ z0V`=@Z>4d{gFTd{R^rGHio-Bt4CoP8YzNHojE4L(#HI~%<8zRt+M*%a(rJte}+$aN+LmSha41*k~h?x4u=fE(r8=M$=BbjE-WMjvs6UxZ}HO8njf{IJje*E>j0@%vC z|F8FH{_|4r68|c$>}m!4f15};eERtOf3g6s!ao1sraYs{UrYqp6lK37v%3?!aU#4;41Gs#J@j|tGv(W3+yMqOW5ZN>~|YsNze9v@9(#N zpR^YqFpsOG=lWr}N;u<(YyEJ&AD-`rTe(u+0mpj32Yi78F7m?*xsu-jQa{8C_yPwu z`}d_?`F-FCe%R*=9C#^V>LB0?9QYPt@)Pg{4t(1WKf;xA?#D;nm*08cej;}g{~fNR zzu$B(9PkD1m-fT5gT#*Qew45G?mR*rNx0}JuDrjOq$A)!c7@tdPjj+j_S~>S)zh`Sc*zt*+|mep9NoLenk zx*qbs{mAAHkcR)2&8ipMx&AtH{85g3I()9@`wes7d8?6ULoB;uT#HE=VM?2EY2;S(jo7j@5`L%bX5*$dl;tr4x@{{n7?YPH%e6k0f;dLGrJ} zR76#M)DQB{(HldVht#Pz7JCAhC&LRk@48+)W~>uMT0Xl)v*%Wuo!RfY+-qlf3uNBE zcEi^u{A_Fc&^iALJZ_PAo=}cLcOh!~c}U*YOgGl?oz1Paa)MB#LhDr5oo)oAbX~Hv z);Q75w1ex2)6O6GKg2>OQcZU)h>Pxvzvt%u^YnHux;yu3=cBvi``qmLsod-ld!~ew zZq`=IQZp~H6)#=Y=ZB=Kp4&24b^e@G<@XD7d7iop-pf^1lJ;;c*e&du0w8;`e6IO@J!o}0E~V`}OJkEW*l6iZEcr93s|{F@a=-IQ^?Qss|4 zkSl-q@KpYD=b5?5x1N-nyzGG7q?JeKCO!O7YSOun? zZqk7*sY%0^g!ed9e&s%q- zSyIGEkFqEP6BSS&<5x9&P|1`McsLZ^x@EpxQytLsehq3pN?vF&3#|c8>=j2$tG>C` z3hbc@|Ey(c7ly>{>p>-Ec!{l*8*eQ%Tyg}JEJVGhdX#Pb=gfA*&p?m3DE-W9-m_kl z%J9IbACh^$tN{$=c&ctTS% zw1o@2P^T{7RkANuKTB?XVf$Iq@`Z2`yGaARM z^Mc;&NjGmUAhyP!2@_5C1(JvbrYK5zqYDkLqtJ{gzM(=&puyx7^ zQGEm6D)m%o5feg^r1@1#ZZ*79*VMK4>#pmsU?JE2}K6sva}3s#1J%c!*jB9UDEi8b9^b<)bUcmr7I$4q!;2 zZD4l9kTn827I(jUj}=#eO-3ICv;4CSEB!E}u1IYcv+9 z%#zyHhI(FGp(ExKTIKc; zl?sH}8g6t2f-H!3@U0Pc5R)6oFQBi%A_SgVz{c$*Rx`=9^f0eQBGPRc-{YY+fL5`#88mk}?Q zC^b*r76<5mApf8xK~=R0&Q2luP^69vgMn>*Wa21S^s`0U=f(EB% zrH>n2&Unq_a|P(7;wR zkbV%^fLsM+>9&gF2gR$Q;FJLtS6Cec_m2|@zvF2*0s@mxW;}4H$M6Mx74qy6R~3=$ zLedq!D^4iJ6B}5AYp_sB7X`K22D?i$#1)FIqA@G5=0-KNQah)Fn$UZb*A3}^ku|9DIw$R~QL^cFPF$X$}EGitjG=M>}ya+wJvh41^#HV1T80OYoMp-eM+5h5fs6;olPPr4?y!R_p~LLmnk<=9_TAONVw4eIj}p@@xl^ z<2~)2q4U$h=th)Q;W27bpnfi5Advw4Dbhmn5K)?Jx&~{;j7v-n6`v_X+(NRbVn8vF zXTq>rYFwsi!geIKCcEe|2#Td59YS8@ufcXqRwyduRel{-c?d!EsNP}`!KGp z!8#z%@OM;)kDP;1A2q%7_wv1yBtd`({Ppe>!TU}Am3Ig4l5;YB^3eQH6uf^4W|}fUMt~?-F-AF5RK)7cUKY*m}-}!{ouS zBo2>*>*JIzjzKvH4lICEyKxt{qpqAM<{Y)=fVbel6Mz@cS~fVr3|>aPKhYxrx?X+( zU0*fZM@@h6?&5aT^nI6Z|I@^C2mPYyuUCA($C$r2Og^OCSyps%$=M4(?RV^H{l`A| zx69}3f8UX9v!lPQ>i@&jLz|a}FS=Ok)A-7d-(PnAuq{7WIrRyx&%2NB_^*2=eEW-E z-}m(n_5<0eR}I|ast@+w{nUdDFe8KYGD6;|?5m{Eh$KV~^KwKj^91@0TBb%noJR zbw|wU|Hf8N&VE03?R|^(IcneYw!P!A(}(>q=(xck znGfx~^YvG~ojH2oi31vT*>2aGVJDrn&GC&_&M+68u)q1^MVF1*`;lJ9nfHA;{fm>A zT~L+&-O@fy3uZi{|7-Kp9;=x7)YC8DHGH4@R%BQ9`sCWXZr#Ir>-Lo=Ke1?pGc@zl zOMhNI{fP6=+3u4^=FBeM={e;IOI;)aF`D-OJFH}jyonm=4xcK*QU zcYEfx>{*BQ+vkWUf5<+)N!9gx{dvHXH`MO<+kM^7Kdk%hOZ%=IUUt-0+f97t%4c>d z+y9q`z486n^S6F=_wuB+bmaB9qpj~}e)IgGtv`FE;iLyI9lhYnF^3%f#tY}{`f+Zj zT`w=c>fv8jEomCO!@aN1{=<#s;qm9(G4s!lKE8Wy;a;&f!qq1|Wj;Rr!OsW(>$xK; zclvCT?RNO|z`Y)|*Cr>`FYXY!;OW6T{p*;KZPQ}^`1r1S>hIe3k;E~#{U^Kqapyez zaOGn!{qm7{qgI!#>Kp3i-m>$DXYMs-N)Z~dURyzIamD0p77%X#TVuddRu?*+l$K^clq?+KU@+odw$CY2i^7N_1jkt zJ>k!#v->`I&wlS5aA3t<*FQ4jmQ4>hZ%poqo2I;ZSVrr+%Wc1zu>8yI%lhBDL(O%` zS^Z9(@$ATb%Jj$1u$=SSvEx#Nqf`>u&>d&>jYJ*Cy| zc;T=~_gD10?Bur9CFlIZG5#M*KWN?bhe4-4J7%!E&+!+( z(f6Yv|Nh68pX_?lpC3BpxVUKye(}WgS@q99 zcIUD~Tb}%)=JH7Kyvr6pblLKj^r~mhjBj~ge9EV{y*GcrgS#Y`wY-1vj?11{vbf)S z{oWsa#k_y&m!C6p>Rx}%j@$aTZ>RQYZ2a=(S$~{(<=ju^-nprL>is((Id=XTU)CH| zHEP)@6}SEV=_^`lS|>d|?2!lmdEqX-51IPQJ&rxOw&E6N&a7`9dS~1-Z}$Di=gFpf zi%W01MQ#2uTEX?{`f0*f6dfSJ89%@E8aM9)+6tv z6R#ecE&B1I)kj|Z=D%)uW|PNi-ixl-Cvw=%m;SV(%=n<;`6IPkcPrgyA<$mntrp71 z)B$z@Jp@c-gYX6}1ac#jOoCDZxC8F$ z*5b9y9U54ia$6L|ZBv8L3&VQ?#1G({4w4LvhXqC~mPiAC1>)g4poL-rrjHK8PWAXv zhlNMmvPgjqTI*WPSkDme!K>ZWI7AuHs#w^m&H^UZSfNGPMX>(sz&8w87OBA`PP3y9 zneZ^|Vzqi!I(lOD)M?{JSB+M4O`_D|!P{OU6IH#s#k0$&PODZig7g3@u903Dvj#;C zoM&CfDwkJEdW^4rR%qQp?Ex>H>GhJ?0Yz?ornt$T-<(-IDBDDfa7H-Ge2QtQ|1_wp zh`bp8J#|fO+=DBP#d#(yGJ>l&fGdjXjPt7Cx@M?prCP94O3M>WC^ncrxs?t zX7+k8>+?-n)ZdHHo(6MW-dS+7BEcZtIS>qTG;St1)(zNGpn?`4aUl=@!xfL4X=&E= z6a;jw-k~7TM35nHRT2L?;9kuXi3%z=9^BE1m6U8xnK-?2Xj4=lrbr0oNLfpxRbLJB zwJdg+Lt{hZLGAKLOqF!B@-X2&!NkkSWMRn^7B;3+?2X}-9!^}&rHf;U)+NoZOd4T8 zYFt>|1f`(&To?HikrguLh1E1GqR;l0u#V>2Rab9Ti3|%*f#02Gt**9Pn-)3M8K#G9 z6*lHYyjmrqes51eHIfJ+{<*V5Wdd9*A_V_sZMb?$<;=2b$-BiWBUusY&N9R6m;)Bu zi{*^FnrB+!u?HNG=P_iuUzc6#LRhYr_|r{@o79Ia1yom08C^A@x@vq-7&bH1GJnAW zqr=7vXch=`Bw~W?!+ry%jF7U-0*p2WE>uvFhS2*JoM;s6e+&#d-r;p%$_XI0*nWNG4rPq>yDeG}=&Ejcavqc9AJ@L_ajEZb>tHN+1jEZ*{&aMv@7o1Ej`V z@o&m{Lv4G{r@~~`TkkHGB>}faychXR6#-f;OA<4wJ5j+Mi2sW@T;h{bvI^z-T=ACV zWRI8~20?{F0!@}X^k{#3!zZvVmgX<6Puulg5BDAuXsx`o;OYZwnUu*ciGzC=m23in zjYXi7NU~4~DGN9NP=P&a6HunFqG(W4fqH^N2sjREj*>za>C037e0Ll&(1ZX%D0|2kZ4KyV4d6+K%L6|@b z!IpxBSDdj0*A?Jko&(5?)FurGM}R*geU4>A#z4xjir7F(9Vr$LWFYVy2BWpN+^*C| zzGI_45W%LFkt4%J$PEL9v^k^!J!?FMRFe$An_>bijm1o`oNTADJ*B8}V)QBl%(BwJ zB+&AI?Gv2#ZWB+n5Y40E@f4zLsV3ga7@-UR;vP3x34}`i^GomQ(ghs_fy)* zBc~h2))A!V;j$^Ct7m4_?lMo*3Hg7qH1&)>+j$x1=QXy?;P$zd!L=!KW_`qfZ;cWmf$H+5Ykf>zi80g|}xcP3oOqkQeybko;4A6szhhYMown6z}B>tx^n6 zBBV!+AaYA9)Oxj}+VdAt+sEV7mV*ol6U%V=LV46y9S7IQj#S-zda>oR@OLWeN+B; zc%Arv!Trkp54j4~xUV1nn5$sof9Zz<{Qnp~{3+Kye2(?QpK+DvPw>M5{$ExeB>gY^ z`#1XG0RMlVAO6a}|CApN@c+;G;cvJ~epdV8@43qR1m`d52l)RW{{jAg5AS{-$t#~; zVXokw^Z5S}epu3GFR0ffKP)(Mi9g#92l#)%h0F7TpQe6${l^an`2U0--rl?4yUGts zn-IVEB0nrRYVzOv0~JzaQZLR}m&(dHlb$DS6A||204CRR!1E8`wu--)E6)$v(+@B4 z!&0xL7vTAaR1xNVeIMaU{)R}sNce58)W;Ahr-Xg{{*X((aDd+*BK5=lUeuwaJLC>z zWOu?oe!oQO3t8$V^2hy>xBUA)eqZ~B-{tuox$^$VzFs)M@2kBJ?g#k&NGXiyS*;~xV(!vkk5^{!!UphW>%s8%8uU(J4YxFjKa=1vJQm8oxSbkh}cfK)!7s>eWx` zjlazs+OhnjKUu!Q`!)Di%Cxpm`AK(+K7o7-b|^QFKPcUR=Lm`^Xn0_fgC!7(N0w9J zW^#3Qya3?C3un0&E68kNvr@)%-qu1PgX5-71_CSK{0_W!@EHpE569bJW`&y5$v|0^ zw4nBcLlq7|n3pj6A$yA2PMrBNnOG;N-(ITAZn!5849}gyei0E}H9X0+)8A1WgX?d9 z){{$>g<@YM^CvKj)WrKv%T2uO)ZB!-UQUhwu~%yR`yZsn z-@R*U{JBF?Wiw99sZZZCQ)PTgzco{(FQ1+&eg2|c>8i=8(!Vz3N*~=bReG788h6(b zxpB9?of`Y`QK_--pPU_7uRWd{`O5yek$rbbjrjQG+=xd%%Z+GVof>h_Td5Hv zwA_f^CAnb_wWX4aho_SDhvt%pzMe{!^-Cp3yq8P%J298sH<3#2^KLG=>$R!G*IT3# zm)w#|)L)Q`-?(!se*FWv_;rV;;#ZuIif>+(iv9b|RBZ7Vsn||?rOdAya^{zNrpzIC zqM8xAM;696H^dM?MJ>sirRV1d`< z1eAPFb;e%%(YwVic30gR@54P5Ncpi=Gd{F=pIq1aHZ}x%5IGSVodys#iOD4AF~cLQ z`PSl2$$CYI#Dg(&T@uqBy4z1D7OD~~+7!#eKe%k6c&>m_96PHokx8O}{{6V!3QB?R z#N9ovwPZqXEwTXD;{B*K#cDUeEGFDy6v&|7;lbkbXT7hT8Y5pd+RxJ*$)6{gM9*>`?^*QN&y&fYNt(Jt zYQ&zkVd2?`7K4B;pyoV11b2f_?)3NxxCnaojzZ%1q>w!jYL9lJr7m2tB&)2q7P)p5 zBS7gJbGx*@zK-3xa^P(vvQ5phYTPOHjlDm~1&}zYsTS)An{B>5zhmmke1b3|66)?X zg(Q>2U~32~U>Ft~tKyw(+-_g7-iJ5hCY~MB;nKQ=9HW3)tEnN|^57k8ba4J+EmaW> zRrM&o-oyBj_195PULHZg6d1qYc&vO0##Of9Mt~V!imBaM*b9B(dgZ0y>=gR8pF7?d zwnG(VRt2ZJ8W*%YxT2BW8LEUWnvOyfDm-EVv>Jt{w*J~Jgp31~x*ol-QFq7U@0ESI z#_)J6(<(}*MqNABTR2oer2lnsHUvSs0ZbA-2gT|C`>7+w&ML)+dn8s2@oX}z)=`If zr*&mR83Cbti4$nqomF>nYAYVJ)#(Z|G zV-xIivz0F!#7!*=1ZcSd?Y#!SL&r4y37H<1Rj0-pmnsaXW7e2O3|&;Wpl+xaFFSOC z%49XUW9wN_xn!%wAgShXYn_~@?sycDt?IP+?C$vLZrGyEbmYi6d1OgrwT}#sgDvd5I9`Up$T;+t*v>3+G$PH{u;&Wz7T7`^EV(3 zvn$I@$24jjha+`0VLZlhhK+)@L&Md|BfoHbC|o{qZ0Xd>QmLu-EusypmNoFr{u!rs zEyZTzk_}5c(zU1!b&Yahr@cXy!dRqI&nsO6M;CDs`V5D5kO%Y|r(}rJxh_n8krRV0 z9@buUr14|Naw1Q-3jAOBCaDZ&J8;P063DLV#Cds>Dv)1L-XQyfgM9(?*}(@ZDdgT@ zl3)cLy(W2CN*bIVQ@xOrGwMa^R1Kqw;`JyN>GV@>YiwuO={K~WKk8IWpHe+$=EU-G z)fLmGRpo&$Rc-^P>p)bXsileA>t7*BWSo+7PwbrW0s&gLNOT`^-^c+l-ny`kBZv6^ zVz<PuMScb|B5S;w*xj&R9 zvPbR@qdeWYwG7Tab!c~wyoy*-RL2{=7}w;iy&Bfqo6qB55GV4g{N8D~VntaX9R+(2 zo{*xL8bQ6MJoXSdeMxUJN+Njz0Ck4dgA#cy>b0LbLrhjwJ&>gMcZu94S?G*WJfeexW2BTor&3}58yTJ;wQ9dYME991E>-M zjGRs&j^}`&e*_OlhE7%}8o#zjk@J$!8)JZsYpNWCog-eL66D>lLB4r4ln!&yl2e{a z`-0MvLD_3_p>YWJhq=ZuIz88(!W!Qo1IY6>IN+yj5?mm>GhQRc6ttr2Q{+JSB@pjA zQ2&`QEX+Pkth(BfW8c-bWXSKu>KuN163RLvo-?$%+G^n+&V3S7l5DURkPdy8>QQIw zvJK7E4N4O8sFHP%8+ zi`9@75hPcXHb^rqoJm5wpybb$4zRY|dq*#`ZjHjzdCX4W)kF$lQtF^aRhQ~loaraO zqXW~Jv;gLGb%0Z}vsAO(LpRlzsO*Xv%2omG$jikT?^o{8UXcc85kUeCk78y)hjGl26Oy!^WLoNPW<|Mry|+!LP-r5a?M34JWqX524Ma%FKf>IwB(LVm zCRF+a5@J}%kg70;2qi-j3OUPp2+or5tgqKOGnuKYDZ%+(EvPp(KUE#duU?uG6Vsw-5*~O&HLXmW)h<&-CfwT4 z%wV>RN2O$1xMRuq1tCdDWr44+2QieER&LKBPf5;z_eqU5E`U};awU@nKPW0iaa6$r zMR6JyVuyjdYVt@Pc|J&xCKnsD!>jztbi+L7DV}^=f+rD@F3vf5FC0I;T+X2$r3Y7 zer7hOWw1^+Eo!W9Lc|eXFcQ3vFT(_cAxaFi9{fb4+15<|g=d9VsT3R$k)Vj)gw7jo zy*66n)u!JDVW*`n!^t$NsSU-L_QX%p5;dBoktqam#jcZBj_7rSA%DYO8lkbVh&n`S zAI&|3Q?jM0Y>6NQ{Y(lW$K|AZdcCNFl7oKJr(aitwRd0f3I&LjFl_T=2-$PI3atY< zAtR1D+w9gj>d3yeu!*5SEM?9<*EQ5F_2P&%P$Udj3&P`@(lW>{a%mh8i~9==4ZuaP z&qBuyy<=Ugw46`DqpDc5`N1osYGGAA$x9s^-hNr6PfW2`sB7iKw9JLnW~gk4uIt16 zNY0?jc}4LJCFdaJjAQ<93%>C=DkOb47Mv6763WN+-V>ymPd88F5^~&-3DpE%CvkI& ztJo;WZ=9s#2^4q6xM5CbbOYeG6A#g{!J)X0-z68J4l@dWp3zPj)BY|0*0qwyIBxsT zv4BWMNmxK~nDrxc`LX@w|3@$5jtsDH#TiSW>@4pz0=O=2YXtkAE>@hV*>G`&QNmeJ z?10g(1yq1y^l)><4GtZ?7~h*6ehoRzbxrUgg>?UnD2$Y8M4BVCoEt5!X_WKGYx@(q z<4;6g=KZn;Ab-6=V>as~)4|W}(kj1f(mwMFm6n%uO5oO}=QQ5Qq< zy)zOng4cHzbiHYT!`BHEbqT7e5nVjQ;|G{H?qI|ya_C6MElmCaK!FKrX3*Jiu9*%! zc{)d*VU7uyWcu)37-ob`M)h!yD+UL|&c3#?~^bVkJF=u=wex?^Ar|`0CZC`3xXSum7Q)DQ4B1+y7`T zxp(EVE${u+eY1xj_~!D5mdDyY9J$4T@4mJ9O`l)7-Qs>{-ncS)N7cd#Ywsui^!l@( z{N?@&`hW7^fMF-=(-(g|^3a##U*7i9*zfn)@3NZhPu+aTd!g(9H1Ci$^H1k~|E~+P zL!Z9t?a{A&{MNGLk9zdLYmZocNy+(7&7AOlYoBM%IO+bCH|~DiW*^>u=$O-PzGwQG zXMEM`*Q2%`GWyql9`?5@_xaTm9}j!ygWpd6%gj-K_{+W@Cf19dhg2jaQ%3 z@YV7kPOcw!$lDL@b@w%9i@W6HxQP}Ee(BmU->!O$xnu3M5$32@Jc=qz&e$nfmSr^`N$an8J^%w8G^%aj@9eeHZqIowx zIPs)QAG+qT*UU$BG=I^B^-ge_L=f2a&c|di*QyR3TDI*^ zE2lKS^Y$($)?IPyz`s>3`{=r}T26l~YhCp0P6PX0vD29|PJJtL(8RePI0v2ZVSV4% z2M@pfjMZP9_t?FQ_th_$_u316Ub}bHth(>c?)&LIOMZRn+3Ck`G5PRboBr}owZ)g7n%KMdFH2wD=Pz$;^0!})?Yq~k z0c(?!S0-)$)8uz5Z)>{c*-X{hzgsnbUO(&3lU}&;g5pabA6tItPjB73dP>{gV|IL@ z-|E%dJ~jNO+Wwz^{hz}wNIrJeD?k1?{QGNmUwQudtG-^@@Sk44AAaPlt$%aO9=(^Z zK54+hk|UF!3~fH~{(YxBT)$x4yt5WsTU|Z=xa+pvIdtIaM=sfV{*b!UBUSN+C;oBn zx1XPS-TdUBH?q&{ojzx~cOPB;#)}n;D)%`2(cP}kyt-TT7473;Z=7h(JUBA#h~Yn+ zy7SCMElYp1<0S{Zw&$!5?>p$bZAQhHEq?T}e#x=}9?R~q^T?em-W_*C_?}_6{AT+< z+`>p%T! z=hKfp_`Ul^M@Ic|hb_K1VvkjgbIyHW+&^DF89_3CN6?K9(u13%kh!Tzm# z9X006`S*QLboD1q^G|#rpiB_YGgaG;Qka1y}s}Un@SpGj#I2*_AuLS@uFj zo%Z~nT?7l-D?Q_X%XWzENY4fZ0|KzjBKfkf8 z@7(K0Y_sbz54~Aa{ry)@v}|_I(p!e_`pmnJ9JoW|h6|PrnDX^CtDnE%hP~{P@1J<^ zu{W;!&5|D*TCaSv=;99!J@Cy}x4voF^G_ai`I)i-Y{Q zNM_|As^bw@$J=w-wn3lb0X>BCWsc;VP6EH`c>RT)E@9y>8FCq1Z-eH>%P=e1mX^VN zEffbD>v;H%H4O-1usY<}e`h|JUL~jTlj4KHNx6=v?F@d|f&53|NdO4of@#M)dqOvy z1nSTYL85{t6xcjo%XJ(-11E^MwryvCxTity!>Iu5T?0&ye`4DOP9PqS(>P8hBaV%? zXlx){2iiDG&!C1`VAo@rh>6c=Q)s!8xDf>YXX{4N#Y-}%V%%J(ahV*0*EWvj6iJgY z+(JVdAP%~5FoffIoTu{|2baZBe9haMnGv7Oj%y^rxT$JY+tq@!tyO4~wffy-@(0B~-ej)Kw1 zU?Kv#h+C8vNHxBzGa39#fr$y7nHEbp z@F*~v;U^w;!YFAOF7B>zpB;ts%)mLlnTaA=a1G&r-C*q^gezy<&$HZ@h~eOv|1{iR z<73>kafS{}LCnH!W1N4)BXu;M5U=*gR~qN%Y?o!6key(tBo%xy_uL^rBx8(6xx+Om9#=> zYC}3Et&T(YB*uoG(cL6wN5V1;;g*a!^zEdniKMwsREIo@+C)-xn+6G)_%cUWaMcOd zg9g6>t?I&@0Vjur(AiP!7GOM4157r^e9CS)2CyK@#CTSc0lfn#sl4sGG+ zCT_{0M!|KwLk&de?6hy36rkb8YkJ&GAjoKwbkfm6)V-ZRInc2Z7PS${#BE{ti6Td^ zdL$xr$(RinU(|v|6QQ)g74atAS*L;8>mfaEKz-#TqBt}ckK%D~M#xk&4n0;nZ4eXh zr7r&4;eoOv4g&9@9q`8P8Ysbx6~duCC4kWaO+((1E628Rd5T8WA=c7N!=bY2L}Wrb zig-B9KnVy)BR0<922iJDYgGM>gQyeLoFL$Fv>jIATznGCfmO5ebdD}w=pgOR4p;;S4dt5zt1 zMA2s*`V6%jHHd|9@;?*}(l{GB z+Q@>2EJ@SB@qkL#arz!}4G6}hIjKKnH-mVhQez@U2t$b9A=jZNm^NGE^u-vOJ8F{< z>M`a-;D|`$ftH?c#N((eD9Ux5%sSF*GLB&}veB30s4d85>_{3KFw;u1d&_2kG@wo8 zWiZ|&;$jxpwTXu+R)3 zC#g9%4pUalifImGxsIQd2&zxF8SZT6EmW8pq3=b}MsY~x;4Y#8kvztac*xOQjTL7I zwiuYOC_s-pC{-9Sp`43S5rolmNCuT2WAsVr;QK_(kS}^x$imD(DyS5&ggVr749QN6 zBDm~^iY8)YVI)DTIf#`VNxG(ka!JAnWPvi&LX5r+RmVD-hFn3K5M#X2^ax~hj57F^ zqM(c#QH%x#KE)-ZCoL0w=w{rQ`7#8s57dOsbN}J#L`a4b&?Ehh-zHA90W+xgKhjED}PfuqZ)%;+Jy@^hHlehah)!k z0Ey`)T$;(<_~AVsXB5E+v$7Acz7T9$Fr!=8YHI#(`g8vn*F64zS|~K@SR$y|X(%+~ zQob`gEg1hV>tZY}YPTm?J5lOO)X5A!~CKfwR{c;ihz<9AtS``*9rm|?0eINhdJM4#j{C{tGpWGMxHLC)B{_Kah<=Th; zC0}xXd++|HDL*W2Li|n7_QN}KCI6d#$d&R0`2Wphr9qze@&B8Z6Q;cb{QqY2{QJUd zK-|q%_+cOazeTYhF5*i1Tg>7r=_k07zb)o*{XJiO{Qp)`ehK^d|A80y;qhFFKmH=F zlAj5F_$@yy?ZW#f4DiFVxe|YZyhrlu29- z{QsnC!jk_qSIRT_20!fj;amN1#t+}_hwJ_Doqo8LEBTweimSX|*4qe|@9u}?y}Z9% z^2s&8|4-Y~zrUC(@u$u6!%O_|3a+$efd8NNZ^Goa?^#^Q@3e3H@FQM$`aXVG^1*wi z3qG9s>ifJGo*{B3;TQd|@NY=?C9b@G#t1+BvVVV^AAZHZKfw>b?uV!Q;kUW+z8SN* zO8(yQ?@Rp?4)_OV+~|j8og3XS<5ph3JNGyB!j&tzBFnwD@x!nA_eK6G?@Yh^0sp|P zz4)E<1O9Di{(i+ggQ6?3RSUpB6nHDmBmomq?1#9 zYy|ny)fOyiu-&YZYJlHfwo75#+p1GiC1FWRy&^dI;h!Os{acmAE;-!FZfRNsEnKjB ztkRbgC2Ci+!~5B<3>`e^(wEc*4x9(t`Zy0Z{pWGs2{7SwR3ryof@}dUj2;l6x`IeE z8|AP_T?S6jjw}bPPAifF*|>xj${p(0%TP8ky09MHw>wlUB7?!7w7>j`3>_B=?L)uc z^bGGO>2mUS;$(h10r7bjIoWpkC(A$aI1)yG@`s<6uOPhQsL=8i!j|Curyg4GKh)E0 z{^upBvo0UGcXo&SH_H9WnJcU2+);7`-~TM%u?3+Shx`EB1)DSuJ*}NdCpG3%9NWOk z*V9&vnH&RlhDm=K@>;A3){gNRU?k&_kcF!d<{}Yh`xd4W_8tZnQ%UIfSO-N9~x+1x8(9OFeZFlU(lVYO)%D;h~lhZvLj5p!$Ug0Z)lKHDT{ zGSOo89o3ixVs1jPi+vh1bgUx$P#T;AVKGLFGiBg*Bw@-bfQI3XfvhucW@gGV3$rXI zu4U2&S!6|lY>4d)Pj5N{T_eoIoQ*VOt%*nxrj%H`ObIZ|u|+i<^OAXEL=1dWi((q_ z1>y?FwGFIQ*Q7gQs~T}T8ga$eVrdI^3oLoS0LfG@##}B<8TgGw3}`1Yj+0t61bZPR zhkKG0B_;wcc}+Xa@mYbutR%OTG0I%Rz=qRl2&~Kuw1>>FSTSM2DimkY0=w3RxQ^z5 z_#$I6c@gqQp|&s~)nF|l11}|uTe`{I(xO1RWwZK3YNmmWYbTk1F=>~HIkSEnOFJ6D zj!Z_G4!F=bNWVeC+UNAa(GSD$vijQ{Q5d`(k~s>j(6>lBF&bRKKv^AIkNE`Ki( zmd{U86J758q-tLN$#Z>3EQYL5s^AZ?*WmmZDvg(|4Fy;Betlw&^>B4W+Q~ZFqTH-oPsz=EG?kmV;@jNJWBVwslB%aOxvGkyRMp5GQkDPwFjx8a-E);^ zO;1(4_*kxD(w(V_t@g>y_;E~X#=FO-W{mHZn_<3@nla!nxf%WIQZx4MpPGJIEH!<~ z3#sW_ou8YwV`FMc#q!*gA!VuZS58cozZ}n%-~4^5{8yjmCQsfeH+jFJ+@wnmOHDfZ z`rM=?t*J?i`{gFpm!>9Oq30$JoROMPc1&)<*tc>MMqQAbFnCpJ{FOhZ#veL3H9mQI zZhYjbT-iUjPnE6OE>(8JfK+Mgwz<+N&!tKSCv)-^UCr_M|8!I2- zJ(+fKZp>9fQ)909ZEB49tK67@*W|`*K07t0_fDzNfBPgi`j-diQXjpOORb)hOTD#4 zD)n05T%H#tK0$G#9JunxT%I50_RDjluCGf8N6M&Q+@Bh?)n}c$OBsJ`v`MF`|OwSE#Xh{u=^-T@iGL=f+eoQKP z$--Rn+&5FnQ&!}XC*7Dzo_JVJ@vF>vKbM@eYcARU)l}lu*}23YX5|v+?U_oPvO1So zc5fPL@D<+JlsG5NfAV=8v=KU1--j8trkzvs-yKTes;`sdVV#$_o}yEbS1 zFeYWVSLBR?2Br*sc*@xC(46thXLHfBHcv%&T9t}!d46t^B@oW?a201o>RKU>mzkE* zM>6l1HGnuDZ~i}Vq5v?v`n(Dkhn2eA5Jnbxuv@Z=b&`|F(|TwYyyHu=_141h*p^z% zao9-~I^MTbXEqdx-z_kHJ#Q26wQtz2i-lypPaDEJf!`{47J>cYjF0OYSv07So)pRG zVHE(V?@{`K-rn#+gXZqx+j^F}NDpf((!=~jHcDVLayJe4360>F;RjxnT~G({hwSyLwg@>3)SPLz6Dlv%2kB zmy`6n9Y4D3a$r@W7KjrV9vblv!^+OoriG9~&2Qw=Wi;^OLa0@E9r%wVy3^T(Wpm?c zxBUEUbXWD$F?(JWM$aFCucY9{>4`x5h3JV)`;Q0#8`yWojv7RzMy_j>m7a@APn5Km z8Bx>q9EPu4u%xy1!4;TW5-iC|&`JUQEy>i$h~~wP^|<f#X?iLV zJ<@UHR7Rm5DTJPlIO+{OEJM%69Nr)_BRwjEj8Z*(AR4M{1t8KGo($fu9wM9ta$U3A z^lVU4neSN-PWEWj!!a@vF{Q4)Nlj|1*amO}EZEw0u7FnxsE7-WX%rkYT5!xlX_{14 zBj7#?Emq+%(ToN0K1mjm1@lUIu?x;cve1GR#36<~-Vi>>5|W1z?0|6XB(##ZcmZ*Q z>ax3ZuztJ73FiMY@0T@zM1KCiMlK+>?E3T?aiRspf$yl>bUcou_0>uo!oTj)iHp78 z&AZ~Ln(pItU#>XazWa2#XUSS`8r{ADa+HEdves9#F%;5zbHP|I3pw5KeXTc*0^Z=| zVqIKdLJCko^G0R9Q;!A3$WU&DE1Cr0Il}*?q})%7^Mit9lHHIB|*Z`VkXTC9zJ6RMexc&-{xPE@FLUTUBtq0FP&c*6y9kVvA zzI4j@dPThO>=xSS)MYmea|N-N6%^@bY_{%`DumFi;7VG5<9AJFo$PdlK&tuxY4kmN2<>6EQyJFZ z7=@%zNEr%=0}VuDof{s512)bfjY!Y8J7sj^Zm+MJ{u}qEu%KqS_2II%dRq}oFmuXg zIu*$C6DB}%aO_YQsKXG&AXj0)kma~$D0W=Dt$`4iGg**{WaU5>P|_NFt3q1V3gABL zfGlkl`XXV55E=tHK-CQKhTBrF0QVEcC2Io-c}aMV$ar5qB|Ho^wSddF6uXOTXAdP4 zp@1aBJNi{1_gSJV2h&WCi2%@kha(MSx1H^$KVAp{P6@%1$4b(p7yfs-0i_b*pn#np zdOJs)+zB(kg6zvJS`21C+KGQD(}->=X{;i4!owerR!{dR=&DoLA>(`M*);K z!Y9=z94?Y5vXiaD!y1Ce_K$E>!C(>iKjnO%?;;(N6FIh|WJR&Eh?wPHkH>V#0Q2we z(x#l`;=~t)SepPCT_SUGET#*wkIEdpBSIh1@raQ05apviTO#t=_3;SAK(P&zpI9LR z8}0H!Jb;2<;)Naa=+Uou^cKbNr4-XNjlkVSVuYy$84*&5JSWk#$|@KkN!e#-f+%7v z>?w^*xa)}v^GN4jBA#qHUguSkbS6E$unzau9LCIh^b=YT`n5VkDLTW-F6f#H&^(}( zYj2mx8j(#L7H?R^u8of}Jf=diFCqU$mGGj8mp_p9=sw|@sz;a(Z-X)om!6^(gZaPA z`(+IvnV z+1AlnW~v9(rCU9=HaU>nBURlUFQ%flL3B5)oz`Ig6I~+80@dabOJzm&8u`#?pzvjw zRJWUj6HMt+&OZlynN3m&YYbiNX{!2N96rQ8xTK`y5c^O?rbD$lto@N>XTcMs;f4-u zYw%-EmzHGbGC?;{hoRSz#Xv>)h6Th#9JB6{FIZ;dfxgZ2MZr5((FH~Wu-lx?l<~W9PU@v)C8Aj&@=s{+?JLmyhr=yhdfJ-Nl`dhP5UYWtKwpJ zu~XlM0oUYYyJS9MCN<#+?ocZxzeRKVdx!wRcDgQY>3ns27q$EmR%HUFwH*h*kD)4RI+{M^4KvHPlST6kn08PD2 zHfUNUs#GS!ShfknQvE2Cxh_pi3VH zSy8{LTBaFwS;oJ9gF4XIdemA<2xSgSFO=`piF%h`2nJ)NEIL<}5sjM4beZC|Fc?=T z1>HFcP-!C};^~n^lAH^t=Xx^6)QmYNT7t}Y!rA_6RE4TMMRdX6CbxCdUXw4567h@PQ!D8m8 zbc19octsZ>)WHH9K?T%%teHwC0_$VFnM`_ieNgnZ7uRI8CSreRMG^_ore5o|xExYs zt}FQ#jRAxVSeXbrLzfU$`cps|0MZcWdtJ?++^UvU$L(420JbG#m5_M)vfPx(2>F=M zQMM=}P%WGUm8O&w-3vnhFeCx7Vi@^7pX7P>@C~Bf#jmVdHW3NSKP>FESQscm)g$xe zfq!@*ZU7VwDX}|664aftPJ&b@hO+a0>UE{+J=#a5=i3)j@`S-rYSC+6-q?~i4l5On zsY*7}q-4%3YLH`51KuKpcm{|k3@s*XmzA}3&Ec`rrq7u;bv#0)%AJ+pCQhxa8eLxA zUX|^u2P`0?+=ub>IH7!1N}!^2^tdUd{4`dXj;(oKYeoy?dS+D_=Q5E-*f_(Amr>Q{ z&(63kgHSNDP^`AX8@+$f<&{qaI7Q-OGfu35FC4*8x{hgdI0G#*M5^BWnnAh4fGQ7y zwl@<}WuDX`RSP=ELQ_~eXHbJ`k%-Zel6&#I+dlEOkj&-Vu9a`2o13AXQyp6#k&&}g zb9*ynvOo^ZK{6bxW|PL&o6{Mw@OZig4%k*Y49knMI;hMnyjnr{8-^Er&8O6~oAtOj zya+1M{J`N^X#Raumh1fcN*Ab>6BbSw(Ir){K9tbpbF@aR!=gJCZ*;w6AFkC}dYnJXJ+KrK-IAC%17m@PM`BrH* z+z7`u@K+)(WYyNs3iKSBrV475#3gO7b4ddsR%Bb&TNry;vGw#!@L(j)GK+f9%U=F9 zA`+e75s4Ymn2K6(;&8iALCBp^5|dnYsEzhCrXpxf@W{77k4jFX9M`Ia(w3DL87<^7 zw#xndCK8687*rAt3<1fdACI?)Hj?%c+E}k*Ovr?yYv!4O1V!yS)&5{Fjx|_yW(F?w zhYZ%^DVP9u(cFs!piKgSIyl5wB_Fu0L}c8vcLmeFuCLMgRVW4k92nRKSxaC70ap zbqIKngb)ZMq|hx7McYSDIyk74ipReTEK!03!tc207Vpq z|MQ)ly<7_90{HU#e?ITQW_EUFr_bz^@AG^INTo4*q8;6e`eg}Z zyuKB)X7%>LPs!Sp`hl4YlE@>k6?M#v2f8p=`Lu zzA{mrV*N^VWb~1)Oj-{82gIi8F9&}*Xy4iRf@Y0AW$K)Xp@XLX)RYXhDtx4%j~w!f z@-vyC1ONze+6jUdwj%mmndx(d(hWK!QJV`oQ1|J~S}D~OwWqWRnwLt0)-(xFl7TN? zNWn1f=Fqa_Il|K4K@)6J!egp5SeQCvCjk}Gm6D$CwVN=%N1bC}K(A$`ArgBZ-sR1< z65%_ItopZb0>(1TFL5@)mf@@=u{}omSYR?iV*&!97s!nr`1#B8X;y&8RETf#MMa;~D+dAySg(wlG1KKsPS z!&QnF-yzu`;YXX}YaYEI^_qq!Y9-jep;xdUpU=qq=@}d7u`Px~@ohKOeM3`*gw{}j z{3A$hT;GDAodlz!l0GCIxQxke$kY^d&L*v_L09(7RA8_{2)WVAg3YpNLk;P#+NfB# zs6l#;*1`&weTET5NIRtm4q73FHaMm%1^o4t3+f59$YKKu8@5p@G`9J3anMYf zMkp@!Rpv_*eP6t-nK+u+|G;IpmIm7m2PC>;^a#wwOD|ELE zO^hC5QeRw-Z5vG8v^>8?GdGqeEbS`g0P*lqDJpA{iB4`Y;nPpZ*#eDf6f*|W4}^~s zQ|^Nj)Po9Yg%Dy7#E>pNBXFN}T?QtUN1EjOrej71RO@(pko)%c@#n=lx*PEZtb8}v`<4vo7$?8LJK z9wo-@&ceWb)pW45gw~h98hB7QfZ((U;Nw%l)Cay=BCQ46iB%K9Z*BwEB6{eUO*UGMS;=5MADDhRP4KA74Du#bh$mG~C}i`0b-o z)G__sFq1YLtw8gdRaFebyIfFEh=D-&oezDC=6r~AowW{zGt|C7rOQiLFXuD-YxHai zi+Z(Tg5iwyaC%0)+;F4kU|Z9#bE&8yL@>)lvl?gx!QmPvF;F@&(d95h`xp3GBz*2M zNP`0{I*FXHOM=}on(gQ0d4p;moR;tgl@K)#|5vl(wS_n8Rb+)WEZBi@IW6hX6S_)v z$lYM@W4#7+fPK?q!N-AxV~LQGoR&BO8a5z@&393;yoB~TraA=s2UrkbZ=8+Ms-ZNvab=hAX^GL-DnyuGl5<6Hy(T zU7&h{Y3(MUi$jkbo?)iSg*ITxDJUw1Dv*kdn7Xo6sj*SL$+dbb%a!ym=h#E@*n4&J0FU5*0fM+|$6A&<5VXs)TN9vO|%)l@_M zn8upAbm0o1pdc@+cZUw9DN`yvFq`#lkPglC_i3&a`qedc(%tFx8l&jaCmLJ0(FLV> zdBW+_af%4c*q+4_+rO~ftKM!4?*Ox?4WrOY< zB=rgynBB5wlR@V%Lc4$lwsw&35|26*1%S^EB>twtQ8EzLpPj{=w@6WlVvHiZ8KSpo3bNixyTJQGmE!kDjx%IBcHa_>j(lYb6|ALUKfdf(w%!)Iy=CLEkLI>^);qA}Z+H9l#ZPJ#RKivG~2T4cIUgPC2e0j za6{q^`!E09F)Mp@&NJE9JTzeTs)oNWf922BOJ1nAy#3)d+k0J>nPEEeeG}^)|FrmU z#)Jo_x|k}t5!AqxpZ#w?|m1IOErIT z*!D$a{sg7Rul+`>ZNEBg?v*85f6I??&G@GL?FV2uFZTZM6yI&f#@B4xc z!<@?&ekTvzyI;M1X4B_hyl(A+t($ks{pDp-=8uR#Q9q>aAA7Q}M~~ zUaWd1UHex`i|yuDx=a~*^QeQXcaFbm){fQ9{Hgs{U%p|&GtPCnN4s>o^j=TNf=wsn z?FZT%+uY>Bd?_<^XU~j@!@DItb8z!W`+=N03(EVHjD6xi8EvL*Eq{6MLutL&bo;@! zwf!^82ATSr|GD|QTTAY~WyrNjd(y=#nnbKFy)ygat0w$Z|C?d&9)IYYeK!{Rl5TN- z{Aagmh{Qa zRvRAam$P%`PeV3uyRF5jZS9_j7}sjpO*gICoACZEYi{Xv-O++Nb_H*!xoJKNhrYIP;$P$j=|0`gZRhPA-3H)!yE% zmNi?xOU^aVFH`%!yZuG?$xY?fmYo`>-j?vyw$WvSUvBK}GX4(bvf~eb)K>D{(K>0; zw~Ll;y`!Dw%9Mz&7iV0SbZO4#-_Cn`=k41+OL@8ZwvXHV&?5Grf6VL=bH5+8aI#~4 zUb}DBEqU$YUhQL+j$L}xy;~lDVf-+EtXGdsOdI~*2@jd>7N$t6 z&NHmwBoDi}wX610ph3go1AirmJwbnp{D46eiYh>H4+SjH#{kw$lmpIJYn(vR%*NPt zsk;KQx+PV0xS`Giyqgvc+9aSHz^g!=0w_xHfq-@qaJO0|AH>!Em86EPD-F6~EFd5S z&p!-k2!T=s(4>L|AG#N07upB3CqR>d5kRC5 zrdFHcLfxO=R63xeglT3$CsJ_2=7pq+LbSbZ1&p@Xx3EA{2Br-E?No-n=&HQFlAw72 zT0gJ@<94gE4Z1L(ti=N1HT-Cr)Qb%Of)E2U$o~(X_MUgakvJ($IxzpYj*$=`bw@bPGCvFE;(9v|6h&kyOZ7su@sFUqst25u*Rus3{< z+i71A{u>$Yv_A;<#+|r3)d|_Dd?@@&U?L4oVqhXa2LFGP5#0T9nDF1^4VXxm!T;an zH`q}}4X)7Ln?`c`mAbvz9B%Il6X7>|4km@~f{FAs3&0$JTbd~&{0qL~_MW=^3Ol!> zU6KE;7MPS?yu<8ExIGaj-tR{FB6mtR{CA`DPR}U6~Y`q$u$p1*KdwMb)iA*Mc@GP z)FE`mWFsFikaCm0(*k)tZ?O!m+M>Nu=ut@QsL2PuW4kKg%ok6`nIEym&S^DMPR*Gw z88mK&AC4!Euh1%wEi}poWzN_w@B>ZckIE`6%mOVJHcq1HL9`ER^Kw=gdC=R-_T;#7 zSR_02M{SsXRG0MYq#J_q9PN+&XbiyEkWnNEk>dnma6k~u@8No0zsOJ1kLfS;QlJer z{vK7i6xRZ@q3bI+_lb8u^a2Y%IQfl##KTXQ@lOx0?tiIX&fxkM@0{xTF7@ddD=18E zR`ORlg;r=Q1LeC5YWpw`SE1YvA6-z$1A!|;TpdRvPz(#?rUZ3|GSn)OqB7cHzzhu( z_)Z6O=|Nwb8>$MS3IMvFpn(q4d@s~rd7VD6@%tobwzEKElo$U%-;aF^MX^AQ7xWJ~ zF=ciNz=Oz&%?o9Y&M93DYDyCXi7qojp0vqZc!PD=Xwb((48lPfq9ouvnd>W)4~*UEs-AH87_`8<+&XdMJ#;=?=6d2^Phr zAgfRT>4Nem=%@xkKh2~JfJ&`UE9Ilj7clihJ%FkzP!%93(7C8# zIU|Y?@V6^?NrpruDEO@oD+(04;h=d>g+3}x(V$Aq=Y-BLTu@(WbwVkfC_pQt>>z!H zNFkO?Ak>HcJt!K3awzCkuzR7`OjTSi1xn_i*$cYNG$^-oV8ZMaWhWF^xdp-Ea*<*? zC|!UG11JLoBGQGEESCcHSg0Na`oEwaQ3m`3Y7#Urir)s!h|soYm!X{me_f}65{ zWf4>kKw&1dHdtk-uB7rH%>z(hiPnJSAM~k7r1c8=gpHq;n{9t402rNuboiY}7#GvN<`ogy4cNH+hLR76?1 z%d=@QhP^tORf4E)<#TdjDxBy(c>Q13tZ=^4r?(48UrTn-zg5=gP*pd>+1jbPC=A1_ z8lIjO-fn{WA3|Dgh28=L;i>h)#H*Sf2nvmwWM#Do{83P~!|C)soQ-M+Yp9BbDv?^F zP8aLx+$t%4&^u<7R8dw8bfR>PVR{`VPWOy> zXq9I~>WsjMo;w1=+cydfzhF*a*fYI78PjA>+OG>eX|KN+NW1SuAZ^qTPulQRp0puF z0lJ3%{cB+8eb;)})m;b-ZTo&8rSZ`~a;vt1A<_Q?1}Ed-~e4JwZ(ik()i9 z%Tfb=e0j5>KdD7GS;!8a-zikWj`fDB%!Pp|qf zdCru0UhnQ_qLF~TSu1<;DQW)M>rP|VUS}-0EUBr8SjpNz^>;2J4X4ggkv32t4wj2mND>b$^-szry>IFyP$Z47uvKp-q>-Zb zCdGmer^=bfS}Qz^8k4|+8dkc9P%%u8#7Z0vw>2_Bssqlx?#_Wq0hX4t=B{R;gjs(? z_k7k_7l|J=oN9r`a}k{b^%YihK%a)|@m!>fbQXk_E>czyrbjU>kA$-g*JF6?%g3lb zLPS*b!4(mOmvndxC+T34MyZ8UY`V{IBG-L}AG;-tl4D^??y!Bj!uDCq$VarbdgS&n z>9KX+KzxCuJ3K<|;2U-HUrP~JB;6KHz{K$mkat3HsiNRxn?+`&Pne#}TG~oQq_s4a z3Xh_YlAV)h8dLz77o^@|igNY48X~vUN{n0^adK_$ryUl8X@)kB+5$Q)ZSH9~EA{pU z&Y8hEfZgZPw`)9EYw)P^DxW;;wrc{k+ zDUHc!6NsX7o>#}fWd{$Qwe*Fn(*B|#qxmg@G$Z-|GsB&^5;KF1~(X$;kz*o{B z{;mtuGCUL*Ll8j7me!dSb2W~@N+n~g|7qP%djNfc>;ICHB7e{5=vrFJX_@=NY;FH# z&N`|dlqw{aA(YI^H>yZQ>0-y2D$C4ki+rFuF~LFQn#$z7Qbra-@I_$W=-dyY)di-$ zeOU$KeF~XC{B$zO(HwZnS!56rErw9f#34gSF^>4cfh22C0L0+Lh@j7OVrlTjKq7p? znN@r>a=ZL8%B_BUNEu_oxp>lDhfdM4DBE?12)0gaVS+;t8g1f@63>i$0zk;IWJn=( zmJkdZR-U=wbk_3Fz8QLtULtTBUMdA$3{Gg}Jb-@z#?vXgP#2j#+H23GjXGe^s8CED z^-@9jOrAxD`*x}XXJy6B9wh;)LI797>s4yyVYTJz|^b~Ijron^?@q9`rOqRr%+geiW{f(X(cwvRFmK8%nL&IpbzZb%hOEWe5RqxIgCbzMi8L5V2@c7a zTo}XxdRF<-+74V`G8ww!)xGa5WAVC(bCX^kHHdCKP!j{Q;A82-cd>n;9Q-6X3r- zFz|u5k+Z`BI%2>yOTa~jz$nom1AyAEEM9OyW;$*M0Sp0yDM{$)YLUrIG({mp2pdf` zaK&H}&yXYJJx3{Jn3s-{WXCx<;YRiHQ9-()`$LF4>pUH?eN!^~X2d0?XAVzIOpj+n zK*h7zQ4V=wm~;Lq;H0L+n1Xb3+$sgmiRtuN1S*~9AQ*_hw1{Exfn!Xk(F>^t zNCCRtLs05?=ijDqLXi^$hnRT^ix^}aUjarJL74~B0|WK~c!&=YeIS?9VPR-=UO4rv#~oiX75dU^H%OBspp>nl*R_yeM9L z6e?tTs3ZU!(?<+~588sSa>^jn1cosrK14J~YJg~s#b5$4zE52{x?P|!tts}3bkH5O z;!KuTM#rlsu(B7LGU%BH8zr$sV?uyRW}-%Zg61Rh!9GQ$7o@|}KT<>#0RTMXuV#o* zFk(P*hf!NF;FB@wOw+0CAXgp26G(utNE6Pv3H_{duc5dx9g#6()sMJ(5~UDaktj5I z)|x|++9+(6OE^cGIIjo`F(g2S)nV*6K1L+LfMc0)iK#j?OGoe1I7z5ayw{i2y7>l^ zFAr=+hyjI!%4FGta~c7~HH?C6LV?_KMk6*Npv|D3^iBg8Kk)`*#z3=cR7foQyfd@;NAvV&TT)G(;EDT+BW+EIg7K@fWq*#J)f&@(x{rUyo#Ef@X&qQ8Z0S zP|2(^7}A`$c_|Vd@HjRM9EE$0EkLYn~_f%Ul@H=NW-YkxT6<8B16jPs9Mwu0zKHwfQ8;jWC6n^vcezW)l~ld2Mq|( z3;KiPy7b`-mKb98L#ip7{t(wA8%OarpIlN~MTXJjc^g1g(6~=a9{tdh4nF^z7uHrJ zuS&9z)v)+Y@vJs3fY$JHF|JE+k?b_dRgx?(WH<$qO(hvUlG}sKhP4QXmK>P_V zpI`$ar7SuW%_UjvR;N!=K|}0T+!hG-d7($aXO(4D5@bbis}Ocl0A}zx0l~4#lEv$S z(3{(<$`-fHqNr|7R2+iOCx8oFc0!I#!Qkj{gNxN6g9gC|DJ~>S)u5ikwek; zpkIWL+EQrDs1)=lKq3h01S1~ZrbnjV8w<%Ai4k;+CL#~vRS-c?5PT_E@zK_rsTHg> z`*!(i3`DM(%E1@n8xmx}=y7k%@cF}POby@$GMpIm0@?M#tn~Qw{0%j{fSJW985~?; zGdTQ@rva-jHP@`>fy%~=%^HL1&z!H~yKO#0wg$Z`)b%g*pqj35!=bK7zi>?QLvhvg zMWHZgB&HvkG#Ur5AXZ7uThBZ+CONj{^v&Gi+rzgtr z`NI2>{C|)Y(H`Ds{{MrlfX^tbdC30sXO;-cBGanTH!X3MAjrC>Zyg+E*oxD1{U;t-+d0?|50$_@SEfuFK1JR)R0P)ooyS(evh z`ivHxZYyeb_@dIAZ+)_7my4#P++99aEYcQDZ1&Bw>B(D02z~l?dvwh2|J=CmvUbzj zC2xo?zw*eVQ&xXb-v7R$?!BA%+HHBfbB9CacVBLuRFrk~%H~7nHoM<`S+~Ew4_rKV z+M3JCK3;jt*MV0bFYoZ^xX}Y!ow#W91+DtN((s<7&GWUE9sagveZS%TFLtUg?%(sc zZ&>@a+cx{Vx9M5rSyyapB&~evy{+3?94ILsx&F`h8VsJddFiFk-ZE|C9rbfoJ^sbV z3y&TA^gkcnH$Pca%iFGgYTf?FzFM}b#WOF(#Q*bZ^5c7+o&M+YMq9U@>=$#_$L`C! zH;mfQ`_;StNZdXBS2la@trHil{d(){<89(Cd6UOonZCEnV^`lY>%HU=Z$B38 z3%t@|%L8lgD4BA@4=;UvTc=rZmwqie{v3K}%AuVDhP{9A&`k$+ExY)g8wP*csNog+ zzyChI&8Mpyw;tzwcS3DzjrH(BK?{^+Z}MmCK8t?i8Gn`M7>QS+RosbB4GyWrlp-_7oDaO{z2chS-&HEpZAgCYo`v~_d;XR8^X6k8 zZrb!xH`jh9^;TEqQ zd}K}cS>Jx%fA0Lx@5^mlC}k|)@!FoazuZH6-aJ(J6GRNyUIyk4pf;Not8#E($cokK zl>mE_BuxWjvk#~!0cb4;5Mi2Iku^~T6`>12JiF+UWt)bb0~?V4vf>oM{R7@0#R3eQ z%_ie*w@(AOOj9vnRpHXW6a7bo8er9^Cq%qA5lq}`a;r|nCu4rzYn+n3=?}y^(a1a{{<$# zp!I0$j_ilH`v`77%-zRu`w?!><@Tf8K8f4^;P(5u{TNK7r`}`S{x^4jh1)s)zaFK7 z;y=ONf7k5>{=Xi*NBC~~+GAB#pJo_jr@WG#zIkM){V?ROKFXKbXsuS27w&r%)A4D1&#=%5-4g7yYFL$SMC;xZBM7j+8e?tl% zVHo&-$_BI3z9RfLewW(`D~$9vruoH za0{pVU?M-=mgvt7K7sC(ZgMAoc)$B}ZZGHd zr(mKE3_gMGU%`&_8hirX_i;O!2*3Le+`bmg-KiZQztPiSB7TEUAbPcKH~0jif7R^lx!e@jkC6{Dbx;^C+36jv#bbra z-at^u{B#X@6V%8!^CVG)tYR5V$RsQVI>$T+II!ctW^iHpKusD{`RS*uMmWaVFU7?) zM&aZiC!RP)19>wJ!kVdhIXLLS4kb>^aqG46i-?Q zZ~)s3yqh?=fs7`!#S~;k(qR!D%i^GI7(X^M=K(VVnFpPg)g-H=Y7>$f2o-6H?a?FB zG!RF~`axg{N!9gDN%TjV5=kto84fF%A}8#f;@~Z$JRmp4@{jbGQp%BTNY){G3IHor zI*CO!>BQ{KzzWYL@emk!Bq~i^(LxkB9e#S09a?2iFk75aMcEUj>M$ZSETR2%7F}Kv zC#{U7(LhNU)_!SmEDcEsDM@7#yG?^Kks|OilvMRwE7b!;@g_`|03t{k$EJ+u!6?~i zD2Qau*zCpD_o=8JItcAvL|3ArA` z{amuAntyn-!aSIRw?wZ`vnrq(04yFnLn01gz(l6v+(XeUm_T^}r8ZPD*M0{V3UBpx8RgYbvtpUh`fRl%mN)(Zs7d^ zmIoae&ac2iaEj>|Mj5YSrZI_TfR$}VnNxKcm+_35e6A);g>CA818ZH8KFMX~BWRSr zSdD_{45g?l_Bj+69qP`)(Q_M$hz^!S1* zqOs8^PLIeY514R}oS8nj3s~_*iTE!NMtkHjEim$z9-fiwYyktSJu>AF54*106&Ts` z?!ZV(L||msHi40yO9LZ2b@Gf@eWQ-&P8{SJ(d}`Mf#c2?-8qmEx7m|^z+Zvse&sb! z+JYkq=E@t|kuyd9pQv+fBD9dkusXzG_9cDbf`7}k5k zDi7hkQz9}w$-hqvBp=?RUyo%4lJ8sUNtQneB=_m-Nxu5$0K0$-AAIa#{rY3Dhw$Np z2R;x;THf80G_zeG$(H9yy0V35&^reLgI+rs7_{ZG0RMi~8M&;_r7#i*DH;@k3@TM1 z<^)g-nVwMSG4}{mRG1!J;d(rC*tL(do# zMW|MxuNNY!!yz)3Bj+=ywmd<%RH}xGH>4`*pe}+@ldbz{51=nDef?jpE-L~N>l|&Z z4J8=3=&ozvVy$haBJi_rHIR=EuO&mnY?vNv1s2!V4gtfer6bpdujZ|kVYCWNY0xgC z<(gu~<6s>(HMb;@uyc7@nJI~uHO0g{02@@3!{W(;hWb33q!J?32wW7>(KJniWyo{I z5GB38u(Vj!JWvsz7exY)p`I=0C`<0J0s1_dE)G+B^)7jQu8cxZ$*j2yobVfFan(B5 zgjq#w$U$+3%gw-Z#fG1{zebq7Ff%BH@Aa&4)GSk?8O=3Z_66gOuv3Z9(O$#kb}&M> z)LI7Ir#oDa)EZA;0X#%BMTqYg=cw6GU|9wxitz<7Dm7c~^W3yV5%~H#7SFjEr9^XG z=}GtqBm$KlZW#d;9ZqSAc9cT6J^^qJGfeclFnxxZBcxLl;;{1|=bHLu0|8-*@hW6i zX&+LQm3R|?<&`0yJD{+f#&w9i!B&$`Ti8Cs;}bXyWs4n9b)+q<{4$?m)gbVAn3{!C z+RW!U7`H@XCJQS@=2H~L=W5tdB$Y|{jsnu_4)<;N466*Fr?3;!OGOY&8BZ+x0R>riO2{oeGpirWPGRiu70*C>r%t?(s(<mRDT!IVhi%w`{*C+yPGqPPpywM+% zBaSKsdVs|YMaG4tAZ22@ZVmJUGG{R><-m3oYgtU879zGeMQEaD5i=qAIu*jd3%O<( z1VXI=b^|a7X;uZllt}^7qp%F{hyvt29lD7~LoXFC){I&KFsY~jQ(2B|ipEYkBx_lH zc!9Zt7r18vBZduSDs&q(gVy2h~JJ+6=;Hu$!7T)#{p z#QG;D=wlM=i2W%nFzK5+#IACwzH@6Q~$TVw2RmBOwaf za2{07;TEf#!U8Crq~-wu1KSxQaHVQQ0|cVMi3X|}tc9%D*iNar6g6vTraCenS8$Qu__H^^(J73444n*8jBbr?dZl!S#P-Mu^k12!w^Nma1_DP_}Dm znKB(D6=f2bR&Odgx((3HGR@zUH(ZI(@>RbD3BbhK=?qB}O?~?%V(djTAjqx`DALDD zzE+m37)8h#c&1vuA-X?*G$uw+KbVQ*qD%vrn@OPNOrUGosT~@Lp*giAQ!NCZqjJ=> z#G|JyQ>p_Y0vawIh*dx$>FmtJ)QK|}KMwvdykH=Lt~T`g0&Rk+M8%O9-Snf^QVql} zIg^U!Gfneg+3(Nf$Ss6HmCN8|#1eqcjJ{pQdOs(;(BYB_ME5zol)jl5)(U(%S)~9< z>hLiFC(_#tJcv-KqgMFQ5tBMfkdm)}*d4t#7y~O7U(Q6lm{ElDG87f(c3`{0G*F;2 z3nx?n#Ee(blOQGo#%1bB$O_&Jp54)FlqL@NfC)Xd^a3bBY$AQ0jL6_o|2%MK$@rpB zh1KcHU5(5^M)9hJMdgH!%*!gu1L>_8RRaBhdKuxv!T^$hESKVp)(4I7H0ZK6z($o2 zLKD0~p&8i$kOC^&IUtbWbHNhu-vDBLrc>I078!`lt{rjGW^+SnA->HRl|b+Sn3du4Lx+g)`e}8-2ozRm_$)Vdt!lB_OqFS#hftX7+es-S|=L0|MYqYU8$*;_cFfY>!ckC6+Z zQMXX_)8q?NoDzTVI2otO*(LdT(fS~Yv;ItbrZtKlAqJ-49s{j`Fb(!6b>c)Q_XCO? zo~Sr<3kD#j?;c9VHSGLh6jhhnRC{z&A1L=(}$(urHL4gKXIOGxv{StUcCW5o4T7ijn{!KWiMV6}R zUoiax=7cPvlje*mZ2rgK#mU$e_}ZHM`!qp2|JA7&Y-89hSEe| z+7qbyTs2aOHPVhbUaQ0AbO7+nn`42Z#^{2AWsYV%4jCBHfSiywaIs-6 zv`^7?z?l`qX~g~mQhS=%+JYLIF>&Zg0}_t#(etSw zLpmUmYhbZiWU%x08`}{bFr)@3f*d~q;-Tu9jV;AAWx-?W=^>N{cv6y+l}&`lp(6<% z7h@f69P6`TlF~yWK=^8f)G1A;IrJV5c+VJa>`}CBQB^*miu3?Ym-PcPIy4LC!hD)! z3`t(?l$dWg1%D*7hHI+8*Oi96S`};1Kc&Hlqo#No2jR7X)hR$Tgbg@l5o$za#qLtA z&;;Ry3U<|QQ|v%hs{lmfR9CMBM${S?a6xqoxA1l8kUrO7GMpu?P+ym`1* zTwGY(8{btd#LWg2*wAqPKh5X=2BMbQYi&QHU6V;aYTNW9v;Kbv!RidJw^RV(PNBy; z1Rlq-a7KSfX12y(3i^MljtnEs(}Wr$6j%dXq?y`4b`eU<&^S#(WgNvtK~fRZx}Wv{ z=ocY$Xeczch|taHfF>IkSPr4Rhw1FG0J;To1DnMKtv@~yBn*(hgHW6W@Ci+X4jPB* zgSJW1Ny>tv(TwA}j{l1LR>B2aZ3b?qyQKo(HLPCClY<-7-?jhyM|Qv7Ib+_8OFzmT zv-$lG8qVzf){{SH4tsTF_s^5Ei*7EktyI;`qks77jVs6cC$1a!OS;+jddrTxSLS66 zfArIw^tRWW9RGRj18d_}A9(Gtqq|$YvgGcvVSl@}=JktT)9I5ji+3G#e7N(#s?Pg| zHhrzb=MPUG61U*JE{SQ&J2vZCKQTjEdaL;O%U}N)vH!82f6aKTPp@tpH!b;lZl4x8 zrPF&|S+=Sy_7l6m&5El>{C@ewv?I-z?KHnPGriqATiOWME0bfc`J?{gLt@E@xRWiq zb-HS4*7uX6H?O%igZ6I^{p8BVkAE;}-24~3|9N!NF3+I@ zcU>|1*R%;+Ka_SPF1x-kc3xRi|LEh+&wk$8!kx0<_Uk_X=fu9aV|U)#7vI+FOI$G)_c0P_|>|r@3;>iTCu6asFqV_eh|Gpt=UV((!e|4>~f{^ z-lrRX^UkaHeEv(z4R0OZnth;C*Fq(8{+AiUT70?wo4q+BR=)ar|DFp^ZvG)-PT$|& z8h6#qxp%I8rTpnFeHL%&WE%D3$ohXY%^5iS;qw2KzneZOsq~tY9d=*7+q9_t@|#<} zuzTIK9mo6LSUTW_2S)E+nz711JN5OVqg_*8y6uv(m`{}0L-TFcbr*gpCkj_~pYwR` zk;_&#_-p1(M>;GSy1LoR*O_MDy6&;dbAKH8T#U+@kTlb4vG3eR%%2i<2$Ff-g6>Dp}la*0vsh zUOZ{t*yt%=fBRtD0}~$U{qu>rC%5k0^lIny^gZKx-*ky>c5(f@EXcSn72?CYyyu9$f1thkTb_>>RtopeR(@t2P6 zFyzZlJ^$Kx|FD9e$^(JRpZfEf@=+UK`pCL+#fWi4A{BzCDgc&JrvHrqd_Iq00+~R6mpJwJ;-;0~|-jgTtigqmidCuO? z^Nvs0zkYGA&pS=NEqddy^@GI)J^#*`+)wtxegb0cq+ zlV+Wmy?x-~%ik7`-ZlH#Zzi;vx&F_W?1_sma_)}vP3o}X=#8&OfA-g97sWK2Hgv`E zZTC#=b;~7v?mzNMn@6959yRFvazQ7uTeNGcqDi7=g}|=O<;A|NYOzAKmrI56D^S2# zpyD0UyLM>t(x8kBs>mbc+BuzniuR|hLj7I1db?Dz-xxmti&uV(-R7?;Z%@YXo|_n;zRh0jt0i_A5@I-}qNH78jV}{n(c` z#VC;Y*NR-l{nnYacrr zb&jR(wJ+7N_HkTWw`7^IHBhH~0A^dq7a;i>3x2&qzbX0JxWWPrtJ4^jJ@DwF1le*P zPB5@{o5i&l(dci6_-ow~1`*aezEHXjEN0 z5G0>;W@WR#yg=2dDT61{n5`AybOBtYbj%)&8J-h-ZBVvWOuN;PZqCOBJQS%q70^p5 z(8=o3pnet%C^*Xi9ST5Us;Y=K*#;MDPi!?76qV%lWJj12WE`Xw`_0fRtreU7ML7lR z#7spzBy+$;6>x-H;LQY)s0= z*dghruKo#7Q6O1ucBrrBep3pIO7n;*IyQOm;N&5hu_+meahS`p^?xj%-p0WU;{OML z6L2~_aQwgPF5J`JffpC8?CFQigZc+x0?*6#A<6zdw-ZjC?1UpG_e;3_Ak3z?h^vy^ zf8zGR+|Kd;5fm4>{{j>5M;PyO{C@<21j+p{caPzAj{lDs#O)maA2EvC|KR==Za)SS z>4~_3+yCb7z(%t0IsQN56>dMl-QU#h2L3xJ@)eX4rd+)jBV`vz_YhMD$* zX)BBQH}L-ta693pQNGP69tw~4e&GKCstdAHxx&49TW+UvBKxP@PUVC&Tu9-ed<^{m zg`2rM$N#rThaKS>`2QBE(ER+Z1l+czrvs7Xz>Fc!0Z4)ZcenxSiwmofKc|3cS9H>KW<1cpglo-$mh( z{WWg)a66>~W#Q`2?fYROeXcunyMf<#J;?3U5P{csEkPS?gCGfb3471yVIs~5YL8?` zdYC)4N5miV6->l$;P-n|JBQuC@App9?FN3ocM9xXkQ9#J?@jrJ{{~qwk-pwkUS!Ya z_Nio#rGtj7qAWAps29X2%)vz+!=Dra)n~4{k`5@(;3)Bgg3^=(8mWsgpDHNv1I`aA zKm3voRfKVU@z76L&f(U|}_@2rJ5D>I-o&Cgy-qTgEANLP|m; z{Ye|ljKT5DF!u%LH)y&k8)|WRQAuPojQ4m{Tpnpk%a@Bw@YV8~;$)I8V<%P+C-Ubg zkmq7&QO;RLBAZa zRuJNP2|{X)Al!!cllKb34e*mT6zv=C_kIPpj|3qW?R*}-8wt7Kslc<8&!+vPqu~1j z1;6wp*`}?~|IuBA&3Jk`Q%~o)`HT9#?-bV@SUiJVYUSA^;Rpi*gIul=w+wR4nhDI$eARY70hzj zsgt2&9=ys1;!sqn4L`||eWS`4s^Vw9Z%Px6U zH<8gf94fH;n$=>L1gpsO8T9R%%OMI* z)v0Q3)PP%(H5;~QL8l;Dy-te^MoI~VW_2id(TY=R7m7et(7x=b1*ZdC;CLb+Um$Ss zA~JA&p=QAnE?ImI8QHR;;J~}>!{iy&f^sF2FsI9nvbBhAhwQMzH%Pigv{0MZ1$RXg zA^PFc(5P+T4Yy;**(PGLFN(OgTSc#Aw|l)dOwCb`Dq6SI;uVP88#%LU*iyDwz!i=d zaDL_!eLhLHg96;AfQn3oWD1BWWXa`{kva(t4ebr}50)C2#@dLCJcy`chvJk~uhZcM zfdyK=6SNwlD5)+mV2I!#vw?gZ=k~J2>b2XvB8FG=HgKG|H7anoO@*Qj(S=l^rd@U! z`_tg7a65gn#V5KY4afg>tIq;LMl@<_6F_x3z+4WV8nCW=?I1rxTktt>tmlBVfJJs_ zC_Bj~YAAl6s9@jR;q$sd(4jf3KD2GCtO}wAk~Et`Ar(cET~aj}^(jf{Hz+XKYq8lO zWq^9Y=%G0fn9ZetS6y^r(WoLn76JTgl2xN#0+a<<)4|}Tf|<=GD-iTUAFzYHLqd+d zNR}06jSe&bE94o#{2?l`C<~&`il&X>2uw6ioJ?9YQ34qyO399+01N{71HKLi^tWj; zx*{0gY^ZLx1qTE+r&SYFj6agY;()C3)XUMR32Q=;g$ThN>=^cW2e4b_G5 zNOC9+rzR^ltDsPI*)Z6l>`-J*FlE}n4I(KZCqb(Pubk70GgGuPO|hzyb{T^*^SC|yD)5`RYO`7gSi4~7?=xA&?2quo$@qbjtxpRgG>2x~QUq9xF|y*;^C=rrZLp z`)Lm#9+$rU=i!luT7RwJqv}=ZC4|a$2MjaRaVjiyozvfcgB9n0ag+!(l|ks_-%RT@ z{PBT*y*9?6P!=I-459YW`_s9F`a6^R(6m?TEunlx!T!X$P$gEKDo$7oX2z$cCZ}eK zQI;TU4r}Qi{H^^$->k-Hgf#w}oJCbQfOu2}Ly$F?i;83f-J&W{4^?^dbZ(VslB$$p zXoOXqYA)XMNlIje6sZln%C;y+6wYQ~(qG6pX(;`zVo&-G zQy{(Vm4UQh7kbj(Z0<>W@`V5~4y9f`L}wYgesh4a2{k?%NCrdD5L1u9;Gq^zQsQ*a zpxb<&L4#Tc27cTkFfeDCC-G4!knrNGfrOEE{knLVr~liXJ^f#e@$_H4GthtK9#8*A zQa$lkuMWhwnCXezu+I}Wy=@>aJKqyGJTVY^aH=Qvz^p**!W#mychB?m>-=P(uPxi- zd1qh1bMuY>_yS&8x_zl>aPcckCz)bO@{8q3l|&l!v4VI7YV#)%x;YhW2eflCJZf;1 zX&`oZz$;Qbp3F+2nxU*(a+-0x!A>P0x6JnQP4NW)#%Ma^HikC&3$kiHxL~i_&qSz$ zy@?}_vxyidAZPPBv}uP?oK6(ySwusa_Hd#h9)fWEQ4dPhCYs`MG{SSm6nojtDXWJ_ zA28&WM|6tTS2UOZuVF;QXD&{KP8%&Q$! zgs{EZ!}n?n-)qrB-?2k#HnOr3{n|1O)Ns#`k&VQvb$V zrw)icfRaLuZQHTe7 zB#2Lvz-$xaFDxQP1EWZZ!Y|yIEg0EIoQ9YMf-*E*c!uibG;R=hG@JSXBFr>l1NjHB zn+e%OW(J@k*jAvBy9|1IIZ-$vUF(iPm8#>akyAtg%wlH)IGE{Ii*q2Qqv5Rhj3W7W z8Fo%lw2-<| zSFxakIt*dbiI@h|D>?%Wru`Mc1breN9b->lRFm1v5$l<&)v zv-~$Awmb+KnTedr3;vc0WIh%Wh=73jU{V1C4cI}>s4s|8W|h8h1}#FY8b;sJ67YKH z*(V7qVrH^MS&>4H@26^lTokt7R1`e8o-nrrw3|K>5OKw6CKYsOZi$3|a_cY60!bE8 z`S?qrZiR%XSTvx(D9r&;g|0XxzmPGp86m3_JTZ_NFGGMAymSWkpQwp2YpE19>erYR z&>)vD=j!bREZg8JhQ5$|Ebc(`M_fQeR0SROm^BzddJ&k_ieqP%4@$Se$de^c$gPxO zqM<-ub=n=U<8l4mK}H1dyD_CQ=n0TmBifX%MGzXJ*4Ghd%usMaMa72Y(9Qy7Co-0v z2#*W8VW93jITO|!DWmja6J&tclz)%z$-_0g$R(&&RD_%bmPSUoXqC`tkOPO!tdIjExG;6aEzKp- zTKw=wP0^eL$1Fw(LY?0Tn8Nc1KX5!6Jkb@&fNu)b2DT#%EocPz$a-lELWe9UEFkuc z0x#`PM-{1zl?8$6liJ|ym@|?<5**EghOC?d*^8czB~A&%|A?w3my!ntMTD*sUQlC1 zyoCh_juE4cCqflW_wigQ%`eg^3mGAYx3ClhA7&cQ-~@V22)Y-kT^(#X z7~1UUbApD2c4hJxkeYg|PAFDJ<;O=_ikH6=OaX2tphl2(W9Z2#iK0i@GFljA1{0v{ zfm5WN?&UqXS7AsmU<3|VP|5q=p-WHfouFkk130(E3`UR4@&;+ee(ENh0Sja9Fa!Q2pvQUsG6yZOe zI19z4g1=bsmkFi0LRpS5DVzSYUlaVrH5JBGf!3V-=(*B8^Qr%#tRu&)#K<&CjU=EU z;Y?D`l`aaOq?}2DpGq;bB+p5C1$&}U!P^307-UquK9}1IM28KW3y``~AmZkPLM2J{ zLO2d$YYIg0=)dSB5kH6)DGH>%+!h~9DBZP-R+7^6IlVr+s0kPtf>G&$Al07e0wAG} zg}xc-1CmqIgjhzLm{gc042d6}7D5OU3{zk-)EKoHCtamLVv|!wCJspuxEYm{*spSO z@)_q$FsP{i*=sEywge+lp9*rFio0M-3URG?Cc0~UY*Q;9LmR0c+G!bif)!TDbLfkq z&7hK}TG@MQ4jX7QD4mD~d0kR$=HU3Ww7v=PX_W)keR$q`qWltV&2m&xqIY+21UV-e)fu0%NnnxPQ8 zpcds63KJ&@5{HwR_0u&ogP53sNWn)LKl+xR>UTP~Q@wL8pVOSfn0FYaF$W<#%|Sxv zA@q#qBZf)$5Vo_|Ax9d)w6TCNmWTT*7~a7)*4BHysN}m%gi%QIMl=J89tQtrII4%|p-E?{sm~ z{P(>4QY)Cvi0zD+&YIv7a9x;!`8+OSMQea70vFvk!ey|d5i1(=3!{m__KP*?r0S|( zD`DA$(h?tl_>kQeEfyb`g@AMM`9v>32wtnt=X7IZ0eZgSTp;QZ$3MozoP9c8;AXx{eGYKJI{OOwz&P>9(z<--~WOZ z@4oZLvR7g|UHxL5wtU6M-;TI3X3@oIUw-k>BY&@7^GU0#+w6F0$bqB|ZOSH{*jE4J z=v}?G5A*P8>FC&h0$r+s$vyAEIOlFMj((o7Xm_ zK0LZ%v$CWU4}Z0|!Ecr)7N(?3wI>wc`e#zlKE0JIHw+nk;H}R`+9yq2e+8V$(@Hc%-q-GwyP7Kdn9oG`=1Tjk(!_Ib7y(pAg^ueKbx0~*l}OZ zranpbT{CuF-}~r8eSTQh@Sa=uo5CcTa4q*A0K)Dm#r7hy7`4(FK>ItcYNu`h24Hwc15FY`Oo}twBubPo}QWB%Q|v# zcHs6q2idMMZ+PZFXIF#yiO->mPh)>F1wrm2MbX;BWVzV+U;y42*hf z;+=g~T|V^Fn%c?ev8{v!ZTD_$*y#6^ms4z4-96`>j$an%3;uZ@zIW{Fr#h7mZWh&{ zX!@7m&y%M$c(U2o6I?B+8?X-xt@~*YK)09F!>aesWuxA2(Ksr7p7WNEdd-ggV8*&_ zp4*PD`0TaG*|`In-@fLBPCe6(xbA!L@ucCCdf3Z1J~Ogl!JpFJVHbSZKccwrue&!V z6tC;@TC44w_ubTQi@jUD=3{1$>i_Valb@V^%L^a9w4}kF=s@31zrF1DJUg)Co@+Yx z5{@k&>Yny@mhbTEledrF*nD!sKf3Qo{b9jZJ4cV``_Pmb2WES|ysztpPb^xH-n?b< zU&Y<~jh)#0trrWN&e&T&u}klMsI+OcV9ky{Kf3Ujccu^j>DX17{g2%LQu`D4u6X#; zzn}z&E_ROk9DUD`kkNhfWT!#aXZ2EKG$Mf@^`Ske`-*xeQQgbd%o1*=; zzJANYTc!^@dBv`StBVI;dgr$T?-{as$J@D$Hm@uiSr|EZZ|7^%O1s?X@YUaZ`-@%1 z<}~$8yJ-8h8_Ms`@9i7j<rU6ZqZk5@kU$g}@!|K;{oM;l)}Xlm5% z@&le*MtpqriMSVzw|`*Jo8)zE$7wa=`YQ~!oucaH4hdDi`r4dmbi8nS3WCiyTt$u2OVDH3$x zxB;G2f#3qD$Z8X0zt?qF0w#^HSy-qd-HQ4xbC&3V#BTqc$cyFk8vA+8yZ?M< zz2v+`o|%|_KI1PvkC9`;cDx*=l|s`4>uBex=bgVkKVHrpm~uWVKsleietc2!`OJH< zaz0}(JCBj)p3g5$uAG?=e_k_xesh05TU{=I_vdf4%a!xbYwYK9w8@nxoX@-~-t!rI z*7=M)`@DAd?40wO_jB}lr-d19EDzvo|3sKU{=Y$ju;c(7Ise~-v}4r@mlqe^(+@A7 zlK-zYcmDwXEC)o_x8(z!pod2&O<(I<8 z#oV9ZcB&KdPx&TylF&dJ8c}>GUxWXzkr5wBZNPsciVtxa{C{}FWI_!7zb3@dgt!g< zzoyf(F-*hER3f~12`DwZq<|nvy!$e>gQaZ@a`TxX&+}=-jpEnUEy`KOR@6VeG zlhQwc+c$H2B20ug?-;j_(B0>Ef=THgsk_fl=k`(D-3Wg)cb@{2;-hjveDkNnr1-{i z_W-wFuiF>Qfl2vSU?RT{APww&uWnyR>7ej5Zl`d_?&J1x+)nj|_ZLz)MSJlGa(7S9a6z=v&k-U@cq z3AsNU$K9#@BEBV5?i3zL6Ony}Za4S>m%O3d4Zgr7Z^KUILy|^F%aYHzdlt8U#qHVL zzK`s&f|duaJSa}Zv6F&(0Xn0dR!9I52ZfMSAr49Eo|#-3>3h~pbPUFnr-3CG=uHc%?0M3S@uGyTyNW-~*FbTCvBcau%o5c7i`S?I?De<0WhAs$G= zoDfAVF3c*H^9==gB;Us*_zV$MNd2+&vIDjPIS=BEzKSHXz(~g?4+L%ycWY*3BA9xT zS|$;`JQ7^OZ$H(AFjWh9qnyw_=&-v%RRxY98_1TdBGgm(R8S^?R?RDcM+g*N76trB zHmm9cKNZ-nz(FR*5$%^6x=av`3U{)D4N^bD(SrI-M;zW?lX*N69mK@OYgV(Hz z#R?)XqH-f`dM-i1&M)})aF}HUlM=Y|oFGARgX#)gTp&S)Do#zY0pkN2Iq2!IgY*bQ zQ+7mV7r}dG^?}+7fw_s_%_|WtAc(+h=$fF9lRz2ga6qn2lVzN$fm#W)Swu~Sbbx}7 zNTe(dpMdm&w+j?Z4pqe;u)EnI)dr3?P=tZx%n8mZ8TyK3yIWDf`XoEC+3ogvt!}Vn zX*R0_dM_2cS76=)#}fFbTrMjJ+Ca7jayMk%2enUDn*z!}1zcR<*8(q>3NAbg7{kCW zh5{ErFlAHmGMMvFl2&590?C~Zhk?*f?j+_lXkmt69(cz@kO_i|414L|3UsI-ode67 z;Ff(zE%@wYA4sD>5C`@_u(w$>P?V`iqRk7QG|7Q7x2Pa`b2+fO1^qN1XM z|4Sif!%yqkm}zEXCXVU_5~hX_Y92^g#8uLOh6}`Lo?3=Dg+USQb$cL#>eUFaER z`Zkd9(-coeV5KKx%kV(P^ah@csVxH;wn>lSc!o8S$Rf#H>JSw^stGSH*f#>)+uSdgx;P+8GE8?Jfj{UOP50G@^qi z<>%F&lwPtYrF-u{$`x07QW`z#Nj`M9CwbrhWA8oSqbjrh@u5f)1Vyaq4k8#NlT5o) zfWU;1K!89<=&0kJxp$Hw)tQ74Y}ip0#oh~|>)P8|*1}j&EGWD7U3)f1B*IyNDEO|71mnACb@V3ISK^fmSL#R1`O>db2rC8zWW zltg+5N`|!uN`|@uCH>XF#DBk=nE2g|fr+0T5SX}mLt^3wCnqMp`%YrwO@)Dp7uF^w zu2>nEcw%K@;_=%9;+mBom}p#+ze!9iUKp4-SV>Im`PV@4+&cor!?p$jpH55&pH>ZX z5`jr=fk6Jlfk5wnh-<>X%K{UA`7U8zn+pOHS`H6PXjT#v_PQc4VUHUV6Z-c^Oz3xa zVEoVT2FAbjPGJ0Viv!~~JRKOnuy0`e>?Z=_XN*papYl;+{KOf7@yee9;|tD6h|AhL zQ1s)nK+(3mgt)$cEl~9J>Oj#KS0;)+pB5aVpUh1Zy}K?@^wN2OqG#tM ziXM6;Q1rJ`5=Hl&8z}l~QKIOcF9Jn(Y)cf~Hak(F#_Fu|qIx|7-y`UB!{WAV4s~o+ z!4Kege^>I8SDdcp?^^lf6`?ET!z)aeU$A%a3;r(V_w9;XF&Ydz#dq1ctCk%)G?VXp zcKy>z7hCD>Vt!Y){ONvlWE;AMU^%!2+F74@{1k&{*ZUmrd$TnRTbHJoioJWPBOJ63 z`8{3C-=%>;`CS?qoXd5vXZUqxDAQQ<{(tP{y1p;K)t_Gb`W#?aRTdq5ODOvX`yQtn@Bh#vDh8T=C`D z?i@#m)~H-cR6r~dac<{Currr>=slE^m1oK56lBb8jFHhxZYFbZ)F}8$q~MGmh154meH3ZwNQLH;vzEUSVu3q zu~Kh|Su0eyH)&C=f`?4;#{ZaFM#GFzv0q--86KskJr{2Jzz&1IPi z?*Y?dYD-hNc1aWwI2Wsp1$AaRt=+N$&aS^gq;)5L?8xaFZMYQjNZ3iWAILC|~ zI>Olh)4rc%0MpF>x`H(>TIh3aIx=^m8nlMzTrztJw;n=nxDQF; z_FCvjFg$c;(h3)?2|0hDD`@E=qMLKcM0j(~Of)s;%v~W&E^>;UbID!7Cxl1Hy@4{8 zLXPy!*%jnN)P>v!1;L@akeRrUT)WQM6-098h)7tnoLwPUPA3?boNL?_oO2S+P1WI7 zuiZLLZ9!y>I{dphbM`sAf^WzS&US}>qf@;&qbn!~K^NR3n{VXYBO=N{4%NxMz^)KR zL^{ZQK8bJ#xsJ4>D~OEDU8qKmh%9&<5icR+~ zeyzzLso0WZS+u(D97%j6Kg`KNzr6r?b7}#hy+Y=FMf=d5IbQ-CrV#l><_FX*%VSPtd8(nwQIvc!`kBjy6~;o7%`l?6{U_ zLvvU0*GqioPDNZ4HUqI6#Q1kkUXd@iZpekW3Jr8;_ylcl=M-3|OFJz|3}Gij16RR0 z5fAhk!Yz0DNgBf(ND-CRc`Ko($RU$J=uTRx8mYHM zT9+*=u$IHUF)5$It@UaQrC6;?;JzEa@2rv5#&8SVB*)<=x(#lfDJ+91D}*B+b>wb4 z+DIo->YJJnH6yIz)P^WKq-vs^N#&*17Pz>!hTGwOI$j{ENT)+!TRR5UT<~>H1>^O) z)@JF%Il4?2Ux-I*8g&gJ62ajd0ejtwn|TMINejjs_8tr`?fRFsup3+V{h7(^RI>(p>qZ-&El^VkY1 z+1R3@=ipviR4%0~Q3?i*Z$)Clg*#d#Mj=nS_@Z!9E{P~r8hcVb`W*E zh<|~G8wCmv>2X<}XucH@YRDzK#&sv(@ZrWF<;&+oLv8R!-$)+3tsv`Atm6cXuF0;0 z(=hl~*WzQWQ_$VeV@|9rv&Ka>DVO|W-w>K88YSP4p@ZRD9nQ=J5{QvTN5#okb}?MoqwD3tDsb6Y z2VzYj;6OCeULYd&P_AqfNH%FklZp0fz2U=~A~;}c8|wqx>8jI|o82(f_qVVyLuxT;K%SVQ=OLsn{IokXm)+|vS^&VsKb9CoYXhPTI8qA3C=h{Aq~h=Iv32?C+Z23WfK$0rojb! z5nnsvT0dJ1rEXqT7k%) zLAceA1@QweC&fKXrXbZmo-fDQxQTO3h~%KQv>-RBt7$Cd8{t+l^<)JlB8l!GGT9OX zk)zXf@uqrq6R*}I{s9_9xDkm$RZHPM#J5E2iTuU&7Hc~$(JJ{7+zR4N`4M?btwAV) z8ns0a#?c{pqr}W?Yl;CO#fuHC^(|2Z2EpW~5y#9>V==Xzkxf)IQa{Ez2gmkc9~cIO z3@&L15+*E>qoyu_B@X#e1s<7U5t>_KYFLa0eDIs3gl4cRD22@=73R!d3Y5SigfGTh zwD9QBKp&jTlMXqnII@OV`ZOJGCTj3K6F0Na20OcVWx{}X6HsO=I1@#I2r?*%-3B}f z(xjt?;0M+s`6ePrWXWw{l+2U8L@ZdktvRagtQ?TDAi1R7SsqL<8-`nt+iKB~JNsh1 zJ#OQU7vvCiub`MA@m8#iG+T^WB!i-$dmH5t8c{}M>@f;G1|-la@{ER{7g((evUfv+ z$5&^gBh{wC^VwK!v&g z7o%;s#>_DBENqL`MGK`)Ew~Gz)v^q0wizQELs*Ka&FwTD^Jr3sYxQv5C=Ps~VLr&v zFQUpA2QVr@wYeEDpa)eYWDv{AI#9?2MK@E$55yPrbzFvU%Ex-*b z2`*(v83Qtc<7N;(<20YgJ_VVF{P38 z$_^z&lyP2i9OnOQaJ!Bufz2VpZ$z7IM9Xaru%OUmHiX>?;gE0=FUk;$NzN!BN8IJN zBRY;Gf3>3uGN=cYi9AcwW~xa9Q`j5x<8`{;3~qx4!NyCh{5TOcHxBapMGUnpmDgIE zZSh((0Y0wfD_Q2T`5nEXxrG@irf7(bf|!R9Eb~Oefk70DXD3_+ql#vRElI%@qezOZ zh;^CvFvL0_$O@ul#fU4Cn;E)^FamE&!V67KUtHHjtG$ERfh-O4sP$sfdm@rJOC^!l1!EpRFRBtY$lJhspqj$1R zTbYYGv$hG*bByT~Z)%N&b#%Bc4z(NIQwY4MlH5mp3KF|dn`zQ3INAWq}a2&rBa#@;nw(qDQv}s3G z^K`6Qa=OtVX5hbqMH)eq;$oSW-6AV1`Na;iMFGtr_E_$$vX_Upvx^JPmTd%f{8{AQ zh1r)8gEM2y)2p7nPT8tHry0nUi2@1{TBqM__xfoNoi2~ZPrrP2uU&D`0?c^VDv$w) zKw-Vi+X!}LL==4|YHI`s z%Auq3(JWYe(+_qasgi8f=H%niTCX^SwG*THKFn!;>)wr}n@x99_S(6@`-K>D|x z^bm*Jd=5kdz%Lhtw-djdaC+gPUv{V6=XQ?5u#}6PbJA5yAxSkFZGw+1s5QoIBDfsQ z+`@agQd)R+jLW}^^T&HM^inV0) zXoo|{hvdc}+c0Kpo)|zlpz!*#BC!MWEv>CIyHdZ-mU#cI0J#|i3T;a7X@PV;zu&o| z24(HgY~^MQk1X1uIMLm6OW{n%;kLnfh~OF1QQwhHglHz(CC9~EfKKod(EyFv${1+_ zOBBQAs3so7>~9S-4Fc+=uL(v_76G~eMz=9Cykl1L)`Rba2OP86r-f?Kq!t@NO=xA_fo$PV5#VOA6 zoop2rNZ^2zb-OWP5V!rcEagQPN;I618DE3NZ)BdV_&NX7f6{gKZq*IN2au zY1C8YDj5U3^Wv@6Y7$&R-AJm-C=irXO;{u-R=1&7%E!%OQV0k^fmL5BSary~30tu& z8TqWSR?=J%r(RiEl5edhu?``0aaDyiPs$0=PN5fIRi0Foj50UWT);Go@(8*7c# zhL#PNLr4_HkQFOfY2wzU%cMdGAF0x%m^A!dL$PHr4_0&q3tlGRiXpsJkCNi6=R;b-A=C^1wfD6*nrsyWm8nMj+k*MY535s zWQt*E;fMR&Ubo^#?m0LC3c7~*oPwXIAPFpF$;Rf9h#M*KjDUJlUM<%xQeQ4J*9alm z5o5a)_zpE|1Mzj#HAH$@yCzo>a6t%>&MHF=WzGe2{KP!e72$i#Wj5tQT%g(isb9nT z>~kqTuh@>j;6o@94Oszn8l+|sRUopKm&|IAF-e5nVwwRTh^&Bf(BqQBU^TF{dP-Ta zd`8*K;Pmnt(+FF|K3J{+hSr*DV)y!-EYRT(7)&k@nH-6_MvMN+%Wx_xr9ixXry(XJ zDnuIMdJPe5Y=*>k0&E9X7&&8s>lteuMT_4NRX~51VFnVd1`=^+S@i~p_N+B(ETq;* zB@9u=7U79av`xvj=~JYvg+$0u*vtO6!IUP3!s!E4SuE)DaM27qtud%PMb6@SUfvOiqg0#O%_bEs_Xo} z!yDWw|L+w2oU~PeoJn*DYgDXcp+IvQb)>#}Al^X#mMM+h5hIHNY?oI;q9Q z@@NCu!?cpOVC)r%=rJK$L(^rIwWtcLf*Dv?*jSNm3orQbR;+|Zw>8C}x&(f8 zoQXsOXjnWhH~7JhJ>>Q$n>PlwQ6hROsnwFyh*V?IaI_`J+!V2|7;f;VWAU!}M=y1- zLWC8Ou@wn+ETzMwBm$lCHWn1Q3Bl~-^&fMDwg*nSlZsGfm?mQLotz{BQH9YK#;uW* zaS>Qs>M&iz{!6qMg_*`)A-#nx@)!?LVd8#?S)|E|v2l87cWt~z=nGx09Gb?aMjJL3 z&0-*d$HF(XuAG z$sF3$!7&P=j>U3H92Xg!QWDE+I2MJe27G(OvXoDGnwn*kI}AT&73Llpc@X)eX<>?A zOdCD%4CForKCTi*b<{m@%?#hn)Xyn@^T^narU~_>$Zn9_xFL3-9T>Wtg#1`K@VWF7 zTHt}j+7OLHVgnA1amGZLDOg-kL5W~ScW1K1?##(X8qE}1lG?B6M<6{lAG<8rXh}ZG z>?W)=66H*~gN<2pt%gGj=ru!YB-9g6%)^L4O2u`Tb8yKa! zAaGii;&G8e%x0~`W`g*x6z)7ri^(cfGH!4kuS4QD5H4>rgeZJV+cht>!kPut%hB>u-p}! zoFW9T)HvwyP!s3+fEW-v`_61S;bgCft2}~6_U>D8ObYn@u>5#Yq8b~5_ z;FW}}`Y2(YoH`?D2Z_0pG^7 zHe5=fFxdpX6{K1kjM>;U-Ryjxchf0Qf%TBN6(uvPN@>?~2xLMK`>_R>4Id<4RM?t= zPFGEtxX?OW!KT!X80(yJLA9MsDUhK0GCEW49Jn(L9u$29v%)AbU*>uxTL4Oqrfak$ zCk=X}7?mwsxgnBZQXY^(R)o^pMTZHbcu&SyM|Xoo1*;F9H_bxG?2zeMPhl*9^J`Q+Aq8Nm&%=4G|_mZ{{!LMJA2PTLssRd~$?XrWb7h z-H5|T(%6)QmPMPLB3{M9isDo(v%>TcETs+>7qAA|gtRdo#pRX&qarBcL}|WGG!T^o z>8imF5hpsZrnl)J@y5BgE>>a>flf-Rw_qlTd@*ITji-w7 z*%nC%VFm()Y7$>E>t~Q&UKNR!q8)_PEQ;22Vh%*T1nv-3F#mXF$H|ndQ81r4VqkTp z%CAkP6VhRrpwlTIGFQc3l%+{#VH4Fjkk_0Cz(=!OaeM~t2b<6PJ?t8J9nYku<~9gJ zGX{MLO`l<<25cjSC2u(7v5HS@3C-`z&j}tB+5z(oo{Py&q`fGLkqf_ENKCn^z`yjJ z1#P(KgFe68CD_sA2e~%PKG94_l{z542gq9o9!YQ;{87U3b`sTr4UUj~E$9U7Ux+iJ zO*MF2#tfJP3)@i9h9p}{jYwxJATR*x(}oHUu)Od_(I)NS(mDASGU2u@1{cqhwP;3h zMJc1OsDU9V5~6WXCMm8-#UJj9yf`5)&gEfqNhIX3JSu9GeJO034nyT}cnQ3AJ@bz)db5Zmc8@z;pxitYeQ^6Q@R_E_b<>eF+Eh0{ z4;eFhNQ|~gVakn@RJ6q7gpWAqMXNTcH%Vtfk{5j`ogAZ-ISuKU3}#;1v?t4M&?_hz zL}r9oDitbFG9We9Dok?1LdgsW6Fx~GON8VUdO{Mol}-tkRT0(zZz;wTbBQ=E2SHj2 zt4LEWbDg7=rcka*8B3md_DystBEo>=GP@?%pp-Gmpdc>Vr5XEw+V_(Tpwis`lfnfI z7kY6VMp&4E6++-cnxBH&@kSfOY^E+CdwXUrg&=^$>Cr|p4W!wtm0wPuCsM|ow$6+( ziIOB^RC?6q^H^t3uSR=7v*TmUEKIk=D9o50M7Ci0%*xWL3V|2s1c66sh$Bk{3VQrr zNvl#eJyJx()RQJwl1UeMZax>~gH|*)puXlYHL9zLRHUwIZ3eOskr8xH&}6TNhlwZ? zYDmN`Wt?bocpxqkvivme!bR4w+3Gr0EK4lo#^;z)#?vGq;D0cdboPzEX_MkpSU@9~ zSPDM|K_P7+iim+NE1zxOoEpd2&e$*~-q8jwT;z$$mY0wkG!3G|t zw@7ZuxI!r%Y4k3OCZv6uIBP46T}14&*}D;Ytq(~Cv-^v;hn&=W)GCrE7uSjAW zuPdY{kQ|m+Q}fYn&9x*;cG}$zZ<0f!Vaun!OveivK9}F+2LFy9KA*=ce>goL*mTE1 zLUB{bT>=R(=1mK>0@y50O@o$b)%s4>vq+af`8`pq2?Ojk*h>KDR@T3aVxb}j!o(!`ad%-5gA_RfYV^jQY44q1Yj}H z2(K()9yMS+ttAF(h-pOZwILJ~8yXy%j@M!@li8mp|4T9!$b-vfR#iYQ1u+8Tum*Q9 zmIZ)7)CN40OD@!EXoVO?bKj$-(aLm!-lS>u?KUa`J6(*oV9AYY6B$S$To_FZ0d13@ zx0n5H)CC)!6bfaISlWj{q{X>4&`V)Nlbj2ZB&9OO%=SXJDLRt$V5Nd48dVb;gJ$v_ z(wy8Hq%N4nIDEPU2NMmun>YvxA(Je|s5i|Bx{Gc=>qv-XPSqq9T5ZVC+Jc2HbEG7v zn3}iQV4%rlMzGj`ut9Al;tSL#o?EKAn$VBjK+&w!QefUB5Zflj)OjFAws6PkVYR^s z$JjB*8Vbx6)QqNfyhFLBwILD988eeKQf?DyD=N<$619{vPOJ^Y&GH@;RRk_eJ`ihQ zOOx>d^DeDwFf)L$53z~DfFoU%YrMhQWhpF|Y$ya>HmnB_Jc{-giX?ugbDe5>w zXzvJyL~Mt_Re|}!GED51Fa2vfp0)H%DIFkX2^r{NAqIso(2pk#4(i2m(h? zw9_#)!181?QR;}OI=ozrfrwP_dlLJ3wNI-rR^3|6c73TDZV^0`G(}2bqJ&JplF!E! zn#Vp`h4@yCSVl!sxaxGRR7xMj!jO7ON?~Fr)y!C{Nbdv%35zVKyV13zeZoz)Ig#E= z@Th}Svg3&rBgS_+_ZFc{Js#c z5n~r`5l#z=?1o@Pmf#Q^Eft0NiW-Wg0ed?gg4CEeO$w_M?EdIjb{uD~Sv$Z-4>Q#= zPPqp#iDQY_EkJ=KS=A}U)l;lwHp}dbI1O!ZG_==gvXbF1NrYjWYYq{LGx=W-9jQc3 zUHb(67rR%3brRiDB~OL|+ld3CzJb6DYcXg&xEDFTEH7e1EMA5sfx+1%hZhcDGDZA2 z?}SIjUI{yOFM_Zp)vs0?G-z~ghB_Nt7}+vGXN1y0)Kpjq%T0|iSA!sewj~HYE4CDA zTPvrjZ4qRb8WdH*-HF!?f@;k(_W!i+CmFyjbN`QmJ*h-8iE zS8PJ4Ka)#Fj+f`*I5H+eq;#j$fnKz;{6Z#M%vs zuLc9vL8LDWm`-{f>b|rWmo&&Ep&g^Uv_QZxMSx4PLFSw#8o;~^<|7O+$OsDy6_M+B z3nH%+)ik!!SHM9Ne@OYwbLZfgxga4Lf;$tjFUaV9xq+frcVT8a{642sNqVLd1A(b) zQgG675t$Kvfk}c&KnKW-74|6tYs?0t3s{s$$V#*dvWSwIb7ssgl)sBbf;%PkT^dy= zn@C|!pHChB6pELE?J^%;2%-;z)TKEV$MmVXJw8_s0=67vVNFJ!CY_W>u;ZnS7yv<# zcri;8%4e|pPIFTx8koL~is^087ZN4amx6z#ABH{O!4@#rm`Z@Kmb(P}78^QPhrH!Z^h z9au6JMUQ2!mdGD(+G&V{@x59Di*G>;w5C=%_*CBnge8oYY-jsxBj)Q{LmV->13RsrJ$W35PaVq}Y?U>V^-eH&a=(MXh-$Dz{Omcm-o!cSi` zIOa6IQ!aGUrZ{LSWigdK9)~ob5<9%KWj9k?OKw1bLnW1SGJ842wn+{;1eBHKpwH5- zl75m9Mung+QXDKWj|moRfgtEG&?cnUs!%WsZ*%FrEg5O*WJA%! z6~)HT9Qqx&WHdK=Bih+d7tVvm-c}}n<+_c1y^3eRE zmPKn|aZWQVz21^jrP-5GZ^#MJy9NcIT2ltn>hZoGkHOX@GZ2EMXEEe(%(Z8HSF&^F z?4m^ct%)-(blcikk`+cTrJ2+MQPRKQgNb_5KRt%Ku6{%XgLs+ zLg-x#g|u8N3}Lr9!pxBy3M|^WR2%leg1lJC9-Y=+R0Uln-9g|9j1*c!O#L&5RPt)b zFHF#dg@dS)=wr#>iIFoqALrlNWvvB$17FUkG@)SyO+s*L;ulZ{*^fpCn;0l(q7+f1 z(E0O&7<~wjB>~1APMZxE0&V;g6#H^&ADb62NiZ`CqEif3t)-Sce-etBnT4iP+C!n9 za@%3-IPzh&2yM08?Gt?w18dlLpbW_llL$PCnJEW8%ySRvlf~q)Xyj=57RxrN?;7-2 z4OVM0QexxHo=#MeWB|ZJ2n}GcgehzaR^qX+phM(pii~B* zj*)0-EKGzH6I6&QgiVu4_Rw^&K|;ePSOe6AUY6gqK}XWw0$*co&;$_9gXPGms$5si zjRY@+Y%7$;-=@zp8&1ne%LkfCbe722|I@yoWB^s>{vQn%TRN&k+K~a6hrwW7u)R4$JICt6@$us7dK~MmQkK+YWF@gU|xhd$W zu)U?urCm1>SWJP8ej;sj+VruzGw!%D?!XBxUW0;egt=(Zq>f>O*aT5`3$r_*jNt++ z%;jn&<7RrWqM#9SPN&`yPWM`qey)(qL%9qNQt{NjBLhsV`EWL|U=s;&lxDAvyqtw%D?gFH0eh zqHf1NgsdfJR!_%>LR=q5UfvymQwCL(l$p(6DR*-{4#%`1;5lYI3)YEW%lQMyD;?Nk z9?9iM`YIKK5Bm*cPa;H(yHpjPSfuHtS+A029QX-j9g%7%2u9A~a5~(=4m1_be12;l z&1i!}5#Fag_oP3kEroDPSSV}_$UK004P;pEwpiRrC_WbT5h74%Ga+-OQ&xnP;5o!M zQU(#8+zefQp+TZkd1lNvK8z=3BGEc{?#?L1C97(jlr5bek(x`GMKxLv$N5G{x5%4C zOwaN@JUU6jCim3hGxTaGT4RIg1ZQfqyyP%m!iEFRkOr~wv=7|uRJ;6^f= z5avqO+QS>9AV$zO6FHO2KB28){tJ~18D&A}E~>$kv12cIF`%IRSOCOM4{`&^gp%cX zutm0=)+Dj)S`VSA8$TqoU0$CxPh`O=LG%xu!JF~q=0m)dB%mxVpbCK?(IRZr1A8y} zBwO{j6PXrkG;4!l=PuK=!r>RH28UmwU36%fa0W3S;9JeWQ7exBpgtW@)e9`bZ9!oT z@l8_dK)V63KX6pQ0+KkrZyZmw;R`MU@$=+c!c3Kr0R0U#*P5({B&q!&Vu}gEFX!F} z7WqJRE}NCn0-&cXm|R3~xu`;N9I5h#W?4)Xq2iQcEn!(8`3J*x8n{Z9({e?Yr!Wmc zC2pE4l&GVSFN=ALFTzy>m^Y~NK=OEt zqZq(TdV*B);iXUosW&|EM1yVzkDAt*#B{K*c(?&_(YT zYr?NT&0h_kegu1jx|0Q4hx`gjRZ=UUbYumTj+_9_Vgnz^*CgyZ!c?tGf zL>mb=>EN-e08xm9vo2xje$%8T|$X5V< zoW?+Y3p+O&9;1BmQP4=P2y-{G2ZYED9mGOId^cTYU=FHS6wwRS!r8m%V~nf7HnAHK z{=Kzy19?4EF{k|c7%XDKbv)os8qoCvi@bRo`BxQ_1jJ0Q4COAlN18@hd9n;#>Lcb-9TNbO9=6XwOoybOI z;aU#R`GsLY*d0d!e6IK`X$icZ{OgA}PQU}FafkZAXiI8)cG{)_fetu`ZE>p>T~Wgk zS6K6VHC1uy{!qm4)k9%V1dcD&u+QW2I5f@8eGkftYGU!_v~V+EF^8T9sAOj40!R&P zV7lfyEkJe+hYDQ+gOSCy(CysT3uZ{xwJZ4juhm{AuHilr`h72yDu*A{`QJzNJ@IWYSP;~Xu?K}jxd0}Dl)WAed^t!q@enHHY5;zcGh#F`rlVfY6z z0|RIXaV{KZb8X=;d=SyjVyD^FMv|R1%G?d0(YA(`)<$R-iP%C-V?!VgIP|YYop1t& zgAmx*BG{-riDhbyCXgz@774={k8BdsmT+^l$+C2r#c7cQ7@`HLGpw$lS~X^T64Jci zl|O@K5Trk%8+7fEo=QOzTsm7UWcbhez3J5x5!C}z27CL^VvI^Yts5}p%r|y#RA(eKoQ!Q!QPcVOdq6uKgj^-ubX9UFH3KD&z?vdy7EbjP`u;FBDb0wjRLbq z5`kv&zfJD7g=kNnfy{F%IG|8mT~b~ShH0sYJ|MsOhx~hBS4ycwZ{zC8*KUAx_2R2H zAYFa<>I+C$KfZPcq^o-sItkc^`syE~dM>KC(*PNOw9P#NszemM^L6@%DamN9N!Xb~#;Z}Tp z94~VC6wwp3@=d_id;9iZ>Bb;SkG#Fl>^`K&Zk9!!TQ|MC>V(i$_Z8mNtuzc9CxAz{g;>H7hyz%4>2fy;~@pabx??39_Jg4L)=Zr7E`SUX$zW3vk zhul_p>fbIpGxXKu=#4Au_t`jO=z=Y)2P|r+ux;qM=d2AwzkF!Ae)OSJx8L+};DxjM zjJl-wyOWAvnDx@H^Yo3yNB4cbx7nQzSzves33)YIK zzB$L9xP8&(j~(ChVO!}T2iz0-XRm)<`q8pIPq=H?aeJ!w{`J?}njY-Y@YwtVtCu`? zxcl^lQ(oWel|`3r@3#5s^@IAn;=k?udk-J|ugGrq+f{?|In6@4dNZ;Qe#%c8%DudGxoNo-cg%*abZ|o_O<+{j4XwbzRBD z_iS^XGA_UWK+D0;&x;(Z_b%fZLgpZA=0KYD%Mfwlp6 zjNS0YfGfUP=Nwns^ODDAU;p=KO0NBR{}(Pkm5Xj89AVi<}mV=P&rR_MEFCj}1P<_QKf*-S0em%kKO8tK;1>*ZuU^zAtUPVFeZRN2e_8izufh*XN1t>2eSdl5vfVE|G%r5M|I`O3 zzx=|x-8TLse3x(4xWqRVuRQ+hH(LjlFWGE)Y`taMw9nd(*?#dSpT4$z^N=I@z4$`e zvfHX{r|f>z$ER+rvw!;brq<}VM<%~g?mMAjY{A&42NmWo-Mf19wtN0Deb%*c^)#iS zd}uH2@^j+a4f$%(%cq~`ZrEdK`RIe6ntoDye*0PHw|%|+y_5gFf8x@-3-x!~`mJAe z>@Bn2J9bOoe~qvE?6uJcU%J<=_gs0@BlE9lJomRN&RygAaocX2ZC^is;2A5QUOf2c zw<`T#OuXy1Me`%Q2j6hqs_Mt?d#7=A>$c_V-`l=r=Am2HCXO61{;+F*IPb($r(f7_ z%R84f>)eA2PF0W6~bj245D-nw)1Y%?l<3OU*?(}HR zh|e2}L{#1Gf&+AW$QMDlFGSFA`NLk_tNI)s#S@N%Jz-sO;hrxHg0<+pb(a$1qQCC) z4|{;+n~>~*XBR!UpWGt6&+sRPd+smqAI5Mz!#ND=8J@!Ma)x&?+`#Z1hCeVIaDXiL zP=;d}Rxyk+T+Z+khPN|Z&+tu#TN(Dl%0*k9VGMl?XEKa1Jf7i&3~yohIKwv>e$BA= zP+9K53>Ajc8HO1yW4M~(O$^sDe3juAhCL6GkPkQ*y~VP?m-OQ45u*+F>Gge9>YH~e3aoU48LI5V}vaC0EP~RQy2yrE@5~M z!?g?_V)ze+pE9(Jl;!Truz+DH!y_2R8J@-PI))E0e39YD4FAn=@55yIqZv+QxPW0Z z!!sCO&G4@bpJVtw!=D%q%9G_D#&A5tISlI=p2F~QhIcXC!0;W0KQJ6HN|t*l!?6sj z7)BW`XLt$2+ZnEB_$I@x4Er4}%N@qh$8aXY2*cwUUdZqkhL1CRgW=ZhDS4OW4Map4GbS<_!7g<7#juv)i3~4hcss)<8NSKzTZVm|vRo@ei2MaVFoU7a@HmDSFua-JV+>zs z_!YxmE?Le&4BZT;F$@FB{eN|L`em`q2JB|}c%YENPO(___TlCPT)iQ9JsNNjE)7>7 zT=drstk`D2Ubv_XN`K1few_Y{)ATMq{{pZtu6;SZh0~ZN;`x_=J#o$E^jCmX{(Me< z14z%0gwB zNcW_=&_(5-UwYEJJ@9BhPE*;G&f_%o3-WjKae8+NyUpixe+j!=IXwUn`MV#@>46e< zU(RXjSA4hoO`P5v5OwIj36SbH1d!gRey93TzXSH5@1R~ish)V=V;msr))U;Wc&>38 zT&j5QC{E`AqWqrA0jYdy2j1_w0&p)tKOlXFzE9~fGTq0`>B)e|-|t>|zvmQAzs%`! z3HyD=Y3disPvb)MT_Er8j&F$c5%T%&hsygskL2f*I8F6N-ra8pq^}^U>aWT4 zfMYnVb9xDNns*Kx%g@r|;!7m4o{OUY7TJwn@0hdHj4Sr|;x6 zeFx?3LH&n$H~0ch)A*sjgXueH#~xpE`YD+nxHqRi1jP3S(zsFnj{s5LKs9yNq-d36J zN#!Bm-iHEG|Lg-u&-3|t4X5p#uI03w(j}zhSca&y7Ds`rK*7I4H?t6T47n#VkQJN- z_n_K>NEtdY9Qh?DnGo-?aFjD)<-xwv|KNc_`Ld+J=7P8P+NI7+ksM|0w{Iy&E2@k& zk#N=0Avv*nl29N+sj|e`@!=d1B^fUFbj@Oj|7u{e-x?}F1q;cW5n}1o6^hnL>9UkK z)2CDZM&kD%OW$X&mG{bSfw=MK;w{BnuG@ay_LBflT6@ykl>Fi+wJ~`;Fldqgfjvdq zz2<~PxG0lu_rkfpQ-kQx?o`7L%^wQ;LT-D+0Y?LnB03ZZ8sYcC8}WqfE}t{3xS*O+ zeg2T9ctcLi^N2qTNB*iKq`OtOBjOEtaU2brDxWLtcZ4AU(A^FNLQJpE2N9*$tLqWU zuQ)Y0`&R6V#TkZlGor%bofh#$T&lOgc5 zQoSyhL$%XXE+{B8|8I@Q$SNDkB*q${8WV_fsKky$K zY$zCk%B*HAfU#f!R3rG<_AGx?6XP~F!I%+wQqVujNQ<`Sjl$6c*f5Wx7cGH|3lp(l z>P2}_ZkS&7BwtS65=x<emgK!kwY|Pc6`A8xU@lz=<0vv^;aB)^d3^pd+(Sg)Jo3s!2TNri zS#bWOz-@C_+y$NjyMXksLW+J1ZaVNkXvUbqiG>fHl2~~BIe~>ORf&aT*8~>sc41<{ z<bPvpX_0q(=jYkD4 zpSTWT-l8?uiHLaFZXH({5J{0DvM}CivkLUUM{~_fm1n|K#X%!V8)2uZLn{XD+&I|c z>Wwvl46TFlEtkz@DX)Q9#bkKL)f?-YtmA}(c=`#_8g1O!tInLO3B`KOd8zMnZNB4o zHs6ls|DNu%!w?|Xx)NsPme(n8F}J)xnBUb0jsi!PHZ)`Gwf2BieaiOC2O`EO0(xy8f7E%sOi9C7zP@F0kYny5;0Ze*)3yv&X^*l{mWDfPgSD7c8fB)IyPIi+W3f9e zn%(Y%GTG@=wMd9wrq^iSZ^!_;S^n9_(%WtiIU{y3hatDat$T1H-w_Epd@gSqw~>}e zWwQ)>Bg=GH(9NhWO`88Cf0@-{>l}+qG5~;$I}U$ zGX4l7v;7$}#CT2^+v7iBqJ9Ai%y!r)O1^CxBB&|nIIc<>Tg`3tdN!&5>sS}@` z^!kd8$BnH2cz(@mg%(edBX-iEpRbt}>iOg?huv`0q=z?7`BTNF!H%yG;C8zV=R)ejo9`Nn}odsJ+D?>ie>9pIf)ASI#}C_d#cEIk5bZL2Cz%@Or+y`0C?Z>W{r-U90VOq|A(z&M zD*`89{pR6+|K-LvYQDMcUmy2rAJW%$(aYOjEF1V)pZj_(xwHJq)fYW{|Ej+YZoKWR z4TV=WESUbcvh7oy*BtQRaeYsE@$;H>`|oqH^MXewUE*82xVYEI%lk|{@7XJAwAKfP z^!RDst#ykA-1)((9?K3~J9JI_QTL-4$mtK9e&(ecKfZLy zX{W93J!s#uk^^3=dgJI-48Si9B`1X-BS_Hs#tX_l-}*uduwn{iK(^{rKgp zuD|2%ao>$UxUugy|2pm6myWmp=}*Dl)ejzgcx~A}SGi_fK5lGu(5TJ#UjO63w?7NL zu3tIYw)lcWUL6*Ab=^4yw@%FaY+5!v+4q)#+ZR0erX$vRQ}d^nKYqmB?;rB>k|BTD zbJe;x?@)(+IQ_e|Pp&z;=hkyC>K}ah-Iw}(oj2^a510S*HD_MYKl&6+{c6e=-~HvT zO&jidRKLtJ_p%2==X)O3ofv}l7GR5ZGReY+4hr1 zAAA2xFMR*NqTT*^!g=GzHl6TOZ2nKKzuYn9g?V>JdN&qse0{%*R!3$onl{YScEl5U z@5+7tjw2ACzkbAZmp@W+*7=R6Z3sWp|K{^wfA#7kZCjr$c+vl1?}NG}PTZql@uO8k zzbzZy{NfjVKREe;Utc|P>GOX+r)t97iT*9y^WNUS?~v~f8C3qk2P5Cw=g(jMbNz(& z4MWxU4{JW-hTuDUT{-f@OJ6y<`wjPB(wf)s-Crw41(h+cE&6uW-wqyX^;Q0~{=!vX z&f2eJ?&;Tcw>8|o{E`R0KKC%o3m@iNAAQv~xOo5TmgL)eE%Dfj8m=O7T@#9 zvm0JH>gNxxQw|<}=yj{dpMUe2*B`O3cVxG|1IPO3l<)V<(^qaDGWoHS9v%3|-d}$) z>cnHNUmCruZCk11hw9h;YcKj@U4Fsq8~*m-r!ZdgL``aeJUN`lO`%m2d!@_G8 ze*Det(Vve!<;H94wwIpxxx4>yOP()(v;Lo(0{izK?|XAx^`xRn7oK&^N7D|}VDe%2 zhuwa-rFKHNqWB!}Ffv^eaByt-CbE?(%v(5GW3VL8L28MZN8#qb7(4>Np;;b#oH4VUHa$FPuL z8N(wPwlG}Da1Fx;8E#_u3B%tQ4mnhopU<#_;X;PTFkHd#8iw~V+{o}lhQBb}YlJL! z6vF_+c?=sFp2qM>hW9Xhmf?F0e`Gii5?jKHkqnC%&SqH0@MMOUF}#!E(+uBc_&vk^ zhskn>GaSQk7QGsEo+_kkv|AL?ymIEmpRhB1a`GQ5`I{S04V_z}Zj84iZVgUUUeVKKw`44W99 z&hRRR_cDBr;rk4KVmQbq%gtjrp5YvZ^$bs8csawn8E#U$`|u?(vi zMj0+=cnQPX8LnseCc~`^`xVM^hcWaqoXIf4@OXw7GQ5T1;|$+m_%*}c;8Ur-2QyR{ zPG=ZqxQyXyhBq->#}EvsC}#`9o{;}ixd$?IGAw6!G{ZKAs~FzE@DYYDG5nliH>WIj zKZb=2%NQQXu!Z4DhHDr;$Z!+GPZ<8ja0u)9^BI;fT*xp6DEI$!y3;R7S~OHgK%lM`rx9!Zdg<|1NOp2Wl;K4PU9Vs{*2T8IsFA-UtFxO?6HN@ z6Z!dQaMGJgIe zAnMcoOiup_NZ-4W)2#pRZrBI>#?K#<&kg;5_YFuNj;d2%^uYhkoTj!?`bka`DxrNs z?@sx5M;iUvGr`ZPpO7AKGp7dtBL5zApYjis&-WnxE2U{nkbmImoTh$79R_iK82bM~ zE&QDI|9cKa+NcNMo*L5lmZAUO^HNT;{(rAeIGqQG@&{9W(BFpse=vP_B+}3eQhf&B z%4ydBA9y^cCj;VpBhCh-`cIMRk#0_x1LFOWZ*rR2f&7PYK12V17~k)C1V1<0$NK*~ zY9E!)`u|bqB0UP}5FqMbK;uL8r*lr0`hSPfzNPZM^Hk2?F4L}jK;VX<|94S)QQyH-Pt?~%?WXjHfaot5 zwTsdp0pk0vwK8q!`&|!k8n`It^TWXL{qV|eGOfG}2wdvcpVKH;JSY6a_q@LXqI^T& z?*q3(X+z)dtCeX(-|wS-qW)lgzwc6hPV*A=^IgeldXLiAQo6*_3?C&BcOsSqG;c!L zUt)z!PdK`vv#>ZrF5LM-S%$Mk!sR8MYG!F|+)|16h35oom)LU}eJeRx5Fz;Jcs_cJ?3coHy1FxezJGDiNZ#W`heAGb{UGK|+E z@*0ld!81$@vAf~i1AhyTcim~&aX9@uvE%6W?NO}Y+kqWNMfq$)1!&}e<4g$q5%gzC z6z2)aHBsSofraopAJB@eBMd>>zJ?*%P4Fo-hUAh^N?*ETnqSa0{0x_!Ua?$Y@#o;2kgva6W z>539@I=ntRPSL=MCZdG=ZhP40j3|DGrci(nh&U82jKw452y1qV35c^aei!L#ykU>u z1)CTgn(>D0nmg?G`!qz347(9r-seD>o>0iIhx~T83K6d2@M-RdQ?=vM?r;dA6g_OG z^Mbn1r$PlsS4M*PPY=$ zRHvdi6?861uU(-KP9#Nik_S1-yvV29HLvEHqh9maWjh`%*e z4MDl3`blQw3fmDv(CG}RO334g_&loL51S*O+v0-vdWY_D(n45Qz0P*wobZ7jYQz)TM0p^b;SXOBd1G|E9n zR1OaY5Zy%aTwTsEhEsDx9){DNithA#EIwb@>u|zbxaRTT)93|S6{$brrb!D358kB9Ms-J<{zb$iK z2#6cvu#D#3~%}I#tz=%IH2j>ITy@j0tM#wL84d zut#xOFcTa;55A5!z5cL@iGXh)ibOc9_<%ClZ!2*8ybWD9+*I~uyjA-Z_i{Eb7!=N-Sdap`MTZt)P#*7+$v>=D>%rwRnpF)2I_w`zAgHO&w7#9XjjJc_Dg7|;#K1M1|`LLn8_hhZEzR6vD1 z-UueDM|S~jHJ1m&39+&h=y5Hfl`1FuB;*9t;-9y%yFvi66f>hn1IYNF!QNa_%6G5e1VW1~4 z-RHH3K(et4U{--95}`oYc4r8vWbXfI-%m1tdAQ{MAEeb43afTZ0Q997HlcRS;{(O< z+kv`@=2U!;z&liQjS_YPyB(TE(G(m{#{|?suI)PdL_=E~A&jx^!psiY9exG5U9<>b zy>faTx?*>S5ZDj|DWY3&_)~+o6V<5_CTW-$7%1HIM?i1rq`MYIz5P1s;m7jj#7YI6 z#EJn6RHt1HS>P`P&UImqih1q8WCy|W<0!r24uwLVFgiEv$C!h*>poD6h#m6-Q^4*} zKumyue#{c+7N8XcZSpI++XcJ?QCHkhOJE>9t`O*$S4V6FoPEWt0Ot8zP(^rPL+gbR zt>1!b!DJT89cBtp-|zGLF~RkS;`Lw%yuOI)4xx^iYM`p1O%C7@<^%e{1u_YO4@`50 zsmftmEM2-zCuh<3n4(}9h}_b=#$*LYp}S$K8`kY=B!rdQfs!@QDnD>XLp4J{sjwf5 zG-xZjA_9iP9!B?gu+lmGSh+wO?a1PTtotCMAbhB@%kOm3Hh#xOxwN|@TT@tS71+sqB>hI0m_{(v z#8itb?L}a*_*>5Ke+>MAhQt3?)E{bxo$O9RKp0jzJT{g$bYhWB*4TtlsnD>{{-1)W z^C-=T+nil_@ae-Es3(l7Y95|_a{8F z^nj=E;DD00*9&7xQ;*Ho0(+ zq-*tebSb|R2Y|X#K6(D^T7HLRDz;!)Bx)NG2i-buacFVCP#lck>9dL`{8sDrDX+>h z8d6D}#mF_Spp%THv1pxjcB~0%rEz*2X)Z~HC-(g$1DJ2_|I>=^@K)M0I%+{mnE&uW z8l3uo(#bsN(M(>9Nh8Hkw`%H}LV2!HRy`Jjickg=5|IZWeuvnC{8H~iHFtcdrh;M= zK*uNI1d!s5g8m?uSG5%0L&Q43 z9D~LeF?O4lw&O$#U|9Gm*XyGV2pb1?_6-O$3q^A%#Tj9%}AI1L0+=SnB@}nK2Pxu z_%eH|t7O>W?N|l{HKia#SqLq8(zn^riACd}pdXJ|3<%aEBLhg203x^0%P2A~@GgwM z(y=zxP4!Da^v%(2jx}LA;Q$`|mno#>Y(7@i(QQSF4Q4|x)@~`;l1GD z*y=8D3xf-+;P_3h<#(;7F1OR~6o(kAD0p3qh}aN{H6gAn1qauHJ~1syJOODTqBI5g~T2aJsoy%6>{SQ~_pnLa^oAr^VuN6Jt5;L`w~n9RQVMM%K3 zH3LC11>2FWwv2%INC^iPLHXE*f-MmtDGY-X%qSIS@oTJ;5fl(4i^K$G1MxPW8Wr@3 z#E?#40miPT)@m?_ek&O`S=ZwE_+@h%#ih2N-{c%eqYKg=wHL9hi z-cs9YK^TE(+=A#K2!2q9zyM1ujUh{8Jq1F5lsDF7iM3kdb(VO&CBDScQfq06QGkRc zQA?X@SyoH`)8BHw$exg{RIzw^0?+A>#yGVP|JU`S5P)kI^IWmT4qbZ4?}gS53UL_8 zKsO7`EHqycC>f#lcS9c@ajOW-%5+0$tI`rebtR})G4ll`1Jn|VId-; zCC_fB{4xh2>piWNVbLI-6CFv-f2A|(ay?<#5&7S)1fWK6sCPY>HcMU@c>Kj%o^5o8kwTDwX^Rd zEN&-JIij8RL$uR49GyqmsOxk*>X&p@)5cJzIXdmJ&ZB(*$vf$>Sf_1?bviEb4lzYC zM?cs zyLxMr^dYhEgo-DUzD8D09{BH}OCSAc#4BU&y5`86Tkbz#<~QSxK7HLC%L)p<`tytR zy$}E9=01*h2I+&>oPOt38{M-#yRT{(xp{f~nrpw9aA4c*vA6U@$r1lLrpUGI$?G?* zJ+zi5D~`<91oBT8RdIc4#PHNBTCJLT}UH;PxaAKh=f)%w#X z>#iO0_=Vx^dp7>|oafxzo(Y}e{^w^iUhwYjzk2nSb(?(spRmui2b->bvFhOcCY(1~ z-*3#!H$S<~9zM0EaplQp2R!}#D@Hw=Uu7Axb;UD(J+*Dw1Z&Z~vG-hcbM6|`e?{d{ z$9#MF*h@yA_+G2`D|-!`qS}i4lUL$y=~Qxr(N{@YkA){^d7(6(sX`o*viel zj`{lK-Ky%=To>H)yFJHxm+ME2TwU_q71keqn)zMjEf;Z`Ymf9=f`MbMH)qS2b5A;H(}c^ubS+r=^k2^1 zZ|jXe9s6V5hN-Jg37plse)r1;eLrr{FDv#K?;Djkx4}O9gI?C5_jNzJ{H#|t?zZ*q zcP_l_+{>TnaYEAtD{g%Jg$X0Sxn{)HiVx3R8@@|j@YW&kopt7E_fNGyH+9f2$KE++ z@`n9~9(`TSi%UMg#@}<;-2Q)i;E1of-8N|I`U|gnVy}JP|KRwSzJK@I5tV)3>b>fg zg9cvn&!awj|JV85Pq}Z~-aqVi)cSoJzdrHC=Z{#>d*1!mw0}K%-<}^mqn`ZSf+zdt z59#*oUq0Qx;l2@(TYBv~0^+3mNcRh7StmmKm zUh(a_Z34`Q*_5$KHDfMpdl;!Y14{&*#~`Q~yPmH@AQBWYvtZ^M4=gJMa1Z zcYV^n^R}KZR4(bdbK3{oGTz>G$vY=+S@X(a|YC(Vfg9Gb(`*f(PNpiyzbKhn|^upyhlb9pEmKziIqzF$I6{kR$q3_jMYUM zZEhMe>5mtCU;A_ATK}l&uid7<>?RzM$G1Pd8}Aq#=QY`J@D_?FutwvggToH!CwOsC z+vw5Y94k(_J8|Y5hhFtA=s@7CFq9u)V-bgYaq=7oe@TzPW5V%RoD|0KX&9-|yP;-d z!I4@zL>;kIlZtma+p1}nAVO-pr|?(ck;JY89rMZyOJdixa)IbnjU~n`8*vsleqdkx z$5rtk18KkMBp5n_@gFx@ce8w+xPd(izJmGU^Y_e%AEi3}n&c8~P)szZ@C)X^)cjJ>9tIjZHtyPMg*Lr!eHd7Zm!#V(*mP-{GG2R%ySK-22$wkKL^Q zpYjO1S^q!f33jvof67Pf-VX}?DW9>M_5V}8W%sY_{|CES|3BpjyAOgwo>bc3C3y~m zf?q1_-;x`8lEQ6fH^n3Wfzln;{~rc7_J>vd|I~}wO?kzPKJ_Mc)1ETQHI?#1;l*qU zZYmdY(_S;mE^QvWNiKv>qx_LS>;Jc=J!f)LogjQ`=y(b@J%@a)?*N7Ts{ViLjc`+V z*8gw)Gu)6%#s6=kg&S$B`u}alv77d=!9V>U?Ct{!{^@st5`P;g0pD6Ov>lt=?*u9zEUUt90?kaY_$ZnD|4e{0bVg3JesUAok z*8e}Z2<~*a8)W!CRF337huzcJJ(u0oUQpMn{(qlsa6?{I|G&>i?A{HE^6Iml-TwiF zJbks&t?K{xHL)9INOJVGq0OBNme30(cR#9cw562x?4Hj4)c#OD*>gaVzN-J9eW!G* z`v2J^2bCxB1I_*hl=8>=|JeuGzXBBUWgljDrF7?jkp4fZz}IQ;{R(LRMhO6r=hsdi zQzRAPYw3F)>A`EtDt-8l9uzwBFndb+`SCUW5jRUq=Ia4&O-lHq2vS^|UxkAsIobkB zE)#4V_?}hkaa3yqwLW~2#0SSnnmJmL7#$73(F0h6)y@sn(OE>xC#k3R6 zY6D&oZzjGs(|r_2Iyur%iSuV7v(=8dnN2dBqnSGIg>K^WC~PShjK|QyPkUss`bjjt zErmEb`0*?#p!P)z$zf9pKD^YLXx;~Zq{hU*-b`scKT*@_8EVJ$yIQ01kCC_32Rpn* zwiHMgK3X4s5j5oE*;kP9( zNdub|I@i#Og+dzCprO9#_1dA|jnCXrlhZ*p872{+Ckkr~dK#zbhwoTcC|#PNfs45* zv=N~nY=vSfwEpZ4eA|LDBn&V@Efku*q(yDF;*&Xay`W4Cg;$3gy5e@P-UJ0Um&Iv? zDmw6ip<8RRK=Ijx*k;l=$MhEm033*9cEUUa6!l=}LGQ6*$_%wes~5rbMm?14++L`N zL#>Q7!A#KHg>o$^$QmqO==H%$Eh&Oy9&H4`A5^iSQRaYxHZlPp(k_PmS}1}dDd@fF z9XNIX&0PbGqho6U`tBZ5W`iyusm__9?g_)UP;-U`yG3L0I?WaXsTM9K{!qrBzEByL{%fdsX;-DV{tl(MW~x%$se5S5c%3pj za5yyDQxh89wY4(Jcb8Il_fBQRGcSfl+?b_|xYQFGzO|P!{OL!Of|p(o6>K&t!=Bi! zaD2naokdn1g z8B$pk8sa^q4E`ZCH2Cu`l)*WdhX%cMOK8ya&qISccU5wajt%90_i-rqmhPe4<*Su} z<_{G6FLOio9gfiPYCmzWIv(vO8P%W}74T?_YwN@rbDZM~_?1}m4Kf^#qbCrK%!(uu z4vH8psYWzweuU&PWVfiI(?Wb>LUPiv{Y3IZwlES4_t)}G_AwGkhfG?u91cfyz;76k ztK8Z$7{Q_@;KrN}H%;0Ag%z^XD2!24L+gIp1DJ+OuKxqI4jeWY))at&l%O#gSP3En z94(qtX-O@I`4}{1zN#uHdf~imZUASXgMs>5mq)=_->MuxCh??L#$j8miUiZtY03iC z+I-Bz9SsiH=LyyX>f&h+stLEKmX}z%Evn}w#>SdZL(%hk3HOTIMgm#Nz;z@ z&<;E7e9f3C?;4Hw9NdOiEhI=XO0p3W%%d%_EMh!sS>D80Su};S9e#&)BKBEk24*|7 zxj;u0cQM5!3k%6MR@Z~do@`|zgcWm^0_fBP>a;~TWStuf)X=H#XjTdEFtp6$nDaCi zMc*PD=t|dVC;6&`@?mwbAzDrx7Dux)~oTOx7 z(~u2|9)_^fl5IBXbXm}_3kNp=S_)kKajd%?UvvFGS7GH%p{JN`(M`) zZlXp?;`I_!9@;>CT}^!*8Xi#Z%u=B?`Gy@&(KKn*$tLQT)c&*C!XR{WxgsGd zp#3Z+p;sHM^wnr{YFt9I3fiEooF+h>v7wjAJ(;mS2;q`yj@oAgun<#PCdS?3wFPdsHG9c*e*+#QPr^Oc~)lfGy zH%-8W6(h8}Hc*34QJB}ds6(LB_q5W4^(la zLP9Vvje(OBiXPV*1&0|mlFLY+RVX-=w#D}}VSiNU{~lLw(l@J!n)n-9-&A=WKn1k| ztpSCH!Ffb}J``AukkD0G9dK(cCX*JLsD6n~u6{~HEnqVV3a3Cb)QReegr@J2O~YC3 zW*xOoPODKH#u5z$MU_Xfi&%3XUncQXR6IS-sd9*JBDjd20+o8`cw?R8#-tndTv`v5 za=Z?qObH-flh76=I0o2`_5ub1O>QV@U6;Usx3-49#fCL8D`GS;Wn__#s!SXPHusRi zXk8#sg(qO?ssk!K-g;2fx9F+13AemPJFIk^kd-x4!!}0|(grACF(IMs$`3=8;8k4% zv?5WgLRYk+Uq5YjjmPcqQ-h}jboh7{TY}E|YCsHBKo?k4ojXtuUFd8ApC`pwQZlcp zalt}&B$he9(*%MK#{@Pmuxe zY_s&0s;^>jMgWxI0I1jkLLWmY8Uwz2OI={M6Si3+Jx;{OyvN!oexo$4S!hPCs(Lrh z4M^2JQH#{JNadOv45{bKc1&|Dwf96Sq9?wWV&^8}g|eZ_u9)Ym=`F@RAV5^R&B1yo zuH(f;p`!`~-|1ZrYPR_H?!pIpCypRMVOXFBph7LC*dmBX(kL@#3MY!vlq0E;Y#E3X z39vBUAPzoI#}bVYn!mF>RoGIk1(H5W9^(R3mmzJW#|mCFG{p0iGZ!40Kxcy%Hx*g7 zU`g#Ty71_g<^b1OXdr4&7wX&i+TVY&9%{@1?alZ zuEh-(V70m_*qnxzMoTY_vk8BIzCg>~{O^UF{E}c?3v2T{v zJr^IOd~|*bcuz1P?g8A30E58@Nk_!!b%`ch<%SUxm%!=^z5{RM*nk)Kc}j#8HTuPAX5ymTVNP?TJGrTK-0cwNt_(@ZEEo^8`k z@cRhfL_Vsk4PfgPlT#ENcK2!10}h`b>%J^)B&xO#y>rJ}&Haw$M`Lu{A2g=YaFO;DX;YE*6lqbBhE?V`=~gX0M~4yq z2*w&#c9$Dw2e8WmqXMvoKt>T9ZWy3|kq*7lqz8t%7gjUOKt4CaP6aGx=v;It3RV^D zP*iXlglHsVtcF#}UBj+O?b@m}^l8f0Ml`IxJfV~3mACJEvZizQvGZ!4f4AF$S(+v1 z7|+SN`d9bAEMJ^_ZR^mKFMFLfD)oeQzmHgR_`{EH{_WXoTWucJanxhKE&s6Nu#>(j z+jDX4yziHfIsI+lvXzB{3%a%6_r;jbM^?|j$^D?_mf!w8?&=S3^?r8YWcwc3Z(P3!kd(;c>s&`P>T(eLnx)_SL_t zKX~}l)86^wwJtT^k1sgqsjfo?uiSOg`ic*`?dY@Qrx$?aJy!qp;Ecjoo?m6yT5!#xB^TS@yLrlGQ)+KMa*E}~-=}}kZQPKGg*Vx2 zZhPy}m&dp7-tPWhAB}jf?@iM>-~4gv_%#_?`%g}f<-zA(Sbpe>uU`6M`*&+@sQa_{ z^d}y=^w3@9hV7Spbjg&4%5Qh{op`~(LEf+C{nB5T|C;8!tuL&-cxQ!sSHteR+Wuqd z`&&zczukCg#t%I+Lq~pn^T}%q-hO(>Kd*jv<*5&U_S(h~gK`h;yZ)^eKin{D&AiE_ z5A^X};eVoG(v}s!ueh|AW%q99lg8!it?qYr?_SaVk&3r+-nwemV~_XQ{*PA=t}D3b znI{Hr9J+GVtjT>Yy<(aF?p0H7&Acn6f4_Y?dEN>B8+Trv@*}kfF$~hWpY{Nx`}I^!daK`aYSPBHI=buY3iGM|db4lV zbt!Mbt|79uLY%z?s%m4#(i@P-@fcixplO5?a4P3&ie6m z<-Lc$*Pk_Q!&7q}Ir#6}x^?!xt(mcB+p06`lq;6Mv`iWGV$W<}`_=cIx4E{h^MZK=pT2CXzT@_(8r{4P))&9?@9ia; z!*}J6yS8lYr#CGBhT;qe6RJk>pwc&v&TJe7qoxw_meih)VZ_w>ut6}*I74T zQ}T1?5BqL6%zxt2A4WRA9`e>>C#{@#WXbd;)7}m3@6fJb>3f&Fw>Q*!Q=Prfx93jD zE8h3n;n$z*^u@WuJ1@F%SNX`U+Yb~DSkmME`$um2Ro|iAH7j}zcxA`#HScyXb=kJR ztSoKV3I7`P?}A~ut%};Y4xaF8Ln!T{_lEX=|I@EKIj>pi@^7l>eCfq`B|~1)l+66K zZru8liuR6tbX4xRi`v$Wd8FvihF+Imm-Et*6DRZ=|9I+&ZRgJUX7c)-*5|ghUfk=9 zr(U?`{SQ9ue(&pR+-u5QS9Cvg)l(@$^6sd%Zu+2Hmp*aBvPXvOnYD8Hw)Qn=J~raS z+wVT>{o<$nyM9`?)cpH|YrXS2y!uekb1854SRdDDPd-Jfz;&Hf)STb9UI7MpH;|wT{o8qXa z2S%fD`V|;YZs?7|I0qC=tvJ()qnJ^;R~S--`V}6gJ)MQWLcfaCEfzvogXoP+A7=Uz z)6bY5V49gL!=KI6#tq(VEQrBADO0~BKe-l)XcPqsf+16 zrYo7=%XBl-518&_N*YHb@99hpObeM#XWGE@YNl(MZe;o%)4fbnaKfMXp2oC4)8R}n zU|Pp?8PmI%KF#!Pre8BX!n7+ip@@GL(|o2=na*Oml29Wnn4WaHFZ2)GCjz&V|U5-T&9DVmNA{l^b)2wGkt{VD@?aD{e@}!GbG=h zOb0L>&$N>10;V@GeTeCcOh0A1pK04OC0{L5E7P$|JxniVdL7gInLf|-Bc?wvB@2pF zZ)Y$yF&)j+$#gE$6-@78x{2xgOuu8=N-OzxW2$F5lIe7&vzcDSbPdyInZC<(4^u*h zBY96@n!~h!>G@29Os`~mC)1~xzQyz_rhhW+(nIp^$8;#uDNJjaUe5G3rcW~6%JfU7 ze=t36X=?;VEPZH*E4;P=@zD+F#U;X#<`O3SxhZV$1rs>y@=_xOz&eF zV)`M|@0qrSCKJiqovD%OD5egkbC_PkbRE;@n7+q!FVmDhlJBWZ`!gNR^a7@JOqVge zi|Nx$-)8zX(<4l~V(CqCXEDuZI+f`xrc0UL&U6FQH<<2bdWh*s=SjYOnJP>tG4(TD z!gMv$$CsfX#sOs`}50MqB0e#G<#rfsmVPV%0? z6yG9*do)ug)45DnFujNACZ_K*{f=p?{*q5Orr2H;d`B`ZXF8kdRZQ0~eU|CFO!qL= z=p>(0n8LuA;9J1-e5OIBS2Dem=~GPKV)_-+KbdyXOMd;B4rMxpX${lMncl{91JkWc zcQgHi>515*p>poSbO_UlOsknLW_ksZJ0+jq*?aT|gm2+8R)lkE;Kl z7Gi(Q!bNzJw>A7RdnW#^6;Sx8`v0w0vm3Ki3ZG8-C4bD;D0~LRBmS6Wk$(nehr*57 zk#OVfBHVpIAx}nMc2hY}d>v>Iw{}p(Z%gG)?g7$$7PUQc4+cei(^H_7p2F@|*gXOi z{7fH#QvOFuw;4QzyATxjW=fa*C$s-BP|E)l_NV9MKA-*PfKvDi*#BO3Unt#{>5{5= z0v2i)B%d1;^4iMS?O`{iL;hZNQ#$0XVmI+6cO5A5V^hO#hA`FF3L0hNsA{XgJ;|mNv2hY(~Q%DZ@4>qwswQr=a6oFFw6WLAqhFirK zP@a-*6<|X&2`IN2fu4MPybh-l{qF^!thhr%hSz18(_*|K6jszbx zaloLOP}lqLX$p$st@U{Nipc!Y3tz0n(KPy;1-{VrzjN9waejkz{cXq4^>5v+1D}Q* z*Nm?JxT4wk$fc?cs-a3nnL*!dwhy@{3GqpcPk(9XFy(;${Tmt@0Ioa_Dqs#ekKZ4a zL*M3t{i$B#KmnlA`KM)ic9^DF(PqlgkMd5H&+;Zl5C8}TV9`GMM+g8MrwKus)Ewgq zz)!turrugHj2XaaI84)GI}|wg0H7xOv^o#W)WW_Kx3~RYo!0o{%w*wZ|%~rD& zO8xkF<;U(35!z%u-gnBeps1>Ay=mzHj1Ga4}-|CDeZJy ztS+^AT{z1PSZzHFbIQ|O*dlOy#{y{n|Qsu^xcCW8O)5r;-+4yJJI%njO zY7Z0^9dHH?U+??U`ISb-LiNYe)z=@(%qXyEj=}eDGD7OE62}1|rH>q_&(!=i5+r`r z%C`tH)5S2WiS}rQW85$}kr18zT4BLiAH!RH7LV=!495U1RQ(+j(m)1E6&7T~D@bFc z83O*}o!2Wgb!BO2>cs;?Q)@0%rh490ro1p&T3fxeld!frWmI`+^6x(@WOa3NW-DdV zzEox6YwJQ2SHBmUIHHF#(U7SKyo1-Zq0$4nim=G~T6?ARh64ikptSPMQ0c%!q0)1d zP{|!LLM6Ap5-M47Q>bLv*&%_6u(hu;J~TQse(k={_{(om#`icSG``)#%DA`MD&u@h zLgNN>42^3$QYrp(MyPoAg-Y?4?L*<~i&K?i-wUDQv7MFTv%U|B3s?$cuewPYTlugu zHt%d@>^WL_bs4LS*|IA%=1HeQSPNsaZw!q&bwOxM>d8vck+VZZzCOz6e`bY7U%EvZ zb>x=Ns2K-BqY95Gqxxoq3Lmak3fCG!g_gQdVb7zXLQRD-a^HS=?dlR5nZF}6V%PZ4 zi0v0BBeon>Mr?Xo8S&8dp%FLD4~@8_i!wrgZ)o_o4$APWb3$|#e1D%(u%l0?;E8*b zf(JJ#1!*iKR{jIRO)l*6x`5I0SO+YtQt z!3&TcF)%`FzeT|)AgT8!6i}Z?Kr1*>!^cQ0*8Q{xP>xHk{}WcS|yzj9w*4 zgio$wk|_gw4z!4IU@p!1pji%A%*)l3V@K04 zh^B#;ck&VbdgF+spG-lh?b)cAhUKR-;eVKA>0P#pF2Te!*=BLfT$3ZLm>s1K}^DAos z3>>Jb#6XgVE=Kbb7Zet8(`Z1UrZ?K*BZxIJ0Gm70;q$}zgef;0r`Q?CU5M(Dtj!fyRX#Hz=|(ksKLO zObO(OF#Bj4-Ggx0dPL!})sdEcV*HYq~(ePozIJxjGO9I>97!6u1wM1VBiH5@) zfznMV|H<&gsGssxPzW4b$mOPTy^j8ul#P+OLCa36Nf^r;VLQc3z{dRJ`B{%Y?IcjE;-zf)D=8 zUsHoKNz^guTQAa~Q3$vjqVb@?OsJ|Q3my1URY8Y%9949HXs*^#Q&Z(bx+*kYGi}1e zh2xROpM-cd)#0Wr0D7QGJ=+%mzzQb$fOr9?;ea;*&XJ!E8}*VSA3?D|MnE*v9a0B? z6F#8Vbnj;tEaMU z0RC$Y34tCnuBbe(*5h~NVUguRx-p%jw$eGTrygiD(2+&~GsqlPOBPszZ>F~#f3s-< zVpif&(ZHyHC5SaFvDD&N7T~P`(n3{B2R?LI1mJm&bDjb67s$eNp(1fqi&+E#-2xmX1qQl$B8CB z_VP$)Qk$+QT7cRBs}UtjZ_i+jM9WOz9x#&ajz0?*OM;LSY(1NnO zrmu3e9ecTGI$)Xn`%m8l+D)eIRsn1VP)i>pPp}DOsW_c1wzRWrTsgAGA|~}Gs?h5C zDj+KXL@5GaMzts4Z{#>3(boZtCGrtd;)IN8uxkl*NWwNzjEVp-ycp3*9Wekmcg)y8 zvZzDPY5?>Uh6@=vDsFgSb4RxxFwOD#WtPA_PTlCk-A5IhUQjlj*LNZ`NTVZ; zRg!HaoL?*{C@Luqw;I4fc?g6q4tLo;=~YYZ9K~5Xx2}>00)mZc8G3OzV1wvA+R8twC~?6`4}|ymXVZ8U9vj2G zn@)_z%e@VaTjswERW3nMtLrh-sDWK5Av!e$F|1NO^0+{`V`MrS1w=gfsq24Q_tPGL zBfS2{OofJ3;?>Jl>2b{@a8D8wobrLXD{v_tRla#1*s-dwb{aTI^@W8Ysn%CfS*Ojz zaakJcFKz-v7->hekx1jd%GKclx|^HY4+_jHaK)*YW~(4n zgzN&(2y9&ZdcnLIHBIxyNK!PL#du^Zm!7eM70E$!bn!lATMIbHTThT<5f)2$s#ErQ^nq+CV+MzA>B=$EwP`$vDxB(_}>AxY5}|Uu_mJ z=?GvAC(^5(0pP?6Y@;{>6EW7Dr!L;CK(#{(VZ1>DS@hBybSNJ&NygDcah4sReG*6z z9=z_eVhUSR>A(Zo1Kdc_g=r;*I`JNqPbnVlf<({W#L@X|7hanF`Wo2+C>W0H;}sd6 z2&>Rd$UMq3@;Ll@RtGTj+tRYUvcmlGywcKwlCrQwYT6dT0&BB6ZQ;1tmKIZtVZc)P zY7kMKK1dGD3MOXFXj(!;K+UEv7_6tc?$|&B8iU-b&_?&4*z%&aVIeCW#3oC*q7;Ng zY8mvQ*&W&vz!(LtWGpl4`ms-_d)CI;yr8P08Eshuzzw4(5|pYFFB(i|(VQ^_z-xnE z>8hfIXleh~$d|*gw!-j1AdK0t@92}}7YRg4;Eh6iA_CFqpuVPpcVe1>ehnDTY5}vT zHZ_T?DOO`p3qjw;+Ns`8Z}=Rv`X>a33CgdTp2aS&>e_=Rw@=@(Gv~ipVzApkeg9c_+6?i zTCK$nRAMtST<>+%CaAMw1Qb15MN0Eyj^L@K*Ju!PfofU?)4~>m85Xe=lF+}UwaI!v z2K2gmKRPbPYMcY2+5xDlKwl-sL74ubk&5oo8>$dfO{NdT(Vjg>3=TSN%!|Eb+!&GZ zaPJW4p!pKlRq)D}dwbE6g##mBWu9t?3@BofDy+E!aT?VD64+V$fzAaK-wXS zDf0NG$)h063dF5D;0e;JqS7%ND58#;G$|9aUbIR8VdGs?iGmOwR1)Rvo1+!A;H#s$ zD)Q9z<}heZD2ANIN9!A%w5M62I2KArLzB5Mdn8Rq(!OdDMH4~P-$LA|7ipS_i}qvb z9HZ3Gigh7~_>pXsCQ(Y4sG2r3`64oektH>DhsI-sMM>C##CCug#wNXHz1`#lxEic) z!f2&c=X3$9Ua#@$H6Aw}nN4IY(hfj+7?d}8VTIG_bwGv2rE{1aUYp0N@!B;ysKPib zP{(n(O(vt==FquGc?YIC%~0TRyI@z|YV&CDR;8JSP)fnQs^ubXSyzSpHARK_1!GGK zA{dyFyKq(_P?%8&nReCMI9NtK_C^6`MnASkm^8xE8&ju)U0{9j=bJI^asjrQ%<<#XVtUX5b=>%oA{B;_8Hpa5KAt2VrDVc=B(L zOMOmMeNKGBen>V$U60aiD@U&FF=tb4h6$xnO?{m=+oo|_%ur`EJ23w;>fK%k0=r>O z*@OXI?=_iqUWe7`vg3^aTg+aI$!zdqtcP)C540_5&=+MxZ!dwDaP;V*9k}nLN$t6c zQ4-e;J0XIz`BbltNAvFg_R>!SyN-6~{jWdDau%k$W}b4xIqxgCKQr%@#Y3NKH>7vn zN!H~*bndLc+G%KozJ^gKPY2YpATwo zTetF-x9&b^{=0LZz5Ub71EY4$_YZs0cIoX`oO=4x3omz`|5HWbd9L3!OE(iR(sW-U(CCv=%QT%-*!%%d-Fr@WZv-1-G?&G4^Dr@xOo1M!pYZc z&j0#@H$#KxPsrMJ@7R*;qdRt9xZXH?y5qLAhKhc_ou#|A!>>nwvQ^nfPMz_KX2VmL zJ?o$Oga5{hM{RxO;061xxnp#{%A!v;uD{@}cAL7rzGl;XZ%$wRt?Q0`?R$OSdF_#H zo-RD=JwFsU;piU=F=;#TfDRG)dyd_zu&vh{JF(DzRjNV zPrQ7)DdOGG04zzSZ$i`o0|* ze`aqQkw10u=Uab#{P`}kI$c`c=9;Ogl^<;E-E+0_{s3L8uO2zvcfD_W>kVg|``#Y! z#4A!i+Ynm$x^5NCC zUtjJWdiwcAPhM3w=%cMSb^md1NyVYppSQY&^`kk*` zv2*mKPcPiI@QI7_CSJez${F1U*RNHk-T&aLSM1!o(Y5oYsgrXDPu`rmcJn1~_RO7m z&38Zax_Qs^vws=ddhZE$&iLx*j|(R>oVKyeb0=Q@f#bKeE1uu|;*;0ha?RYrPCuD0 z*Ie-8D{of~`Nx)Q$CHmezTE$|^R|qU zzUR^UHV5v%T0gV2Y-R3|TMcE)W?l5>g0H6^w9a)M`sBeKm;dY4>o)9J_5GTYa;FC! zojwbB?mvBg_0yJ{FCTc`wuz;^+l>38!hgxeJ*TGKFxBidZ*rY~Y5E1h3Fj*Zw-5Ck z%zX7VpZRiaw;R8nl9!w7Z`k+ao~v*Bvxj%p_*SHVS>b?>1=a@uC+yNgYg^}al5#lI!SNqf9K1RVSkqQ)z6m7qYkl^Ma0nz# z(EBkA1OJ0A%>x*+pO??*o~{&NlcW-bf9h-Und&Df;>Wn7;!#||cMsE@9G2p!@%GC5 z)N8;WI2CD`aO2l@5H7-x;IOR-+XcV035_mbjikAvo~dra8JQ)YYqsIFL3spT2k}h< z{z)5PRisQtnp05}@8TY#ed@KKkhv}M%P`=Twgdhs#+0*}7u=eE<8_CZZ0r4a4xS`a z3N8)unNDSk^iqLCkO6JHw4UI1J?@v|Ir7rh3BSj1{|D|NLk7yU%`!au3ir1mz8kN* z>p;O*&3g*u5M_z7Il+&3OW;OX(U0PiyUiBFnG5;~;yeNoK+9MHYs0r}E*NPnt_wmIMdc{*VFp_Z>oQwJmb z$w>1c_}?x0sPeZ1Uy%>gX}i(z%LGrtE5R?tDlg4P$Un`qcEW!(_}qm1XXL%+S;$6i zQ2J#cpW;W)5hoq|(@>|aeh0<8EOnW@(oo*5PdNBBv-1)FY*lqLq1~ zd{N$8qs~P6Q5llVNT)T*H|;q*$L|D`K|0zzwXc-!puOZpb#=mOgj<6^PvS!RN&Avw zAYHW2j7ID{vD^t|0|80*I1D!?uE`yYf+E|8FKBu@D zXm1%eN?9^jay+ybibpch6}M~_A`Ydu2LAYock52vY{0dd-H=a=F=*q|r$iV$Q~L@uN5*zmyj0EgXi!Qu$JSi}8ZS5R4zxCPevy&>Vy21oW<Koj( z!9_gCy@%Z-7rFPc`y_Uw-U)9{b2_{Cv3mr&(f7nI?oxLD080E(wu0YJplP@sVfTJe z@<(|H{{!r%HbUwD%ITK$U|~d_`}jag?N(tPj=(oA>2pUjebGyG?E2Z z%1HTK#s5p0&Th&p+HFb|yE8#4{2X>uIiWmLR~0ZuBt|F1w{}p37xQs)50LJ&sqd4U$_??YMo@~cuzM)GsU3iymC{Ez z70=JAmR}*BgTHk#`%}6Up4tcHXA1kP`8!|wlbC|v1=8PkD!VUax60ospWAkTl6-FI z9-w2lhuvm&d)ZA1PW06cz(Ot{W2){5FVfKr{_p7m-}Pq|Gi>{82G4IXo_9ic;tT)5tJt5~E7DUQ1SNi`6XAYex>Y>CJSu-GpVpG*QTw9&QoDyd zdFQZy1-tvOo8%(@EOHZ`Ur^d8H0BtAk^)RWT^QAmPOadJD_bQl_0-PBVS=D`0v)^~ zOg{A>nkMpu4zU0au$h?jHIF_!mIl0aftkWmrn|lhEn?b$USEo@qrk?~8;^mF*Q&}b z587+T{r9l(R0F2{Yi9be=ZUX6!U~lJR;bD?CX{3J?;K65UXREJ!=I3Ncug_zD8EtH zE^*(_|2g8hon9P8^_YMbhYx91x4~)A8}R+iHn@*Y0w- za6G|fG8ptmgTrgGdMQIW%^}Mn_hix1h%+cMk7&Z;wMI1j`%BnwYKw#kKx&crhACTQ z1jVf>jvJ*M#%l{p7z42tC3zow#h*}CSX2&Oh8SqB=ECH}V3ai*DhB1O*-$Y^Y0ZR6 zB)u4{wr2PwA`wnrMZ=TD=VVAEOac-a5|9XHPoq%i;>%-9poEOJFds0HqnvsZg~*4w z9$F6#vr3YeracDW|2hs|BM`erD19;I(%3I2riL2%#`vkodEpX_`t}~vtr9~*q)+tG z@OjZ}V?5#k;E8Yg|7#RHd4xi9Odvdj!GAO&yw5s^rk#9|GOgVY%G5UwhNj-tpoB5- zDtd;d(v|s1XllwG%9Qsm3Qbx6r7~sdM2U+x_x%uI;!V+)Dgqbp>jlc>ce;iqKh;*5 zyzW1t$+u)ElLME9CQl0qth`D0)+v*!wV_GFhANXz2`Cc}d=Q%W$?M9*cXvu0y(f1l z6CWR>OdPgAnP{9An(+Sf%7k~eh9)hoq|=7);^@kyw7 zPQFq+>w!?QtDjOl<;PHQu{%^u_`_k>g|zGm_Fjs}&YyU$aK zZpl-MR^1mWy2KPJnm0NmF!@&OS4NkOQAVF~uQKZ1z4BT&LK$^eNodraDaxqZ*M~;k zP_Klq>wAVq(RJ;@(5R~hghnmfqtMk7x?JRS)*`+ff)W$}-h7D#g*t0uL51dPqCv&0 zwGOTgLn2fGwlQA)v&oi&2`6DLWFi2%CTYdvNCA%@Y!4!#)j(~TC)7y;2r`3& zM5UAx$~+K)63aXVOpqgKI497$pg)FyEw%-N#A#}op$M2r$_SWP=>W>OiN<`q=8A9$ zG9(zwghV8;%7npVfOt!NKbi2<5or)h5S9liP=87o28qKbjDv*m28_VTnAB>{pU@odR{m*;j=YezX;GX)NzV}@gn z5{)m5rJ7x!<0Q;igioM9BOHw+E%tkaOQ`c9TvAP6px7o+UU~vFN-jJBi6mZbPzyr% zmdk^{e3IjfF5c4HrX^@cv;%@VF(wQT$`O+2XCi^WN6@4?4$@7oKxs@)V#EYqa1zju zC^vI5fMFaynFe8|Ic^dS(=0k_;tiR?{~h&c79BsCbd#&cBx@xMou`NXUNTY%P|k4d zWL{NR*Ctn0rX;J1!Y9)du+C2AokZ*M7YlPEFyHX=W5YnVK{vIml4>WcjODlSwssEN_|?Y)g|R6c<7GHR_cK#cEQ> z3B)2e+P|X-C4o~bnnZG)4^fht^7AsyCE5rS|N85Ftr>W@+JkGDxv`oH!0-QNF-`!GiE~P zn)C;04+<5X1e`60Z&EkM7#Lh!~Fbtx}Lx7j`2+peNk)@SjWhT1?=w$JDV%HFl!#E=XxB@3xr0#sJhX6L* z+McR{dTvc^-P{^L15^$soD*n^SJvfJ#^Z~lH-LEA z!R~te$8nn5J7_VPGAiZJcKGQlIJ=X3~72q2eDkWb8EmUD%&DkgsUYg|yU~-2fDlSa$JpEPEdzHmQ&k64^qaBGrc>nz&66>TsM| zrcL&EkMZz0`k(1o;GEQD3JdP%CTo|dGC^n;yH_>L{QNyg`v^<^N1naa~wdK*C zaZKBbSLhh%;yuQ8F!(fT**c5GW+h-KnoOujMl@MqOx3I=5zN3himfJe-*RKQ-VEqA z72P!&$55{`0V#yw7dfNYXKp?ZVP?iKv*_UoI3zZ^6}+NhNzE}XOT?wOnyBfNijg_s z^$H2-K%*S7z4aJBArzyGqDuz>kt2X4V}??0zv}v**8Q{x;0>?;F{Xy)K7K4sLlZ32 zNXH4YSFs}FcuAncVF7}`QD-#a360FLoYB<9j93zs)NC|Zsa$Ivm>Xei7sqo6kXZsW zc`?=jlScycdNC&hl4NZy+KG7ep$v`vo0%=ira@qT0z*v>`eE49EQ#agfjMtFEew=L zfX)H+i11c}0^ka8gD@{nk^m#EQlJG7YwkY$dvs-P{pGX2R zrHpR$5!}@hK(bX-i1%g$gw#K~7H?S0NIfc)6=ssYx=O8A-(;>&**1lNRSOw?vks_8 z0?jPPMH5VcCdXApHn~xX;Si`JdT}}f6+pxiX*M`&2}L*MnmyRzgEGrPN zIJxP789G6)S78@Jz5x+6BCIH&I8snkr-mmmSb4OS;IBZKZpuO0icnu!NbFv0k1p*a}e7Scp_&+a#tKk|n-sw$=CE(aYEbIcXflMkSW`0>>B0PR zWL`=yk4hL{@YG_%g%E{hYsOnn;6;j;ixeN-!!;AY{76#`#U4E9lSKf|sy2wp6kgt9 z>Ig=1dP40Ib4S@aQ0h@>)7}&`%Lr|_36}=Ea~YBt91*Zl@~UTa`nhs|;N5DP6c+lS zJBQh_=x>QYNs1%Jbjg%t;B$C5^07_Skx^jr8BF4Axm7fAR=JJ>jJgdIewA=uch z1|&ISYD^Z5$>4J7jb5F_>j5UD9k4uZ3jiZ+CYK9fKTuSIr_l-xJ77JAHMulu zQET#x$4x05J0gPU7`Y246MUu0I0%9(6;~@<1Q5|0R~uaExH53H z#g&Px9j^AcPQWFAdP;DQOT`2voWV3)gfB>#f`mb+;sg=^2jK^vghX4$3Y6W5@dC{r zz;fAjSaX|gE(f3kbyhnxRCN}Q!QnEvb#@DYU-d4aZ#is6m(k!d7|qy;w%NUiV6?hL zHffX+_zFjl9`1zuPJo$OEOFqb<#rRFX)8FXzqW$Zl+22oIv&PhZ;DPe} z8_(O6GV|^M&yC$t^6C@)Prdo6cBh^*^`w(VZ6DG3^Z_rO`H#D%eB~eWlBd*lbbL6rLJ=Om**_LvUcgNE&Hc8Y+9Orc(?BLv)6uLSoU3qgNJ^2 z`J10!KXQh9;nKT{E+4tx`O(HNUpe^78~5M#S;5M8UmkVvzyg=G>kkEve?8Rsk5toF zsejt<{NtS3;inGKZ2PKs_BBh2_dj!gMxX4TFT1yB^QspLQh)C8^e4A(m_G2Vi?6u% zi+_6uY<%wY{`-nIdtHm}==A%5QG?zxANe?M%ebpv{(N=D@7>ld7?8eseZf6zi&AF{ z9bNJ1l1;&TM{hp#`_M;M+&X09oHN$F{O$I@&5zyt!ye<2A1=LcL+F)rwvM@B@7{*N zXYT*9%MU9W7L~nG)=`ss&cai_?>g$fM^k-&=w{65viHUfC9PL1zx1(3ySzU)b@`-M z`>y)s=;fuYr*9kM9XRO>&#WnX22DKi^HHVkR=OU2x#uU{ZwS4!`tt9d@A~R1m$vfO zUDxWe;&mJEDE{5>#n>@pemQN+gQeD#cP>V^YSB?RMp%EiZSuvh~ib zFYT=fKD4DFUORcXXD7}2Kb9NI57cRk8a`Q?*FRV?v#!gTV;^3;X63ls-W_-ChhLRE zeOmSC`>sFp!iEp}o;{-Y(&x@i?hbwpM6^JWcT%DXTHDb4(EQ` zw$|VOc1pKxKW-U$ApiM-0iP{>V}U=gNY*6Pkv-d@kiaeKQY6zVtUH5&GrTT z51(`6#HZTj?!R-u<=3y$UDUaHe$L#j#;-e_SoiIzZ>}5n*fn_<9p1U)>+?R@aLTP4 z+85q@;vYlbUem4HbyMpyI+g0~+2Thxe)-Q1Z+lZ|kNias-L>h;*SmK= zp>o%cJ9-}KyK4A|{R@8GGH=Q7y|*gb>`~ZT3%Sl{0A4qw8+G*E?v%;b)8!4T~OK zy5^Zbpa1*=@1ND#)8AbDR~NU+T|RRB;CAmX{qUJb zMvZ@IxNgJ2_3K8SIL~s%YlA{hEWYx&jGC1Csp3i&xKl$Pn@7L{ryJq3} zombzx@W%ejX56^NozZW{qFYD*Zv4ujGg|>r3W#g7TW12gwcF;>8N5LF)7$k9uioqN z8b}pi<8)c@5lCmW0r^y?b6RwOu=ZN@4y()Q#U?u7vE62;&SJ;J#_F&FXwVMyK$FL9 zae8f5vxNXWV(PqV`UJ2nKRRev4#2d7N%n9dUBaXJ*$o`M3 zz6utx)R{3R<#kxqNsRYuSj^G-2zg`UYU(t7|=M;bw|$D;U7Q9uwjG)BZZ}=)LuR zF$Kt>GPtbnkeCctHe|zwS54&{LsO_(gwwohna^h(F+(Q|TJ;Q^>MR;TW~KTGiPd|t z9qXCn@zX!&T=rBhEKE?*>D=IU2ndjCH()Pv|$=-NSg?rdb^3BPCIe=#uRAxOhE3l3W7 z`ewqA8r4hW$McWYzy@mL)TDm)BfNmuqt$@|H>WJ5(TpJ+mJS-N=Oa*HpNyt=_z9ZR zy-x{u>RT&7J8CrRc7S%(XnfN_F~9hN!gm1_6}{(A(xfb)=TO>zfcgwDQ`Qk5U{2Y{ zzoVw3|0YoN*9$j&aGi(i9DYd8=y$Fpn#OMRImJ`&`{JJBt6_<%_bOjCtQLOsQ~mo% zXV~2vZsJWpilc^8pHbJKpZdIU7&SfOLq7_q=8xp0A3clqr)T6QUaFjwo|=XlkNi}5 z)n~+;e&kle_Y_YeZj~p=)}xUh#Zl8$!$nh-r%F{nHGNfXVyk6dbWbvzNjLaWST&w1 zuS!)uYWb@2so_ax8j|Vik4r5#)nARLQdLg19@KDzt3yAc6h;lF##6(QT&f@OP}7U% zr^>8`Q{$>>P*^pL>K7eWy{EiV`V>ZermhuKw@Ob#82XW$c&pDzPUD>$Qb`s57 z%{#mW4+=*=wG2oewO;66<)`u@x0)Y{a~3Z8(R2E#eyTgV%%c6(GHo1=+|hoG`L*O$ z^P%!pY2!Xid5p)4(pK}T%C7RD=Z)i#A6*ny^^2|tYOm2UsrM9?WQdl7{M59Fs{GVG zq`HZ!;pkp{PS4c3qkHOqs-H^LG}LhPT;)a2=w5ZJ^`MR=Di88MJ1U$SKAM-BPx7O8 z4E@yjjmuT-C(&(@;?bqXQTeHE@*^4ONB8t=L{spnB31ZkDnY~ef1?rfJ3MFnzq8xp zp59GvTp76Nhse$1|514I-wWCX7p<|$O+4G;qJB#5ee5n__xGS_Smsk+$o~gW#81y+ z_fPCUj@|p&pYh9D9bmVM{eNY5ExQ^2FCBPgg8xBK$di6IyAOj>dh6N!C%aYrvLo#N zRQjvp)R{D*hjBk%;(=|JR=4r^EkLQ1CxN3yQQ={6E@G z5pKr+>p+`XHO%3_Nwl+t57 zz|*I*`$ABp*IfsSx=V9{BEQ{tfKqgSMdPP?#^zsWh(cxwJ6S0;on-ids2QOUkcSb{CkdM ze`>!-uh(=?;)gk}a9<(aDjs03t_3QvCUxxrCHiB!^~OQp)lO#^#v=%0x5uH zL~Ss_Pn__=(O`Vx@yEo+S~t7FL1rakcMV@=ur?)Qtbh=7V~MLRtjpvRIYDhCsnU^o z+0fcITe7tB)~q+k6GKiRVKyBRCrg%+Q6@20&lF+(tXh-Ag0lMzd?ZSdi1XBpmV~Uw8ovJCt{MxZ5ma8mCyXm%zIW1LgYDhm3;{l_TZ4nzF** zGNUUDC&K6xai%znfg*$1IUi1#IO=IpNk$53;~z(*9gqSa9>u!bp@j)thhNmSSkwln z%6;;L34Nr7rA2VD9-o^jvV#wRb@ejQ2DC>y zpaT5|N`;JuMs16T<0CGt#c>7@x%9j75rW!cW)L-jFLuZTX&ykxk%0!XnVd!E!q4*s z&ud)HUI+GDs64C4f^P#%%U9N6sZ5J>dCXbnCI~o9`q(K}_re4*b_wtWo_14$h%Pp1 zL|xG-8ypj>3ue+$I2hBduk)a;i~X`KaZ{IDET|<^v8pQ(X%6biaHr4jsGSSb>8_dB zcyMQuJw_A{o#hdALE8+7CHep`9&_~ACxS6V6d77O?KDwir$8gdPSEB<0Q#&yHz!l< zL{-ChC})V8hi8s2C=L^GqLJ^(L8RfINlYtfo2pKpDeN7j_A3V%K4>m*MC<(+HN+l@ zDkG{7At~kF;w~aC>SvM%y&ct62YY{H!d>ix(V0E@Rkw*L#2)hKfqEi6*h6;kT2H3h zW8{fPwAr#{@BY$gk@S)JTQu0X0*9T_97W9+gk3VDXV%Zmqdd$hAJ0Go)|r$bO&Uq6^SQ zp39RJu3%~C5?Q5^mzJ(e>q`s3w+D(c&>)HsS*O%xNx5_SW@d&PJIRY}MQXC>HrRQ> zE?!-2y=OppplDpDU@OO>%<#6Ks7}$&8fOZE=fSKe#v~qgWWS)E@4~r0RAOe8r@{f< zjJ$D$IG_7+>(QVe2Gu>yOr_0Akf z+}}wyj%#g({$Xh~sPXzaF<`ZMc-PZB_C!r;Uj;P>27l^);M=z zdW5-q$JZCFx%23qM+wt5Z{M9q^Y$%TL;qB|XpM~1{9lyaO1@SwT}9=|7yLdw9J%Ou zwENS;29E)s3SCx%%>)ZR4tzZH;LM)|79;^`>xKDASoLuj93~qK?|Q8chuPw><5Qx; z>9ks4jnV?ia2V6+F?bwKmq&+hif))!wwd*Ar^#Z+v1hy2W`xmNs}3fAEJiC#S6VD~ zz~k!eUW9b&j5KA%PNUvzF?n1blg{OYZW=&%ZTK>2cU$q-?6Tm)rUhPlmqBlE+Kn!k z6WF^po87H*TU=(ZPOq`r%qAGqv}4S0c&xCB>9V?AMoQOh)_Gw0(rSesn+5qbTii|< zAJRE&CWFK6GLfhbqsBvKi(JUH4VH_XZkN;SB@|zy#cR{q>;|LFV08oS*MmIZ44cyf z++e5P?lvKo*X}i-Bw&Zr>wv*Fo6dsBE|1M)_c#nzqs0lMZB8eZBY48T5e_svjAp&r zVfX00M!Ug`ud=Y~sd2k328-FCbK_eF9^f;H!RqiDfnSUovLY82m)+{Hn1EL7aN}c$ z5nn;vHU|pP;PsfzdJQt~b-O(_v)8Tjx=k(=ox`aIz_HhD(cu%Y$>MZ-%nn!rh217p zkBOvr*gW{Ig2Hv`G*&l0u6STd)a1Z7WE7#(?$zt;I;)e)$Y63AY&xS8HGrZ+aoAy& z&I3+>K!#aSlsdqU(N&_}AauT^vfAN7ziITCYCRemncSE{i*-Nk0r+sq^*^HGj7eMu z6e;cxlXaS~i%SFmH*t=JDE$^jU8%K!K%M6Q$A6G_Ir?Xdbp%cgc~KJ)3}-@XPV`5a zZyZ)F+i)#~5q(u3F@1@_s*O}~pLjU4u@NWdmrNN~Rt~++Xs}vd8-;ThP8A|z<)(l% zz0gLQpahGzRyZ~#P4Ze|<&}?AS@kgpy^YX&kBtf(3%lGXDiBqov)ITt;`iT&;DrL9 zCC9GQ0qBp0ZTdljP=GCv;cPM<_t4s~1C{t&x4^6G|g{FGmRi?W7N3O|tD^n+Gl&NJ8hlbAB zvH^?O0(#SGbJaI)d>B-2{hDOs5VA}1ag4_i$8a2R^hw8|x=JoTP;Jb%97i0pI%6u4 znp;qO#ex?Laaz#jlKz0d8OU0+C8P;NohqDj#tL?l$5%}??8PDuH!*mG+0ZJW(8i=f zCtKE(Lh|KCsJkto0v)pq2v;-Nx*}l79Fh|&d}jZGU{J ztFt46u(^&?wvOXuMVb6tSm||tn^bz8E(aM?1p`W<%pnf;<1mD(@2=_z;lTA6QgJ#j z$4Hj1YjAE{XgbLw@;CynYLfKni8-OsYBBW1xpLBSVw{Y8=w4xasSbKzh@UMPgM8CRvX)wP3He+DwGDLF~iA&`yDvm{5HD zcg%;VBDl_|vr_P8^3}{^A&>y}z!n3Y{Jsks>4m&&7v?H*E&VwT{$Xi*;+>A=aVu+GdUxbq+(W;po~Nmnf&OZLBFF0 z`+L|V^Ua|ebYa6Z8v<3tYAnSB?ITn*^=6|5=6tExCtzpDQR}Lt?b>isV%trf#-pK7 z=4r=@HsalA7_;hu(IK>mWqabzFL$%VMkmSBhyfZUHE?Y9JNcX&dIV{ph_Kj9cZph}p68lt#RsRrxjVyhOriM=oe zmS04tw~#^7qf*nrEL|P^nkG~VG?F@a&-PK7U}IT}8HNr=zMyVZkKN@UZH|kLEygf` zxmN@`*%d(+Q4zylgtW=c zj)3XD(9+VDeJMA|OrZj$b|Jif2*|MU4(FE?}V+*!_?IdkUBS#SbIr)un^n@)V`l$TD%=rpVwE;_}f z&2qy(`UclB+|-Me(IYM#)jyRosdJ5} z3_YVe{Sn2XKb88>Z$^b;t#AJ4%!u5O9BY|^QDY%p)Vyh8Nv6R;N7f!3sbk?@7}A9T zWVVk*qXvsnz>mY~AQBbTHMOCU`e>K*iDiqxKoPTr)sVTa!pY`Hu%rtk53xFoU#{k(GC#mnwA zr%b#3iF;1nGdOO*<+m??=s=&FZlCe8oRyid#Uts$A(uQdcW|M7nCo)p1!R5-JMxQ zRlm;5s(R|}fnyBvXFvaHzGj7~ed^wx6J9#Fj&KPm|)HVG&)b+e}zQ4fH|Jj=c zE=|5H{+ZE7Ry{Lrz^HRBSUl2lJo_Ir(!-mMzGLp!uEUYv%8p;O_y*g~(goHEOcT%e`PRJ~W-qb#|E6>I zt7nZl|JKv9Z+W%Tl>QydKHjdkJ#$~bDjN*l%ZyTwgs&dgqK=RtC0=d+>@Sm!zI| zW8AzK7e6s1@sCkAPp*D3ch;&EH{_&V`uZux(RIFk&&_yr`nZg5QopHw>zdgee_9`x z_F0D|`!}vB|1j(FeJ@^7H)O}E_`4ri_kGDF=Pq6UZfE0d8@6pe_t^)w3@>lL>e!w$ zeqNe+@2dDe1|(F@yK7Hqedz_AC!e7Nr8AcodKQeh?7`n0+k1?d<=!`c=m&dm{`RH0 zTMoykoHHZmpN3ganRmYV;jD8z7SDTR{m{cdmm0ot-f(FDCyAFQcm8(dc<0)F#XS~Y z{O73aiXK1Z-EE`HEA+K*xu5#9c5BZ{x#K5eQcfMTudCtN|M>2h{?%8f41enL+fFUJ zp>%1*t-E(U_+h_Ym-VYLZ{_>%T^~Gj^qhNt zebII2(8PC&&T;(1liO?e${S99s`sRy)15aIcQ4Iu|Hh1;yKcE7I5_X-=QsD6Soqsb zfxGr@->p2b=lO0=rtWu**m~=|>uyhOKjhuLpLIQT*Yi_OfB%YafA7`#mFsT(;I)Hm zE|Thgv%V`YH})O>~%XFvekk^O*4!oar!7JR=2}z2Tk(noK9FSnaw^N#aSFUQS3|kqtde!)`C*>P`Zv||dYRZ|WL|$5HNlt!-D9vQFI$(5y?Z4S+9L0Sh zVIKwsE)Uzo&i4lW5yK)?cER>CkW)bW$_rHhC}Lopo(O!RCswDEfu$l?np50Xh?<-P1Hh|tlwNh`NQhe#!ccB6bC6UE?~+2*zW z;HoMzTvilpICcn`JBrK9phSjkG#j}&RWplr40LRi1`9OXdse2BZRQFP*_pX&}_F-$5q^|BAFe!LmE(|u|wi3 za7s*9iS%4l^(ho200L0*vM`^lMv^}WZ<+=lYpTIh3B|Y=+jb@+GD%j%GDXF0#WWcq zdCg!Bjf!M5IlyKpcG;o;^SoZCV)RLFI}XDwZVzFaQt2B-E-SEmhl2}Z>YyG534u>F z^n*G})FB7PkW|yE!7h>tPb`So-0}oV)22lLrEQX%%{J;Jkg-x>qCkRS6@Wcgip)m> z0)#Q8I9icIHp{}u3q1rsASL8miuDBYR(R*CVE)ZWRS82~qYe)8)Kr!h=C!eX(CVP} zL1r;ZpRtg6sI3lq;9HJ#8C6R}!tl~krP6=>O}4esDXX|F1hD-XF!C%Kt&6h5mn>*ekXBiNB9KUA!0i|8adp`WM{Mp12_* zO?u-fFYbJi7W)5jq$f`O5&Hje9-db9|Klo=hTKEd|Bt&uq^YlHOWaD4Cf*+FQQW;E zP5TJIGcGLBBqc&RK1-wtj>sRcmM8T8*Cd+9&k? z+a)56cB%UR?Pep5vQ+*5c6W*NS-7M8_N2c~@98^~-`C1H~QYi)3flKrK#U2Zx;27+M6xXBSks~ca%4ap40m&;(a0R z)E{9FFpKp3DNT1OZ!zwaU+DYKx<#agzJDo_)Gk%uzjQv*)IKkNJ{x^wX;Pj-zS*yf zv`?hp6lsD3z27C$A>2{_>_fOy{X*Yg#xs_tde9$Pk2{{J`u_3`q$&SG{#^b@q=mk} zOn3_1QT6@ZiAbZps=mLQ;6>?|a7TOG6Gi$U?x@dAb`kXcGu%!H6mRu(gato?~gU36vsnQ^|#<~R42Uqq=D%Hv&7GhV*ELgM4B{j zbxh?Kr#W0RwB^jCYtD6t70CyeeEzZ^*H#yG)2R>++=ZeuiK9t0LF+P{WW_YZ5Yf!8 zQsB6(x*}MWgnsCzci1*HqK|2AK_63hcwWo;nE5#+>e)FKRc2+L9zErP7e?wlTzsqM z+|mAU52Ro#%9NyPCDg#0n_3z98-`!7;~1OGpFA?0>r!&9%7z-0=-ZU&wR!XO4x6`7 zdfM+bG=@6a?U2k0xO=1131;5mg%>4=bd9oN^U4Xg2C}RRg?1470NR1pJAB53m4-S`Oy0b3d|9oStw;$s16strs+;5JFZqQOx8wPV#z`1&L^vcUH1Q?B0`o^st{*W{hE_~pJSJb6l|@TAAS4o_SzyC&9N5}r79w`*eRnXZzeHOS1JKX0g*puukczLF)VB@iH!Hq}5 z1=kmZ3od@kRZx4Es~~Wk$7oNr^4RRVUv-UtZ4AG*Z4Zxs>df%?)qTU`Z#du@zpTPF zK4k#A@+TNw`8}QC{2qr~`KM*L^8OqU&U?rk&Ko_^m3Mx-a9)S3@VH~|gvWiK93FS) z0N1#yA99Vmjb1O4kxpR(%b1Uw4<<2e(=T6<_%FX%Hm7BiRl{;#rD|h5^ehu5=${lcSIOqEZ z!#Uq|;MYf&yK>fD%CCDqcI7O;jbF9f!#U;GhI4uu!r8|huIz(b!t8qV_i%RYui@-K zdl$Q=-yY7M@=G{7^Adj99t&qDnq1kv=7h8MmhybF5Y9U16Ia%m--NSzPI6_%OX1A# zp5fQWV_cd4E)8eyoFC4-Qy0!${irK*=_9Vp3!e&S*7adm#(_PqjF@zY3@Ko)u2-_OdJe z)Y>pzX@CCcO8cY8mGSU9hCF7{q&i^#zUl`Y)r|qzb1wGlk%7LuSn-!;>SLakAQV=!cmF zB-7Y5%8ckkBtI&~zMZ`Pj3(nS{AdUtGY|KrEh|O(8V5Pve0`o$?+kkJ3F1^~ z>mLj97L%100Ib?N+V_(Tpb{6~|FG;7+6D<7FCiaR`7%h>Xvo|k ztfIIBF1Wd`Od=;s(auqjYV8GU@7!My(-?@4o|E!&3E~u`(c~Zt?9ss*f2b+_Sv9}* zMiQ+~$Br)BA9!KyT>WUTT-aipfKbx>Foca7Ld zYRMYQby5^ZZN+L>YBWtWhxT5xXqnntr+H}-kt?;8%7RvE%WBgONfz2tTdA5CJZwN( zU+^@Ik41Y&8m>XjE*}yiL~2H~<`<=UOD3ZO609v{>NIZly zO^;Q>j^i80Nql4H-xv{eLvua0llaDZ65m+ZH!u`Hpmn1Wkv}!fe*nVFJ~YD0Rr@y* z{|2$Sw0~oYe)Hes5jv@vjIg|o7U=p*FXlS3X{I48uf{bHc_o8g8=P2PjmX9FY8*3` z7qM`)-~`L7k=U@j8gYQ-)ebYFH(J|EoR#*x+Toy?e?s3h^G__V=DvX`(n!=y*sE)t z_LLRjrnO;%Q#IsK%K;FKlVPc#pC+UJxr^kv4Ht70#2i*Fnf{7h09B@WGPlSM ztNVZ2_md2uDzg7a6oVMJYG#y8+GRMVB#8XAB7sc{bZtPYR>#Q(&}qn|8ILscOc_2WM?)bM37lt8Tq+(3AxRDiGSyff z)>6rB8N7yw*;2V}8N4=)T?4}2OdHJD5NPZgW!2a-%BrzrlvN_u6iWMa>`+sKtp-mu zKz7P$(xpIQ+bdTD^y8F38T8yn%VqVqC3HqbS&dM1Ly(W4ezISjP$R|(`&F-8k=@y* z+zwr?9PmTjiCEgyhB@$*h#yTAY;Te67PZ@Sg$isIRLN;gW67z=Xl+w7;SGiky~g`P zq#|D~SLsJXcbtAV)l%#?$*K^5g=q*B=SR<(%YQYM8OKmsIwrNLz3`Z$xxHA1Ti$sx zh#^LyY6M>JWCvpv_)5pJYE9LkjsxUe}iVMy)MzYR%|q zd473u_=!2=z>Z2Y20%CfmD4t5Zy8}&16rR4ESt5}jYud9K8Ajkke-pNEvCNKANF*|=fU8_!$_ zY^r_eKTq+hdD%FAVv+6PB^fcSNVg;a6JRR6oH`0a8t6x(V)9nYZHsCvD`9^G6DF7t z4dK6nJm@9qHY1J`%w8&)<}?Fq^H3+FnKF-uz9Q(RlAD}}9}_%;@Q%VCGoQLquOwx) zh+m8DD`W=O)Oh0YNw~>r<%eklO7qj1$^lZLS;pC>_J6%7f(6xWg)pk|6ViEi6VQ_1HxmgdH8f~XnX+p|Vj zL-vMc&1ghZ#QOLK}$3E}z=kG-Hg3n~Do1q2!iTJI9`xq8()EIL?UG$@u)tcoUB8V!^W&62?_*l;n1G-2*K(o!UD#D`6qIdRiQpH zhG37>4|3Yfl7n@wnIVqtb1NO>ASsnhrIOST&3tH|Iza(179l{}!Cm91BUH z{WayX-Vg)sW;ErJYbq%6I$XFVGgoWLILx*fa%-y<`~n)7lgdL?m1sjO5mDg|V`rEg z!z3CgF|XE-*aaRvTO6TO!Ko)mLJ+ppiSX}HA2BooDId`oN;!DFD1$~2u_G{5Xq~OM zQkx}%8#dIe;^tN*Ahj^71)2o7c`$3aD7v;rU(D3)jQWX1d3e~=c%zW02Rb;%Cr@;U zssPVr+=Lna=1#7+#)kNiLoq=F`bSO7VH<>)3I1BFPH-Ymz~=_k@Kwf|#=ONbFDm4u$JQgnK zC>#Wl4e|>^u^!+h%*_}SKj&wHKC)I~Q9C!&<>dw%jvy!Jh8t zVMS*GWN<}@MYJ9(Nk9D}<`&72NkNvVc=K3Jb&=>{F- zF;sa85J!RQ3;3(clF-s@qDG2donsXt7)>(|3cxdTs@hxXtAJpn6q@z*T_lL98;Qd~ z`HKqk^@&BQW7w9&uI} zEvuNqzd)8+RaJwC^>BcJ8H2Tf%`>8a90&BteC}{&0;D!(uR@LsHB?luM@=-OwfEE* zT5vI1vbXuWSTk=j~sw5s~#W}TL-|_1MaLP+Qxccqvw9IFwStv!Q@fk zCBz5;li@4@G{|PPO7K*I9_1h!4N*SD0w)jw%xOXpqQ#)jtizRXlEpX^#LQLq|FrKX z8Gt{s|0h3_oMof$qg35ch(f4q@T)i#e)0G^iJ3!~iJB213E)+o(y|IEJ`PY!eT%uq zW;Rw13VH<8Qz?GpAS*Z_JL?AZowbr!SolarpSeDlqz)&_t_OLbG`WOq{xN4a<=|Wf z5=OxYq|Et?k9IK3gD2WkH5Y6r<6RAzfGvzsjgpCA%Nhl621-LPWh4~uQ?Rk~ z!jT2=GJv2>l@tqx2kIgq3g}S(kvE<4#XO>lELM|+@#M{PY+?=e2MVN@qOUYBqC+DG z0#Jbmrcn&33OM&f0~SE+%ZRLKJyuy1fouYEhT?l5By)DlHvVj~W0|L}df^$DC^zj# z1?!<8x({0nAwHn(xyVT_NFZTwD|LQ=0DEI<8E+2;F4DwkBSQWfKSD#*MMWx{p<9s5 zB0|$%Rak~16c=xeDkZ^2yoNXp)Ih5~dNc>CI(3%u)(p3TZd4Uzq6S90Hc-U(;(Q!( z5iSdQz-K61-@tYul$KYYSW=XeKb+i*GNd5p9?fa^O*IxBcja7&LL>cxIRd0X018zB zS1<4gL+(jA`%lGS=&NdC#YV&dVIE1AazX`3a>D6{02rG=nA0354G0EaS&Ql8_t2&c zmeEcJn==fh#H!D(ly0NK%)s&GKjIj?ihcRLBg{y)H(*#>2mSbp?9wmaQQUZVgBD_~p4T8nx(;eZw zS=e~69dH2@iw3b-F^6g)A!3U+{lGxA_}xj6`9_;33_2hN*4U5jv`Vtb5iJHE!~{W} z5IQW8Tt?Xu=b|Cx#EgX_M6vb?=wrGn!A9&xl$I5P0R^`LA`hyHDItvac}3VrNB7Y{ zC^#tK&;aa&3m~*Z_%4pj5pPWB-6r@MF9pw0F_r6sRs|}hOr)qZAB?w1msfq^MyZWCFDVi zX~WF;9aT^`if9g-VFvE^JdufO8{r2$~nyUA~ zK#>GSWs|f}0DWW2Bq^t-LRY!IkxiCX5 zCqWua4LLxnQawi)NNf5)ps0B{QP8R0&;#DKq~I>dV=Sd+xoJVF8n z3bwTeF{99q;EWJoQhikvxlvS6C8}crdhJ6PXzkcQ5;EBtM&z5Q1>zfFaoZ+ zB%?0Y6rwN41`2|&uo2|vE#x3}F=xBzqMV=PoQa7)IA$JM<9p$zS@T0H?g0Lj=G^NItAH*mj|6<0d%kkk^39gF3D_eEOu>JZe)sJ zwLlY@gF>{Wqyp>|`dtM{H=enH2oQ|WOsIzRIP#Qs%Dgs<4Ms+^UQ;XaAtcQqoTKr8 z3Dg{m(_wQEn6UogeL02kETAh!$FES!FX)8uMlV1 zL-jx=VnH}~t1D`1NwCBF2S?fS4*e7YD(DG8H?y$5MjsvC(JedFTT|OafH_fqe1?iV&LycO3?t zqcbB!M4YFKwQ45c!4m2u0pCgpk62h+1pXwFMz~U21J||S%m{@TO(qONoM=MMa;36{ z!;~#+v}H-7qkBwAG)(aGLNbyhmCRt!Wxcl!+!dh>+J{+4(VBT2=On-k!U39LZ0{%{8AVog z%)#;~^TD!2MOqvhAf|joXsZHR&9_~kGh!z}Eg~sFHSH#7f6A6yf-6xFN+3g1R9qvb zu&sW*DaABZFhw{4;o2;mAb`ClmBJumWJBUE2Qm7zO8IfV!!<#PFu`n@ICMOt({;uQ z!ND$VI~AphAq1TTfl(pgvD$HF9P%(Pr}e7l@Znsem=yY?8VK#t=OFV%3?+G>SY&|| z>k`+-!Iq54aM_^oLnvZDMM06eqaV{caz3`15DHkfyhH*4Fi-PSi!h3k)9B=t5w+mQ z>L3y{@&cCyJZZm9KcgFI{+>-uqGS=UMRxI$-Dt6}ju2x}CNE$oq){kxNs20BflLPE z9K%!!ibkR1u*%cP0)ituq1}M$1#71&5a7H}75Tuu0o&mkJm?zM5u&-6jcg}_&2JS% zJ{ZHo0JKazA-$M**x+%cI}sTTqGs_uc4A(|!1fo+cQ(N^dUA`B2v%x;7~NMpfmX5s z;3BAInNWU~rQ!tRZSf_MVE@3^d7zRS62-M(7(&2%$0< zMfUTX8XJq%W@UV4zFbXCuTgPDsLtTS90W5GQOBX37M0n4mm`A5OEGxyt5l?6Enn#mNcw`jxclrs)XIhm?6BD#xV7 zl2unl>nD4aOuJ{4W-^-XjQ!%9L6Y-f+?kYsp(J5&qZJ+}1QEd`6(TvUTyZ9iAI9S~ zPO4M^KP^%|xUi4b&k#!Rbp!(mLDPu=BAoWj9VOHeV5tL83LPjagndDw;>amC-#tiX zBXpSvt7&dPE=LEd?EG8Zc={@oN|IO5`@D(ciX;0l03?Q5NEZCZrUy+z+R`P1mBhAA zP1Md;fJG`o~4X|R@Y^;K6bkSf4 zq6dWaq(%c#iGk+wcShR@YIp#+aoz<*v3wCOM1=_ByFds?2w_la{9rOUf0~FQOUf0$ zm!!)jK|kn{$pO@3;t!^(kqknY%sxzlP>#q@^hxwNYOc2c=xgSd5du`uS$8_uor?L8 z6-AL1s0WbDvYCL9ATHjmU@}2M$XW^1i8QB_F|(!o!~@6Jq?cSvfu_JMVPi>)3H6W4 z2KT-|t_+q#W2z2hkoH(?#fN5RwVyDSY2CG4M#CD#)!e;Mv>TjXnl(2K&>=Unc653eJ+Y5s)#(CV9@f(II6l~I1T_i22ubOSDZbeczg`}juo-- zj|5Y$7J-}ski1FwhHpSt2DtqJB0D{StJWD67flaDXQBIY@MCE`&s( z5q!z_1i+VqZn7l~u|(=A;o@5>++Aa>qm8>vOEKm{N?;B&$LHh1LE9wMP2Hw-mrXG= zG)QNMq+kIS1=Cf~Zzy9{tIZk-Xrd&Uk+CRe$TEwTN17YiwovB)L!@aTYd`=U$e%_E z!yxxy`PC(WmU3Jqhc2U2fkkMQ7#@NQ35Xr_d&fH)@6d7XVPc*Tqy<85Z3c%`ZoM~WG85HN;puJEVqMa>HCvh61Dv7YVqC_2g z7=j}^s4>|rW>Vm7+1oW{7dhK(>7qH<4j262GsoNTqfb8ZBY*JQPrmz?>A;{yeSkMe zMRN1H)G{OGMq_B2+&YU7`sGfmVl^pl$>cU8ES%lxb(no7j~THv%?`TmiQG*uT3G^sXS^POV3u)jjUpa^pr zR~KBJaJ9$P5f{aK?2Ib`7v-U7z^%o4jL>Eg>(OnMd~U_87!gd$EhChdP4Xy`EJ;SU z*^PPYFuU!D`RKKJ6b}MEDKIbaAl?D?fIgeoXr@pbL`NdA9!21Sb(^k?@7=DwZhB_7 z_0d?5r=Qkc_uSOnr|;@K>n`7-^_Ecwt}~4qenI!lTc#{KYe)X~HraE_0b9?U2?O)q zJmA@L+2PdC#f7zldfs&Qme;~(ZFug}y}NS;={HQ?drJTI>u#v37;?8R;jQeW&g*ht zPoH(>$G`Wy?$pk+M?d>;;-~lCo@Wm69bNOpwgZn|kw2}j+i&U9 zr`B#HLUO3?Tn{S%(@f78XegSTbv)bB`;H6Wp7h%Bz6-CzQf*FI;x^*chSRdz22$) z@!uYLpsZ}OZNQMHdrn%pH2d{s^Q!J%@p+H5vlqYeMbSsO9~JDMT)wW$4s-m9({$6$ z*nC0JlEI^fzW$i?t+Qrcu;$I*pWU-^%sEx}%?tIvdfi6XIsfYYpJ!g3_i&=uHEH*q zQ*OVc$K=a8kLbD3VZZ8~ZG29`jY*x&FiI z_JOm0d~eZ|kUjaaUr#J~?17#0A6)ak>yHZ#4&8HG@5-;A`uDF_n+}edd}7U0tEN0N zEpgwSITzpk;}_d5`JwvZ?~mKQ`By>NRns?rearB-?`aB8F3UgdL}BqYTS_*qd3Nir zlrQX^hIa4$wPVGUviY-X+xSfXU=-!$Mf#$*1P-ubqjNUT=`kN<#OqV%R2t}QM=XQZ6Eh>j=jvbb@h&K zo_Ko4S9|+q4h?pAX8lOh+V2i-?mOr|8y&42v;cS4)Ke0bY4S03z{ zy7H=PmQDEShOa)#J!{w&{Ug_Q-S^~|%ibUFJZ;qYn_qhGx6r-?$M-t&ZhcT*`{Wk~ zu96Pre|OHtvfVS^o_%0U@!^a+zkc9N+k-cJci)P_5?Sdf7#p#k9Nz>IP2}=Cy$(Y z|6a?iuW}3Cd+pn2_m$6G7kK&9uR9I+)c*M;zwPN(v1D<);~!71{Oy&`5*Bu`lwSYx zcOT!{|7gWi($N>cOSopm-gAarG`;VVVTm;v?LHj-M0T*Z@yma#`(B^X_3J06te83E z_b)#Rp7ZqlCk@lH3yyC|(O*z?e z*g7{D z!!EmJ$%e=#9=ply#{X_N;uKo#PB$o<$LX;<9d4UXp^z;xu^y57elY%FF&<5Jr`7KE z$X1U-@_C$Av(avI`oPAR+z5Nuh&Si87(%+=I~gtS9e-G zCWNoEn1#$fxKBFCU*JSlrY_ijB z^4LtW*N2#rUOOyA9B!W*!d{3>%qAU5@p)yR)n<1qkOZ2Y9%>rGnERXx^o_mn-RVRS zOpn)YHYr|@+hURxyU#4)Jj^OvokpEkb{MH|i0SJ_Mu5qQfSL};gIMU2+hld)h|`Dy z?Kl{;dnF^@IiOu^@%YdX#NX86{J>$cJ0Xa)IB;NLvs)Y{G)+eLoD#*{!Oernn{M!i z&=>Gx(7Zke#>%aj5JghaVXbj`%>*aZ`vKfm3;_3j97n8 z8K=%3rv!+3tX7{S>FkORnS5r74CqESJ2a!5MmrWP88S78>@fm14v$@y5YE_Pgx#QQ zv?9toa0+2SJx(3QP_lU~_)aqU5HH9I*!s+Fx7X>md-1}A5QKmrnua)`WDK zrPC)F5i3ZiL-b>(T~^R7yU}F!Lb(CUC@H^rO}!jWQlZGfW#;00qW*{u$A zNw#<$Itv2LyHT9YY4-TMh;!<*+OaCT-H5d8Qvhf?@*NP<-6?&XLvr)l$gzQ6@BMYEmS1>?k6Gj>Vo*hn))u;oo zOm@^@wc9X!l7!uiQSzBhKG|sY+3YsVF)tW=Ixg}8H|-7-?nYTguh)Ya!?q*y1Wy*g zJre&fOQ#!2vDHNUzhRf+H}MI?JP_|df8gnwjsHiy5WS~3bhMA5AVQQrj621|J5!|9 z_|EGIIq<_Jk z+VhM^Q(QGF?_H5TF4A9!w21$wqjsY`3Dg$4DBcQdE$lH1^g@%nZmGJFy?(xM0=hdz7coyA?_5B4vY7Me}Kn`_i;yk zYCOM@_)Tdwp5MrHo>t@ejm$|OBO}1L9(?td$32ZC2_hMXK%rR1xeHfgx706vfdya>gBQY zmJ>d*KWcN#MfA{Uw_>xW7-b(;7K;Rp1F%Fs1$N|a1zSTfSylxHIXh(ZY5+rm?a)P|?5o*JIAz#pExsxUnH<`b^TleV}fJu${LY0lGO zx>!uQQ@ZjvbXzurORlhni;vvuDt`487JII!>}eNW6HeU7rD3~69E!}zu<{rf9j=~wh{rC(O$kSlefKAd{$cj1&1e%A$Cx4OpukR8?*8poh#gqHlo2?|%ljgH~U07irg*9aO- z=i=36E?+~p8WanM7vR(y{6hV}p)q)mn%~~W{I>tHL)QQDdw89j^TKAFUSzkD0gM#Q-ynI=a3<<#3ijq_TnYC4d~?RSv$}uY|mc+019N&76L)} z?f*U8sTff8S=0-ReQj##$eqe6v2U1%G;D;jNXy_!u*DCxiRKOgjN+A@YqK%`h z;1D5N@dn_2STlrTKO6>k1pm`_kWkfzaMvF=HE~#8- z0Y}w7)jmMs&b3`O%Y7tD#Jt06{ z0E4ONF|A4HVO2rtG*|~q$AuW8iNHWeXod-=h;Up<@L?myzeV>_FpS6pwMGV6QeGS> zKt-ysT#8D+)C{PY3c>Ij$N~{cayYOubC035HO%Y_En+*$2=ss{_>3&gnbE5~X(3(- zlMocfPzt)1s&gnbU3G{-9^=R_Q4Kzj*+{W*Vdce+mfi$&dI_28H^CffLYt7Xkt

?(Lq?D!= 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

PzP@x@yhDPv7c2Xhi>R$KT!~blHsg7d&=` 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

MwY#F_p^_NCN*>}0__UEB%%xxalVvBuxzW1rB` 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%0D{Pe5}X;TB{&JVX|y>UC_s5>+01hGTMVN!9&b%9 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%0Dm)X>2-5X8lO**iJZXeZIEIhsGK`E08*GjO7 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

s;7i9Os-yaD#uJUa_?-W+EcR+L{dit~%4=`$on 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𝔹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 v%9mgdERbyl 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

g54bBp|7& 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

    BaS$;WRm+-&0{8CPoXU|QRU(Vg} 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

    Ry&&e!w6Xtu7Y;lz^Kkx9y2Jrj^bEg&Mc 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

    ?6`N)4`X4-zXehW*7T3xT-c#&C8M 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 z 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

    =YJJP{s!i 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 z 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ν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

      TKnIJ#lG|acKy$4nj9TxCA(!T+*%Zm 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 z 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%0D^)-!Xq2jMu<|n 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 z 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≤O#;d>f)E8fp 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

      ()3x3Do+Z;W%pQZ1a|c=;zmhsa&M()F(D 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%0A~uI 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

    daqP#M6FT4;KyHrN_A_Xae#g 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 z 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

I*UXAy2Bd-odPu6?u-NLj|V!3 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%0DFPO8YAe+(< z6%2(F5uszR*p8%>&g={G<<@Ob0E)#trN35_1DGF&pMum+sd6IX1*Rn0=7cekULBzy zU~$V*jv*$~+El(6&3eEC$DJ2i%1y?=A*PDZK`8t{KLgHjS|!gzN0fvh-X?_DDIvH> z-?J*L3>3meU9sQ;KnLserVA)0>NuJ!iC3kB&?jO4Q;-OoEwo{wg9n4*pe`(71JYfW&I z#Q}R<2?nJ#xCI0S5z2>(qtd7e5(~W(p(Ql0C>dP|l~OlPrA;hrw{{3lkQCKgRf=Zx zF>^|D^ndF8v;ib>N&i1ZoGqg;jv}H8Yyyna#B0jZPGZsyj6O@rzqw%ziH_6Lcxn>o zWpJ2~86Ezd$yH{cd+zAFViufLVa0T>)`f>6Oky3Z!7lTnE75BK3*HGZ+oQk%p=17ok2v+F6b$3L>Hr zWj>=zUWoRD(q6h6V66m1LgACP2r^UEd`!qMBmqJ{AvLT|qu($2tLR@E&Jy9DN@G(# zN=sw9lsM|b2|$C+`gk-QN+F~x6i=nI5fRGL<_*#z+qJZzKsaDU;|TEcG_(R4 z5jwmW^ekQP(^wbSE+{^mTrWt1W*IOk&2)0bW(j@7b4&%46kS@(6!8^4L80XVQ_p|y zBo>S^Bn0a#>vnOuh`n&!;Uriqe_@Yw4~pnJm`CKDlxVoZtWWo;bgD>8Koh^JOWjy* zF&fHHezQ!Eyi#%kF!=?d4eJ9)5B?WQXCuIjLvoOzB*4lMek+d6Lo~No2u2Nu?Lhic zKF(lJ4>hc9UG><-b@ZE8riI4Q6zs&oFcyL|0VZ!^x0pd0I|r$6) z4CP0~-D$)1!+KMxA}*l_owvaWvI6%}^f0>7AV_kubF(DIRtAq9Rg!S2B7^WQ#9qmg zO7Q_a5C#x80v3l_6MdsQ`-aBE_|*4Fy4#Vo7^DXcG`rg&h&!=d;*}0+XDjKM#jaJX zRl^j7R*3S#t7pz48ioi7b3sfvH}ya)t_!<>)0|@mXiS38Xj9UV3@QaHd&VzR84(;Q z>#1gAfw+)+mN5%B@`dogb)uzzfo@IG;-m=4n6Va8MP^YE{z^sd0V-oO^?`ybawhzs z5ai*?!;cN^-+4QN#02gN8;39hgBUgZUXC#L+_LahbxWa+jvv5`Gk&L#62VE!>+XFn zULu5;7+6Fb%9s$fS9W7HymwA@P%2i3*^==Mc|sfrCQR9|xeH^ta5gb05#sNZCXikQ zpovgV=otuF;#5+rBD~Ks6uEAlV(ZdXu%>RpSVQ3rl7i4?M9dWJ3?Ne?OhD>NfG{vG zq7=ypCkepK#+06sDfyvh}*y)lUoO93XrmucxxSF9ls94 z=fDP_`G5)bf;|d?g_sh8Xn>JNLhxW~#5@_=g^3dOFd<=(mrRS7>+x_v7wizlA$AB3 zhFC`phWsd^oxAZR5eX(>48t!Gq-GMoM4^>&fY>LWnFry9q6eyu@Fpd3@Y$B;tp#LS zh&AN|3;xCTG*J-ql9AhB; zSa8uuCm6;y8c)C~ra-FL=#v0hg=d%^ z>yVXprUvqj(5Wa%m>F1zL2hV-hofG^Iip`g(p3P-5$I8teV;D~zh0gEA}XSeKu*)j zEhT#AAh#p{u=dj-phOJWb^59V`YFF`2D>@L{B9o^!*-7HoDgu}PNKX9lRUsSP0I(v zkOgoEgrTEIGGS=rc*V9H6Gu)%Z(Tqfv{(-jmrjZh0bq*F2b*ivDsciWV?S7NuBh#e zUI^}v*#(7=-U`7#67fVxh*Q%30j{DXVCdf&s20Mbk5*&K$K5{wIYm7Y@T+yH(Ww}3 zz?=wN7CcD>O*Bs>7>}B1$-v^_m^8HZiCrrrJGZjajDu|iqJqQ3f;t6M#23O+4T>%B zJ6|pKXjADljy{rssCrb+n-n1gzn6qEh<6Ba0n^JpEFy%P{+$$95F(!Y;1J2Bdxw)_ zXk1Q=7&7Wm*%R$aZZ8dzlyjt*)2;R8VCDhtnp}P05W7Is8EoFbre6`V=~v`Q zImShU(2j)_yQePE)(WC)f?UCIRbew?^s+WrM#%aZ5K)p?24rqPc!#8Xm>F~dx&~aP zi)LV4`k`<>n({LDIF=d?A(J{p)psR}h9C`qO-atBofkL=nWr~Z&SenYsAO35gHA&# zRFL#!)CzYh2_g-pI9nGGh1s}^yM)ez$vq~CzSxb@{E}rxfAt>Za4*7&0I!~En^O-4 zgs8YWl!AmUs}3PsO}H~82~ibo&G|xuXMlt=mvxn@JX;sfiJ=Y_iO!RmD6V$2!XBMWVV4T2*wcM{Oby2vsY<<4vIydl717P&BeCE)2C2_!GFfq=eOVqOx#` zTu2v~yj3E{p}G&S$;k(>fGmTKiBS@WFg=QrV94YwfZ)2^$+m8=GzTv1ur?C$NJ2@bBPy`j?BDO|A zal=YLnV}Ixf_hAk$$8*Jfr}yh6k0d}Hbi6=X{})T0xb|T5L~4As<0DU8W=h%Ou~vB z^@`YhSuGNhVU$v_bM$}e{j>p$;gb5l+&%+*5z(QTU^QQB7TdeI6|IGD4~s3$p!5L= zQ;bd_M~GUjlydYf25Vs=0lPOQscfyKZ5?5}L=V<1eGp{zyxREsGv%~UalmKiI)ln#!}K?CHMta+mTI+Y7+?i zr?!xxn~=!J7y*Yegq}=XgrrdBV~c`o6ZqCJw-ANkH8h4nd;|Hzt}VVWxll+uUWB!< zOfzoMpIysG#6dMV3P1TG?3v@X1QGxipmm&2l@Ow3^EIr75CPz&6|9oQie+puWV!SL zY$22t=HNHw4{G)6aj~L-dK?jkh;@;YjXzsaMgrBot_!zNE29Q!8x|b~KCwx3SFRDG zE8Me9D6dE0U=_I6zsS!;5eI}(?TF!OV%P$8B}It@;q9hyF)HIG97o9#xk&ca5r;Sz zf;~&=l5yOa2-wEBeNP#T5a|KYh-)q6P8oj!ok{qohysCdOoY}W1}_m6k%8P(6c;pC zu~mS+3MquuTt<_Sm{T<))uOsar|HQ-UH6As@(fOp;zfer5qBK31((aFChtM zN)pnCOe)2&Pn(%!nsa7SK#_U@1uoYDVz~+`qN0MR;0Mc5z}M@=D|o?%1q4wMMLmR_t(tKv zWRHbC7fTFdyJ+^5&NV<2tfga9=f=)WD^|6yUB0l>tdOEY)J2b0EL*v%9U`Qm>SS~I z5|TO;J?NFtY5A62M#v`5SZf9E8{8QcRIO)C_ba8p-M3ai@)Z#;JX|I>f9aEC0Pd5{ z^c_V+aGT0(!eH385H-7LV5qAZ8S1u8JZUO)^_4(@^$w7X=Q!OF1ASl8s(1uAEVx!-6$m2d<^^m`or@QJu@Qeju! zRK^Ic{T)iZLdFR?{B^X4LYsGt;)N+X8I`309G71+tj(6=Lu(D``ke_?Zv`KXMpBpxQE_#nRp>em zuhyhYG!Zij0-L=l5e9iF?JO`PgqPA6r)bK>uspPkNYzX%f(8e7%(Uh8HA<55iDI&K zXI0uVQ|l`wS?$Y+XghMRC;C3AvC1Syqm}?eXSNYftl8JNN5?OEnuh*}@+YYE&@inD znc+ijQS(QPEbPU2TS2JVnGhb;Fa{b(=uRv%YZ`7xg{={e8`$itM279Bn(j9CHGQyh z_O_;;Wu~3+wi%a*t*w}Bvc?S73U=dJX}0z=o8o3Ybo?k}Pk1VZqete^i2U0b{?+`y z3_}3HMef?xu@*}S3DRrqO)`@;?2X58VG&_nFugd+q*7M5pBurkwAfTZEyq9@>!1c7 z9=A?i{?s+BqINe%g3?%)6ikbnc<(;eE$R0G3*s(9!*HT0>(8QE$$Z9ZiUwS0tf_mn zVpz}xqe}7j|JwIU2C%la|L?9TNW-}6u=EXK7w#+crAN1hom6*<4~heElWwFRH3`x0 zO32x?fiP`t1=1q6UY*}VpYhu^s}ECQxp78!T0B}qvT`eu(+D$jr7+Odj~^kNtHj0( z*a|Bl#Ipx&v$m|Vg)wHN^rw}zN#KH+!jRPK@;5bNN3=aGzoeD62RsK6rP_P6y1(vO z*CiR4__8r16CwgW`I?K&f$f&15&DH0x#&hDjVq;*NJP?Td1DlQf*3*_ZX^zFuBu4A zT3lNJisCnWzj2xwo}mdaES70A3Sw1W8j$tcY`+P}Me~g^q!MYPC9HWu+HP=rA;g7@ z@KMo*8H_#&v7#nzNhW;E>YVsmv$fqdjG56u(Ezb@#;mSt3?P7b-x^xjI$Mu!2#$m# za=n3sGjpVnwv46~4vx+w-tV8>eAcaEMPyZ_g70d?Ty#$3qgj}?0R9FHAabj>7t>U$ zpiVT($rcP@ti6?8yQcoKabN5jtjJ{Q94)$Xz1?brp=$P23PU3^To5yutS#$c*H=f1 z3`+v*ECr8>0UHBL37fxz*<%!y_%4ghl%&IOD|i#&n>N63)<=?Y=?p1jOPw%VOMp6q z=Yr&jz&34>w#~S3@}(Znj7WGzvss34l!s0pg_>ooc2I0$&DX7-Nn;F|nQd8a zYq>y)jT`Ws@W^nvG2_oG{PgH}XhHpm6AQ|BQTZ9fGnF2WyRm|**x#ax#UI)+NI=az z^<9PAod_ldBn%#E@Mhy!X$4>n%_q$^pWvx#U~EgUXE67ITxXPmR{Mn zJh024+tg4^3V!PP_EvG#EH6&%5=r81V8t%{GCYImK|F4pH1*3mWbzB`tf3K!WF}#$ z1xjR|(pq8mazy3u*?Y+g84``wC3DO`&Z3X9Dl|JQaVfHlDeITt^I#wtEDr&HIMJ>d z=)**0vEm)Lm2zwh-iM`F>8!C(sd@I$e^O^q;b|tH;#DE!mlw3J6PbD;J?lZ8^7eKAv~ZooTPp&d_PxQx}slYuWqG8)7+tbnp7 zXKJfitS^IY@?Ru2QN6}$C!`5Lx~KxR zb1HkWCxTOu>POiz5H;P{WGe%0F)LnK8CljV+|sdRuAZ_*7}nHfQIfj}i|P zlQCkT{vZfY2xA;Ai)Q(;Vs}gaPDoHRzE8LvnT1rd(>>Uv_TGftd{~$@V^eSS3L_)% z)`kR#w?(I4^wWq`z|d+VGndT^&Jf0$S^{>XpC3jFPaooT2~X^EXPR#MlnlcxUq~*6 zF63UOd|0Z8G{BKd-y{ux{YPj*3{(sxlcgyBS5-n|@v5G7W5HMbS+_qKIu7CfAX&6n z7_A-clpd}XC&1yu>=gPE`h8w3=nO=RpWFFof)PwRaNoh@sjt9O)jE$kcm#FvIR>kD z0&Kush8Py180d!2V<20uxt@zK{Z3Cfve+;SETkCD!urlG$cG{|`H;W=*S=pefOQ;J z|1SVDR||ix_#7h~nNMZSf(D+*lyWe#unG>pDST0oz8=E~MYV(eWi}$LLB_7l z_}CIOS}JBO&uF~KzT&!T;mTDDSFSNs44Vun1f;M$KoR_r?7YZ90|p|>dX#4|kc}rv zW44&iBfKVz5@+jUz8aGxria0FV+O<7GCp|I3cw6}#9T&z!QYUy3gRrRDp;EywKys1 zAOn)ZLTuFDhSW(^1<9rkZqMWhfL(bf*oFyk)ra;~md1h5=cO@85^Gc3Z0tg{%EJ$s8O$EfSVu7;(PbN+ zQ6-ZZsgZY?JBVVKeXXKGwIx#)$%xY((hp5&hw~`@IdcP92|I`09&5^?ZCY9C9wwYz zQhmBSo}y75w>hg@C%C!V8fuKAIorG*U_lILQ(I!j*oc@_#xP0-qs94A_}eo|IZ!UY zL<`aw)A%CUh{Li4W{1zpHg%px$8Ru?E2n7dq}S+cYn$nJ2t!-sMSK(N8~x|YGsxGm zf_+#&N*c$=Vswb0@{Tc+cN=#$Vlv;CyhxpD{4I*U5snsCw+@KyQ1NX7K43;3oDyhL z0?0Fi0GAe!c}9(RSfOPFqoHkh(XrG(W!EOk=i`_SHB>b|pyITRvDYbLZq2$sFU(Gi zfn%g^T7Ok8m^e0pqs8fAR{=jjK5f#wY6csw5Jw=X^tmtMGr?NU%{AXm4~zI6b##um zjIcrNf{2mJ7TH{d-&pD!Y3yQ`48#zfGHQvW-qE;+&uVbNGPKvrK(tadUc%SZ5AJX_ z0`W#;%g@XHB8+UYcL!t$^UBejOa|k4ZZ>_0%FHN+FVv85{bqK9;=vn;g=ycE^;Dg` zCiB!FxLGRn5;M;UYlr%~rjXEPk{~2mzqWR_LP*H7s?Qu(mEqoksXKv zM1bL=^;hCKV}C?%F~FqJvdevV)288WBWHlYLbZz2M#W~}&?gn9MX7OX(R9dYL8s^u z0vg1P`~h z6G9{eGNm14lsLaBt6?`I!=D#Y>ll{YSb@0#WCj1C3!0EV|H>;Y?z>Pdpz{LP1;^A3 zb#XK&d?M@MiEM<8cI;Fv|5vuGSUBHq(CvT?7yE|1o?_#ufTFfiF)lPF{ME?P6G|ld zxMQSGvqX+HETAX>hP*E69)lJbyq##^ae*S6|*?-=+cS|SzrCBVD_&vR*KL>b`%M&tijfOPyKW@dAxy@BsS!+H|$un?UqVY`d8S9 z+O`zMjIkFejG$I_ro-dHl284KHCmGq@S#yLW__$DhQJvfS3PLeKC%GA0AU>MBbHBL zOVA;h%%n5BKq}I~*C)P|4ooU|DH(hKfkzp5E+#X;=LT;*KtTe(luo6CH#rMm;B_Dg zO%F`c@v+>6;$gNCym;7`2Obd#bXS4b0bU7CXcMVKCUEN|Qkeb)9TD)y>EK_YqXLh; zggiO|7cT+iNzj)7SBnRpPjO5e0v9hHWf=`xJg}33_Y=16(ZKx#YD6Y*LquX&P6n(K zWF?&qI`()enF=}y(I_J_4_dr9P~t&f0x~&m!su9+QiaizZ~>K>@L1*JqSdxE7_clE zg3HCUSsE+Qvl?Uaasqa{?eQ&8jlj-`@J40xbprPZ!g4gkY@*PP4VDIk<0WHrinV>00WMbLC>|<6U`0mIQxrN7XPlJT@)V2+x2>_AkM%FP zn>AQ6diq6pP4UK@8$LYL8?2G)yA ze2(5xd)VBiZ5-*Bv6^J95-ys)u&iw*yrOec$Lb~PTGlLNuST|f*$CzI6^RKeK}QE` zOjM)8h#UPzm`WT%=8iM$qG2RLqDI|4bu1x10ys2N8#kU*c-}(JXk;7X*f{4Hq9%20 zW=*@}ncDpZINtfh3P9wLhJIE+s_AIZJgJj-*QsBV48iwmB;2Qa53?Yw2mF{8{?5E{fxk(&#Tv2TX2#!- zFSwaNQvvc~-0@KfaG!=VIx3(>882AGLNhGAAX1Kucqui4NLATJlxgNO2B1K_JZY{q zOlyXw+k83i3kd^_SzM!&n3@zum|hc|8Cey5K32^sNfI|r(ot0*=4W=k@Q7UvO}yN9 zE;Cyi6v`-%YDhaOvB{xUS&c8{%K)nbSd|%$pM+O@s6}I$ZX9&Xr0m(wi+-Otr1D}oN|(=(M(eRyY-(mw8h%#vZJy_Z>ACLFpxQ;)Un}tHEX&B z)L@EHIoWOcU(xtfLsJNad8~mA)X-23Z66;+TVuOxH0A8h7lkcFA8bkhQ zW<&1AgmGp@Tgr@Qo>`kcbW3QjGZEtASfgs`p#0DlW9&^d6{N_gEv#J8pAOpD4_P9E z~E}C^c$mQVMkz=BU2vJGj>l8Mj~qg5D%(oEpwr`VD3S)YR16PEanZIYV{p zFvHAZEhPYp4Sudp8t#8&is4pY19aR;8P%o1bGKCi4KgOB{$wMPH#>!XjTIewcqTM* zLr4;0gnH;7+8;xfQI8s;TOcu#4%T+1Scvfzad`GfeoOj*;XoL~V;hK4;bCFo&x!V1 zO78pVPEq8kZ~OWOYjIiW9vK!04(XY8$SSCsuk8uNSht!s@$J_j&|RfcB-O;& zE?FZi%^9PCRt^e3jSzaIAN`&i@fMar!Z||!p~q8xnn`qVz2|_@Ah-$RbUQLhwu}wA zs?kgu+tIp|Tu(CQo&qDrl+#ywt0--T9abPXS(0JOP(Xf6vnEXl!$eSTFW4*F65FPjA1M2*Ba?Fl^MJI`3goxCqnev zf+ljofOMpfO6PmJ8nN2$A#OL1+TGedre*z3FW7;JwWZ!+WBs=wK!r_1qE)bkIKQV5(m;ES*I_JaD01L6`+7Owdv{ zvLg7JZV_);!}%x{<1+y1B%urxqY&3{W51}G%Hk`B44=7}>-xiElKC)dno{UZ=%hhdbFKyBzJ^%Tn2pnUThohHz~clfz=yR923NYp%^jVCzI7_ z>Q9-WZbCl8-3a=uYL+k0d%n{hbxOI&(ms5R*&-m-@ zbQJk%tX3mI^>z$IOeBJSNuI-+$sJDKW8tI}T}_*esk@@pctH5fM$oU~;TKp+3_S}j zB~Ifh9t*1Y<4c&hOi}lMRZV3Mz zg34c0*#uUPfxi?XPUyWnoI6mY`MDh9@Zfz>opl zg}`4TVqx$>2a`9|@P-YUtp1b9@l|kIfG&A-UA0zJvn70}0f<_aga@5#?1iqwsv|gic8P7Z<_eMKEx7DZwk~i88y8$*=mfw*PhhtU!?H(v1PS=9i%!-FBx~zDA zv-=x0zn$cBb{sfk4T^-g69-f*TG{_I#CyswF=^_@kWe?^q{2daHPQqlXACPe4AM09 zmfRfcH{8_K7asbfdNeg+2Ac-T`ej{seY9v^FhUBY5r2(1b zYai#^PqSahBcS8%m?`C6qJ~bw$(9WpggIgCp|E=746saA*F<7Uu!quF@QZ{)0?yr> zS$cH_OD0bC2%rqE2_i$YEvc6bqS27yki;=H|1f{7Ge1~Sku7K_i(~|R5trww3&Ot8*1|-bLp~rRDJYlk zomb!fbhEFSMpsa>NOw+F;je$T8C~`av3^0UWm39 zUkVXfBFf>+JzCZ=v%wYE8n5+fsJb!1cgO(3J0#i8=-aC#*LG&!o5kM9(NtnhN@Q>Q z@K`l^UzBW59R!&j4e2^rF{WsKZZE=l99#2=>yfhYW7^V9R*Z>%jxS90+Z9h2`o}`6 zx_fdx7B+%kJXOOulETPY4U1{NZQTM#s4)=os;nn7)LTO5(bnG~DXA0Q_$A|x*)Xd= z#EDTC|B+P#(C5ek#8q|~7f6Y^R%nmin4+%Da`b%*a8Yc*F{9VYMjkMDR7xtOf8T|O4ICdjn_~6hU9D8!?#j!WX zJ{<@W&<-C{d%bij00v{it+0tL=66+h4!^ zK2SeQcGUNc`e(l;L(>|2ilJCKlqj(@7t_T|CZ9?~62(l?%ck>@QnFl*MDm$zu@H~v zQ=xb|l*$()=~MxYUpAj0Ni<(9W|QSS_Lk9XIhpWc`BXL;g71hI^Qn9}TF8`u0W6kd ziFnE@r&5t(G+r(yi_;WI}d`a8Fm7NQlmM`vD9>9& z5K{&pxH9=oSFbS-QM@&CWST>bt775Ct}s{?Sg|**mjQa?dIMuKpFJ&z8(8-!$PqXj zjq3;JG`4SA1OUyFMH_)TUAww%;e1}V_ZKf;(%QCR!={$b&V{5{wXzdb_R@ACzQUJO zxIh3-h%A@~x%UhVp*It zeyvZ4Zr5ym#N4UTH(6>d6r$5eu0U9<1vYgbk)a#=hDZ8K^Npu9255~$9|Nnq8%APa zq=Jr<&^^UQ6A)&!T4odJS57Li#&V%tcO5DW_6&r!pA(9Owr5hCQVAfli&*esdqjMu zM(~Vn<)`;=jiR~ay4Ih6wpSDX6(!SO{ki_P-uG7?-Ph`)v#6i`{8h+MY#$(EM<}## z`JymYlHOo>XDcED#-%K=q+%!dVQLx497l7!l4DPfnH&dj?8~ta$H5$jaU9BV2*>^$vpA082y^Vku?NR& z@|(eVviy$VzVbYr!_QB7E6)Qt_T$j^>hnL6>&d>c8~6XGzp)2(+0z|+an`Z7JNDtM zV_$dd$63ez?l^$6jsxBC3eGwXa>v1(bsXZ3Lpkd>%pHew)^UV8j^wQ4D0dvqS;y|Q zLw&!gOr|w$8)@jW3qmE6=iz0 zJC5P3<5+hb$61HQ*kpaDGWg}xIPk}bKRz^8>dT~ZOeh1xd7pZ*QPV`rGsm2T3>Im~ z!&D40q!%y5icv3_E+z|we6*DE5~Ua+RHCUO&N78)s$9$$3tm2%FS0uT9JQRyma}C{ zG0dOV=2JNKe(}Y>+`{?b(B2OkIy{mylqE5c>JNSx%b8WfBCcfx23-Q`lD|; zGI!~npSgeKJ_{>S$_@P!j+9{J*6`8zMp|JWBEJpVm!JE^Vp zZQs3P{!#B;zw}q{`1<)TzWRiRFTME7=ifE^f^FZtUw_vVuUT}_&!7Iceg6IDcO1Ow zFMs{>m!91Hpo?c-bzt)8b>H~QXTq=e=$kjs{np)U4%lb+JI^`0?Xki)Zh!im#}7I8 zsyEL%HvZxtdOo%J6(9M_{{K;W+Pm+;_S`3z9&z%T?77!%|IQQZKlib(U%S`L1@jAk zexUurkG3EBfql~3PCM%2kKg*xt!wYOrQ^mkQrCX>{*~v&fA;147cY4Ho9CT%>n*>2 z?tA*6O_5HuD9y)$W^=+THd+(lay6c&{-?z`F z{>^3vapdLuV|yy{w zKEC;`FCDt?rBA%~^p$tKd424U2i;bj|F6HgEpz;*{`kW0c7Nf&pM2dH{o610wyxZC?D7A(-}VRg+jM7kUeE0}o%_mfytDn+uiCr(+c{^x z>dT$qX}Q1qP2R6Q_RN-rd+mMm{LA*d{Di$1U*I5 zn&$9zYd_ui%8$Kr-&wckE;;{^r60NT>}@~1`kZTD*zuc7E_&b6x0Fs>wDF2-XMf`( z-+p!Dxj(%Bq&?=BzW)2~zw@YfAN|aQYd2o7=bX39Y<+5Q{)_YWU-`A{Z&#ktaM4?< zKYGK1Z(H_@(uXo(e_Z>_^~e0^k3YZZ@ZH{Y*xPP6F1h}c%#Rui z@44{{M@>wfvhdmsJmqi5Xu-0+$AW!}E* z$8)#7|CE+}AH3nqx&4~1Iq%Q+q}T4af6ikE-_rJ$2M>MIz+Zp%_FFclXRrI&XHWah zVQts8U-GF%?|Dy4^4L4KA9?E^{`|8;4@`C5@cf4FJiQ?Pp?g2L&*m@f|J#f1+_v(M z-?}QldF8V5>u&tPvzN{LX8gThe)kWa`RXh3Kb%|o&v*ay(f92)_w|oGeS6h=U+k-g zq_V|}=NxtZgU7w&i;uo%#;VHC?ijrK3){{(KI=uZrKDFbmg4DBGMPn2fJ7pnDx~xA zLMoCiB0IpRu^ft*vaxiGIN(SS5?-nZd{-K%xMZ22NqLDnfWu6dV~8!hG{~hWC?e5P zzFdst^Qm+Z{Dn~HjH|!$9!}%`cH2$6lUH>w=il8)^DgVOBQc9b2lQ#}L^3-jIKe3R zoKv$}g`}j}$);G7%owmO9vH%+Q78~C#H#EMFY-JfqOrPn2+PPB>$P*!`*burUc^J$ByQGvRsHdr&lsv^Laqd#be{5!O3jW9;dtxnbk z^K`fOKZCQ?|8sL`DAX~?*{o)v(6S=G59ZKWtDOFLdG}v()(%zUL)X7@*N3|6C*1X` z-Sv~4B}WyvtMtEd*DwU;`nQ~s{mr=9T|dQ{{AXx2Rr;sh^9S7ZGw%8K-SxBX`WNo{ zkM3G$z5krMe!*S;i8JNd?Lc?^SNnW7an4HrH+OxSyViS@XSenCT4G9b{RVff8yvg6 zlXI4zY8%>h_wDXlb=S4pMb9O#B>f&|x@*anY2Q6_?pktYt`BadH;wi=LP(vjLQE=J=gVIdwrtXMb{j9KlKyNdVeuz z-cS9Kv+8%My-wfju9t8ozl_F%o^P`8T@fzjxPaSMtlw;jHv$+2?cBPP%@B zy`J|7XJq+%A7^Zirq=B)2Y z)Wmh}CU?D+Gxce?f;0MqJ+|5BOOAHWx4UbNOTE9tUN3!^Gvzx>yF~I^`k1>`zw!O0 zzjW7Mx7W+m&q}X!d~eyY?)vAPd4Jj2_Id_s%(cqR?-`;Ed-I%f>_(YpNGiqkimN%( zhBFRu*B^AxH9qj)zQGU>L-1Po)_KoE_dDS zu65RPweyU&kTU=`9=AmdfUkewX<7;LV(6|jEpPPS_W?zFqqQ9L?vq zDZ~;s&$=kkgt2(ssdte8&?EDP(D8w4Zn?69;rB zD{h+&gwSjoyu6pTUgR$)$gN-MfAs|M>I6vp!R+kNaKUpjhS?aYM`t3$qX_A>qK82h;0#0tvg9 z_6pH5aRo}Tw3o?y8Db51rEES~j+6;;pNZzvp-?=Yh?Q|uh$XyqnaD?ZER(aTA_3h} z$#^kRK($#wppuSf*pNiC9-es-ub7HPz$Q)?ONme@g1WO1VdsJ>G*&F)W0202B1tcr z#KVZoGWJWENFkn#mGiM^JdYMP0_1o;i)bdvheB9703uzAp@fab3hZh!1td9%qKEt@ zhPv02GMAT&iD^1oK#EO6L`&4mEKpQKT+$B6?*LUMU$Xgc4bdq$8j2=1VWvOy3TZ*$4D}=mqnvO`sGNpW`0746n#qm-hPT>-7m} z%SSTc9G8jf5=nT)a=ctBWMZLYAzhA^vZYMEOuj8!Z>mq^HX$ zh$v2qAwgZ^(U?~(BtwOGF-p7SOR++s5Fvw-mxy=~#Ao>eo<%f0ilt)N^YW=AU6M-W z(T~TX`Lf48)&m~5T%%EMOHm-7OL69l=4Od8T}~9id1B^<%7m~l778V1Gb0`Q z1uPyIRRv4wg_oiM5SwBt z5n*;Gi3S$S%66h$ijhmAOz0ze4opCN%|j530)h*^gTy0J!siTgj8wr(rXW=kgv1I= z%LvmekxDU_OX*SpGYguCzKTTBAuj@Pko8ju%zQ=wYOah38Fm<6Aw$U-SrD>R84vVi z*~3O83iN9%MQ;)(3!AA}hBDLRMdGb^@lrBdC^C;Tkc4<4Q)Cw8X+kes;t!HYpWzq> zy-UZSo6H3aP?FIygo>$~D&)~&sk^)spHoj{pkEAcIu9j4E}ei7r5Mx(u(uMpLhoC`y~T7lf&-+lj%~LiA#{G7<7qQhjB_YTTDaFp)m|wGp}Ny zBE4J6MyMd<9cG(`j8VcE^be|o&p(Y&qTT74cnPYT^jITU2Oy^S;iMCxe7ZoBGV45# zfec|Uuxf~~MaU2{82~RK3Z(=VF{O063}Gtf)6la#I5%FVfFTZpFOs5-qbya-v^D3CJu10dhkWE{I(^RfcHAm^RrIR=%ZtEXy(% zFVTCkRJw%UWt8Rs4*@)ZRGCGOK}5-z8c;e6%pqO0AI3mlip=RPMg>q}cwXi)HHyUw zrEF0G!90VW5f@5C3XGaq0-_BK5KWIUNs2L+=R~~BWX{Gt$pA}ns0;M8%<9dmn_xi$ zCs&jr8^?r+C6CoGnT|2u)2wotSRo6+XQ86>WyFj$RTfH`&d^!dH+ifLU^*}~F^6J} zqpjm5n1*N^ni6LoI};|9Dd`f0EqIV1#FLRCCRUh1r6Mt}Oe-Wxr4VYAJequ#GJN$C zkXR-iWM-lxB(kL_OyB# zGEXLp`50B8OJy+z!$$8!lbD+o;f09eptX(+qh@(XWQygoCqh^(!r$OOhIJW@mk2@h zDSfP%F4I;Jv1lCTiW8Iz5{!tLp$N^!lAZR1&0r)ISTu`~Oa_?jR0^>T!A(n4)=Q_; z42c*%qGe4U&tv7y$D@U83A?v4J)MWQilyKdpr3FZhEXWTL#%|EQU-dEpc#@8h+RSR zgv=5p1_=Bh3q>r+AXoe>e4%O1Xt@lnWoZFzq@JUF8NYM9JDo$)jsI8v&ZnTe2{$YB zzyJJi8w4H)<0Ng3zND>jf~2jfGE`{7GEfua#nHd-^K&}K=o|mUzv}B|5k(rtHPGw{ zvPq=+yq1&LbRWHM1exv(AGTlpVQwSn^bO_x^OWDhvfucpgle8DAuKot?LTw|GQ@_q zng!D$a1mAt*K2mjJ=2}`9sps6NAGobJLDLsN0n0n9l}usSA*Is?(ve!hI3|zaQ84r zs3wA)I5145;!T*6H%3DV%!woBtbft|@o$K`QT~S?eW98&$KU#^r|WpQuX_5wUsyf; zU8m+wzu2JO=cltR`H**FUi-xBgcLR@eV*Yi|A3 zU$Do&c2(DBKc8E7>#wWpvd`w$opeHO-J#{&+6%ng+Kmt7);xbr)f|6Xm|JuA536f# z|3r1o)yGxWRF18#>HA)F&AuP0cK+=fxy~m)T5$4y!gZVXR414Fx%L!wSvzH2$eUv>_$`W)5_^xbv+J=cd<4Bd78IpKN3L^L=j zXRUT6%^g$yX#I;Td$tS!9qDZy0_;Q9#e)MQfRTmg_4j#OC(9uoNi~`rJos%kHle^d zu-CCUL<(@0v25@h*jU&c2&P*?3KLq=g|1*R@e4}*TL!}Odb-?C^Z-5mQ;r69dC_E} z=?NHfwrV9`M!p*8DFP_rTnYk8sboR{&XfCAf7ecOGri*H7O-h-c}(N(Y7P;0;kIem zZD-(agEnp&KvdVkY zebF?G|6l+0in3QNRKNmciy= z`txPv!2Zg#1M)U>34zNH0q@r4fS5CzPY0$T379xIWR(H^3nJ@X$$>S}KFMD{hv1IrJu&N@ClE+bn!=eZOzH%_%-{lKfHhdwFOtvVIr<#JXb*!q%hJ1WmW)Ahgi!-5;0L@p|2MNA1x|% zBIKyCIF#{Vsj|%zJk45T$q1sgjXy#wBT`XR^7d013quG5wagk=Qnr)r3m3JlUA_ju zaRQebEFueRVqz?M1;C3Hu|xJZ7!;~OD4Fzmu{qIMN#L2{F^e`VY)`+5y76fr!WY@# zm;u8~5p3IaPq^=jrrKkfh*f3SMjSRl)4*(&$s+cWrc4-VB7hvlP61v=;7F|Y>f(N*Oh0RmWueClDAmLhnQ|8}9Up!_DzAfXsIc zMF6JT%-wE71{nPed^bHt%xu|tJ|ald$z~TCb%L{q=oq5@afFjH3e>6&Mu>@RryX_I zqej4%N<;WBYl6=k90Y8As9qjIg9yu3JOVupmb&xfrJUH+Qb$&M%TQ!xPL?@;I;AX6SdWC3FYr%3>e^RHE$ei z%(%n(8YQ|02fMD)wcIonTbHbC7ujOPfs|=|Nnp{L77E!ejM&t8_ogL|3a?_CEp1;0 zjALP>54b23o>LTi32yZaygGbQrl5gA(No(Mm61V#+?&Ss=PO~I$;M6Ay2@EVF?IPU z=GWvoc}1|WFkz#rBlllH*X0GO?el(HZi_yCoj!7TCG`+4I|-GG%WpB95BAYzZC)>jq8P9 zYe4higT&7Cm@pvzG_6%?Oo#+(J#l=v1M+kO!Fl**5)FCbgcivF11*E ze2Yz}4r9g9U7S6_=td18(BxLLVMv$Gj?QKSv1c3(Ob3cw!@br`jn0K_%NMR&xLhws zvp9n$^s+w#TNbvo*E5NBpj#%^yddB!z0fK!UTKGzuSW>iSG>*k(6w#5v(qQFTDh`-jU`g)r3CiV3;8XTX=y;>AYQc-i>v*Z_ChLsUT+Zqvdr(iFKc0H#rov}q0&)(bnqon?$j`^FJU zuRP($$L6S@6$(+bjX)GCm!(9#N?Yn@g26}|R~n3N2Mt7#SV6z~rnTK0yigYFUa5?@ zxGw7Pd`Y~l`>Mf$_BrqxPwLNN_8MdIpfGiz9u!qie2l|^G%bbZ%8mw~AdK5sS@06Y z5~=h+4TX%WB07942v~oStrlEkjiT&4gK2(>abX+3=(knS5A6ami;ka~j^D96QO1dn z_o=Zd6VK#qEg~+}=yS7z*=SCt^L@{&F`G8C{+ie67~3inn1zY(uX@3sRt8X!$S(|A zI#xSeAueh|YBXKTSuy~uEp*%BSP(|vk ztnm$=h&3E7dE(0ZHYl2-JSp*nG}t=whLvaYF&y%!JdWddjxfgw95Xp)amYjKwH&YG zkat!C$7~KfxI(Yzz$?q_$C@}dbI3MZ<}fjiI0wElA$jy-Vj05ICL}vYyd`)2&)FdD zgJ{V3OHN{}^AeA0-_@8<8&Bu($4`BK$RO&a4)xd0j=f2wT@yR_HxL*3KOLu0e_5$?kGmWr9tpX1#7|?1O~_|Y zC#Nuz*rVA=t$n{_0Gl|h{lBT-FbG+$a{6g%rXQwS`Y~E3U8zDk+oE;X|8`{`ecEfD z{_j_UwwPO7T#V$;v2n@D#ZAi>3KlXn`KWMko2B6bD3$tm+^C=8Zf!0& zY)krb49ca2?X(z~<8yRe&6xD#(=1%kv1a2-rdYIg&DzxqUowdm3A|*ImnvudGsg!_ zf%7@O^!0E4^Wc5{qfkBLF;G3_Q9ZvWl}Y_iBYaxt?U#k{$zt*U{GY!v*RQryaX+f; z0j|d4hJ@juv;W(_1|P#eA>v|6TvAboKev->*+!pGNQKPv?V2kxv0& zmwa6dPWWt#Ex<$jqq%kMlI88ISFKtzo}ft^HU-PmWXH~=WN?(=)h+%fh8tF*6cb#7 z2}Og9rB*!bzyC4i8^e(NQ+B(|CEIsWpMu~i#L|({--VC z=tkh5xrk#nC;!9+?R6WbmoDNc@^7ePRp*io*e{fT*0Hgv#sCA`&^;0ohDKik7)T*a zkm!S}t@tN0QK;-RfqM9k&5;n7V~x9Jh0P)=OYn;PjuyZCtP`c*n;< za=~Xl4{ipI>i9$B6`umdpq#*Nm55rgB5(q>43gV8Ox?dCwvzkYRog9ADtI>6jbiF< zdg`DT8m_%7^IuDj-LS{m^MCNVjhP!SWTGoI5Qe}D3aD-Ir-n>=XX{*I@9y8m7Ktd4#&^NuHa^Uq#$%d$sjZ<}>Y z>dvEXdhM0BogRDcN56XGtv`L`6CeH1$)7#z+xuVl^tX$jIeOjh`*pu=G5W5J+g><&UDL)R zA8eTSr*r?~ytnPY&uRPre$k_!UHz56oqb>TuRid;1Kzjggx2ToeC>=|_B(6Qlke?$ z?)i-khpfEhv9s@a_WIWzefd$39QLiZJ^QY&eg1^>*KWPz1CJkg#XY<@0w(c|0a9{+*23}1I%_~v*0A-nE{2cEy^|13WCr~jSWz5V%*zW1h29`={5 z_h0$KS?~JG>HGcsi??q-@Y;_5XuWv;nq%)R?DmnH`Zm5WFn>YE1+V->>qkEQ@9(|v z>g{s}V@;2~`mB53x7UBas^#V-U;4n>=4&tc*bmRRB{btZU;pbxzhD1Z{&dIOps~KK|tss*mh{ z&DvW-=dM}z`2N{FivRwntG@f)U+=THHcs9%I!>-j~tuH)ySLEi~_Wk5nA3fVqV=DfGjHU!E81?~@|z8t z4nOYQN8RxI8SlFF|NQK&@B6{VmWJ%e70({|HLrBc@`K;M`y+o`vFhFDeeykr9Qw-r zf4_aV(v^!&-2ZoPnEy=py-S}v`m!JX@xTuqxaEqkR(?G1m(9tu)_&nD`}KbNq0gN0 z+u4UEU;nS~{ZV}Owrh_%@l)&XytB1;=4bD?;=cYHp1$>=^HyHF^ex}}@*ghS|K!hq z_M+=Py{`SxGavihJ-h$p(F>otv*V&Y4*AN_AG-RuGjI6Z!5^6a(G^Et{Eg(#|9a-( z_n$iNzE_^~V(H1Nzc+aB+4sKVh;M)U#0%fFvaM9ubkYM~fBy3~U%2}Hj~ub!;d9=) z+a(`a`Mpi+s~MXj6a<4_ABnY`FF=3`?}}b|Jw1w zqbu^CnzwfIukX8I_sd$_|NH$X$4)xqz76w#@PYGpzvrF{e!Xtif9?MGeYbt=iWSxU zj-2(xDJPxuwKsk0?CVZwyZEj@pZ(#dS|7>GI^bLLTLwRVGokFkmjI?n$V-`+03`|l zGT~qb4oEZ#SVIvkpK>&W5)~j4FhM}`$pb(Gs8TkX0dXK*1O%lF3{Dib6p``zbJWEp^+;zY?s6Lf`r<{}|j|V!<@bisPo3o{id!xI59j0U`um z&_jzZQ#bso+}hc0%`c@QlF<(Kfi?-+%k5~4;8c20D;0ZCj>K_+H+!rlm{)sFn>3)D#ZtxN6KJ^2Cy9r% zAS@qn8`efwE^B_(C&LO1EjR5wFsKH!G3&?HQZDaAMzG&wJqGEcZt5i#7a#KO2ir?BZ zxGg+H5J(>TubF#1XVwmfjob>6dy#n3GDtb&yh4T3@OurXmCt@fDunBLIG zFkaAaV=7(O1Q^9}d(^_*ku#=_-Z4-;J;8JiepI|D+w^oLh>tk}eB zn-(o^SxhbM*eO%HE#b!AaB~N7UKqoE(Ns!;E_c#G3?X8eu{^h*F-9t8C+es`tSQkHksS}ybA>ll+7ezruz7f3 zTTkH}5kgymxyEGK1r8-64Bus*jzQHh?LT*{1-zXO-pF=Znc1LLFqo-U?L#Qt!f35r zJ^SY>H#-UP=qtA<(p*OOoc#^yO1)bZ11#LYU?bG5DV*&_W1@!%1s}3ADBQ5Mrzgki z)-^)d9!%{prDTuaXWprFj|?*x`sXUXPnq#CVgjp+NMSco7i2x$Fw`|b7;pO}4VAgB zh+4B0aGnM>cb%=49qAA(79q+)(fJojIQiHQciSl2bFCE(0K6V?YX)b67LtQu?&Un9jSB^o7{wW3pXs;3i0S9P?{`!ZS}{#^2Trj zhNY$9(N{WXk`~j%6->U|TYg9T6o&rrZ4;wSQS8$i77Yy)2g1t-26{GoP=52RwsT4h zcko0i^b1kHmi7$w;5D+fcVKH}%MK+m(*sz0e}dB%)P39yqvl1{Ckf`w)Q@a0mKxd-;}G~P zvb|JlSh#3OcyY%Xds#M@i(1yq7CmrOOL?WiNi%joL&hN9%-;f{Lo4FxLJ(V^W*CLi zsYq*(_)rpKtKO6E=_PU>Y)2P^gINnXD;Ecc`h0H~qqZ>fbJeExt5>aDzHyGJR$Tm< zKcAzS|1f8z zmo<~ptDacm`1t?3U(7Y{`uP95Kj5w%{{NopM?G)gO#XW*ALTF0B=X-Y%q98y`2YLm z+_l61pZgPct$ybHi*;Y`lg?Z(ao3AEli$S~IIFy;y6a(gt#o|n;;Y@Y(kcDBIjcS! z-SeB>wfaHNRUhT&;sIQ&{?_#yIFsKcdXIAX@c=IQFRoR-qP>6Vaqhb0u4lRHvb%nr zyY6+@4enay=KGiCIO}`D_|~;QKDKhr_b=UU@B8rpE}Q4lyZe`^o_c?WO?R2{J!CW< zz-4!EO?eM{Cuiz$*%#gQ*WLBQ?)ov#eDAWy-Sy8oQ=ZFRdHr|*m+SlF=f?xMJja+h znrqrv<#?OQ!`Pdl@v7@?_gv$Z?_YU7XT47u&GpCZwI2`Q$|vo$9}nP4zdw%TKIOUc zPwsh_yZ)=Y<~w?R6(_|5DCUV03R$j%SgpiZaW+wk&GY3xkiKywz=ch0E$l#hW9!<^ zvFQJ3)`lV6L|YlyW*p!U%R3bQ$zE;>ow50jdyS>#*1pE*OX1t^`LpfLmYUU0%~)^=?%u{kRRh)i&F1%Ep*;uBxA)%oCtDUb->5sj z!tc9uz45tMiOz+<_QEgQtNE83=GP!y_DUjI0+2I2Pw@5NjiV^WuI8@NWvp zWPq+^OWD-aT>F2dGSp0e63mx>&6tTQ#Bscdp3BfI6Yr@S{4vC9hq>YZbN=54RMC~i z3|%mBG<56W^d`$Q3LXCiEhZi??LNyq9X z>sr<<+~j6iExAe~lAvjx3w%Hz#-ZTlLROsBTXZ&#<1Xo{f_g4Brc&;f35&c*RG?PA z(e$;4iI;kqeu;;%rsPXJjW@ki#$%oh4#T#4Mb#rRrXFJ+_yr#K*-6vHn_~4vn zhR!IqRZsuLp1ISnIIt@8z>Uuxp4<4FA5=H~_qo-L|M~Xn#!L6GD1vX=Ufp=^i8+HN zxaQZ@4ZnCxZo?h>TJ%662hQ)SuK();x%Ib&a_fGzv}%w7&u*%&d&7@&>pIS?u1k01 z*3G#)xAs?;R@Xk(QeFGwkLT7t_|@FnZ+$YDTZl3O!Ut#&@O*rEr1`TShxHP0I4z|}wTa;rZZ&8($eq z`fByGUwq#lU;cCMw1J0nryczJT*o;d%XRcNR69!lmNUm`->i1*^^x4FZ~eZy>K)Hi zS6y~QZq>oZR9CKUudd8yaw~puZf?bCk=%;bPgj>;{JrY()B1AD(+B02pYU96*~ea} zF8k;i)ny;NJGZQ-lv~z)SasQkmg=(Q#oV&j_g9zRd!aqZ!l_TlLh3-kdx2y0_;}z4X}Jspnr(J@qY#+^GxRQ$4jIn$xlP zk4NVg-_ucD{KX@4i|;t0y7;D5)x|fykTb`>w&fOI`E+&hyhL?z_>$b>JszwsdSaVB z9(YA=(RaRBU3AMxbyc{pX*kwtwxgT>DoBbM0R~u4;}iek<4RA9tQxZU5|Jx%Mm9=h`pn&$VwkIM?3Y zmup{nP_Di0qFmbxe;7TUJU`d=%ePhA9=IphcHezfbA0%ZMoZ5_V5+S>b2we^fUa^^U_Ty0$& zuC^|FJZFxU({rtvdP1({6?3XB`(<)EaxdPT%l+uEYVG*1$Evw% zF_-(wq1D{yzMsoozGp6X$-&j!MPJF~+PCF$^RCL}=6ul}C%rOv%3pq8J>{y)a$}C| z$5l_+`mNk4O-ri_e*Dwig0H_Ox8UyYRLybM1-S(}uK84M!R2qU$7PMx1@36~w)Pam z%fu4SBQ|;$@b+6vx!NyDmV`VRo$Ho8AWMV20t8H`rRepAm*Puckc_;|-u4_)D?IG9keZv87&fl%3|IKR2JR{IPG~OM$ZQrx#o?a^_T`}nNELZnEdf+W9?}K z=#5yY4cG+&{$W1g`MsprZb6^QJ`9BFGo%6mHTHe_!yuc%Gq_}~N@Jmw?Qsgc`K zn)Ey6=cdzN7Xye)oALIF(bY>;7V-pB-gBOUmSlsFjHq!olAnLHYaCcG)mPT|p~Gl5M` zQ?AXmrOjt8O!6t0=34Ta@XDm0k}^$^K4{O2&zfx5O*OazPBXzd2kXZ~QvxVN%+e}g zi$VPZ&_~(M)xZ3A;UFhwIz@9$)*+OqsjfCtQiRFhjqUooQ}^n)Pca?DZ%waGCh>Gf zut_}S;F_!$(`_Dd7Kb(6kwNm8808ZSGP={-3HLz807%=_aoPTIo(u~SJ8lc&u z4Dn#;V~yEq@5Ly7ta19Rfk~bYmV3$$gLcXOy9<=!ULQo71@$zHamr7<;_=H|qtb>wB*v`)1MKwwZ@FxsXw zvz0P7?UVtEAfa$-`ZGz%157+6_XWs1>rkZ)F!hu?7OddYC1C8mh?Hf9*0g(G?@X_Q zlrqSiwu18MlWHp_-}#^-pajuhrcI1Y^6Aq$lYIKsB)OrC7#o(t%W#h~`sK}A?5}au zg2eIZ4;7O-P{BoWcSfXI zsDkEh@mg5=K&L00NWQ(XJv>6brl13CwIA;{)|;>6*-rm2@P zsi!+XH4?~tx---z57abbN&_^En9@MWr^l31P4T3Gat_og0S9E14h>KkZ7u>O4^;MG zbAu4YLCQ|@AY~_ckg_XYGD`rSsyo8VykW%ETljbL7&59+E9<;z<~zNH4z20wVeBzs%eNN&ySBv61&x2#&;7G@^}^oX9^8wUmrzz!1_tG#`~SOv zyt6i#*2)Wwk&=C9dA&5*IMv%aP$0-bzv2xJgCjDpd#nW4d?hwLUcjV{hNh8cG|nPD zy>!WGrb|pSU3{A9V$)1Fz4~G&s3mo0oi&{%F-Wc}x|JwIU22iT)|JRzJQNku+lY{DKG?-rP zUPkZ;$z&>N<2tnu2!O|d8qE!F$3U-fJ8|T<3wWpr+j!!BDFskbBVg$4AV?7CB0a<4 zBY-Gla87{fF)$)KkQ4x`hJ%E`k^sQNz{Avlm2JeeieM6UA@0i*VG3*Ynow25-Z4Hk zrb)OL0hz)Cqze}e{(>Kdi8dq7DVP&N1vPjSiEKKSObc0PTprQ!akyHD`$ZGl92-X) zW7le$-qebFFL+RuiJ@+cqp}6D0Jp*%JGd|zMB=^+(s~80igs8~{%QNGI3x8lJRwQMP;V~RHA@IiMt*+gL5i=p8 z-MD4=FGx6p?3Y9A?VQQXC`aRd1R7((GjY-u#l8kHT9WerG`rgEjb zXK-xm>s#u9(b#)#%A-;sx0d4O5n`5ECu0Q}1Ji}rzGP))_wshZNfGSNz&efe_m_kn z0Nx9)E(Zok-~e*Fwo|I{9FSbL@u>JfNQB4jqCn4 ztcjbg-SVc`6oKVzl`wA~-%+x7*O;_)y@tWl)jNsm7)M}TmU8%WZU<>yM~z}enb&+cV`3XN+I%V_c}LWF$&ya+l7_s|sHJ|iSDStu zB^4MOKu<*m3d;wh)(?b-J@{y}I;|!{4y%XAbta(hmVwPZjSd$LO#a&Q9)TDdcpiFQ z=z?8^f}(5D315MoHEYg}M#ife}Gm{xSJH7f*O9Y&!+nc^OgSKBzZjQjy=M-wq`nZd&VabVZip9qB80E=>2d-qA z)kcQ{7Mr9Q6Y0?gh^8j3T{0ebMNel_Srh1Tvdo1yH@;y;b5EO)mvh524JcN)eV|i# zZU#W3=rK3GU5@mG6o4SYlG&x#V`_rxwAh?oZJML09jAO1aH5we&nlRGunwt5|l!ba%PIe5r zSt*&Kx^HMbMkPX_G~Bn~*JwNd>$+ImiqL#SqX2gge$y70`O(DR~LW2 zMsYxWa!fgZ#S{)DA<#XRSg%}W!J$aZ{Q@CI8@=A1u73Z01yA3mOeX79$^{|Ps}yw5 zLMz&}d0Tf6pl_A#fe{uk4MNc)EhvIA94?)#B|)%#CW!q;ehwfd?Jo`Ym`+vV%19R& zc3KGabvajO&ha3@&>WM2YMM>bHlR$)&cK^duzHu z<>mjf*E7WG&`tB~I63S=_i2^9am1iQfHf?X49m66v{SystD@=#7nikRi-mt(Vgp;2 zit0!@*s|PV*aL!~x;XYUOD`jw49rpl5{Rj2Wq1TgT`f84#-<4!>B7s>k!}%1$_-hi z%BKP*zQTlz=>h{tirGqObGVI4XlPpo&@uyBxz%rTMxlEJ^r*6t5*|@Tc1-Fz zHV^njvy&v&0!3{yVKxf{zU`;ADci7HwP5eG$}r4(2va<|LKU@24=~c&e7N4`Rc>9W zfHDdOXh{sGp&)KyZREUF5!{%PChqa@P!9uc$gb~j$XcNRAn>`Jf)JlGNtO!3ksF^R zvea2zo@+f+Imwu1G1P1}Qua=mNq_&ZeZOP?<=Xz=v6<1A+$`f1#P?SS;~D%c@xCrB zE_D-h7Jhp?uV;bf;&XDi&^w^0=d&^ZHD+Qo^1}X#IBv5<)6j-g3X+;3r|HUQuEFVc zgU7%yF7?x;YWqQki5V2N$zl1^p%L&%MZIbya4e@%6GPaTyEWdG0tY9&(e(Jm&q_n+ zOW2BG*E$S42UT5}BicKBqCa*`>w&QgbR^`FF+qhD9$i}y@N~@%r>M&K{RtBCIrtfR zO`{gZ%}~5;n|RPv=;}G8r#L?yk0oLnAZF}!?x?JTu$dt0bHcMy*>p0d<#T8ND2lso zgCzEcTbsg*NB%$d-a9a^;_3rkSFkZ)I)t_ujODVc?Zu6iRcv8fmL(b67$e_p(pu6= z-c@nIU`i6xTc{zS1TX{$CA0v6rG!A>1HRB(Lg)|^2oO5>{eEZW?yj1(vdQ<}A5U<7 zckZ1#^~{+wr#^g3OGh%Q#P2Ix`8?c^r)Wrms2_YR^(>h`Pi-Xm$Qb zj<{wUX3^Vo7IipslXN8300qlqst>Lzg+0p(ALj^k zlNxkAB_>PH;L(5(Z;Kh&eC%e0eYVf4fFOTkGuxG|8w=B5R`$VfkH$$1h*%Q zW}9w-+T_gA33m#zaiS0>gxG4~b2laE9M3d1lNOPM0Dc8enZk5SwKk*-cnHTfDilm3 zoOR1CNKk2u8BGH1!eanepuIKH+KdgdT`dJ&k8E_HAQb7!ZorE$cXALNCWC@8%uP%n zR7$hakpzv(9f!?U-+~&!*Fp_xrV2(8M`sWXI432sC&e*5B)+8e&9Mdp&k#AhLtqs> z1v;XS1Ug?wG2D7#4}d*_e%nc3U~JJd!ROMcED8nR_r%K94VASZn6<2r;A%o7~XPa)`T|= zqXxyu=?G`p0vNW4(Popt=cI&l>ya!7HCW`CA@GCCCovhA3v06#?u}bwEg&VDcuZ-9 z>v|8+E{}3*cfhO@tc-9gW|52yPC>4C_&X=3Ldr3}cYDp#qWLBTI?gQKi3k+L&jNyI zv>_gd6<5^jgt?_4EUtbrf#QTG3;{aM1cyqF0O*U$??X)}ihY68^%$E7Z<(zfNs=ab zp=f%ItCBd=2@4S~wgK<P}s*Jvu4eZV!St$cMGawH`B1o{P5 z5`4mbZ(%61 zN3w>PP93!KC)5Ly9#9!;gKK$wRDx|P%JTv?d*M1_ULgcatH1{&o|y?B2wG*D7(s8& z=3c5N9*Z$SPN?irs03SQkBs?E6z~dQv`d=d%@*h%$7~p?DjSRM`pn@R7n z+N2EGLQLS6Pz)3ff!H92oV!UafT#J^ls=$x)K@Kn0$Fkq^j0{mt99At+B37EW2}qJJZ$M;9ylR& z^G?AHM5f#V0hQu`OF#%7F|cV!9Y&lK3IvXk4ki9Tdj#W=A%*;419PkEKp+PaJ8TVk zE+7foT2Tn`0CMH{%A|Pk+#Fy`L5r~x%`@p)9j5_B=~={(;k3s|1;Ri_*%ye7DI&EZ z=#M-@R)`ZYN>$~HYh}XC?KzEo8G9H%k^mqKuEIzbisH?k9(y#)tj!KdleqrJ7-F+x zF&Z@mY!3Jv=CMgYNO;yg;0TR2yJ=D#7>XJNoN9~1K+%6c1|*4HPEiBMv(=Z}HPu#R zQ^b`S{{&U2OW}#m(eVqw32jN*qKf*@0IsPY-4JWUAlSc5IpJl+c<#GDOjp|FzCx$4UDys#CB;&iABgXIo#Mph!+uH1<0P190TESh_S|rsU+M6O9{ALZXxevE5ah|iq#WO*3&CB zuviR)I*<`!P_%(E)I3;0q|AV$bxAXN(wYQPCV?6WzjA^oK$pfdS||pw6^UGm)bv4I z)@L66C*y*xZM7D!LupfR`8?}|a|I(CHJTV~AVAK)4w*)-Bz6(>%p`>XRYXwSzXVPa zjI4&`(#LM5I*wsWbwaeq6@h3b6knMis_*(}jl&A~Pqa@U7e!*1k$|jbM5PHFxe57* zCg5adEpy{rk*rTsQPa8-04!FAo-r&CSjI|Mhsdk<;D80)%mtal;j$~>2{+?;wX>{^ z*cH?$66kcGErK&nN=pAg$8|9`S761g{THVrY zYg>a|J}Cqkh>tYjp4EEYO7{RtI5@T=ZdX%-rcqFt63wU}ElfhaNj`!kPy}ZJE;1V& zH;wtTqIQ4^-|?dy^2={a~%s7-_b)j`GiXDk5`fMEwS1mM0rN>}E z_mMy&3~N*LsrN%X=bn`tTAY%B^r%AtXBi#9JE$J+_913Op?ZJy*$^AYKUH%#iJvGB ziKEp5p~$FrW;s?W?zTuo&{7G4BbWjMsquHO<~q@=k~Ye?)m9_hBjg(fJoe2uB8gZ6 zx&v_C#|I(Aky1|KM6N?zO7J6{1EWjuY%tfTN)0a&Xad4>k$?!LVGfKC3E+dRW#r~o zp}*BuN-BvP3JS~*Lxwhk_}1;i3=0m&?ANP`()EPv`Y56rfT@qnIVwwW%n?t??y!!V z)!Y%Y&Pt@Bls2jg(O`*!$peOhtXd6yCQS;) z3;{|wd}G3B0o?GbI-dSr( zt>805*V0SQ2O0_LKd*XS9I&AW%7I)7T7Cn`+C% zEO8~~5F@J2^$Z_y5vH^T0^~+|1tM23Kr&D0k{fF)3(0+EHUwJ9Fe7JC03Jcl)J_cC z3UZy%*5tTkMp{EVDV_$_XiG~(MWZ_`sOM?fIa76xI28!3`_ zfCm-?@+E5HMnncDpbQNYk`CoUmH^EU%A|pMg&E5!5-21MkuJ88U_jL~j$yZQ$?@yz zkzQZSE~Ol%n*&%ViXQKGzOWVWJPiMgf6HAQU4ZY3v9n9nEx+4VW3zYl$cHr*h|J%OM=x-tGBzpYVfQusyC zli|>tBw!^Gt}HD#cRZwO=jSEJ5fwcJl&*oP`{$^pg=H+kZl@*|ztktFZWa}`NCxTF zll(*r45~r!ag8)nea`G!#Gk(n2$IWzx;=vF#u``bjoiVXm1Fj+7R{Syf~iTfYT6_3 zXh2|+Vz3ti(2VSnX1(Bhnf?HH^RuBI#{4$TOt$l*ZONk$CU8L>V2844@ND#w$O zS(SiFf~Oug=FVUF1b1$difKuuwNx7r3K-K|Xj(K#YMbV&)*_ixutULzgwWhPsaTT+ zdMPC*!DN9D5AbTmae?u7Ayxn($c+qR19DR>Q10tOOAD_c(%7WH5*aA>=W;>VP`Ej7 z=OF}5hVY-7bnG$|MFe`u&ZSA1SCl3sGC1)Y1EF+{1JCVOf@WhE-0Gog{Z3@>2Un*>$ z8W%1E0-sdRc5@4t{`P1fnpV4}MMMMwd~!lTenF5}k$^K5>s1y$Mj2-bB@4mOOH@9t zJxn1APZ1#k%6L@DR-8`)V}y|t_#5mps?-#-0#fg0ZTP;0r;{)lE?6lkVN1*EK~|Mu z-9VQZ~v^Zd_qKY0L+xYYTd(+WPb)x>VBmRpF#%p?s&%DG+S{pKUd zqP9IAP6YR={W1q6WZnwMlAleC0el7^0zO)eH;PV=tya4Oi4)1oJtJmLlNx$i6`-PR zn*PVfdfxF%pTaqpTqHf8czZpe?X(uUVe&EBlygC_(26OLIKvnRiX6D~F`97ft9aT5 zCWKLE`3{FGlh)!MR8(401;tPY6+;n>5^cy^8PW$>-@*bL168TT3ncP|kYd9zTL?|X z!I3~sKnax4$td(y5Mfhx2M~%>e84mVkAO@DCIo$^cQLi(;IXV24eXG8z=O<{DI^tT31db3Ln^9HGR+7N0(dsx0bGww*YtU0A`eQf`EBt|>BS^ON zJwPxaN0AC);NZto6^6}YWBhPi*a)vtWUUg~_L);P-lnPXHOWYSd0{l0M*qNRu>tdd zDu#|}HZQhEz`R*M4cq(A+fH>DZqi!$L&SI*B>V0q^|HIy(0>nm<{PMg*+zrN1>w_P z4=`$u*0&|1+0JQvZ1&EDT^jDCu!X_?WOaYJ+%~G@r`2n8ix^b%NAos3Mc~x7Lpoxe zouW_`K&Al%cqvQyV0{(MVsLLrFkMbL;_6lbbwCX!55dV9Q1v>W4C;$SC_SoHtpl~F z(R;TG%Ty`+X#G7*tC1d!(829aAKsx+fJSp~0`4Tkm8eH=N?1(UZH-<61m={Pf`*8m z`@KL;7R93_IPI$8g(#f-JtZ%}KHLE&BgUzrp6o@|X-ZIZ$#Rs`yM+)W=5vJn1q-j9 z$k>436GN=FQm~$|Pg5mJKMsQhZ#EM>#*s;m3Edi^3ZoVRRyD^0x>nR*Rpenl9s($m zCdh{=vvs1sAV+bCXWvXmdlOPNAmTOsuNFM4e4#-!ex@t6udD06DtG?Lv;~ zH7Ph2r?w~6)6`HXBFj9xC|bk;xCiecK}8~-xB)|&5LbOCy}~U@)78vuwA*Nzpow!) z+r-r7-q@h|Y3_hgr9Q;`aFdL3YSdX1XDChT@z9K&O{w?Gk|fuFbFD-%ke{pbG^irwEY9OjC_|720SW=U28beIxSg>pHCW2)@MSzL#~H_y<3MvT0uBVaxnz-9yNfSwcbO4c4> zRYZ-gDKU^jwZydDpj~S*C;~;G-aHlo=ux+!X_q|mL>H4o%wep^+H#wcG~^?2qUA%a zPLC((5`B<9PN%tL;37U0{vv4^X(UJy&~q^;p>ticPm9Vbb^EbW@PI1HL@!FElV}Mi z2+Ai-U_qJlAjl+Vv81|EFN-u)2lzKh5C<5gqQ#Len#eATgp|sTn!^Wvx_X`cD4(XF z(qujKLh6ZC>lOaZ>SD@c;59byj|< zYX$wM=ifjUVRI{P7*`Z`f0!SjDru-nXvz%}LEy{63AGfcd9P4yci$00f6Bg#&gm03 z@rr_W=>Ll1bG9fzY&%TBxa$dT0LLOzm`svE_XKZiVARt+0H{Km+%WRa16IU{CpqEv zID9S%-(CU2K5yZ0qy?!s^G8)Zv6I(qiZ5WEH2IH7t%sDNzKE=U|_rD;N|Tg=AzeZ zEj`2RXWrg|cBoAZ$In=Mq_{`j=3)RCQCqM3TYRf)RmX6(e$*HVl2bt!ve|lcv#`p?G22w8mVrhEGrMqF$pn+EVy1xaO;sn z6+;9fD%~=?*`iSp5M&+^%Z1VdQOa7w-omkzRlwDy6h85J9^YC{q&Ocy&kD=~q7~I` znBQRO!Rn7BpRuPQ~|6$U4mw^fv=g4mbxR_4TvmiX+ZqQ7|U2N*S>5ARz?3 zKH|Ax$s*!X)e%ydYQW&Gs#+~}feZ{c$h#&vOS7s~dNjGdH^ak7s~|7 zeH}_Lr)Xle9f%6PPzab;jQDu!pE2x6aQf;}h`_%5DemAaH#EX@*0 z@TkSWsqHYnQU2HgIx8aV|@>3pve`39ymu z_j#YeBBj;Z6pJaAeS@-yBH+kkm5#INy4H^Ta zWmroWRo4oXD&XY^EI6 zAb&OU%A6b4IQDc=Y?N*yBiA6Z(bxv#hK-%dbJ9tUIpJE@j2r1x>H*nn2m z&nc)7v`o<96p6AaQ{_aEiZInqR9Qi+WpK1ftS_u9tE>_Bw$hu&n^a7D(ZG}`o2o4G zL(5u7tZRb}@beedW*2sz+Nh9Z+$qgYqmMEXYV{~}mWBjJm#xc=k@O#IDCH6eTfP|P ziUKrGY}gCAA1b)!9wRUNvBdzQeS~5BXSpxKZ%QO z2Hm3aDy`AWkmATjx;eb5kGKkz)f8YfF!=6a2OHy^1U7)YwnMAn{{OCu}kA^02G)< zM5A%P-y1X>MudFfD0ZW0FzhoN{%FAIhCXW(=7oO%SMOP17^ z)Yg_G$AYR_t1YfLEwY{4;y`C$;bS4Ui$omgm5tUgGWfHEXtIFLl>rBo+%^;Z9dp}nB*jsf@+u69yJl< z#v1JR+JqMkg67Q>br`QKTZTfM%Vz}Kg+VyzC76iQ)S2`J9TH(1#7=;rDuVj*M9ZSO z3R}RsD47rqE^<1dB55`f=`23`0E%i0q+3|G|U3ddb8Bj$D+5r;G4 zi$wgc7%c3(!MNWUal3-ih%fGog&9IHX1Ju~#79Tq+F{F<@AzP>W#~g!oH}%`VIwTd zR%T9oRCs>b?Xyldv3ZhalrBkFFbR! z{rl>fKYM!5(CuwMJ-v9M}jh@d+UVO}wUR$~2ld$RDdG+P@6^;E<$9p?Xc<+7RA9tR4 zRpWC9{JHasTmD(O;_p9j+Q-&5`r)?@dFs3116MrtMEOa>uDf{G%?H2yX4PS*oqpDt$G5%wN=5k1*`5dA zz9c=h@`i`Hephj$<(*Y`onL;@4-+pbsrc!+$CX^ZuKez6zc}^0viTQnx^P{5_pTL@ zhCekYAHDPJQO{i4_>*HEwv4Sj>Pp+*n;(DX2jiPl=YClBp9ikGcKpfivHv_Fv+nkL zZ{PiG$8YXF>&ZLLx%KArpF2HO_sM=Yp7i#-SI-H2@r#2SfBx`wE4sq#ciG%|+ZCJs zzSn`b?b{LPJoLECsrHLk{q_2_jVGV`*gij9(H8`@@3ZTc@UqcIT+nb@#PfRm958=_u1mH|L8nt_kjP23)Z~!)wzG(Wp;zdQMKnsBksNH`WtW9yz9HC z?S1>`-F9DdOvwpHuDfLY$OG#RSvLK*Po8|@JH7Abjpn<{(OyXVbyLgeZ0i-!RhOY*XH zFPya@6}w~Oe${cG#~Y42{qYE*m ziFgAsU(6qjJN)iwBo@F+!y9!voZ)~Y=n8~mF0aQIbH;-1u*+~cjX*FSjl?5ZlgrL| z;8Izf{Aa{_4*WX|&n{4=RX7K_$oB!sSfNQ<(a?scA-4}oVz2^+KjS1UfOt|XTTqLP zvV|z^6&@qZqe+cu1S;azMBlwJcQ;3LgK+({O{MqnXtWJwIC|Q0X1N0<7hI1Zc{kLb z?Vx)!IkHjU1UW6_M{TV*S&}FhajbUQqfR@D8$;O_j<7hN@m!uaraW%gY)P1a(gsJJ z5|!0cB~E=%Rwf^z6;>Z%91c>A;k7u^1^qrhjvGC=p^;RixEZo2RT9a5XroS1-#~2{ zhD`Vdhj-`?$Vn35K`%B+KBMfO*f6QXh{V<4pjd>+4>%GLc1sW?fMBQTGBJ%*DUy!q4w0<#DFH44PrI&dh4j|H%TFashS zFEIy|$5&<24jUy(Y&%7NAB9xF7!n^Wsiy9Fj51u2y!JUG>a^Ixvp!@uxnlb21k}Bv z338XLPR=S<89M|>KmgkgNR@H8V@Y{}Ngm7FMa|QMlx9p37%Mounkxzugcxo~94^JL zBU#kqAq-m0#n2XW*-AR#ZL7VwCEWnb;qWRaVPvo>YMn>Vw#K$87;`NVj60 zt<7-d3dK1}o9JSQn&8L{F;RAk(2&_FBa9;|=UExNqjUPm4+lpv;0sXuAw^6xyd3&0 z2qO#D_>xL`gtF|3#o!qNx}tI#mr=75E4a6Xb3!GHunn;X%JWfYG9x1Dwoqm~2YkoVVfZ0Y?zvH7J)c zT*zGCRM~{3czddYZ4jGY9BM@jNuwEYEGo;1E1bY%iZ8$_s;MZodVL<6oDT|6w0{64 zIjDEp{l(ldR1su1_18&1+RSMJrjd?fNmHv>q4c#FH0#V6Vm43pJgiI{;gkum>IqQ# zYOF`{o6Mn_Q#XH}iM#SaA6Ybaj!e#+d22FnljyIN^fXFVII*NsV$3QS!0IQ@exGX@ zowpN?`YX(f!W3lcJr2vhh7L(>RkP8HW}-S03MMK*_WaEdpT@Y3RS`Oq8ZXVcCDx%` zxhVWXhOhklaiVelO~Ys)W`%DNnAlM-siPiAaxMr~wDuIe}ceJSi&+MXU%NDe`K)4C+($;PAWYEw^pS|_YJ{+2G-yaNJ zd{E&RjB!`{c8 zykYXrnEpVg$LREjI=zQZ{}Xreln>D9&A5-kW!34AbULWh|H7U5+jRP4+*u!aT&(Zk zxbywRI{hi`e1Dlvf2Pwn==2vleUDCmsnZYY^jEmEJOE) zuDIj7nGCdo2k3AgAp^D+N@>OOp_e*dISAEV!Yf;-DwuHF|Npwq|d^b5E{o-sU(JK8^y zceX#O(v$AiX==&f{Ur96@8de1(dlNLen_VYmuTN4!VBwXKark{K1jL~cl@60!5wmy z;a%$el;iaK)jEBhPOs7F=Wqv)c8~K_+O{w5XwM$Mz#Z+gv42cIs?#Bzej9hxXRFZZ zcW_60Y#UX22)>c@WjYPmN7V0p19y})gnVSA zU4(O_hjAWIpNsH=^l+AkyQ>;^j?dou{W1D|gHEr|=|-K7GF@tEh=yCly@LhPCRlb^ zbeL?s#rt_#ODJVZ!=nzuleGLx$(Ra09 zBuDnn7MmNkt&OV@G`pu~eyRCy&s4~BD|SMP1}r_2v#aNIx+nL1x+p1ob36gTv-X75 z)zyW=VTT+I)2(p?QiF~k`%r8VxrUZ?u+r?`;rf>i_pz9=0Pa}V)fcPhr&>xrD*5Qj zExfMWaw7gc5$O}J)?f9wvCn;6=iu47dDlfpSAO@b`ZNrZ4kEf(Fz5?7z}<=%5mx~0 zF;_Gg4|u`fa=9^R(SSb&E*LTdW6&f4e=F*9yWz7At#$i7M%WvK(+7VXMj!!SFoujC zC(8=L<(MPtH^T6fLVpqNxWg6pc)U)R!xM?d9RXyuSl}=s>i4-E^aPEtGv~ngZh6_c7UG9J@Za|z6G@O24)EACLW05#|Vz(D(|JPQ}kn{ljIb|@%;@_T^8s#4UZlKkN<^Sv-jse35W69~r^!79~ z6Cf#MyS5bYXXcZVFb3(|S}syzw29pYt7sxjIw5w;KFuGn+)ET28t?+b8J&Oeo8~C+ z2o1he<(x5BuGl``ir5v0Om}|MBK*>q_a!_=sz+var>Bqn=1Z5|yOp<49o)*>t-bT- zf0u>eTr)9qn1rHI%`AyUD?ssA(QtU8MZe>dvIKph=blv?Yv_`auhMg%xnB(<)x_%T zC;D||ddXTmYj2Jg0matODXE<^k@K(q+*lZl_UeHPYeu5NLczZ(U@Q`X)`5GkZORGbhnIzpy7ix#MJF1e zy7$we+K*>vY9Bl_RD0eJnc97J%Pjovlgz^E>7j-DZwOUSGeXrne34l&_JB;)gF`b_ zt2cz^FLZ?F+dl}+Kjfa!+=q7x&As^5+;!2ZnYkARLPsX93RS+}8mip%e5Ud@{|L=F zWo>BoJ&$B6b}z}4-Tro{bn}K#>HDW=N?+JJQ+mm&%&f%^XG-?oD-(L^?M$ewD-@b? zUufp*e-F*H|2#9}S0`m=ocL^L#>@*dGxpdkG=1~SndyK2I5U0S>df?ob28KZCzYAz zpOBe$`0&uwJ3h|@TW$^or(GBd{QCD9|1Eol{IySne4qb4>$p+Y+f=7aF zaXOEm$%Z~ku)-ZVwLe&d+fvzpEp~PiJSaNXpHAZi`H4+6ksRP_mj%upV@=lDCLB^C zO%MOkI=v;We&;bHXXaPv9ONfx;o#~(+&PSA$~w0r4Cco4wkFhag`Aue5tO3Z z#C!qET;S_w>s(-K1e$KbtrxH{pTEF-z5?@k3(V&!FrV8}1MA(ggzTHsQ&IWR-(qEl zTm=?9Aet>?J{&f;+X6GCHq6OfBMnyWbZm;a_c7MU>l#GfAFF*1L3ZPadlz)EXbCoon7l*9DasQTG=m41XqhetT;TzJ71 zqGn~2`qg)KxCQ}_VX&VJ_5-J7v5|ruv$d|Z0ZN0`>0Ryeqg$JFk9~y{ZmDR7vmQXp zJYaFE9$2SCOu`@eMOsRlk)^bCwRO6IU-_@h@f|pN^FRTExA%P=g34DTmH^zZOos_n zx7g2?Do}|@Ynjow#t6fUkaarTT7$;SiLPhrjyQvZ$ctcomO7}WMy=%uFy^Dy+0Csj z>D0q_N6~~>Ltn)QKwE63om+o7xT?H^Z5!y2!PVd%><7*Q2G>#tYi4T|oYKH$V|QRH zv^ooTYocX<^Tl*i{*gZ$SQ?OuGOoOwdRB&4c6(b$(DDI_*m?z}DVX(g+0BNQJ|wBr z8|0qf2&<)lO!*zHRW=OlZ#uuAg32kRF1THSYhid@YIWWpm(!0S(NL{^R zQ{|!!jBk!AtE~E55KC2wNa0{Si?+e6rKb!Ux-mt792$3t&oQ!(>9S3%b96`%9&>4| zS3$ilW%HV~+@ixJ<-H2t_2DU5JN~cCDh$aJ4iI&&a8tHTrpGEO6ew-23Kw;`@?1TU zfdf<~L0oHe*f$usdwhP6C}3^F_ze^udQg+mO9iHnw!7673{n#A>LdJe*2$d7m6V{I zZmK)V+-$>W^op9i4Q2ES%9~$?KI9RilxezE}kQ{7xf^d>a{jr zTKTGg-K0c9g%2DvSR6b&LFm721O0!j%Gm=#$Xs?}0h-W_poUHdN74 z&;Q$ik9!BfQ^xe-z=xU>J&`TZ8PzH2F@|CM;Or6_o=}v~emW39S_i^{8X8?HnQ@`S zw<12k#F=HX80C~fs{_d(>v^P2BN%ruq1XPL^7W=v&^=grPO$>`sJuzktb{m;tU_2c zEYk)LfM}n1rxE=%jec+*6nzoslf+VJ$~+x=S=lWT&nxL4UJ<+)$$;%kTkGbORL!lm zmMp59v!JHdTD73A+_t!+rV18n$g9>r#*ex@AanCyvrzFWj{_G7R580$y2a2h;lYNR z>cA5Kjsb_xoB?T-sP9d&+LG9E=m$=^W{Wp6_<$&&ij62^V?*l-V})U(5iKSJc1fZ> zMBPe+?VDd;wP4LiK3>k4m>^c-7h_k-tRjcCk90&?ml%b}Qax$ehE}4SdbhAik z$>F5a#L-j^9_YxMM9&m{Nyk{!1QWa5@d_}|i1E;iMO+MsrNxfF=w(l`X?1bY z1s7L9ddoqRy z1FfgvoFL8Ju}VyFP3(c1h0&P@3fYwn{-g)0mRMEF*&!6XwVzjL-qCVf`!)kI;+UC5 zqNo)(eoW9%h!xDp^~#(%&tch$wXsyI@{}gVS2A%XkDoGQtO={EqE3JKJYTShg6BfXyU*WX^8@=w~c=3tul#rVKGF&=!f>KMD(Dl zVoIwYvct1WORXLl4O77#Zj1Hq3VJFoQRawsb0-LM=^}2oFQC0t%9_FF|7{n=;*%j} zwKp4Bh)%!L>+a!0MfVC#DP?$FG>D##pzr|BhpBQ&rEit5&|l&X0mxdgmn=oBHcll8 zrj&|mZTf@34AT1{SAlY)N4IzYc}%c6i~$2+uizMKlIE}?;3G`ZL@HUJZ5kaZa8n3W zbbF~+EE+l{VFp#q?wd5qmDZU#p;rlKZaj>N3q#^YXriMrxnb(-8PU0NxT}^tR%Epq z$4iEQokMUQEC4n@o!*o?D(HTuSB9c;qs;`j33o6cUh`@c#G!|3N9Mi&j4S%^Y{n$h z!vV)i>cLo=kVT4NQO!J*XN5YaLmaTAi%VPK!;pRjrWR{zV`?$CGV}Z?G=pi(1IaIO zt;XbN1{VgZQu~4#C5kkf-a3$l3sw1`7LJP*kr3+_RM*v4%qy8)TU;tPtIc|-+l4U0 zb`k+i;4tuHtMd}g9PLrF3iaE8qUD(u!a&R_^l0MF=C1603 zKqI1hE@PuSlxsT7oNzOg3`h;_2Lan3BNjqY$S)q?l&t}~EsRu#-N9z4eH!7ZIdWnI zuM&liiki%%D8Q}wy{3IhGxtl zuT(~TA)zLiQYZZRMiS(4yX-B(mJyt8#z5B};v*dfOAK&5HfZGO3R?9$Z{q;=eeaUvQKHkkbS+99f4{>DH=Yu8Svc%!| z$Op^vXwVT4xT4WWG#obKh9e$B63*K#k*^q*uhnE`%6}$#Wu8%7dOI9gxN;6GinIMLj{9Buf=xzwP=Ze0{T(BTL7r_A7P(==3S-Kzg!dgk3V_tCl7#sLo8K0K;M^- zdF8Jlz8?O6;~B$M*jgOWGsb_et>oqG5N`AB%b8 z9*;ZjcDUlcpgSH8$72X}39a3@CkBJ~pvMhGV8ay&J7S1?9tn7Zj)=?Y4R~VGY_{L@ z-eJXWsK7qELHS-d`tCI&a^5>GSvS^lcV%ML!TU|l zCk;FP-!~0!oPB!NeM>jrdeCv1bJuMC^QJ3~8?nnb!)7jT`gCT;?n9R+t{Z#W?{E6_ z;>`!Q+xMP(?5XGfYHZ6V@wbj_@xMF7`j!2NogeG6J$U2L`!7G}ng2XH@#I?%efrL0 zD_=b8*-PI1y6DdKd+t8B{DylU`1rm%uKuR%NzeLSKfm;Xu6KW7Tv-06r&@m4lzjH8 zid5!jBOh5f?T96Z{j0OYF?_F+J~GZG z^Zn`9G+lh|raMkvzhd>H*Y9@Zw9pRczqrHguaz%4;^B=uUp3r$&qs4wo_P7PH&=ap z%j>^*?Zq8Vzh?E&SKoXhmVEG%|8-t;amt-ZtpBjGZ2G>h|0}*|eM`{s>0@VJKj9~{ zE^yf9AN})-#x!@0U-`&u;b;E(QOme5HynQ7$7A<7@U!Vp&bn^VtS2__fBM>B`y0P4 z`RnZuoKd^tf!~Ct-+ao?UKqag!Ao!WpQkg6j~THsCB<8 zN8cH}c$eYcch9+~>ZRlQf)n2{yZ+#N;rFxu6~6S*y$@P;+u?wU}m1Xq0*Y0}!h;J@?rRBwEo_S;1 zcl-Y~ee?9|zh96(aQ6LwI(E)^EhCyvtRGqQRAkBOgD;#_vS;bfZkuz}MTg(`{3Ew) zS@DO)DU}zuZ}HA65iWz-G_EVp$1ZrG5m?Y(<->j}@lGxygQH2n32e?|V0 zS~u;S6Rx`C6l={{-#&cpYwI8Twt4xlC;t1yoBlM}GilGCt-t2DC$Fz~>6Hi0*lV9V z0xzy@`OUvxa~$ToV#=j82c7bW(>ve)yAMY`b<&}yuRT3H^N^u?PA)N)$8Vm0`=+0K z_tDoQ5>=n2f7RwX{h~cPc6)7H{rd+!dZ#V%(6o_no%Pt-w_0t};s+gc>IcK$vW+%A z{K<2-?ELkk<(r?_{m?}f2fy&;`p>4-&3tt9UT=Q;!F$L4`PSu+jK2SnA#J0tpLqR& ziBTVoygc&D-+VlM%r~d}a^lPe`{(U@{(9evar5urYyZ=CTru^rsh?Zl|6u+{-~Rpb zO@DdH+Uz;zxTdRKJYwA`5C8VyqwaX=&b>x%{8xC(yMd{xZ*N$9-vxV@k9at|+t~Nc zJM4~M@BP`DONKvCY(4prcb}f@*x{)yQ|kA5q2!VC?|R_(yZZvo|9YsU;kczD)FnsFxT{m7xwL+ThYH_Ml*{W%*z@bu{p_sn0z)O$^X~Q|MKqj_ip@y~%8> z2g9abRaDQ@Xtg@Kk zb1egM^^ys0eRR6LH4lqMR9r3SmYCuxbf>S}gX^W)%t6ThN}COYZ!0aSuAf&@TUU=C zwD~Ruw=Yr*hl|BcF(?u=7sK4Uo>9u{@dIA;6-!7Rj>#-go_@iZkPs^(4PZbJh&0m_ zyTIQFcr7W3ILq11ah1qmKmpUiC+t|wTC`6Pd*e*)hMRd+BfzEU5~h^f4^J05CnK1d zY+Cv$rOb!UBISHcH6wD3$=(sE5qYGDC;;XWxf9y}0KE*k$ z*0~l$?oH?jV(hHhFI^u5P_11Mn$bT3s#nN}Fb!k|=f9NolPeCV z$WQ9Ce=F|!_W$+`c&Y9GCtiWyG)#=*GEbZMxL^B!^6~iIwEyR~OmD`Wr&ijXGyRcH z(`J=vZSOzCs?#6iJ`%4E(`jw*KV*(hf2!Zl(`jw*KZN%3Ebj~bex*)-snhFq`YYVg zo*`%G^mqFG^*a5%PCu>FroI33DxJ0We+_BaLYwyfL)l-Z*;kC~&`CNy8h7v@hnDFy z#|h&(bhS>8QR(63I*l@ze>mI6@^;nlGdj(B@cjt%Ro?H3JH~6oEZp(TwD%veLciy@ zGe7Od!2>nz{YP*dSpI(M{m3agt?m7HSfSHJxTE|Xeu_KG=e(hPJFtD|lWFh2BkjqV z*7pAUAdjSH;*ReR<-G9wkV+qhwn%z5?#O!>`@#0i(P`e9uEZVfKkPW2UZUT#e)ean zet(5dAA>u~djxlWzZ`ddZ}wOF0~mj%dT#myIGppv_C;|=dnatr>6lKN{g3PPM*Y57 zr%%)AcHB|_gsX99{n{VEgqL)>6L++yXbkRbe;4k^U-XE6zgnlw_O4OsiBoU~Y?=N5 zCRQVj_L}zp6YF&PZQN1*#G`fk9o$j=M9vTLoA&<`Z_#Pu0@(LYyd5yPFW#d~Oiz9i zcfi^Zwv*}C^n3J)<74|Acb2E^|Lq5=v}yluU!l^b{l7hmG{-~R|JylE9Pb9)(LOu- z&2*zqbG~8!4<>j!0_f6c)akas8Xud2z5D-K!NJ2?NibUXg>=yK(LlMkqE$3fihpD@@ zvTl*B4j32GDu`P^B;wPFkY_3HR^nnzv}qvugcQd}LX1VR42n!fM?+zWiaH&MbR*hY zo&=#nv|J+rJd4W8Youm|B|~LF_{2fHAeDs$!)9G2vN0U&7@(t%+xtkNW8tsB;n|A6 zf}v-{6zRWpe+9A=&7<~`tC#Nrt(aV%6K~~-n|R8bT3pwreD13dgkJv((SV%A)x{2G}43{Je7|IxESf4&X)Eyk!a@3P@Hugbdk z@_UaycB++k`Hg3lyDsdS|ME|s;de13=nlf^xCeeY;h+&bPWUB`M`JF(-w}*Py@4=7 z?6~2A!0Cf)1Mm*~4j&W+AU87Hen%v1u>?KAK+qF&hn-P(5X^~i%o}rs!I_9a*5raC z|7g(Xk9nhp%Mo?L({VT&h{L039QDK^$Y=?|zkxp#TzkLcy)NKSK ze!mM&9Nds#g^_T^oX)sA7!1?Hg2(Ab)1ZxM@j|1(<1pfGKPrQmE9Q=d;dl}ixZG}d zc!&ohVZ$5q_`NYmzYUKk9&^TnQHS5}N7G_HizN_=g+1XQTLp!fD6*mvv7p}@aYFDG z@w<(v%O3_W#^*Jh7?%K^Md1567WR3=K?mHzM|>`y7ef?@dfkT075Bq;ble?_d0gm& zBj)u*f_{YAf!NN7hA{{JU@#h>`v_M&=Jh%;m033r_|eVNgP;~M-iNaXk=gZlLO{s= z0UZiS#Cx|tN=@=FzTCj;|IA%OzZIE_4^A9l1g!99&XYr5ZXDS7p3n22g+Wgua7GcF zmY{I))}S!7SyjGwhum;xwZ*b1UBI%ToS5% zd`zhJ)`cPQ+i>!fOl@Rirsjgb<@`4UP7Ey^`?*}zmwlrAIQ)Iz(1ONQA^LNmABTBM zhG*s)$A#wB%@56;yL;xy6PJgMT=`k%$b+8>RbJ!DR386jsB%_KsPgcuGIQSCGc)JX zw=#2PKOdTX+pC$1SHBEZtg>aw-`_1${>Yk8`TW0z%12+2DLZjZrtI*OLS?)BIaD_0 zu+Xe?+C#GzSu;o6Gb(e0{m9JBcODDr{j{bZqv?Jb+2HMQ0)Ph7SbC5((y7Rx9ARKw z;r4Nm)dW$?;2IVfbRB_#&APWTTmJs)BNhkdwD8+mgIxn$X#=3YfuI7S zqd`{7F9tXM5aJB_ivqm54BR!k3xF?>hp+t8mDc&Ghp$`<8`zeVv9`GZIWaws7(dzC<9Fm9O(|c5f)O&z(dWd z3h9x06};-5|L*S6?m@EjwRlNf4jMJurfX;M2|q= z^Aj+&gcl;9gD&u4;iRnvs6c)$E2&!!W^gKPPsi=aSo_TF>Dg3Op~D`Jrl6+3tz+bn za=f-5ryNhVoNdxi=;cO1+o(X4$YUn;XJBmP@<~+b!Ap|=%Zg0h8Y^A^JYJs@+;Rv; zx1q7Ul$^Si@8Dp77wQj+@h9yrl|WWmTR;#%zY=2LE9P)nVXbL;1Dg}Eyo2h6SXz*g zuhf+AMpp$znFa`IArV*&R}yK&(I|llI=YkJl%S|J`5bPin1N}Vc_o|HX45dO>V&KT z&7nR_R$Kr}NJfsgE~qS1x=~(tz%9mX`QHZH|zpj^FR(|nbDcR6};P^m_qlP|4Yn{Hz>HjgbzA$;T z!-gTw@8XA})V98{N6Cb6F?`d$j=`Jd;0@&Hz4&;NA)2O$|9S&Jj; zZ4LP~sOAh%DdW1-tB%ktv7e#`_qgwI*=j?2X*%^)BS1ojfT5&LnUG@1pxI(l%Vm?Z zfmY52D4|q*b6Pht%r>0C^qUFxtWD5@5o^2FW*y_cpHV?$Y8O==5C{>h!YeQ`Pcd$j4i%zJl<}1Sh|Pwm zzX-(zr>6+q1{-}y`IL?RHjGLyGx32NSUbO3DNa%kssn(?n016-G+qYJ#9iq&1a;4j zpp`Ig4i$ow!A74B_qPcGdns7vwHk*-G{k%WGg|sf&{4dj)@i-n_ug3_6q-OL0POQBJT*_-)ZZ?PFD{lWF%M z<1?Dn=heVRf!>c8ybDb<+t)h-gLU;NrUzPJ$&50jXaO5%KVPk}_xCCoV-~IOd-~W> z?gOG2bM2}HG#uvvuS}0NdZfFl7Mg1TIE%{3^o1l)r=HV^K)2?ra8NxSG3ppjXF!Ss zA?=Kz)k>ujX&4+|s+Z#xniLhrICMGNt+CahHANi<5zEE1PK!8?i?pU&V(?f3eMwa^ zS3)I7R0g>c^%r~3fcHIw!CLS^;m2Sv%Jo4fQAcU3Hq6wMqHa{rKj>mnAB)!p+%{Mc z@(~6KE{|w5X^DKd-^iu^*jBUt{5DWW%e<_zwVOJ#P@jAj5bB&8AzI&>hLWD)TEV4j-z1C8LI9>D0Ey|lw_N%O^ za_NHVrSNEEhh*Pks$1lYj`M7hb8oY4FAhd>S$o(gW6RU;B-CLs(`E;{z0hEn?)zcx z6Waop)z)COwIvX#&bF8!Z(A$~VuoTU+Op9uZHwEc*vjfF7Sz;LRxGWrU9hO8w0s6W zSI;H5!;&TSCAGEX$g!ZR7UsR!sbdlbF`W%@4;q`kaavP0Q1v{P*&3)#mWtXC+tZfD z7S9z2*I3X$OV7v-9uxzLl|)$IY>4$3jU{7ITO{HvAUoyD*hN(C7N5szYiaLD{(s7j znQ&g{pSgz3Z_Kq}-dPTR5Boo{UJg>jseskiw`uUAx(Zvsx+n?uHaybMk4K@SFmOKV zB5(Dt8h8yCErU(#VbeO8R>ZUp7JcQ8_BdRBdkwEY;tM+c5f{Rax}ek+_CQk$@$-D{ zh{xv)M+`iO`uq;VZTNjY7~Xlkal;!lqBIS5NK=RlyIcMa+3zK7(Yb!m&gkZ!+?KH2v4%zs_*(TaDDd#vq;UmyS7(^n=| z4B51k|A0lGuc|oQ)vIvuO55pYp*^q>B;-6Q-=2v_?s=)-xTBcbLsHhPaXjOhFIdmEIZuuK>O_IvlE{B zdiBHS#@qL6*l0|Mo_G8|EOTaE9GKR!-w9>sJ$e77L(l$f%U8Q>X=?J$fBCwaCz@^z zo_WmK*S&QAJL6nap9#Et%audkU043XF~3i(n;f3^>}4PPdgRj=zWCS2CtsL(;V;7{ zUU|kF8=7r1FaOJ$@Lq@i=cli{KkN0QYWMa1ZT3&rzuo-#u5Mu85n=T)* zBKiKk2YmQhee=wdZWtSVbkyQ~_io&MbJJ@#*}i|~(xWcj>ANpi)m`9pKV)+}@#*@D zPJCg?t{468y|Z5W^_RyiJ-+>t5ig#0_KAPJGO?rO(j{n^ArSXrK%{c!bH-**|*(dBi;id-< zIb_tyhu<`G=Y_lMdSmqj&w{m{YkqzF@$X%<^I7}-&DY_FD4BR|=6 z&M#l|p84&fUko|^ygm2otoU~5$?JY={hu$c`uDLXGJ_|Y9NY@GPQvI9T8`e(lDK0Ex?;=|7j zuKdHHSFgOylGyb89tZE_-_vo~fvL@_Zu@;QeZoUU2k!aglVkUJ^`T1wQ!e!XdFkIg z#kc?a=+GHo&);y$q@P?@I^xM25BcctcU+P9$)~@X{Lee$*L?O?=b5+v=h?|SlwEk$ zRqiLd&O2>X^p`^|kNl=B^?fY0Y5&!y)GnLy_rE^0_O{YDE@^9C*Yf^4$4-ZS^~C6( z?YwbSPe9=-fX#W52Vli{CH3`}$u$dELX~m)bp%m;sg2h!KcH9D%6e zb0H{MG!pkm;!b}wYC!Kb<_h?tmOwo054gNuXsyDzOEeyhdfcFy5H`%~hmQj|CiVLb z4^&(c+bj}~L*EpE$-svTdYw+Fzq+xOvNpj(`6tT@IP}71{1Urh7fE{;&8j;2sP%#*O| z!|5@OcEw;#7sCagup`n?SdWlP%fqCZ86h+jiF3$!&F{2K^Dds9)w$v zrLh${_%IYuIdH~KH`>H@%nl0xH2@5JEk0Mx%#h5dJCgcKoH@M#=R|swQs*98iy}~b z*Hk>oI^b-<0lM8Duof-F6wuvfGG=r{dCs<0su1*)11N8LJd@G6G>%JfyC+=aIL3o^ zpzUeSSgx@o4peLTvLltmNW|$)uLFHT{Fy(NdK$2c8T8Ewb?0v^&jn_D~6O=~#wN5WVT z4%f58i%exkBHaPEYfGV$fJN1Ah-g8&!KGO=w;9%}*4cLJVxu7$OYyBhmMq+&Iq)*p zWUTG5))`F(Yz`X}%z)u-Z(lQ2yS{}jVk*jrl7KBN2`mU4JDROUb#T24w|s~$g2VXQ zCRj8!$=CY4t%g!_v|AumB9QhRUn9cf4X4HoNR0)L13$9P*Raio_MEJC4jv+ef#HeM zJ5(?lItUV`t3NX4H0nXVJ_aoeLvcFv?Q`&E$DjuS_l4#>a8kqrbW0)~u_l}W+Kp0l zQ&ir}7zrFPJ(1=oeN0^!Plo(XIX_Uyv^`zC8ea9<#lfv`m}vbjU?BO4b}<(n80Ge& ziPoZ810rgJBI^z`F*$McsAcnwHGnEhCj%0_|(sR5ey9fse@p0g{`KLT${QyQNUInhI( z__76u2S`eIZ-Rhu3pg7Xpa3zyLDbi9-_q(G(8Op%buBItKm_B{-6o$ zX|=8>)$@rn`&2t1l^YcN&4RhETL8u^Fd@dmXvSs?U)i$1V>c$8nS1pbc&)`KaK}|$ z1WFUo)UzSpnlZrKE8^fN!;oVQ-H%r*azlAqKp&D&NDno(HQO88>;NchkpZ2mLx=~> zzI1OjAc%9`1)u8lbqx2*S*Eh`Sr5Uv#BC?k<$MknCE{c;VzPju8KoCXHxUP~JJKjS zEW9U9w6T9qEDGp%MH)F69b67r0|0$)eo_Laq-9MTW|5;NZr*$C(5+}BS63Kt41~tz zrZ!8$r&?nGGnfGucN(eUR7bKn%!-N*4WKjZc|1GJm>mo(RwEZ1_9OUfH;D&KJjS-A zgO~u~aM`{%i`bD7Ap*1o$tMwj!2WeA(pf!*UnUMhp}igTHw!6QC?vR$gwWCv$oiy z#X_ARXCBWO#8Uz-P#DMrWLX#_Qz<#1BXPidwgQqEoPaFRz&G3Al2c^;ic^k#6*C50 z%Td-K2=+IIti2;1&(@sRHE>MX1|e3u_sx!_3S^O8fYN8?m6eE@)E4_fHenvoO>7aw zG8BtpblG{SiH?2i(|8Ds!U9Crrcr4#rDs$PXww@rN)j4Oip^#M{Q8xqK%+s+V>$n) zhN-hj8uzUI{{oA}Q-tT*{=ax0e$&t`iiF-_U7o|8IF)r?vgRg?HBf1@5SS2+vmQ}zVL0cVX|{v!i*QGKMrnI-)1Sbo!|=Qm?}IA;XopT~e*$}7rqeTV$M+L{i#y8; z>GW+nJsWqlXTp8Bvww4R`hA_Q#2xJ^Vte?0iF#jT#hv}v{sfBHPNq4|D6fd+F#mGg z`F*=iAFI+6nICg&`V*M=G}3He6nC_DvWEZRAN4rKZhu)VF{uf`qU+c_WnUi%ZUPe=OjoIe5kb4a89J$`{Z z+Gl@BrytenEjrC|QC~6TPt5-g?kK-_j!K*U1&TRtct3==2JI?df#C$qnf?WwY!})z zgm8oR&W-v#;T!e4ufUz((+HI5$5q<&FW@oZO}E2i_HS?GLwh_2sQjjX0gqLu8}<9c zm@c)nArfm-qTL4dwRF1$`kv5Dc3GUt&ww_0mv{8a3{!n|Ue#ZTBZ6)v0C7i}c%C6S z2{N3=BRI)|UJo2NlPaj5TUrZJ&n!(so{Y|BrbZq74v;;BjSt%GbWep1FxDAYFw3H3*8PD++x4@L4b2@fdpyO^AL%9> z=tWUXci!IE-qH+7AY61=R3Hc?+e<^}RIE08o6!vNm(Nam91 zbfhVq;O=@1wnFvS?YUhCn#lXEttparI*Yqa1WRx`ETGz!Sr3DVEVjz(ur9Y!Eg?qo zT>TxIoiCvS3=%i$Pm144^EKVDjZGUJPXNWA^9kot|Jn4N_*VT5ABr_HWDjKA@x+gm z=Yx`uuH3T00*?p$?`kt+_d8%?KCa*ObIs%XrO#deF79(ZPOsr}xFXJ=Hym*I!-0Td z7;qX8^m(GbSi}Jt`AD#t_xW@}e0)Cg__jsJ}su;s991ge)3mh5*!*rhz3`5N_ z24NDsYDfI>SQzfM!;XkM3U>pjH|mSSwJe2APIn|2i@H#qCul@09>e2xIs!ho%NKSB zqmft~E%Ha*fjAr~1OowIIP8MU0eBSv>lR)DqRyBj8g)1#fe1>7dDxA<-30UlUA?mt z))g92gChSDE%m%Cp}Y+8vtRT5|H=zDR;k?gYpUi4GdHhQbjjmbj$|9gHMu%NpAbzk9@t-5)@ zheNUbB9jv#au5+5<{r1fW+B})$s(J#bNzxXh-=)6-hi%z;N zQ}=#4RQKK?nL6LfP*$9FG5va_Dofz zF;rFkS*U96O`$5+6`867{2?%%n-bPVF(|W6k9Ob|>h7o^JKmPUau#4n-LIj))D^V3 z3#*Eb4)_NwY2mq_Jb-pw>il0&YiV#d7eSZHsqhS&t0p7SExfc<478vciK+@JaC_Vw zNbd_U=H2@6(b%(~rqbTCpp4!^C&XK5)wB>SsA^B4Rny3{z!C?v^WXaTx(jU*Etd;w zQUS)xTW=B#m*-Q=mxL>{SRxIEKgG0Qp~N6vUxU)`apW+6Gj zQ64xa+UbJ-hyhDPKB%4-nD0k08khPC9TO;wqh++yE(O2dK+H-EUt4Q?C=M%&Zgx?6 zxS?f@sVQU-nbY+n00a7i8jr%X$E>wYYuei%zS=sylSwf zJD`xh`!U*ujS_Pf)+2wxqvR{NOt_3Luy$X;CCk}Pn%NhKCsG95A$+;dV^1!v~kDLC_>CU;PC%c;$`4L2hj&^H23ZceMV zSKeACM_#7En+>{pc@TiR1*n5e1)ZW|NJ8c>K^-WwjKLfV%1E6Ms#9yCd#Gw==-vTZ zT2(+8ZJ>!TjZmV`oZbZ=!=wm7yVGeqj@jBC2%dAH@?coUH&9Ja1jAa6I(}U}xD_x1 zSl@%Yto#D!GyiquSE>UDXPTN6i^O7+&6ME{Y~R5BcVoQtXsbW3t@@S8n^W;6sq>~{ z_p*O!sLnJe;wq}K=xU(*GNI#?;6jNbz_?eO?{P{REm0zS50uxe9FqMSL}7=XYA<6p z)(Qg~f{w^IG)G-YOK7?VQ8`8YRL2q53%dE#x_|~1gd&uQpb(&EO3_8`g1oip2W0t( z@?mCVh+$-;EgkFZX;p{VnusFZ*$VX$17KsCG(rg{-2q)ivCD>9Kz=oLtF^WR#*As2 z^Fl!adY(APg=T zH5#gFYpIgs1}EP<|MT2W9zX{!b^Z_b@CYH$?lxPENi2!3r1VNz=n-<#P@YjiZIwi9 zyjo@)O8#UO4tDy#@q;yITSwgIo)>puOR>GrG zeTwQ8O;l4+`WDt@@aq7vh0{xgxiXmbLW3w8%LSE%)GZ7aBveOD``D}p?!0fet)so1 zQse`N-jZEzYpIx10yGPZr8Gy3!|HLEsn^RQT~9EsSISsW*@eH67><)LAw#?#*d3wy zJHw!mYn|H zWo97=WpdX6OaQu|yd#UAmVn7vD^zf^`lL|Z7Z)pLvF?DE#pX}j0CS{fwcgcN0H$t( zfm5m3W7I$eEz_D-)V81r*R4Ofg@H3?-iO=Nv>vWE7IY~U{JhOn3B{lu4bKNjpj67X zyCc5rzMkK*o&%n@$tRMXt<9ZO@DpJ-W!+e%rVt#f6qep@SAeUuwxdmK8N`Ac*Z?gM zVK~>L!|U=p{L8zIO`lE4jxGu;U;Y2E_ZyrJgT6ms8s0?5U_v(${!HE-|yV}rtEHZ z-Uj@C-~ao*g_oH(@4j2kJ@>SG?l~$e0R8!p+e%>(4pm2;(G;yI!^tDz!Klw3vje?w zyV8Y$Y})CQcn-fo25%txTdwgaUkAYl)uftk{bc8;VkVZ&3wmb=AhIynVmuO5-i{VJLLPrPmS8>Kk)VKoC9!Pc|hKU1memEKJ z75I2UVYd%~8^WGY5Me(6C=t;(s4aCPxdHM}9FEE(KpfI(@DWJMI<5ko9J|FuT%;_@ z?^~)zch{F~aMnUTnGnu4B;gC?kEc8iu&JW=okIzD zz%;6qB4EmYhLBg^P<_d_!cfNj&661S=RlzNb0Ibe>cw~Mq*Z8&`lsa(s9#b+Lp1rE zr84_^4M5!wOmXb=p9v3=il?fq+7#!P2o1lB8t9)kP?I}$7hJRl5d9y`XA>1kG^>uN#|L)Aq0 zBhO4>lgLPhJXvszb;9|o#x+yPKTQp5(FONs=iywrt>sw^9zt^!ja~yIv{gXFtn&B+ zGaN%X!;#La zR#*#%K%3?K4FrKg%QGAwCzM4_EWpW=ut)GJ!l@3z%|NnR4oCwHaG*&WerF=3TzylM zgkUK#bUBK@0-x;s!DH8PxGu==6aDRlhs0Ay2Qr}HnucpXT)W_6B$lbT7>Q*MT)X3% zf@?QiJLB3L*Iu~x#kD7{eQ+^~%R#tG>l$6pu6WM+N7pxAJzPsWTP6*}Cf!(*8oeoQ z;gLfHiSf8oF?Z07urP2ShNCV*riS6U8$@EVP&AG}F+q1AkqRcGDL=e~lZm*??N7MF z0c7wBd3>QDfq^!0Ex@(YhabLY;&V^Ow)<{SF+SE#eQ=**l$br=+T+93UpVW$SFilSaYH*VeE++BeUJH`e)YL)Z#(mhzkhxExqlq!c>N*s#NS>1 z<>wyXZf)I_$8S2kd0wPv;j3$&`u-E|tlDAMAH2WoNsDhgDYtpwv)6p>t|iC)>)n4x zPWi^{eI7e?q-yW~^6$O;o1YK9e(UrT=0z^r`-;tP@7B<~!+kThoq78w*PYvY(zn0v z@BQVq?_Kxs*?aA^hrhS#!t3{%cE;QDuRXHkm75QJb>pTBZ+kU=%#?-y`p4S4{&r}f z=bgj<`q%S6^~AfEH;3Q4;m6BkFCYGw{?b^@1@4entSKoW|y|H`0_QPLB{=WZO|Jl#f&tJ3O+lOwu`O3GBY+QPvH*owV zQ!ah+b8TOGdB2hUPR-x@(Dx30(>%ZRktx6b#^ZNh{OHNAPg!~PS!Yc7$8J~df8>n8 zRToD-bHefFq46(&^TQLDJoTsZFMVtETO)I)EqmbNop-$X4d>1|*9XTOaP)Y1^3;`k zI?jINcgvf9^uRqQS1(UIG5@8`+alQ+UI8-wsFpnpIpD)fiq7!wEoRgT5o@} z^_Ii`bipNGUwiT$H(z?<(%t{~`+pz$rNj2E+A%u&trK7T(H@HyAFzAws?4Vxv)X>} zooDyn?H{+!b^q?kw%bD|y!nee=HGh5UYDhRGxMt}9$a--?9|I{Iqj6^`&w`Py8k!# z9(?Olj%Po!w*An>i~h9x>c$pCgKkS4ncG~RTe!k}`2l#*Yx!2D) ztNw}09y<57HP8R^*5?}jzR&d^-gNZYBir>Icgx#n9`Lh!p4jb`ZO>}ie$64Xw*Se} zFI@iP?XQ3RJ%8=rnvb|?=5J5w*yZUvXHLK1hME0$UB2HlQRB@!tNOj~{Cn!n-{=ml znDN{Zzx~zTPrmc>+=qMI`o$L``(Ax*%@4cxy<_uNc9?eBgWq4j^Ngz-r|lJ-AKU!g zo>w1LbHvYsi()VBGwqT2*KBi7*Wg);yqC}a7DUtCzP0MIA0PD7vv*#)>Zl*>e&?*m zj&IN1des{<-&)l>^E(%;{q@OnZhYa2lbpw#bLx|=FWz+DuI_Wb_q8_juP-dD|Jz$D zAF17Rq+g6BeC|{f z5w#K8C6@BLTp_PNfIwah)fz{b7>_4}GX!CG9P#rIEXIXH1uogp}v^1#~|o`s;pUM#AgI;7?fZ+!Zt@LQw{NC+z{!|U4PWmY2!u+7i<#Hpea?T6aOL&>6+ADL>$N3`6@dx3!T85 zlQ#j3-E1$a(g+750}LR9gA;Y*JUJ|mvz^nCvefMgQs3W-2LH30)C6Lw*%e2hu{kUu zk@*NSRuHW*rn#2nF;?i12<2*HEH{gJgo#t3`GMb3C9|MgELi#HB@|vqy7j@#N+oF^he?+NSFc!3gEUfY#FSyu)T%& z2$?L+W;6>ay@#8y(LNqZfCiCa5>zEQvo)ewq4{_geiOxxjha)0?RUv$(|8Er8&%jB z@PRbx5z~}OOOEzykX6AIqB0TG5Qj#;j@-0J{<>B8Gj_AO;6qVFSnsF?y+L0%;6a0> zeVi?^EmXYPYQ$owhLsA@hLk%21_eyP#!phbLkQ%yNGDDwqUI_*gnoj3`T7hdN&Cd+ zW{hss7YYPvnd1zyZ=S^ZG$el-UAY0MT?nw)WgUx!IGXDnU5hImbg}E>&5L_XVLuqo z)&X|Ru6QkcUKkP?=3(G}RRlbRo8wSgLHp!4Ak%R}u;M~TBvm9IqO!4G>;A*|ES&#u zb~siWcqmf0!_nD*?>xAcz(r}Ce|UL|=l}Q8&#m+S`uy#7f5Gola8V=T`_}n?v?ur0 z`F~U2Tj&4p(f8K*|5x<=Kk!Mr80%$yJonH0_w+r_x#NBto~!3`>-;~?9?ShZ_(XrU zIa1%hk5888xLN++`hGy)f1vO4`kv>YS^jhCo(2Zq?_8zt`2((x}W+*eXq~|?{SvC-$Om$lP4J29_I}2e}eV! zejj|I51)7epBSHY{(mo)<8yuff3Mqd4{gsn|G(E}+(Ub{&j0W2()arO|31_7eHA`Y z|32&R$@)Y1#Q66iyl|G@I?q4taec4P^B+OD@cBG^;`?IO&-eBD{>7|^_lxj}`W74b zWPcayd(J=aoA8P8HeICeSE=Vs_u!M`K^yY?L4AL;er~~ApXXn4Ieuq-`aFL#=MOk- zo#$^Q9NC`)KGEMce)68e9`DooKBe#b^gTcMT;tRBgbT*gb{0O_9<5%uZ};hYeV)Jl zIoxAh)_ML8w#V`t@QLyfYyL*`y`I0lzpC%=!6*7>o#&6-ukY`}C;AiNy5RH8_(VGq z;yv$Q!YAtQG}Qez_)YFR^*w0^Y|@>8bLn~h6@&O4ecEO>^?b$2`nf*Ozl!sNx~%j3 ztL{|y)_MNbXp_&k-$8w@MxSK7`aJ(?!iUeh@rkmlL;Ai)-_PZJJw*5Fl1;}Pqiw^J zy9UhAU4#5fIOi&d_FFO=;XMxzm0G6?m{Q!n!hR#e;-DCqzutJ`riePuPc8sIM)DiH zTiO)-0}!tT97%lWcClJm$YASxTRU_bvW1W zcGnE{Y(U2D(FPY5oVw{8{+wMG&xI&Tea1t+kDtD;CcUn3_~y#Puh3qp{kagw4V;ni13RDZj9kK zWQGUirUsmGy0b||+@YIr4!xx`F3y60ym){P^}%hFzryIrK#+)f1-mVLMp*|$HmO7e zb*LfCi(<_e{R2^W7?TXC4bB@P!oi)yNw?8l6u;1Y5SyK>y{t3koj{z+7=(zp7=O!q z(VfXKG?7SlWi{ySTxpycqOyz?m9R!G!tSW<3P!*gM#ifKg>L2G*UIQe^g%%ozeKJO zH%Z(sDbq!nh5`*(NLv7;+=VSv32dfXV_qc{Q7oMo z@M1Km;859XML-7~d#N`)Yh84GbXFXJ;j(%03g+~d1bUbbJGs?2L`Xw5QW3Xow^&Wd z>%>!d4YIGQk5YlI#Oh7+_`NBsh83mra3s`|Z_PKWo=ICin!%EyfT{la*CTNJ_!W=; zt2Mp4hE!U<$Orzx&G_&`l)YI3JOHs;QNNmaHgDBdG6=h%+(L~dHEjv1B|R*Gsh#>h zDtNchMiJ6mC}4r$a46 z@we@x>XZL&SF&TY-RFzHTi>?3%KBFFS*5?bOFo18J7lsQA%jwG+@TJF!)qn)m3-aq zyM>#n-3KDV%vGmc#ea+6tnbAqwSQ$SnkzoEF7*wOY4qF0cNx8AOYv$7?QZ24%1moM zxcPZ?S>H=PC;HB3qn}&9Rr)M#^OmKm9;+@sv%XvP-2A*F5D&)aychSm!~-$EJLYzKJYjd30EP(dpx#d#zy@5}|3B_a zAO@E&0NZ#V9zcD`BrMr6_=O~pzaar*65|1-V$oPInL_j)kKYqc_yUPgBH(o)SWqY) z^+O^LBAQPy1V3F@D&|e4;9U~Lh?5BP6Aj0`cn}JPqqdlJ=v3;U0MDy{%ZjVSr?yx)R z4FR71WR!!1gCN4Z2ZP>tD2BK{u7DrGfe`2@0Q-N;oFqja;(r^@3{*=q- z^2JjjPY|(=P=&)03b;eaj}=NFt`Lk&et#l}U_rhle#VR>-MB$*u=$6=UW7|RLY-)o zf#Jj9M9Ay&dZiNUpF}d~#a=_y6;GfXJa^pjq&I<{1d})?fown_Uo_wi#@#LtVjsoA zNna4*=L2C(p5GHqx*V}&76Pz!vXBHczm8T6I7Y>G8KnZs! z==K8Oz+Q_+Tc}}usz{=cX2Da0k?$}fQwLi43IuJe#yaP|18KU^w8CU9DdoF zS0-viA`#^JN~FaC=ar~f>{~%tvc@;|li{F7{~0AejQ-C1(%*0^e}?|F`>`zw@~Zgv z9|^wo|0~Tq{v$8|%9omBstcAMI5sKEkIe{YjA~XI{jrw^8@EHtU97hd}+uPG52TK}_Yy6W>Sm?H=l}owe>IaGLzH zrCwkIEGbzk95}!`sQ%GjmzJZb^{EKmsJs7$=vj#3?%*YVWATJPi&LC${EvylXz8$7 zsAJ6srm^O{ZH+Y}7ny64zcb)s8QktA6+!bJZ1>nX5Kk zYphy-u(9&5+Zroxbg1jBhm4i(U#sij9nBT5E-_bJ|7UYW$A{+f2hT8yuwHmhZN!*?Hc*ksrGwwD!4*#vO?EN>)Wlz3mEc@ek&1K(OqOPGMjAe@>hD6f}onkCI@MNR? z<$H|wGaonF&p5+u-+ivScD&kX3%zHwP5qV8`qN&cwJT?~hC@cn4}WR4EOQwx)n7N8 zp9q>uZ_gF4Z*?0>ubgHsZC_i^B=w=ubmf=L#c!Q$E{=JP#r4mbi|72S z?5Yrus%&x{?NRK|=9QtUB(U|~6HitUw_6$XB_e_QOuroJ^31AoC zC|WVpQ^oPR?T?ocjVdEpfKYVVF3J#c_9|tJ4|^pU0?uB^penfB=rG@K5os48K)bkFL| ztar{8M=g9S58{J?@dbBvaI!Dhq1viyJ2XUB1m?0J`Pn0fd z2T!CZ7mdAWW|%7d#w03dq@GF`BekjsK(>k^{!hqmwJ00>7#6T}5p~%?I;*T5w6n_E zK|HIhZ7e{4?aY*?CWM%p_DkBCQmHd+W0IsGcGlyF9QTo9Ujai^eGo5)`fwl`DZdc5 zf9~M0`ZiXsRAZk^aSA$r5{h~ivXTys&np1A8C7Ycn07~%>cnRmseLXeJ-ClaYC z;UJsehyY>zjHoj=rEbQMHPjlgQ>))jp-Qs|P=qSZp%k(KR4(OG|K0kfbxq8v=2K?? z7(vTh<7J>9y4>=d0A1K6F`;GalB1q|16A(wxD-}Rp0b+gncpCxM_31qX)~R)mEr7S zGEoDkeR0}_n|LPcgpp70FzfuSDg+nK)0PB-kPNBX#az4m!fhz;JY4!(c*B`b_a|$d zRVsQBQgOIFLFq4i(&!xE%+q#xV8auk`+gcYkEt==1j}%VouIFhDZG==c&})l*hd*8xo*T-T zIm9Cym=b#Az-L;)$%hTiphw2MRmUkt1yd@ziC4iH31RMZz?{Skgv%1Va|iT!75X0{ zK`I@xhzc4HJ#>b$ybCQL;(W3WUm__s1#=MB3t|1b8IPzuG?Ud%Iex?931BWnL-n-? zxxk1{Xc)7u+ah+tMJW#xS_~o%gNs!6D>q7RHx1HD4vA;+B2Psil1NEeoVG_;FnXuY zMiivJ97||4FHDQJxFR8|ggaACYuc|3{Sc>2PA5Gm1zY>zj>TYbdS0v5VeabnZsn{6 z7$9dP{n&tPQDOly?Wy@iEp(CR!7CyzYm7XErb$BM=~2`Iy-yNU!+J)XOZqRALm-NhBeADM7;PwRv4@hSSle33p;<#_Qn>@ zJqDtXk`;jnVPfD!Mk{+d4|mgyQ&JF%^Phxd5bFiRPe!tVrz!`CL0I}f^?up_HWu`M zQnVptyJROYPNK_J;Q9ndKP;5P+;F)oR7TF3aS5-xY?XUdgf(~r@)VAYWoSSllz1xY zNFw#MaGuNMXR0t=T-qG9rkyf_m_57?xF!1s0X3GcaV~`mqgA*_z!)Nu6Rte|_*@YP zVpC6Mn3;FQ7jzWeKqyA~8YWXn5fAj2*kO|1SA`B6cNK=qAcCdOc$2!@YLptwFegRY zq2U=Sd)YtX%WVS)VW3XaSl*C|&cPQ7pn_X1y>8*LiQ{k#n5b5f92^OU!!XVY31q-O zP;lk1$WMY)VrLTEB>}ZSMhiPZ9Jm~^839A$iiG)lwc!YWuc zT2euL^|l#_Dl&alpnjzAvZVlqzcU9c`fc$!SQGl41yDGvG_WjCsmB`Rk~UfMhq5JR!M`|tx@C4*&9iiP zOvlg>l_uC3jp1}d91zkz`w}KfOHAl7gabJy$B{6$6X>6Q0gzL)AqD#g4@OGCaTmC^ zY>9-njGcvEgOY%b3u-6?)uhu3l4*6f5Frk7Jw#97P%b$e-R?;8cmTRQoN?B+HJ6|0 z5MEV+w%yqbJmW1%7H=17)jsq}9OH2Ni7?Ei&JG}Zu?WgMQ3w|=2}6UoOOdh=@Cpw2 zAdyIJo#T2cpjH8sS$A>Lwqp2&z?U3811qb+ws59zGZv6xjpX1sIYR5pkxuz)JA6ma7{_9k8Fv~(fp$aY+v>CT| zijwGgQEf4&cZ>&M6X_f&Fe+$D6>iiErDszL6h<&+$wgT;LoqzZ1Fe~gbUAb>s^!o^LhEjg$#3 z*t0B;Pib|fTsrY1RbZ)Xj`h)q)xsFy#5H6dkK$Z3Fr6Fy*r)(}Y>D^lnVO zl$0>Gh>le_r5!0IE}E&}j)a}?Z^mHzlUXFw)uIMM)B`zH=mjCoa3mIx5lT>y(1QvA z1JtH!muE~AT%175s>Hk0|A)kPUsSOYDF;n~v|!LYWSVL)7EV#qF*+rNt2(UJ5)__R90&yT|P&%C3kF({;eAKcd z#c<%u*@slHN`HcNC5`otdLSz?HaJueDsqV-QBgrmb^TTcJi&mAkw_uLIQvH=wkF1l za?0#LF)|}n5cfSb@NTUc91%*bc`pYGmYa>|W=WH@mXrX;3L_HfK{98s5LB2`k^Dsq zWV}nnKV@WH&7*WMRIn&&M@2nd<($w@DY{8r7PJ^tfm%E5bb>b$KA&CJ#tl}*fXh}e zdCV(xQj7Q!zSgplP__)3spbT{O|&GLYNTS0!yKa+7^?#j07K1WN2+xW=eQEah>K23 z|EJzh8^GsqDgS=}Omsn_Tn}Pf%dtZFN#Q5qk8`A$h~hcfoRZE4;Os||u2k$w?}IZb zDx!=vFr5$(WFeZQplM7PXgZEuqE(beyG%S_(HX!{f^Vo}H$seb@38)ql7b3Gu_}x! zsxlamm#S5&?Ww4*G{zrhKqP{GT6qDMXbcpm033=I>@d!9ip*ezC+Ba4u;oA~W*m`u zK{XKnp&Nm9m^w~jSbHF#*WUWg-!Lfok{~| zyTD*pr==+wvW1q`iBq9p1^g&v*@zD1v2~EwkrS2K0rR4cgIddlW-ZmV9Gj^ZY5=f< zhDs4D#f0E`*-2ddLb^GaA##*YAzHCOt*Vi_+jN~gVX7j_N=#>=y2uobDBT$qLq>OCiCI1Pw2x>Iz83F)H>&nkSKL5}?}{2t_?c36C;4 zJGdXPo)wauC~1*xA?RZ{nmV&N9N0!xvYJ3V^{~sT;&axO8p<>9y+s`dhL~831UDCl zI+LWVW{G_)P6QZTM)nK}vR*;)QrH|{pJN>go@I*)P{Wo6*C#5baTeVmz+tA-c z9TJ9}EJ~scSop3`FPFh&04y0~&k?B5fQM;z^sO3alW&80c|9sR0Y;wn_u-iH4OrP%U`M6m7C*`?_i`k)q_tR)P9(mUxk zMe1BmWRW_GX_}}p2z~hrTNgOXJtlm3d99SDw_AaH8p{&AS2!a?*B7#~X@5>tCoV9Y!l=#p0eSu(Dq{~8lrz|`V z2)yzdw=x>Lf3)^gUMmB~m;Dl8%NA3T(@U6ab*vp^te*$#H7CWMOf@Yt5E}<2PPspb z6Y3C;{izakSn*A2kq z+!>DOl>=^c6aEmIAkG#}VHJ*3jd$n@z2S5nS;oo9$B)!J9JM7kNXi^%V|~3^tBSUf zt}H?L1awoO4M$2Ui&wDkfGAqM$r0HN(aB3hoB`LMZA)4$>pKV*67r~xRi!S1r_svF z=mrHMg5UTSpiBUjH1D)pw>UW1k%|JQa}1SOYX_W7%+JNmTT%k07ZJPX2;>s!X!ihQ zxO6->N1Dlzj227flvtjDwWWOovA(cdQ994o=rp5NYakgzP)786E0(cm%h+7jF7V4w z8`f4dF~;0bTppvFkj-_qA8A3lOe_VVwd7!ix#mit+L;ufA;ewZ5Vn@b;3k!^!cs#O zWth(;g*9U>P>J#)(g9c^wHA^cy*WkWCpKSsct~N0R*TnFPi1eX)np|}piH67QdaUG892waTe#@Giu`gRm9#K)S{-_AT8 z2NyvVA*ygruoyI|_*0?Y(J-;#LfG&-kJ$0zcfzUk;=6=f>4jT?BR_FcPcFi9G)yhH zj)pDaOE?q8g$qkhBr}K71{}DD$rU98<*4`52B7Z0Fx9aWB3OuZ+fnd5u-+tsTi-R0 zaA--Y__M{~q)qZU2TvXAwv$YsJL*6(w10Z0jQVx#!DY4bt(vs9?IlvtN5%xF$|rnCa8LZY#+Qi; zVSdIdpmnEW4@Nad!KnDKC?=`j)V~x2Rc4T4IufO(!MZyOS4clrKdPcdJ#O^91v5RP zW$%_A%eVBt|CdsX{5K~OQL*Q?lt@HTxc@Q#TAW3ZWz}u|Moz-N@xJp}>2oQFe>8O$ zPQ>5Hk@#nEC+oY#oh*(dh49ao>fOmQY>t%X#Sn)oP&Ujytas3}ofD)T!SW$NR=X|9 z+<52o)wGVKNSYXop^~8E6Xzvyw6{f?R@qATfi2-wib0h)u zELx1}4DAaFCXE~28+B?(Ca;E~Lycx8WK}4F*zMIBtr4M@hNa~L=?ya+t;omP6lsHo z1`{`|hSkM{BjYz>&C&m^PvYVKgul}DWUId&z~|~bnLkMW|h-o%?EexRLp(SamgMZ%((IW@DY#xbNADK@zV?cz4(#eUzY#MfxTz1 zH0GTD)N>DC_FqT-=+Gkmx%(?yr>^zH#KeD~Nr z_Kz)G;d`;}3kOfzVfuB)p8DvXR|lV|`PrWLfANk-o)4aR`I~R%F1Y4Pul?e-OHT29 zzIo&ym)!mKnKvwZ=;xo^{~J3zc>U1p8`qrUx#FZ;ZrMSvefyA$_Ivsq@3U9jGkjXr zqI(Z`sdLv&Q{Oy%zyEssm^pi&cx=z-&);^+Wsh$AgZuWo^oge1x8LK_vkrK2&&}

CV&(puZOK{DuY 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%0DK#&` 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
{{ escapeXML .Type }}
{{ .Type | toString | escapeXML }}
No Vulnerabilities found
TEtP@AK0k38(g9F`WzBf7&J5C%a{w#QnV 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%0AW!IbcPq)WAH=n9HjG;HY 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%0AZ{oV}OmloI)RF#~7| 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

mh2!%HL#7K_+D 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

Qp- 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

;Lv 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Ξ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

%5AStOciV)M%^q&**Qu+xIW~V~nFlEKS0DB`- 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�(QmKRU(v1YXI&?AVfIq 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�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 S_ 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≦Igrd+Hx?y=MIX7g2|wW&Hn+ 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%0ADCHa%%0N~ym7ccxx~D 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 z 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 z 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%0Aapdy7GvB>($2;Ei%h&wT)rF7$ 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

diff --git a/integration/testdata/alpine-310.json.golden b/integration/testdata/alpine-310.json.golden index 8cd21b6114a0..b0d8dcfbf992 100644 --- a/integration/testdata/alpine-310.json.golden +++ b/integration/testdata/alpine-310.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/alpine-310.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/alpine-39-high-critical.json.golden b/integration/testdata/alpine-39-high-critical.json.golden index 12fe01b07923..5fa44cf795a2 100644 --- a/integration/testdata/alpine-39-high-critical.json.golden +++ b/integration/testdata/alpine-39-high-critical.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/alpine-39.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/alpine-39-ignore-cveids.json.golden b/integration/testdata/alpine-39-ignore-cveids.json.golden index 9753bdfeba54..8402925ba637 100644 --- a/integration/testdata/alpine-39-ignore-cveids.json.golden +++ b/integration/testdata/alpine-39-ignore-cveids.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/alpine-39.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/alpine-39-skip.json.golden b/integration/testdata/alpine-39-skip.json.golden index c3ad16e80cd0..6fedc78a89cf 100644 --- a/integration/testdata/alpine-39-skip.json.golden +++ b/integration/testdata/alpine-39-skip.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/alpine-39.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/alpine-39.json.golden b/integration/testdata/alpine-39.json.golden index d994c1175530..38f23f8a7a96 100644 --- a/integration/testdata/alpine-39.json.golden +++ b/integration/testdata/alpine-39.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/alpine-39.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/alpine-distroless.json.golden b/integration/testdata/alpine-distroless.json.golden index 23bc6875726f..2ca81fd332ce 100644 --- a/integration/testdata/alpine-distroless.json.golden +++ b/integration/testdata/alpine-distroless.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/alpine-distroless.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/amazon-1.json.golden b/integration/testdata/amazon-1.json.golden index 42517cebeedf..6377d1fc0531 100644 --- a/integration/testdata/amazon-1.json.golden +++ b/integration/testdata/amazon-1.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/amazon-1.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/amazon-2.json.golden b/integration/testdata/amazon-2.json.golden index 5c48deeeefad..bcf5d075f1ea 100644 --- a/integration/testdata/amazon-2.json.golden +++ b/integration/testdata/amazon-2.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/amazon-2.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/amazonlinux2-gp2-x86-vm.json.golden b/integration/testdata/amazonlinux2-gp2-x86-vm.json.golden index fe4cc1c099c1..9571ef66604a 100644 --- a/integration/testdata/amazonlinux2-gp2-x86-vm.json.golden +++ b/integration/testdata/amazonlinux2-gp2-x86-vm.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "disk.img", "ArtifactType": "vm", "Metadata": { diff --git a/integration/testdata/busybox-with-lockfile.json.golden b/integration/testdata/busybox-with-lockfile.json.golden index e4477fc3fb3e..af904c31f36b 100644 --- a/integration/testdata/busybox-with-lockfile.json.golden +++ b/integration/testdata/busybox-with-lockfile.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/busybox-with-lockfile.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/centos-6.json.golden b/integration/testdata/centos-6.json.golden index 8d09d3d97ffa..741e300d03ef 100644 --- a/integration/testdata/centos-6.json.golden +++ b/integration/testdata/centos-6.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/centos-6.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/centos-7-ignore-unfixed.json.golden b/integration/testdata/centos-7-ignore-unfixed.json.golden index aedf943fabf2..3c32c19fc701 100644 --- a/integration/testdata/centos-7-ignore-unfixed.json.golden +++ b/integration/testdata/centos-7-ignore-unfixed.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/centos-7.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/centos-7-medium.json.golden b/integration/testdata/centos-7-medium.json.golden index b158a47a51d9..4fc41b8a0167 100644 --- a/integration/testdata/centos-7-medium.json.golden +++ b/integration/testdata/centos-7-medium.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/centos-7.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/centos-7.json.golden b/integration/testdata/centos-7.json.golden index 118d661ea2ad..26138b9a32ee 100644 --- a/integration/testdata/centos-7.json.golden +++ b/integration/testdata/centos-7.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/centos-7.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/cocoapods.json.golden b/integration/testdata/cocoapods.json.golden index 14685eac577a..a9a126997012 100644 --- a/integration/testdata/cocoapods.json.golden +++ b/integration/testdata/cocoapods.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/cocoapods", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/composer.lock.json.golden b/integration/testdata/composer.lock.json.golden index 0b5947077c42..d175123d144f 100644 --- a/integration/testdata/composer.lock.json.golden +++ b/integration/testdata/composer.lock.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/composer", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/conan.json.golden b/integration/testdata/conan.json.golden index 4f8be4f3f884..ec7298b12054 100644 --- a/integration/testdata/conan.json.golden +++ b/integration/testdata/conan.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/conan", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/conda-cyclonedx.json.golden b/integration/testdata/conda-cyclonedx.json.golden index b143acd7db35..e449defa008a 100644 --- a/integration/testdata/conda-cyclonedx.json.golden +++ b/integration/testdata/conda-cyclonedx.json.golden @@ -5,7 +5,7 @@ "serialNumber": "urn:uuid:3ff14136-e09f-4df9-80ea-000000000001", "version": 1, "metadata": { - "timestamp": "2020-09-10T14:20:30+00:00", + "timestamp": "2021-08-25T12:20:30+00:00", "tools": [ { "vendor": "aquasecurity", diff --git a/integration/testdata/conda-spdx.json.golden b/integration/testdata/conda-spdx.json.golden index 0ddb0febe831..9fc685b4aa5b 100644 --- a/integration/testdata/conda-spdx.json.golden +++ b/integration/testdata/conda-spdx.json.golden @@ -9,7 +9,7 @@ "Organization: aquasecurity", "Tool: trivy-dev" ], - "created": "2020-09-10T14:20:30Z" + "created": "2021-08-25T12:20:30Z" }, "packages": [ { diff --git a/integration/testdata/debian-buster-ignore-unfixed.json.golden b/integration/testdata/debian-buster-ignore-unfixed.json.golden index 4d31fa33bba0..7d8e8418dc50 100644 --- a/integration/testdata/debian-buster-ignore-unfixed.json.golden +++ b/integration/testdata/debian-buster-ignore-unfixed.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/debian-buster.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/debian-buster.json.golden b/integration/testdata/debian-buster.json.golden index 61009d538638..ef99f7455995 100644 --- a/integration/testdata/debian-buster.json.golden +++ b/integration/testdata/debian-buster.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/debian-buster.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/debian-stretch.json.golden b/integration/testdata/debian-stretch.json.golden index f70c12fda9ad..2cec165ac3cb 100644 --- a/integration/testdata/debian-stretch.json.golden +++ b/integration/testdata/debian-stretch.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/debian-stretch.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/distroless-base.json.golden b/integration/testdata/distroless-base.json.golden index 5e2a989fe0d2..39aba72910ac 100644 --- a/integration/testdata/distroless-base.json.golden +++ b/integration/testdata/distroless-base.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/distroless-base.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/distroless-python27.json.golden b/integration/testdata/distroless-python27.json.golden index ec4e865fbb65..c5f72aa791d8 100644 --- a/integration/testdata/distroless-python27.json.golden +++ b/integration/testdata/distroless-python27.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/distroless-python27.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/dockerfile-custom-policies.json.golden b/integration/testdata/dockerfile-custom-policies.json.golden index cbe02296668c..aea2e3a5b235 100644 --- a/integration/testdata/dockerfile-custom-policies.json.golden +++ b/integration/testdata/dockerfile-custom-policies.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/custom-policy", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/dockerfile-namespace-exception.json.golden b/integration/testdata/dockerfile-namespace-exception.json.golden index 0f3427d8c289..53e6f93a6db3 100644 --- a/integration/testdata/dockerfile-namespace-exception.json.golden +++ b/integration/testdata/dockerfile-namespace-exception.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/namespace-exception", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/dockerfile-rule-exception.json.golden b/integration/testdata/dockerfile-rule-exception.json.golden index 1507a4af950f..6d447d980536 100644 --- a/integration/testdata/dockerfile-rule-exception.json.golden +++ b/integration/testdata/dockerfile-rule-exception.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/rule-exception", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/dockerfile.json.golden b/integration/testdata/dockerfile.json.golden index 4dc5cb289f74..72ebc7d00a9b 100644 --- a/integration/testdata/dockerfile.json.golden +++ b/integration/testdata/dockerfile.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/dockerfile", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/dockerfile_file_pattern.json.golden b/integration/testdata/dockerfile_file_pattern.json.golden index c50361b7934f..fae1f25b28c3 100644 --- a/integration/testdata/dockerfile_file_pattern.json.golden +++ b/integration/testdata/dockerfile_file_pattern.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/dockerfile_file_pattern", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/dotnet.json.golden b/integration/testdata/dotnet.json.golden index a822c8940c72..6409886f684b 100644 --- a/integration/testdata/dotnet.json.golden +++ b/integration/testdata/dotnet.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/dotnet", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/fluentd-gems.json.golden b/integration/testdata/fluentd-gems.json.golden index 5d25d7dca823..2a6f60da3886 100644 --- a/integration/testdata/fluentd-gems.json.golden +++ b/integration/testdata/fluentd-gems.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/fluentd-multiple-lockfiles.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/fluentd-multiple-lockfiles.cdx.json.golden b/integration/testdata/fluentd-multiple-lockfiles.cdx.json.golden index 88362c1fb577..d8583f1ad6ea 100644 --- a/integration/testdata/fluentd-multiple-lockfiles.cdx.json.golden +++ b/integration/testdata/fluentd-multiple-lockfiles.cdx.json.golden @@ -5,7 +5,7 @@ "serialNumber": "urn:uuid:3ff14136-e09f-4df9-80ea-000000000001", "version": 1, "metadata": { - "timestamp": "2020-09-10T14:20:30+00:00", + "timestamp": "2021-08-25T12:20:30+00:00", "tools": [ { "vendor": "aquasecurity", diff --git a/integration/testdata/fluentd-multiple-lockfiles.json.golden b/integration/testdata/fluentd-multiple-lockfiles.json.golden index 8dd8e073653c..46cb86eda6ef 100644 --- a/integration/testdata/fluentd-multiple-lockfiles.json.golden +++ b/integration/testdata/fluentd-multiple-lockfiles.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/sbom/fluentd-multiple-lockfiles-cyclonedx.json", "ArtifactType": "cyclonedx", "Metadata": { diff --git a/integration/testdata/gomod-skip.json.golden b/integration/testdata/gomod-skip.json.golden index 1dfd67938b7e..b58c9abed51e 100644 --- a/integration/testdata/gomod-skip.json.golden +++ b/integration/testdata/gomod-skip.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/gomod", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/gomod.json.golden b/integration/testdata/gomod.json.golden index 30cee57c31ab..397cfac89244 100644 --- a/integration/testdata/gomod.json.golden +++ b/integration/testdata/gomod.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/gomod", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/gradle.json.golden b/integration/testdata/gradle.json.golden index a7cb4347977b..eac7bab6093a 100644 --- a/integration/testdata/gradle.json.golden +++ b/integration/testdata/gradle.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/gradle", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/helm.json.golden b/integration/testdata/helm.json.golden index 39789ee45107..08b89c8cbe89 100644 --- a/integration/testdata/helm.json.golden +++ b/integration/testdata/helm.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/helm", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/helm_badname.json.golden b/integration/testdata/helm_badname.json.golden index 9ca547ffbbd4..8b935eb05bb2 100644 --- a/integration/testdata/helm_badname.json.golden +++ b/integration/testdata/helm_badname.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/helm_badname", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/helm_testchart.json.golden b/integration/testdata/helm_testchart.json.golden index 3ee6bdc26cf9..00d8c862528f 100644 --- a/integration/testdata/helm_testchart.json.golden +++ b/integration/testdata/helm_testchart.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/helm_testchart", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/helm_testchart.overridden.json.golden b/integration/testdata/helm_testchart.overridden.json.golden index 88097a308e8c..6adb11041096 100644 --- a/integration/testdata/helm_testchart.overridden.json.golden +++ b/integration/testdata/helm_testchart.overridden.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/helm_testchart", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/mariner-1.0.json.golden b/integration/testdata/mariner-1.0.json.golden index 31bddad34ff8..7c93c46e7f44 100644 --- a/integration/testdata/mariner-1.0.json.golden +++ b/integration/testdata/mariner-1.0.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/mariner-1.0.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/minikube-kbom.json.golden b/integration/testdata/minikube-kbom.json.golden index 267725173303..4d4b277c7e3b 100644 --- a/integration/testdata/minikube-kbom.json.golden +++ b/integration/testdata/minikube-kbom.json.golden @@ -1,12 +1,12 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/sbom/minikube-kbom.json", "ArtifactType": "cyclonedx", "Metadata": { "OS": { "Family": "ubuntu", - "Name": "22.04.2", - "EOSL": false + "Name": "22.04.2" }, "ImageConfig": { "architecture": "", diff --git a/integration/testdata/mix.lock.json.golden b/integration/testdata/mix.lock.json.golden index bb558515422c..8af6ae404292 100644 --- a/integration/testdata/mix.lock.json.golden +++ b/integration/testdata/mix.lock.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/mixlock", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/npm-with-dev.json.golden b/integration/testdata/npm-with-dev.json.golden index 0b69c7067f27..a77dcd400ca4 100644 --- a/integration/testdata/npm-with-dev.json.golden +++ b/integration/testdata/npm-with-dev.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/npm", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/npm.json.golden b/integration/testdata/npm.json.golden index 3afbd63c5ceb..0fbf98b5eec2 100644 --- a/integration/testdata/npm.json.golden +++ b/integration/testdata/npm.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/npm", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/nuget.json.golden b/integration/testdata/nuget.json.golden index 5a38c64b0a4b..7f5eb95503dd 100644 --- a/integration/testdata/nuget.json.golden +++ b/integration/testdata/nuget.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/nuget", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/opensuse-leap-151.json.golden b/integration/testdata/opensuse-leap-151.json.golden index bf314ed0e8e4..70e4c9f700c7 100644 --- a/integration/testdata/opensuse-leap-151.json.golden +++ b/integration/testdata/opensuse-leap-151.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/opensuse-leap-151.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/oraclelinux-8.json.golden b/integration/testdata/oraclelinux-8.json.golden index 1755255d7760..f280f58ec20f 100644 --- a/integration/testdata/oraclelinux-8.json.golden +++ b/integration/testdata/oraclelinux-8.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/oraclelinux-8.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/photon-30.json.golden b/integration/testdata/photon-30.json.golden index b61b30e27dd2..e3919d189a52 100644 --- a/integration/testdata/photon-30.json.golden +++ b/integration/testdata/photon-30.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/photon-30.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/pip.json.golden b/integration/testdata/pip.json.golden index 01eaa3f295e1..0c69d66da2a4 100644 --- a/integration/testdata/pip.json.golden +++ b/integration/testdata/pip.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/pip", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/pipenv.json.golden b/integration/testdata/pipenv.json.golden index 663a4f247444..be56a0c3ea2f 100644 --- a/integration/testdata/pipenv.json.golden +++ b/integration/testdata/pipenv.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/pipenv", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/pnpm.json.golden b/integration/testdata/pnpm.json.golden index 5f79165b34d0..9a14d801262f 100644 --- a/integration/testdata/pnpm.json.golden +++ b/integration/testdata/pnpm.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/pnpm", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/poetry.json.golden b/integration/testdata/poetry.json.golden index 00a7c902e4a7..0e9389d65eea 100644 --- a/integration/testdata/poetry.json.golden +++ b/integration/testdata/poetry.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/poetry", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/pom-cyclonedx.json.golden b/integration/testdata/pom-cyclonedx.json.golden index 3e87c28beedd..b5e7f17e14f3 100644 --- a/integration/testdata/pom-cyclonedx.json.golden +++ b/integration/testdata/pom-cyclonedx.json.golden @@ -5,7 +5,7 @@ "serialNumber": "urn:uuid:3ff14136-e09f-4df9-80ea-000000000001", "version": 1, "metadata": { - "timestamp": "2020-09-10T14:20:30+00:00", + "timestamp": "2021-08-25T12:20:30+00:00", "tools": [ { "vendor": "aquasecurity", @@ -103,35 +103,35 @@ ], "vulnerabilities": [ { - "id": "CVE-2020-9548", + "id": "CVE-2021-20190", "source": { - "name": "ghsa", - "url": "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven" + "name": "glad", + "url": "https://gitlab.com/gitlab-org/advisories-community" }, "ratings": [ { "source": { "name": "ghsa" }, - "severity": "critical" + "severity": "high" }, { "source": { "name": "nvd" }, - "score": 6.8, - "severity": "medium", + "score": 8.3, + "severity": "high", "method": "CVSSv2", - "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:P" + "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:C" }, { "source": { "name": "nvd" }, - "score": 9.8, - "severity": "critical", + "score": 8.1, + "severity": "high", "method": "CVSSv31", - "vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H" + "vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H" }, { "source": { @@ -146,72 +146,42 @@ "cwes": [ 502 ], - "description": "FasterXML jackson-databind 2.x before 2.9.10.4 mishandles the interaction between serialization gadgets and typing, related to br.com.anteros.dbcp.AnterosDBCPConfig (aka anteros-core).", - "recommendation": "Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.9.10.4", + "description": "A flaw was found in jackson-databind before 2.9.10.7. FasterXML mishandles the interaction between serialization gadgets and typing. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.", + "recommendation": "Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.9.10.7", "advisories": [ { - "url": "https://avd.aquasec.com/nvd/cve-2020-9548" - }, - { - "url": "https://access.redhat.com/security/cve/CVE-2020-9548" - }, - { - "url": "https://github.com/FasterXML/jackson-databind/issues/2634" - }, - { - "url": "https://github.com/advisories/GHSA-p43x-xfjf-5jhr" - }, - { - "url": "https://lists.apache.org/thread.html/r35d30db00440ef63b791c4b7f7acb036e14d4a23afa2a249cb66c0fd@%3Cissues.zookeeper.apache.org%3E" - }, - { - "url": "https://lists.apache.org/thread.html/r9464a40d25c3ba1a55622db72f113eb494a889656962d098c70c5bb1@%3Cdev.zookeeper.apache.org%3E" - }, - { - "url": "https://lists.apache.org/thread.html/r98c9b6e4c9e17792e2cd1ec3e4aa20b61a791939046d3f10888176bb@%3Cissues.zookeeper.apache.org%3E" - }, - { - "url": "https://lists.apache.org/thread.html/rb6fecb5e96a6d61e175ff49f33f2713798dd05cf03067c169d195596@%3Cissues.zookeeper.apache.org%3E" - }, - { - "url": "https://lists.apache.org/thread.html/rd5a4457be4623038c3989294429bc063eec433a2e55995d81591e2ca@%3Cissues.zookeeper.apache.org%3E" - }, - { - "url": "https://lists.apache.org/thread.html/rdd49ab9565bec436a896bc00c4b9fc9dce1598e106c318524fbdfec6@%3Cissues.zookeeper.apache.org%3E" - }, - { - "url": "https://lists.apache.org/thread.html/rdd4df698d5d8e635144d2994922bf0842e933809eae259521f3b5097@%3Cissues.zookeeper.apache.org%3E" + "url": "https://avd.aquasec.com/nvd/cve-2021-20190" }, { - "url": "https://lists.apache.org/thread.html/rf1bbc0ea4a9f014cf94df9a12a6477d24a27f52741dbc87f2fd52ff2@%3Cissues.geode.apache.org%3E" + "url": "https://access.redhat.com/security/cve/CVE-2021-20190" }, { - "url": "https://lists.debian.org/debian-lts-announce/2020/03/msg00008.html" + "url": "https://bugzilla.redhat.com/show_bug.cgi?id=1916633" }, { - "url": "https://medium.com/@cowtowncoder/on-jackson-cves-dont-panic-here-is-what-you-need-to-know-54cd0d6e8062" + "url": "https://github.com/FasterXML/jackson-databind/commit/7dbf51bf78d157098074a20bd9da39bd48c18e4a" }, { - "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-9548" + "url": "https://github.com/FasterXML/jackson-databind/issues/2854" }, { - "url": "https://security.netapp.com/advisory/ntap-20200904-0006/" + "url": "https://github.com/advisories/GHSA-5949-rw7g-wx7w" }, { - "url": "https://www.oracle.com/security-alerts/cpujan2021.html" + "url": "https://lists.apache.org/thread.html/r380e9257bacb8551ee6fcf2c59890ae9477b2c78e553fa9ea08e9d9a@%3Ccommits.nifi.apache.org%3E" }, { - "url": "https://www.oracle.com/security-alerts/cpujul2020.html" + "url": "https://lists.debian.org/debian-lts-announce/2021/04/msg00025.html" }, { - "url": "https://www.oracle.com/security-alerts/cpuoct2020.html" + "url": "https://nvd.nist.gov/vuln/detail/CVE-2021-20190" }, { - "url": "https://www.oracle.com/security-alerts/cpuoct2021.html" + "url": "https://security.netapp.com/advisory/ntap-20210219-0008/" } ], - "published": "2020-03-02T04:15:00+00:00", - "updated": "2021-12-02T21:23:00+00:00", + "published": "2021-01-19T17:15:00+00:00", + "updated": "2021-07-20T23:15:00+00:00", "affects": [ { "ref": "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.9.1", @@ -225,35 +195,35 @@ ] }, { - "id": "CVE-2021-20190", + "id": "CVE-2020-9548", "source": { - "name": "glad", - "url": "https://gitlab.com/gitlab-org/advisories-community" + "name": "ghsa", + "url": "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven" }, "ratings": [ { "source": { "name": "ghsa" }, - "severity": "high" + "severity": "critical" }, { "source": { "name": "nvd" }, - "score": 8.3, - "severity": "high", + "score": 6.8, + "severity": "medium", "method": "CVSSv2", - "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:C" + "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:P" }, { "source": { "name": "nvd" }, - "score": 8.1, - "severity": "high", + "score": 9.8, + "severity": "critical", "method": "CVSSv31", - "vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H" + "vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H" }, { "source": { @@ -268,42 +238,72 @@ "cwes": [ 502 ], - "description": "A flaw was found in jackson-databind before 2.9.10.7. FasterXML mishandles the interaction between serialization gadgets and typing. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.", - "recommendation": "Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.9.10.7", + "description": "FasterXML jackson-databind 2.x before 2.9.10.4 mishandles the interaction between serialization gadgets and typing, related to br.com.anteros.dbcp.AnterosDBCPConfig (aka anteros-core).", + "recommendation": "Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.9.10.4", "advisories": [ { - "url": "https://avd.aquasec.com/nvd/cve-2021-20190" + "url": "https://avd.aquasec.com/nvd/cve-2020-9548" }, { - "url": "https://access.redhat.com/security/cve/CVE-2021-20190" + "url": "https://access.redhat.com/security/cve/CVE-2020-9548" }, { - "url": "https://bugzilla.redhat.com/show_bug.cgi?id=1916633" + "url": "https://github.com/FasterXML/jackson-databind/issues/2634" }, { - "url": "https://github.com/FasterXML/jackson-databind/commit/7dbf51bf78d157098074a20bd9da39bd48c18e4a" + "url": "https://github.com/advisories/GHSA-p43x-xfjf-5jhr" }, { - "url": "https://github.com/FasterXML/jackson-databind/issues/2854" + "url": "https://lists.apache.org/thread.html/r35d30db00440ef63b791c4b7f7acb036e14d4a23afa2a249cb66c0fd@%3Cissues.zookeeper.apache.org%3E" }, { - "url": "https://github.com/advisories/GHSA-5949-rw7g-wx7w" + "url": "https://lists.apache.org/thread.html/r9464a40d25c3ba1a55622db72f113eb494a889656962d098c70c5bb1@%3Cdev.zookeeper.apache.org%3E" }, { - "url": "https://lists.apache.org/thread.html/r380e9257bacb8551ee6fcf2c59890ae9477b2c78e553fa9ea08e9d9a@%3Ccommits.nifi.apache.org%3E" + "url": "https://lists.apache.org/thread.html/r98c9b6e4c9e17792e2cd1ec3e4aa20b61a791939046d3f10888176bb@%3Cissues.zookeeper.apache.org%3E" }, { - "url": "https://lists.debian.org/debian-lts-announce/2021/04/msg00025.html" + "url": "https://lists.apache.org/thread.html/rb6fecb5e96a6d61e175ff49f33f2713798dd05cf03067c169d195596@%3Cissues.zookeeper.apache.org%3E" }, { - "url": "https://nvd.nist.gov/vuln/detail/CVE-2021-20190" + "url": "https://lists.apache.org/thread.html/rd5a4457be4623038c3989294429bc063eec433a2e55995d81591e2ca@%3Cissues.zookeeper.apache.org%3E" }, { - "url": "https://security.netapp.com/advisory/ntap-20210219-0008/" + "url": "https://lists.apache.org/thread.html/rdd49ab9565bec436a896bc00c4b9fc9dce1598e106c318524fbdfec6@%3Cissues.zookeeper.apache.org%3E" + }, + { + "url": "https://lists.apache.org/thread.html/rdd4df698d5d8e635144d2994922bf0842e933809eae259521f3b5097@%3Cissues.zookeeper.apache.org%3E" + }, + { + "url": "https://lists.apache.org/thread.html/rf1bbc0ea4a9f014cf94df9a12a6477d24a27f52741dbc87f2fd52ff2@%3Cissues.geode.apache.org%3E" + }, + { + "url": "https://lists.debian.org/debian-lts-announce/2020/03/msg00008.html" + }, + { + "url": "https://medium.com/@cowtowncoder/on-jackson-cves-dont-panic-here-is-what-you-need-to-know-54cd0d6e8062" + }, + { + "url": "https://nvd.nist.gov/vuln/detail/CVE-2020-9548" + }, + { + "url": "https://security.netapp.com/advisory/ntap-20200904-0006/" + }, + { + "url": "https://www.oracle.com/security-alerts/cpujan2021.html" + }, + { + "url": "https://www.oracle.com/security-alerts/cpujul2020.html" + }, + { + "url": "https://www.oracle.com/security-alerts/cpuoct2020.html" + }, + { + "url": "https://www.oracle.com/security-alerts/cpuoct2021.html" } ], - "published": "2021-01-19T17:15:00+00:00", - "updated": "2021-07-20T23:15:00+00:00", + "published": "2020-03-02T04:15:00+00:00", + "updated": "2021-12-02T21:23:00+00:00", "affects": [ { "ref": "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.9.1", diff --git a/integration/testdata/pom.json.golden b/integration/testdata/pom.json.golden index a3bfe78d3d5b..b15579088f5d 100644 --- a/integration/testdata/pom.json.golden +++ b/integration/testdata/pom.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/pom", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/pubspec.lock.json.golden b/integration/testdata/pubspec.lock.json.golden index 05ff31de633b..b67718d741a4 100644 --- a/integration/testdata/pubspec.lock.json.golden +++ b/integration/testdata/pubspec.lock.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/pubspec", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/rockylinux-8.json.golden b/integration/testdata/rockylinux-8.json.golden index fbd6e64c3d8a..5fc4816d0387 100644 --- a/integration/testdata/rockylinux-8.json.golden +++ b/integration/testdata/rockylinux-8.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/rockylinux-8.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/secrets.asff.golden b/integration/testdata/secrets.asff.golden index 88e9896e6539..818ad20f8237 100644 --- a/integration/testdata/secrets.asff.golden +++ b/integration/testdata/secrets.asff.golden @@ -6,8 +6,8 @@ "GeneratorId": "Trivy", "AwsAccountId": "123456789012", "Types": [ "Sensitive Data Identifications" ], - "CreatedAt": "2020-08-10T07:28:17.000958601Z", - "UpdatedAt": "2020-08-10T07:28:17.000958601Z", + "CreatedAt": "2021-08-25T12:20:30.000000005Z", + "UpdatedAt": "2021-08-25T12:20:30.000000005Z", "Severity": { "Label": "CRITICAL" }, @@ -35,8 +35,8 @@ "GeneratorId": "Trivy", "AwsAccountId": "123456789012", "Types": [ "Sensitive Data Identifications" ], - "CreatedAt": "2020-08-10T07:28:17.000958601Z", - "UpdatedAt": "2020-08-10T07:28:17.000958601Z", + "CreatedAt": "2021-08-25T12:20:30.000000005Z", + "UpdatedAt": "2021-08-25T12:20:30.000000005Z", "Severity": { "Label": "CRITICAL" }, diff --git a/integration/testdata/secrets.json.golden b/integration/testdata/secrets.json.golden index 10f7d03bcb2d..4da66ddf2f13 100644 --- a/integration/testdata/secrets.json.golden +++ b/integration/testdata/secrets.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/secrets", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/spring4shell-jre11.json.golden b/integration/testdata/spring4shell-jre11.json.golden index a119d3c5b861..794725cf657e 100644 --- a/integration/testdata/spring4shell-jre11.json.golden +++ b/integration/testdata/spring4shell-jre11.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/spring4shell-jre11.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/spring4shell-jre8.json.golden b/integration/testdata/spring4shell-jre8.json.golden index c7c58e529ebb..90927327dc99 100644 --- a/integration/testdata/spring4shell-jre8.json.golden +++ b/integration/testdata/spring4shell-jre8.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/spring4shell-jre8.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/swift.json.golden b/integration/testdata/swift.json.golden index ba7fe8ab567c..ab0b4ab44a7b 100644 --- a/integration/testdata/swift.json.golden +++ b/integration/testdata/swift.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/swift", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/test-repo.json.golden b/integration/testdata/test-repo.json.golden index edb23d019f3b..4fb33be4a35e 100644 --- a/integration/testdata/test-repo.json.golden +++ b/integration/testdata/test-repo.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "https://github.com/knqyf263/trivy-ci-test", "ArtifactType": "repository", "Metadata": { diff --git a/integration/testdata/ubi-7.json.golden b/integration/testdata/ubi-7.json.golden index bee1bc2156fd..bfad8f153e59 100644 --- a/integration/testdata/ubi-7.json.golden +++ b/integration/testdata/ubi-7.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/ubi-7.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/ubuntu-1804-ignore-unfixed.json.golden b/integration/testdata/ubuntu-1804-ignore-unfixed.json.golden index 5428c8bb180d..1674c96f7d5b 100644 --- a/integration/testdata/ubuntu-1804-ignore-unfixed.json.golden +++ b/integration/testdata/ubuntu-1804-ignore-unfixed.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/ubuntu-1804.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/ubuntu-1804.json.golden b/integration/testdata/ubuntu-1804.json.golden index 7f4b38fe2726..312a3e19cb62 100644 --- a/integration/testdata/ubuntu-1804.json.golden +++ b/integration/testdata/ubuntu-1804.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/images/ubuntu-1804.tar.gz", "ArtifactType": "container_image", "Metadata": { diff --git a/integration/testdata/ubuntu-gp2-x86-vm.json.golden b/integration/testdata/ubuntu-gp2-x86-vm.json.golden index a558c8968360..e027cdd00bc9 100644 --- a/integration/testdata/ubuntu-gp2-x86-vm.json.golden +++ b/integration/testdata/ubuntu-gp2-x86-vm.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "disk.img", "ArtifactType": "vm", "Metadata": { diff --git a/integration/testdata/yarn.json.golden b/integration/testdata/yarn.json.golden index 0c8c7f2c44c1..816c3221c1bb 100644 --- a/integration/testdata/yarn.json.golden +++ b/integration/testdata/yarn.json.golden @@ -1,5 +1,6 @@ { "SchemaVersion": 2, + "CreatedAt": 1629894030, "ArtifactName": "testdata/fixtures/repo/yarn", "ArtifactType": "repository", "Metadata": { diff --git a/magefiles/magefile.go b/magefiles/magefile.go index 424c447ac945..7869eb1c5abd 100644 --- a/magefiles/magefile.go +++ b/magefiles/magefile.go @@ -266,6 +266,12 @@ func (t Test) Module() error { return sh.RunWithV(ENV, "go", "test", "-v", "-tags=module_integration", "./integration/...") } +// UpdateModuleGolden updates golden files for Wasm integration tests +func (t Test) UpdateModuleGolden() error { + mg.Deps(t.FixtureContainerImages, t.GenerateExampleModules) + return sh.RunWithV(ENV, "go", "test", "-v", "-tags=module_integration", "./integration/...", "-update") +} + // VM runs VM integration tests func (t Test) VM() error { mg.Deps(t.FixtureVMImages) @@ -273,7 +279,8 @@ func (t Test) VM() error { } // UpdateVMGolden updates golden files for integration tests -func (Test) UpdateVMGolden() error { +func (t Test) UpdateVMGolden() error { + mg.Deps(t.FixtureVMImages) return sh.RunWithV(ENV, "go", "test", "-v", "-tags=vm_integration", "./integration/...", "-update") } diff --git a/pkg/scanner/scan.go b/pkg/scanner/scan.go index 931b5b0ea035..1981f4828e64 100644 --- a/pkg/scanner/scan.go +++ b/pkg/scanner/scan.go @@ -6,6 +6,7 @@ import ( "github.com/google/wire" "golang.org/x/xerrors" + "github.com/aquasecurity/trivy/pkg/clock" "github.com/aquasecurity/trivy/pkg/fanal/artifact" aimage "github.com/aquasecurity/trivy/pkg/fanal/artifact/image" flocal "github.com/aquasecurity/trivy/pkg/fanal/artifact/local" @@ -172,6 +173,7 @@ func (s Scanner) ScanArtifact(ctx context.Context, options types.ScanOptions) (t return types.Report{ SchemaVersion: report.SchemaVersion, + CreatedAt: clock.Now().Unix(), ArtifactName: artifactInfo.Name, ArtifactType: artifactInfo.Type, Metadata: types.Metadata{ diff --git a/pkg/scanner/scan_test.go b/pkg/scanner/scan_test.go index e32edc985590..808596f745ba 100644 --- a/pkg/scanner/scan_test.go +++ b/pkg/scanner/scan_test.go @@ -4,10 +4,12 @@ import ( "context" "errors" "testing" + "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "github.com/aquasecurity/trivy/pkg/clock" "github.com/aquasecurity/trivy/pkg/fanal/artifact" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/types" @@ -17,6 +19,7 @@ func TestScanner_ScanArtifact(t *testing.T) { type args struct { options types.ScanOptions } + clock.SetFakeTime(t, time.Date(2021, 8, 25, 12, 20, 30, 5, time.UTC)) tests := []struct { name string args args @@ -96,6 +99,7 @@ func TestScanner_ScanArtifact(t *testing.T) { }, want: types.Report{ SchemaVersion: 2, + CreatedAt: 1629894030, ArtifactName: "alpine:3.11", ArtifactType: ftypes.ArtifactContainerImage, Metadata: types.Metadata{ diff --git a/pkg/types/report.go b/pkg/types/report.go index a085ee454519..edead1568ca1 100644 --- a/pkg/types/report.go +++ b/pkg/types/report.go @@ -11,6 +11,7 @@ import ( // Report represents a scan result type Report struct { SchemaVersion int `json:",omitempty"` + CreatedAt int64 `json:",omitempty"` ArtifactName string `json:",omitempty"` ArtifactType ftypes.ArtifactType `json:",omitempty"` Metadata Metadata `json:",omitempty"` From a3895298dec37b291ae5968bd6c3aa7c155b3d44 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Wed, 15 Nov 2023 13:20:40 +0900 Subject: [PATCH 125/338] chore: show a deprecation notice for `--scanners config` (#5587) Signed-off-by: knqyf263 --- pkg/flag/scan_flags.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/flag/scan_flags.go b/pkg/flag/scan_flags.go index 07623a04fe70..45e29cbdcd4a 100644 --- a/pkg/flag/scan_flags.go +++ b/pkg/flag/scan_flags.go @@ -1,6 +1,7 @@ package flag import ( + "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/types" xstrings "github.com/aquasecurity/trivy/pkg/x/strings" ) @@ -41,7 +42,10 @@ var ( switch s { case "vulnerability": return string(types.VulnerabilityScanner) - case "config", "misconf", "misconfiguration": + case "misconf", "misconfiguration": + return string(types.MisconfigScanner) + case "config": + log.Logger.Warn("'--scanner config' is deprecated. Use '--scanner misconfig' instead. See https://github.com/aquasecurity/trivy/discussions/5586 for the detail.") return string(types.MisconfigScanner) } return s From 53720676116352eb2082f46a42df6298eb04dec7 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Wed, 15 Nov 2023 10:29:23 +0600 Subject: [PATCH 126/338] fix(report): add escaping for Sarif format (#5568) --- integration/testdata/alpine-310.sarif.golden | 16 +++++------ pkg/report/sarif.go | 24 ++++++++-------- pkg/report/sarif_test.go | 30 ++++++++++---------- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/integration/testdata/alpine-310.sarif.golden b/integration/testdata/alpine-310.sarif.golden index 535bd2d09f71..cf7b55af852a 100644 --- a/integration/testdata/alpine-310.sarif.golden +++ b/integration/testdata/alpine-310.sarif.golden @@ -23,8 +23,8 @@ }, "helpUri": "https://avd.aquasec.com/nvd/cve-2019-1549", "help": { - "text": "Vulnerability CVE-2019-1549\nSeverity: MEDIUM\nPackage: libssl1.1\nFixed Version: 1.1.1d-r0\nLink: [CVE-2019-1549](https://avd.aquasec.com/nvd/cve-2019-1549)\nOpenSSL 1.1.1 introduced a rewritten random number generator (RNG). This was intended to include protection in the event of a fork() system call in order to ensure that the parent and child processes did not share the same RNG state. However this protection was not being used in the default case. A partial mitigation for this issue is that the output from a high precision timer is mixed into the RNG state so the likelihood of a parent and child process sharing state is significantly reduced. If an application already calls OPENSSL_init_crypto() explicitly using OPENSSL_INIT_ATFORK then this problem does not occur at all. Fixed in OpenSSL 1.1.1d (Affected 1.1.1-1.1.1c).", - "markdown": "**Vulnerability CVE-2019-1549**\n| Severity | Package | Fixed Version | Link |\n| --- | --- | --- | --- |\n|MEDIUM|libssl1.1|1.1.1d-r0|[CVE-2019-1549](https://avd.aquasec.com/nvd/cve-2019-1549)|\n\nOpenSSL 1.1.1 introduced a rewritten random number generator (RNG). This was intended to include protection in the event of a fork() system call in order to ensure that the parent and child processes did not share the same RNG state. However this protection was not being used in the default case. A partial mitigation for this issue is that the output from a high precision timer is mixed into the RNG state so the likelihood of a parent and child process sharing state is significantly reduced. If an application already calls OPENSSL_init_crypto() explicitly using OPENSSL_INIT_ATFORK then this problem does not occur at all. Fixed in OpenSSL 1.1.1d (Affected 1.1.1-1.1.1c)." + "text": "Vulnerability CVE-2019-1549\\nSeverity: MEDIUM\\nPackage: libssl1.1\\nFixed Version: 1.1.1d-r0\\nLink: [CVE-2019-1549](https://avd.aquasec.com/nvd/cve-2019-1549)\\nOpenSSL 1.1.1 introduced a rewritten random number generator (RNG). This was intended to include protection in the event of a fork() system call in order to ensure that the parent and child processes did not share the same RNG state. However this protection was not being used in the default case. A partial mitigation for this issue is that the output from a high precision timer is mixed into the RNG state so the likelihood of a parent and child process sharing state is significantly reduced. If an application already calls OPENSSL_init_crypto() explicitly using OPENSSL_INIT_ATFORK then this problem does not occur at all. Fixed in OpenSSL 1.1.1d (Affected 1.1.1-1.1.1c).", + "markdown": "**Vulnerability CVE-2019-1549**\\n| Severity | Package | Fixed Version | Link |\\n| --- | --- | --- | --- |\\n|MEDIUM|libssl1.1|1.1.1d-r0|[CVE-2019-1549](https://avd.aquasec.com/nvd/cve-2019-1549)|\\n\\nOpenSSL 1.1.1 introduced a rewritten random number generator (RNG). This was intended to include protection in the event of a fork() system call in order to ensure that the parent and child processes did not share the same RNG state. However this protection was not being used in the default case. A partial mitigation for this issue is that the output from a high precision timer is mixed into the RNG state so the likelihood of a parent and child process sharing state is significantly reduced. If an application already calls OPENSSL_init_crypto() explicitly using OPENSSL_INIT_ATFORK then this problem does not occur at all. Fixed in OpenSSL 1.1.1d (Affected 1.1.1-1.1.1c)." }, "properties": { "precision": "very-high", @@ -50,8 +50,8 @@ }, "helpUri": "https://avd.aquasec.com/nvd/cve-2019-1551", "help": { - "text": "Vulnerability CVE-2019-1551\nSeverity: MEDIUM\nPackage: libssl1.1\nFixed Version: 1.1.1d-r2\nLink: [CVE-2019-1551](https://avd.aquasec.com/nvd/cve-2019-1551)\nThere is an overflow bug in the x64_64 Montgomery squaring procedure used in exponentiation with 512-bit moduli. No EC algorithms are affected. Analysis suggests that attacks against 2-prime RSA1024, 3-prime RSA1536, and DSA1024 as a result of this defect would be very difficult to perform and are not believed likely. Attacks against DH512 are considered just feasible. However, for an attack the target would have to re-use the DH512 private key, which is not recommended anyway. Also applications directly using the low level API BN_mod_exp may be affected if they use BN_FLG_CONSTTIME. Fixed in OpenSSL 1.1.1e (Affected 1.1.1-1.1.1d). Fixed in OpenSSL 1.0.2u (Affected 1.0.2-1.0.2t).", - "markdown": "**Vulnerability CVE-2019-1551**\n| Severity | Package | Fixed Version | Link |\n| --- | --- | --- | --- |\n|MEDIUM|libssl1.1|1.1.1d-r2|[CVE-2019-1551](https://avd.aquasec.com/nvd/cve-2019-1551)|\n\nThere is an overflow bug in the x64_64 Montgomery squaring procedure used in exponentiation with 512-bit moduli. No EC algorithms are affected. Analysis suggests that attacks against 2-prime RSA1024, 3-prime RSA1536, and DSA1024 as a result of this defect would be very difficult to perform and are not believed likely. Attacks against DH512 are considered just feasible. However, for an attack the target would have to re-use the DH512 private key, which is not recommended anyway. Also applications directly using the low level API BN_mod_exp may be affected if they use BN_FLG_CONSTTIME. Fixed in OpenSSL 1.1.1e (Affected 1.1.1-1.1.1d). Fixed in OpenSSL 1.0.2u (Affected 1.0.2-1.0.2t)." + "text": "Vulnerability CVE-2019-1551\\nSeverity: MEDIUM\\nPackage: libssl1.1\\nFixed Version: 1.1.1d-r2\\nLink: [CVE-2019-1551](https://avd.aquasec.com/nvd/cve-2019-1551)\\nThere is an overflow bug in the x64_64 Montgomery squaring procedure used in exponentiation with 512-bit moduli. No EC algorithms are affected. Analysis suggests that attacks against 2-prime RSA1024, 3-prime RSA1536, and DSA1024 as a result of this defect would be very difficult to perform and are not believed likely. Attacks against DH512 are considered just feasible. However, for an attack the target would have to re-use the DH512 private key, which is not recommended anyway. Also applications directly using the low level API BN_mod_exp may be affected if they use BN_FLG_CONSTTIME. Fixed in OpenSSL 1.1.1e (Affected 1.1.1-1.1.1d). Fixed in OpenSSL 1.0.2u (Affected 1.0.2-1.0.2t).", + "markdown": "**Vulnerability CVE-2019-1551**\\n| Severity | Package | Fixed Version | Link |\\n| --- | --- | --- | --- |\\n|MEDIUM|libssl1.1|1.1.1d-r2|[CVE-2019-1551](https://avd.aquasec.com/nvd/cve-2019-1551)|\\n\\nThere is an overflow bug in the x64_64 Montgomery squaring procedure used in exponentiation with 512-bit moduli. No EC algorithms are affected. Analysis suggests that attacks against 2-prime RSA1024, 3-prime RSA1536, and DSA1024 as a result of this defect would be very difficult to perform and are not believed likely. Attacks against DH512 are considered just feasible. However, for an attack the target would have to re-use the DH512 private key, which is not recommended anyway. Also applications directly using the low level API BN_mod_exp may be affected if they use BN_FLG_CONSTTIME. Fixed in OpenSSL 1.1.1e (Affected 1.1.1-1.1.1d). Fixed in OpenSSL 1.0.2u (Affected 1.0.2-1.0.2t)." }, "properties": { "precision": "very-high", @@ -73,7 +73,7 @@ "ruleIndex": 0, "level": "warning", "message": { - "text": "Package: libcrypto1.1\nInstalled Version: 1.1.1c-r0\nVulnerability CVE-2019-1549\nSeverity: MEDIUM\nFixed Version: 1.1.1d-r0\nLink: [CVE-2019-1549](https://avd.aquasec.com/nvd/cve-2019-1549)" + "text": "Package: libcrypto1.1\\nInstalled Version: 1.1.1c-r0\\nVulnerability CVE-2019-1549\\nSeverity: MEDIUM\\nFixed Version: 1.1.1d-r0\\nLink: [CVE-2019-1549](https://avd.aquasec.com/nvd/cve-2019-1549)" }, "locations": [ { @@ -100,7 +100,7 @@ "ruleIndex": 1, "level": "warning", "message": { - "text": "Package: libcrypto1.1\nInstalled Version: 1.1.1c-r0\nVulnerability CVE-2019-1551\nSeverity: MEDIUM\nFixed Version: 1.1.1d-r2\nLink: [CVE-2019-1551](https://avd.aquasec.com/nvd/cve-2019-1551)" + "text": "Package: libcrypto1.1\\nInstalled Version: 1.1.1c-r0\\nVulnerability CVE-2019-1551\\nSeverity: MEDIUM\\nFixed Version: 1.1.1d-r2\\nLink: [CVE-2019-1551](https://avd.aquasec.com/nvd/cve-2019-1551)" }, "locations": [ { @@ -127,7 +127,7 @@ "ruleIndex": 0, "level": "warning", "message": { - "text": "Package: libssl1.1\nInstalled Version: 1.1.1c-r0\nVulnerability CVE-2019-1549\nSeverity: MEDIUM\nFixed Version: 1.1.1d-r0\nLink: [CVE-2019-1549](https://avd.aquasec.com/nvd/cve-2019-1549)" + "text": "Package: libssl1.1\\nInstalled Version: 1.1.1c-r0\\nVulnerability CVE-2019-1549\\nSeverity: MEDIUM\\nFixed Version: 1.1.1d-r0\\nLink: [CVE-2019-1549](https://avd.aquasec.com/nvd/cve-2019-1549)" }, "locations": [ { @@ -154,7 +154,7 @@ "ruleIndex": 1, "level": "warning", "message": { - "text": "Package: libssl1.1\nInstalled Version: 1.1.1c-r0\nVulnerability CVE-2019-1551\nSeverity: MEDIUM\nFixed Version: 1.1.1d-r2\nLink: [CVE-2019-1551](https://avd.aquasec.com/nvd/cve-2019-1551)" + "text": "Package: libssl1.1\\nInstalled Version: 1.1.1c-r0\\nVulnerability CVE-2019-1551\\nSeverity: MEDIUM\\nFixed Version: 1.1.1d-r2\\nLink: [CVE-2019-1551](https://avd.aquasec.com/nvd/cve-2019-1551)" }, "locations": [ { diff --git a/pkg/report/sarif.go b/pkg/report/sarif.go index d3bcce1c8aa5..621f6696b96f 100644 --- a/pkg/report/sarif.go +++ b/pkg/report/sarif.go @@ -168,11 +168,11 @@ func (sw *SarifWriter) Write(report types.Report) error { resultIndex: getRuleIndex(vuln.VulnerabilityID, ruleIndexes), shortDescription: html.EscapeString(vuln.Title), fullDescription: html.EscapeString(fullDescription), - helpText: fmt.Sprintf("Vulnerability %v\nSeverity: %v\nPackage: %v\nFixed Version: %v\nLink: [%v](%v)\n%v", + helpText: fmt.Sprintf(`Vulnerability %v\nSeverity: %v\nPackage: %v\nFixed Version: %v\nLink: [%v](%v)\n%v`, vuln.VulnerabilityID, vuln.Severity, vuln.PkgName, vuln.FixedVersion, vuln.VulnerabilityID, vuln.PrimaryURL, vuln.Description), - helpMarkdown: fmt.Sprintf("**Vulnerability %v**\n| Severity | Package | Fixed Version | Link |\n| --- | --- | --- | --- |\n|%v|%v|%v|[%v](%v)|\n\n%v", + helpMarkdown: fmt.Sprintf(`**Vulnerability %v**\n| Severity | Package | Fixed Version | Link |\n| --- | --- | --- | --- |\n|%v|%v|%v|[%v](%v)|\n\n%v`, vuln.VulnerabilityID, vuln.Severity, vuln.PkgName, vuln.FixedVersion, vuln.VulnerabilityID, vuln.PrimaryURL, vuln.Description), - message: fmt.Sprintf("Package: %v\nInstalled Version: %v\nVulnerability %v\nSeverity: %v\nFixed Version: %v\nLink: [%v](%v)", + message: fmt.Sprintf(`Package: %v\nInstalled Version: %v\nVulnerability %v\nSeverity: %v\nFixed Version: %v\nLink: [%v](%v)`, vuln.PkgName, vuln.InstalledVersion, vuln.VulnerabilityID, vuln.Severity, vuln.FixedVersion, vuln.VulnerabilityID, vuln.PrimaryURL), }) } @@ -195,11 +195,11 @@ func (sw *SarifWriter) Write(report types.Report) error { resultIndex: getRuleIndex(misconf.ID, ruleIndexes), shortDescription: html.EscapeString(misconf.Title), fullDescription: html.EscapeString(misconf.Description), - helpText: fmt.Sprintf("Misconfiguration %v\nType: %s\nSeverity: %v\nCheck: %v\nMessage: %v\nLink: [%v](%v)\n%s", + helpText: fmt.Sprintf(`Misconfiguration %v\nType: %s\nSeverity: %v\nCheck: %v\nMessage: %v\nLink: [%v](%v)\n%s`, misconf.ID, misconf.Type, misconf.Severity, misconf.Title, misconf.Message, misconf.ID, misconf.PrimaryURL, misconf.Description), - helpMarkdown: fmt.Sprintf("**Misconfiguration %v**\n| Type | Severity | Check | Message | Link |\n| --- | --- | --- | --- | --- |\n|%v|%v|%v|%s|[%v](%v)|\n\n%v", + helpMarkdown: fmt.Sprintf(`**Misconfiguration %v**\n| Type | Severity | Check | Message | Link |\n| --- | --- | --- | --- | --- |\n|%v|%v|%v|%s|[%v](%v)|\n\n%v`, misconf.ID, misconf.Type, misconf.Severity, misconf.Title, misconf.Message, misconf.ID, misconf.PrimaryURL, misconf.Description), - message: fmt.Sprintf("Artifact: %v\nType: %v\nVulnerability %v\nSeverity: %v\nMessage: %v\nLink: [%v](%v)", + message: fmt.Sprintf(`Artifact: %v\nType: %v\nVulnerability %v\nSeverity: %v\nMessage: %v\nLink: [%v](%v)`, res.Target, res.Type, misconf.ID, misconf.Severity, misconf.Message, misconf.ID, misconf.PrimaryURL), }) } @@ -222,11 +222,11 @@ func (sw *SarifWriter) Write(report types.Report) error { resultIndex: getRuleIndex(secret.RuleID, ruleIndexes), shortDescription: html.EscapeString(secret.Title), fullDescription: html.EscapeString(secret.Match), - helpText: fmt.Sprintf("Secret %v\nSeverity: %v\nMatch: %s", + helpText: fmt.Sprintf(`Secret %v\nSeverity: %v\nMatch: %s`, secret.Title, secret.Severity, secret.Match), - helpMarkdown: fmt.Sprintf("**Secret %v**\n| Severity | Match |\n| --- | --- |\n|%v|%v|", + helpMarkdown: fmt.Sprintf(`**Secret %v**\n| Severity | Match |\n| --- | --- |\n|%v|%v|`, secret.Title, secret.Severity, secret.Match), - message: fmt.Sprintf("Artifact: %v\nType: %v\nSecret %v\nSeverity: %v\nMatch: %v", + message: fmt.Sprintf(`Artifact: %v\nType: %v\nSecret %v\nSeverity: %v\nMatch: %v`, res.Target, res.Type, secret.Title, secret.Severity, secret.Match), }) } @@ -244,11 +244,11 @@ func (sw *SarifWriter) Write(report types.Report) error { resultIndex: getRuleIndex(id, ruleIndexes), shortDescription: desc, fullDescription: desc, - helpText: fmt.Sprintf("License %s\nClassification: %s\nPkgName: %s\nPath: %s", + helpText: fmt.Sprintf(`License %s\nClassification: %s\nPkgName: %s\nPath: %s`, license.Name, license.Category, license.PkgName, license.FilePath), - helpMarkdown: fmt.Sprintf("**License %s**\n| PkgName | Classification | Path |\n| --- | --- | --- |\n|%s|%s|%s|", + helpMarkdown: fmt.Sprintf(`**License %s**\n| PkgName | Classification | Path |\n| --- | --- | --- |\n|%s|%s|%s|`, license.Name, license.PkgName, license.Category, license.FilePath), - message: fmt.Sprintf("Artifact: %s\nLicense %s\nPkgName: %s\n Classification: %s\n Path: %s", + message: fmt.Sprintf(`Artifact: %s\nLicense %s\nPkgName: %s\n Classification: %s\n Path: %s`, res.Target, license.Name, license.Category, license.PkgName, license.FilePath), }) } diff --git a/pkg/report/sarif_test.go b/pkg/report/sarif_test.go index 3ce0eab1d91b..556491c1dcad 100644 --- a/pkg/report/sarif_test.go +++ b/pkg/report/sarif_test.go @@ -118,8 +118,8 @@ func TestReportWriter_Sarif(t *testing.T) { "security-severity": "7.5", }, Help: &sarif.MultiformatMessageString{ - Text: lo.ToPtr("Vulnerability CVE-2020-0001\nSeverity: HIGH\nPackage: foo\nFixed Version: 3.4.5\nLink: [CVE-2020-0001](https://avd.aquasec.com/nvd/cve-2020-0001)\nbaz"), - Markdown: lo.ToPtr("**Vulnerability CVE-2020-0001**\n| Severity | Package | Fixed Version | Link |\n| --- | --- | --- | --- |\n|HIGH|foo|3.4.5|[CVE-2020-0001](https://avd.aquasec.com/nvd/cve-2020-0001)|\n\nbaz"), + Text: lo.ToPtr("Vulnerability CVE-2020-0001\\nSeverity: HIGH\\nPackage: foo\\nFixed Version: 3.4.5\\nLink: [CVE-2020-0001](https://avd.aquasec.com/nvd/cve-2020-0001)\\nbaz"), + Markdown: lo.ToPtr("**Vulnerability CVE-2020-0001**\\n| Severity | Package | Fixed Version | Link |\\n| --- | --- | --- | --- |\\n|HIGH|foo|3.4.5|[CVE-2020-0001](https://avd.aquasec.com/nvd/cve-2020-0001)|\\n\\nbaz"), }, }, }, @@ -130,7 +130,7 @@ func TestReportWriter_Sarif(t *testing.T) { RuleID: lo.ToPtr("CVE-2020-0001"), RuleIndex: lo.ToPtr[uint](0), Level: lo.ToPtr("error"), - Message: sarif.Message{Text: lo.ToPtr("Package: foo\nInstalled Version: 1.2.3\nVulnerability CVE-2020-0001\nSeverity: HIGH\nFixed Version: 3.4.5\nLink: [CVE-2020-0001](https://avd.aquasec.com/nvd/cve-2020-0001)")}, + Message: sarif.Message{Text: lo.ToPtr("Package: foo\\nInstalled Version: 1.2.3\\nVulnerability CVE-2020-0001\\nSeverity: HIGH\\nFixed Version: 3.4.5\\nLink: [CVE-2020-0001](https://avd.aquasec.com/nvd/cve-2020-0001)")}, Locations: []*sarif.Location{ { Message: &sarif.Message{Text: lo.ToPtr("library/test: foo@1.2.3")}, @@ -243,8 +243,8 @@ func TestReportWriter_Sarif(t *testing.T) { "security-severity": "8.0", }, Help: &sarif.MultiformatMessageString{ - Text: lo.ToPtr("Misconfiguration KSV001\nType: Kubernetes Security Check\nSeverity: HIGH\nCheck: Image tag ':latest' used\nMessage: Message\nLink: [KSV001](https://avd.aquasec.com/appshield/ksv001)\n"), - Markdown: lo.ToPtr("**Misconfiguration KSV001**\n| Type | Severity | Check | Message | Link |\n| --- | --- | --- | --- | --- |\n|Kubernetes Security Check|HIGH|Image tag ':latest' used|Message|[KSV001](https://avd.aquasec.com/appshield/ksv001)|\n\n"), + Text: lo.ToPtr("Misconfiguration KSV001\\nType: Kubernetes Security Check\\nSeverity: HIGH\\nCheck: Image tag ':latest' used\\nMessage: Message\\nLink: [KSV001](https://avd.aquasec.com/appshield/ksv001)\\n"), + Markdown: lo.ToPtr("**Misconfiguration KSV001**\\n| Type | Severity | Check | Message | Link |\\n| --- | --- | --- | --- | --- |\\n|Kubernetes Security Check|HIGH|Image tag ':latest' used|Message|[KSV001](https://avd.aquasec.com/appshield/ksv001)|\\n\\n"), }, }, { @@ -266,8 +266,8 @@ func TestReportWriter_Sarif(t *testing.T) { "security-severity": "9.5", }, Help: &sarif.MultiformatMessageString{ - Text: lo.ToPtr("Misconfiguration KSV002\nType: Kubernetes Security Check\nSeverity: CRITICAL\nCheck: SYS_ADMIN capability added\nMessage: Message\nLink: [KSV002](https://avd.aquasec.com/appshield/ksv002)\n"), - Markdown: lo.ToPtr("**Misconfiguration KSV002**\n| Type | Severity | Check | Message | Link |\n| --- | --- | --- | --- | --- |\n|Kubernetes Security Check|CRITICAL|SYS_ADMIN capability added|Message|[KSV002](https://avd.aquasec.com/appshield/ksv002)|\n\n"), + Text: lo.ToPtr("Misconfiguration KSV002\\nType: Kubernetes Security Check\\nSeverity: CRITICAL\\nCheck: SYS_ADMIN capability added\\nMessage: Message\\nLink: [KSV002](https://avd.aquasec.com/appshield/ksv002)\\n"), + Markdown: lo.ToPtr("**Misconfiguration KSV002**\\n| Type | Severity | Check | Message | Link |\\n| --- | --- | --- | --- | --- |\\n|Kubernetes Security Check|CRITICAL|SYS_ADMIN capability added|Message|[KSV002](https://avd.aquasec.com/appshield/ksv002)|\\n\\n"), }, }, }, @@ -278,7 +278,7 @@ func TestReportWriter_Sarif(t *testing.T) { RuleID: lo.ToPtr("KSV001"), RuleIndex: lo.ToPtr[uint](0), Level: lo.ToPtr("error"), - Message: sarif.Message{Text: lo.ToPtr("Artifact: library/test\nType: \nVulnerability KSV001\nSeverity: HIGH\nMessage: Message\nLink: [KSV001](https://avd.aquasec.com/appshield/ksv001)")}, + Message: sarif.Message{Text: lo.ToPtr("Artifact: library/test\\nType: \\nVulnerability KSV001\\nSeverity: HIGH\\nMessage: Message\\nLink: [KSV001](https://avd.aquasec.com/appshield/ksv001)")}, Locations: []*sarif.Location{ { Message: &sarif.Message{Text: lo.ToPtr("library/test")}, @@ -301,7 +301,7 @@ func TestReportWriter_Sarif(t *testing.T) { RuleID: lo.ToPtr("KSV002"), RuleIndex: lo.ToPtr[uint](1), Level: lo.ToPtr("error"), - Message: sarif.Message{Text: lo.ToPtr("Artifact: library/test\nType: \nVulnerability KSV002\nSeverity: CRITICAL\nMessage: Message\nLink: [KSV002](https://avd.aquasec.com/appshield/ksv002)")}, + Message: sarif.Message{Text: lo.ToPtr("Artifact: library/test\\nType: \\nVulnerability KSV002\\nSeverity: CRITICAL\\nMessage: Message\\nLink: [KSV002](https://avd.aquasec.com/appshield/ksv002)")}, Locations: []*sarif.Location{ { Message: &sarif.Message{Text: lo.ToPtr("library/test")}, @@ -383,8 +383,8 @@ func TestReportWriter_Sarif(t *testing.T) { "security-severity": "9.5", }, Help: &sarif.MultiformatMessageString{ - Text: lo.ToPtr("Secret AWS Secret Access Key\nSeverity: CRITICAL\nMatch: 'AWS_secret_KEY'=\"****************************************\""), - Markdown: lo.ToPtr("**Secret AWS Secret Access Key**\n| Severity | Match |\n| --- | --- |\n|CRITICAL|'AWS_secret_KEY'=\"****************************************\"|"), + Text: lo.ToPtr("Secret AWS Secret Access Key\\nSeverity: CRITICAL\\nMatch: 'AWS_secret_KEY'=\"****************************************\""), + Markdown: lo.ToPtr("**Secret AWS Secret Access Key**\\n| Severity | Match |\\n| --- | --- |\\n|CRITICAL|'AWS_secret_KEY'=\"****************************************\"|"), }, }, }, @@ -395,7 +395,7 @@ func TestReportWriter_Sarif(t *testing.T) { RuleID: lo.ToPtr("aws-secret-access-key"), RuleIndex: lo.ToPtr[uint](0), Level: lo.ToPtr("error"), - Message: sarif.Message{Text: lo.ToPtr("Artifact: library/test\nType: \nSecret AWS Secret Access Key\nSeverity: CRITICAL\nMatch: 'AWS_secret_KEY'=\"****************************************\"")}, + Message: sarif.Message{Text: lo.ToPtr("Artifact: library/test\\nType: \\nSecret AWS Secret Access Key\\nSeverity: CRITICAL\\nMatch: 'AWS_secret_KEY'=\"****************************************\"")}, Locations: []*sarif.Location{ { Message: &sarif.Message{Text: lo.ToPtr("library/test")}, @@ -464,8 +464,8 @@ func TestReportWriter_Sarif(t *testing.T) { ShortDescription: sarif.NewMultiformatMessageString("GPL-3.0 in alpine-base"), FullDescription: sarif.NewMultiformatMessageString("GPL-3.0 in alpine-base"), DefaultConfiguration: sarif.NewReportingConfiguration().WithLevel("error"), - Help: sarif.NewMultiformatMessageString("License GPL-3.0\nClassification: restricted\nPkgName: alpine-base\nPath: "). - WithMarkdown("**License GPL-3.0**\n| PkgName | Classification | Path |\n| --- | --- | --- |\n|alpine-base|restricted||"), + Help: sarif.NewMultiformatMessageString("License GPL-3.0\\nClassification: restricted\\nPkgName: alpine-base\\nPath: "). + WithMarkdown("**License GPL-3.0**\\n| PkgName | Classification | Path |\\n| --- | --- | --- |\\n|alpine-base|restricted||"), Properties: map[string]interface{}{ "tags": []interface{}{ "license", @@ -484,7 +484,7 @@ func TestReportWriter_Sarif(t *testing.T) { RuleID: lo.ToPtr("alpine-base:GPL-3.0"), RuleIndex: lo.ToPtr(uint(0)), Level: lo.ToPtr("error"), - Message: sarif.Message{Text: lo.ToPtr("Artifact: OS Packages\nLicense GPL-3.0\nPkgName: restricted\n Classification: alpine-base\n Path: ")}, + Message: sarif.Message{Text: lo.ToPtr("Artifact: OS Packages\\nLicense GPL-3.0\\nPkgName: restricted\\n Classification: alpine-base\\n Path: ")}, Locations: []*sarif.Location{ { Message: sarif.NewTextMessage(""), From ac0e32749202754ea26b64e4facdf91b01b31433 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Wed, 15 Nov 2023 15:41:13 +0900 Subject: [PATCH 127/338] feat(flag): replace '--slow' with '--parallel' (#5572) Signed-off-by: knqyf263 --- .../configuration/cli/trivy_filesystem.md | 2 +- .../configuration/cli/trivy_image.md | 2 +- .../configuration/cli/trivy_kubernetes.md | 3 +-- .../configuration/cli/trivy_repository.md | 2 +- .../configuration/cli/trivy_rootfs.md | 2 +- .../configuration/cli/trivy_sbom.md | 1 - .../references/configuration/cli/trivy_vm.md | 2 +- integration/repo_test.go | 18 ++++++++++--- pkg/commands/app.go | 1 + pkg/commands/artifact/run.go | 2 +- pkg/fanal/analyzer/analyzer.go | 2 +- pkg/fanal/analyzer/language/java/jar/jar.go | 6 ++--- .../analyzer/language/java/jar/jar_test.go | 2 +- pkg/fanal/artifact/artifact.go | 23 +++++++++++++++- pkg/fanal/artifact/image/image.go | 24 ++++------------- pkg/fanal/artifact/image/image_test.go | 5 +--- pkg/fanal/artifact/local/fs.go | 14 +++------- pkg/fanal/artifact/local/fs_test.go | 2 +- pkg/fanal/artifact/vm/vm.go | 13 +++------- pkg/fanal/walker/fs.go | 8 +++--- pkg/fanal/walker/fs_test.go | 2 +- pkg/fanal/walker/tar.go | 8 ++---- pkg/fanal/walker/tar_test.go | 2 +- pkg/fanal/walker/vm.go | 8 ++---- pkg/fanal/walker/walk.go | 9 ++----- pkg/fanal/walker/walk_test.go | 4 +-- pkg/flag/kubernetes_flags.go | 21 +-------------- pkg/flag/scan_flags.go | 26 ++++++++++++++++--- pkg/parallel/pipeline.go | 5 ++++ pkg/parallel/walk.go | 11 ++++---- pkg/semaphore/semaphore.go | 26 +++---------------- 31 files changed, 115 insertions(+), 141 deletions(-) diff --git a/docs/docs/references/configuration/cli/trivy_filesystem.md b/docs/docs/references/configuration/cli/trivy_filesystem.md index e32e6af4be53..57d2414ddc23 100644 --- a/docs/docs/references/configuration/cli/trivy_filesystem.md +++ b/docs/docs/references/configuration/cli/trivy_filesystem.md @@ -54,6 +54,7 @@ trivy filesystem [flags] PATH --no-progress suppress progress bar --offline-scan do not issue API requests to identify dependencies -o, --output string output file name + --parallel int number of goroutines enabled for parallel scanning, set 0 to auto-detect parallelism (default 5) --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces @@ -76,7 +77,6 @@ trivy filesystem [flags] PATH --skip-files strings specify the files or glob patterns to skip --skip-java-db-update skip updating Java index database --skip-policy-update skip fetching rego policy updates - --slow scan over time with lower CPU and memory utilization -t, --template string output template --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files diff --git a/docs/docs/references/configuration/cli/trivy_image.md b/docs/docs/references/configuration/cli/trivy_image.md index 31daec770d61..3105bdaa3025 100644 --- a/docs/docs/references/configuration/cli/trivy_image.md +++ b/docs/docs/references/configuration/cli/trivy_image.md @@ -73,6 +73,7 @@ trivy image [flags] IMAGE_NAME --no-progress suppress progress bar --offline-scan do not issue API requests to identify dependencies -o, --output string output file name + --parallel int number of goroutines enabled for parallel scanning, set 0 to auto-detect parallelism (default 5) --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. --platform string set platform in the form os/arch if image is multi-platform capable --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") @@ -97,7 +98,6 @@ trivy image [flags] IMAGE_NAME --skip-files strings specify the files or glob patterns to skip --skip-java-db-update skip updating Java index database --skip-policy-update skip fetching rego policy updates - --slow scan over time with lower CPU and memory utilization -t, --template string output template --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files diff --git a/docs/docs/references/configuration/cli/trivy_kubernetes.md b/docs/docs/references/configuration/cli/trivy_kubernetes.md index dcc41040e7f1..a460641d2f15 100644 --- a/docs/docs/references/configuration/cli/trivy_kubernetes.md +++ b/docs/docs/references/configuration/cli/trivy_kubernetes.md @@ -65,7 +65,7 @@ trivy kubernetes [flags] { cluster | all | specific resources like kubectl. eg: --node-collector-namespace string specify the namespace in which the node-collector job should be deployed (default "trivy-temp") --offline-scan do not issue API requests to identify dependencies -o, --output string output file name - --parallel int number (between 1-20) of goroutines enabled for parallel scanning (default 5) + --parallel int number of goroutines enabled for parallel scanning, set 0 to auto-detect parallelism (default 5) --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces @@ -87,7 +87,6 @@ trivy kubernetes [flags] { cluster | all | specific resources like kubectl. eg: --skip-files strings specify the files or glob patterns to skip --skip-java-db-update skip updating Java index database --skip-policy-update skip fetching rego policy updates - --slow scan over time with lower CPU and memory utilization -t, --template string output template --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files diff --git a/docs/docs/references/configuration/cli/trivy_repository.md b/docs/docs/references/configuration/cli/trivy_repository.md index b57cfa56025c..4cf4638e99ac 100644 --- a/docs/docs/references/configuration/cli/trivy_repository.md +++ b/docs/docs/references/configuration/cli/trivy_repository.md @@ -54,6 +54,7 @@ trivy repository [flags] (REPO_PATH | REPO_URL) --no-progress suppress progress bar --offline-scan do not issue API requests to identify dependencies -o, --output string output file name + --parallel int number of goroutines enabled for parallel scanning, set 0 to auto-detect parallelism (default 5) --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces @@ -75,7 +76,6 @@ trivy repository [flags] (REPO_PATH | REPO_URL) --skip-files strings specify the files or glob patterns to skip --skip-java-db-update skip updating Java index database --skip-policy-update skip fetching rego policy updates - --slow scan over time with lower CPU and memory utilization --tag string pass the tag name to be scanned -t, --template string output template --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules diff --git a/docs/docs/references/configuration/cli/trivy_rootfs.md b/docs/docs/references/configuration/cli/trivy_rootfs.md index a5daaa47fce8..31046603d594 100644 --- a/docs/docs/references/configuration/cli/trivy_rootfs.md +++ b/docs/docs/references/configuration/cli/trivy_rootfs.md @@ -56,6 +56,7 @@ trivy rootfs [flags] ROOTDIR --no-progress suppress progress bar --offline-scan do not issue API requests to identify dependencies -o, --output string output file name + --parallel int number of goroutines enabled for parallel scanning, set 0 to auto-detect parallelism (default 5) --password strings password. Comma-separated passwords allowed. TRIVY_PASSWORD should be used for security reasons. --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --policy-namespaces strings Rego namespaces @@ -77,7 +78,6 @@ trivy rootfs [flags] ROOTDIR --skip-files strings specify the files or glob patterns to skip --skip-java-db-update skip updating Java index database --skip-policy-update skip fetching rego policy updates - --slow scan over time with lower CPU and memory utilization -t, --template string output template --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files diff --git a/docs/docs/references/configuration/cli/trivy_sbom.md b/docs/docs/references/configuration/cli/trivy_sbom.md index d031f61e4cff..9f899ac977cb 100644 --- a/docs/docs/references/configuration/cli/trivy_sbom.md +++ b/docs/docs/references/configuration/cli/trivy_sbom.md @@ -55,7 +55,6 @@ trivy sbom [flags] SBOM_PATH --skip-dirs strings specify the directories or glob patterns to skip --skip-files strings specify the files or glob patterns to skip --skip-java-db-update skip updating Java index database - --slow scan over time with lower CPU and memory utilization -t, --template string output template --token string for authentication in client/server mode --token-header string specify a header name for token in client/server mode (default "Trivy-Token") diff --git a/docs/docs/references/configuration/cli/trivy_vm.md b/docs/docs/references/configuration/cli/trivy_vm.md index fd47dfda7647..2028e3ed188d 100644 --- a/docs/docs/references/configuration/cli/trivy_vm.md +++ b/docs/docs/references/configuration/cli/trivy_vm.md @@ -51,6 +51,7 @@ trivy vm [flags] VM_IMAGE --no-progress suppress progress bar --offline-scan do not issue API requests to identify dependencies -o, --output string output file name + --parallel int number of goroutines enabled for parallel scanning, set 0 to auto-detect parallelism (default 5) --policy-bundle-repository string OCI registry URL to retrieve policy bundle from (default "ghcr.io/aquasecurity/trivy-policies:0") --redis-ca string redis ca file location, if using redis as cache backend --redis-cert string redis certificate file location, if using redis as cache backend @@ -68,7 +69,6 @@ trivy vm [flags] VM_IMAGE --skip-dirs strings specify the directories or glob patterns to skip --skip-files strings specify the files or glob patterns to skip --skip-java-db-update skip updating Java index database - --slow scan over time with lower CPU and memory utilization -t, --template string output template --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules --tf-vars strings specify paths to override the Terraform tfvars files diff --git a/integration/repo_test.go b/integration/repo_test.go index e917288a0319..35aa58ac0784 100644 --- a/integration/repo_test.go +++ b/integration/repo_test.go @@ -3,6 +3,7 @@ package integration import ( + "fmt" "os" "path/filepath" "strings" @@ -36,6 +37,7 @@ func TestRepository(t *testing.T) { command string format types.Format includeDevDeps bool + parallel int } tests := []struct { name string @@ -69,6 +71,15 @@ func TestRepository(t *testing.T) { }, golden: "testdata/gomod-skip.json.golden", }, + { + name: "gomod in series", + args: args{ + scanner: types.VulnerabilityScanner, + input: "testdata/fixtures/repo/gomod", + parallel: 1, + }, + golden: "testdata/gomod.json.golden", + }, { name: "npm", args: args{ @@ -396,13 +407,12 @@ func TestRepository(t *testing.T) { osArgs := []string{ "-q", - "--cache-dir", - cacheDir, + "--cache-dir", cacheDir, command, "--skip-db-update", "--skip-policy-update", - "--format", - string(format), + "--format", string(format), + "--parallel", fmt.Sprint(tt.args.parallel), "--offline-scan", } diff --git a/pkg/commands/app.go b/pkg/commands/app.go index 4cdbc89f59a1..c6ae0ed7a212 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -1098,6 +1098,7 @@ func NewSBOMCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { scanFlagGroup := flag.NewScanFlagGroup() scanFlagGroup.Scanners = nil // disable '--scanners' as it always scans for vulnerabilities scanFlagGroup.IncludeDevDeps = nil // disable '--include-dev-deps' + scanFlagGroup.Parallel = nil // disable '--parallel' sbomFlags := &flag.Flags{ CacheFlagGroup: flag.NewCacheFlagGroup(), diff --git a/pkg/commands/artifact/run.go b/pkg/commands/artifact/run.go index 5baa61787a57..b36897ffc3bb 100644 --- a/pkg/commands/artifact/run.go +++ b/pkg/commands/artifact/run.go @@ -637,7 +637,7 @@ func initScannerConfig(opts flag.Options, cacheClient cache.Cache) (ScannerConfi SBOMSources: opts.SBOMSources, RekorURL: opts.RekorURL, //Platform: opts.Platform, - Slow: opts.Slow, + Parallel: opts.Parallel, AWSRegion: opts.Region, AWSEndpoint: opts.Endpoint, FileChecksum: fileChecksum, diff --git a/pkg/fanal/analyzer/analyzer.go b/pkg/fanal/analyzer/analyzer.go index ccb578be62fa..b9f1620e07c6 100644 --- a/pkg/fanal/analyzer/analyzer.go +++ b/pkg/fanal/analyzer/analyzer.go @@ -41,7 +41,7 @@ var ( // AnalyzerOptions is used to initialize analyzers type AnalyzerOptions struct { Group Group - Slow bool + Parallel int FilePatterns []string DisabledAnalyzers []Type MisconfScannerOption misconf.ScannerOption diff --git a/pkg/fanal/analyzer/language/java/jar/jar.go b/pkg/fanal/analyzer/language/java/jar/jar.go index 0690fc0d9f20..0aeddfc66c9e 100644 --- a/pkg/fanal/analyzer/language/java/jar/jar.go +++ b/pkg/fanal/analyzer/language/java/jar/jar.go @@ -33,12 +33,12 @@ var requiredExtensions = []string{ // javaLibraryAnalyzer analyzes jar/war/ear/par files type javaLibraryAnalyzer struct { - slow bool + parallel int } func newJavaLibraryAnalyzer(options analyzer.AnalyzerOptions) (analyzer.PostAnalyzer, error) { return &javaLibraryAnalyzer{ - slow: options.Slow, + parallel: options.Parallel, }, nil } @@ -70,7 +70,7 @@ func (a *javaLibraryAnalyzer) PostAnalyze(ctx context.Context, input analyzer.Po return nil } - if err = parallel.WalkDir(ctx, input.FS, ".", a.slow, onFile, onResult); err != nil { + if err = parallel.WalkDir(ctx, input.FS, ".", a.parallel, onFile, onResult); err != nil { return nil, xerrors.Errorf("walk dir error: %w", err) } diff --git a/pkg/fanal/analyzer/language/java/jar/jar_test.go b/pkg/fanal/analyzer/language/java/jar/jar_test.go index f198c7beb041..133ead426d7a 100644 --- a/pkg/fanal/analyzer/language/java/jar/jar_test.go +++ b/pkg/fanal/analyzer/language/java/jar/jar_test.go @@ -132,7 +132,7 @@ func Test_javaLibraryAnalyzer_Analyze(t *testing.T) { // init java-trivy-db with skip update javadb.Init("testdata", defaultJavaDBRepository, true, false, types.RegistryOptions{Insecure: false}) - a := javaLibraryAnalyzer{slow: true} + a := javaLibraryAnalyzer{} ctx := context.Background() mfs := mapfs.New() diff --git a/pkg/fanal/artifact/artifact.go b/pkg/fanal/artifact/artifact.go index 2028b601c744..bcb3250f8b7a 100644 --- a/pkg/fanal/artifact/artifact.go +++ b/pkg/fanal/artifact/artifact.go @@ -23,7 +23,7 @@ type Option struct { AppDirs []string SBOMSources []string RekorURL string - Slow bool // Lower CPU and memory + Parallel int AWSRegion string AWSEndpoint string FileChecksum bool // For SPDX @@ -50,6 +50,27 @@ type WalkOption struct { ErrorCallback walker.ErrorCallback } +func (o *Option) AnalyzerOptions() analyzer.AnalyzerOptions { + return analyzer.AnalyzerOptions{ + Group: o.AnalyzerGroup, + FilePatterns: o.FilePatterns, + Parallel: o.Parallel, + DisabledAnalyzers: o.DisabledAnalyzers, + MisconfScannerOption: o.MisconfScannerOption, + SecretScannerOption: o.SecretScannerOption, + LicenseScannerOption: o.LicenseScannerOption, + } +} + +func (o *Option) ConfigAnalyzerOptions() analyzer.ConfigAnalyzerOptions { + return analyzer.ConfigAnalyzerOptions{ + FilePatterns: o.FilePatterns, + DisabledAnalyzers: o.DisabledAnalyzers, + MisconfScannerOption: o.MisconfScannerOption, + SecretScannerOption: o.SecretScannerOption, + } +} + func (o *Option) Sort() { sort.Slice(o.DisabledAnalyzers, func(i, j int) bool { return o.DisabledAnalyzers[i] < o.DisabledAnalyzers[j] diff --git a/pkg/fanal/artifact/image/image.go b/pkg/fanal/artifact/image/image.go index 87c572b32363..782d13a86097 100644 --- a/pkg/fanal/artifact/image/image.go +++ b/pkg/fanal/artifact/image/image.go @@ -49,25 +49,12 @@ func NewArtifact(img types.Image, c cache.ArtifactCache, opt artifact.Option) (a return nil, xerrors.Errorf("handler init error: %w", err) } - a, err := analyzer.NewAnalyzerGroup(analyzer.AnalyzerOptions{ - Group: opt.AnalyzerGroup, - Slow: opt.Slow, - FilePatterns: opt.FilePatterns, - DisabledAnalyzers: opt.DisabledAnalyzers, - MisconfScannerOption: opt.MisconfScannerOption, - SecretScannerOption: opt.SecretScannerOption, - LicenseScannerOption: opt.LicenseScannerOption, - }) + a, err := analyzer.NewAnalyzerGroup(opt.AnalyzerOptions()) if err != nil { return nil, xerrors.Errorf("analyzer group error: %w", err) } - ca, err := analyzer.NewConfigAnalyzerGroup(analyzer.ConfigAnalyzerOptions{ - FilePatterns: opt.FilePatterns, - DisabledAnalyzers: opt.DisabledAnalyzers, - MisconfScannerOption: opt.MisconfScannerOption, - SecretScannerOption: opt.SecretScannerOption, - }) + ca, err := analyzer.NewConfigAnalyzerGroup(opt.ConfigAnalyzerOptions()) if err != nil { return nil, xerrors.Errorf("config analyzer group error: %w", err) } @@ -75,7 +62,7 @@ func NewArtifact(img types.Image, c cache.ArtifactCache, opt artifact.Option) (a return Artifact{ image: img, cache: c, - walker: walker.NewLayerTar(opt.SkipFiles, opt.SkipDirs, opt.Slow), + walker: walker.NewLayerTar(opt.SkipFiles, opt.SkipDirs), analyzer: a, configAnalyzer: ca, handlerManager: handlerManager, @@ -215,8 +202,7 @@ func (a Artifact) inspect(ctx context.Context, missingImage string, layerKeys, b layerKeyMap map[string]LayerInfo, configFile *v1.ConfigFile) error { var osFound types.OS - workers := lo.Ternary(a.artifactOption.Slow, 1, 5) - p := parallel.NewPipeline(workers, false, layerKeys, func(ctx context.Context, layerKey string) (any, error) { + p := parallel.NewPipeline(a.artifactOption.Parallel, false, layerKeys, func(ctx context.Context, layerKey string) (any, error) { layer := layerKeyMap[layerKey] // If it is a base layer, secret scanning should not be performed. @@ -268,7 +254,7 @@ func (a Artifact) inspectLayer(ctx context.Context, layerInfo LayerInfo, disable FileChecksum: a.artifactOption.FileChecksum, } result := analyzer.NewAnalysisResult() - limit := semaphore.New(a.artifactOption.Slow) + limit := semaphore.New(a.artifactOption.Parallel) // Prepare filesystem for post analysis composite, err := a.analyzer.PostAnalyzerFS() diff --git a/pkg/fanal/artifact/image/image_test.go b/pkg/fanal/artifact/image/image_test.go index c257fccb30c2..d65df55f2fc5 100644 --- a/pkg/fanal/artifact/image/image_test.go +++ b/pkg/fanal/artifact/image/image_test.go @@ -2035,11 +2035,8 @@ func TestArtifact_Inspect(t *testing.T) { wantErr: "put layer failed", }, { - name: "sad path, PutBlob returns an error with multiple layers and Slow enabled", + name: "sad path, PutBlob returns an error with multiple layers", imagePath: "../../test/testdata/vuln-image.tar.gz", - artifactOpt: artifact.Option{ - Slow: true, - }, missingBlobsExpectation: cache.ArtifactCacheMissingBlobsExpectation{ Args: cache.ArtifactCacheMissingBlobsArgs{ ArtifactID: "sha256:33f9415ed2cd5a9cef5d5144333619745b9ec0f851f0684dd45fa79c6b26a650", diff --git a/pkg/fanal/artifact/local/fs.go b/pkg/fanal/artifact/local/fs.go index 49d20fd14f95..8d7409cdfae3 100644 --- a/pkg/fanal/artifact/local/fs.go +++ b/pkg/fanal/artifact/local/fs.go @@ -39,15 +39,7 @@ func NewArtifact(rootPath string, c cache.ArtifactCache, opt artifact.Option) (a return nil, xerrors.Errorf("handler initialize error: %w", err) } - a, err := analyzer.NewAnalyzerGroup(analyzer.AnalyzerOptions{ - Group: opt.AnalyzerGroup, - Slow: opt.Slow, - FilePatterns: opt.FilePatterns, - DisabledAnalyzers: opt.DisabledAnalyzers, - MisconfScannerOption: opt.MisconfScannerOption, - SecretScannerOption: opt.SecretScannerOption, - LicenseScannerOption: opt.LicenseScannerOption, - }) + a, err := analyzer.NewAnalyzerGroup(opt.AnalyzerOptions()) if err != nil { return nil, xerrors.Errorf("analyzer group error: %w", err) } @@ -56,7 +48,7 @@ func NewArtifact(rootPath string, c cache.ArtifactCache, opt artifact.Option) (a rootPath: filepath.ToSlash(filepath.Clean(rootPath)), cache: c, walker: walker.NewFS(buildPathsToSkip(rootPath, opt.SkipFiles), buildPathsToSkip(rootPath, opt.SkipDirs), - opt.Slow, opt.WalkOption.ErrorCallback), + opt.Parallel, opt.WalkOption.ErrorCallback), analyzer: a, handlerManager: handlerManager, @@ -122,7 +114,7 @@ func buildPathsToSkip(base string, paths []string) []string { func (a Artifact) Inspect(ctx context.Context) (types.ArtifactReference, error) { var wg sync.WaitGroup result := analyzer.NewAnalysisResult() - limit := semaphore.New(a.artifactOption.Slow) + limit := semaphore.New(a.artifactOption.Parallel) opts := analyzer.AnalysisOptions{ Offline: a.artifactOption.Offline, FileChecksum: a.artifactOption.FileChecksum, diff --git a/pkg/fanal/artifact/local/fs_test.go b/pkg/fanal/artifact/local/fs_test.go index a18288cd1ba3..e83bb0b8a7c0 100644 --- a/pkg/fanal/artifact/local/fs_test.go +++ b/pkg/fanal/artifact/local/fs_test.go @@ -166,7 +166,7 @@ func TestArtifact_Inspect(t *testing.T) { fields: fields{ dir: "./testdata/unknown", }, - wantErr: "walk error", + wantErr: "walk dir error", }, { name: "happy path with single file", diff --git a/pkg/fanal/artifact/vm/vm.go b/pkg/fanal/artifact/vm/vm.go index a9173ed00e7c..836b9dc66d3c 100644 --- a/pkg/fanal/artifact/vm/vm.go +++ b/pkg/fanal/artifact/vm/vm.go @@ -41,7 +41,7 @@ type Storage struct { func (a *Storage) Analyze(ctx context.Context, r *io.SectionReader) (types.BlobInfo, error) { var wg sync.WaitGroup - limit := semaphore.New(a.artifactOption.Slow) + limit := semaphore.New(a.artifactOption.Parallel) result := analyzer.NewAnalysisResult() opts := analyzer.AnalysisOptions{ @@ -119,14 +119,7 @@ func NewArtifact(target string, c cache.ArtifactCache, opt artifact.Option) (art if err != nil { return nil, xerrors.Errorf("handler init error: %w", err) } - a, err := analyzer.NewAnalyzerGroup(analyzer.AnalyzerOptions{ - Group: opt.AnalyzerGroup, - FilePatterns: opt.FilePatterns, - DisabledAnalyzers: opt.DisabledAnalyzers, - MisconfScannerOption: opt.MisconfScannerOption, - SecretScannerOption: opt.SecretScannerOption, - LicenseScannerOption: opt.LicenseScannerOption, - }) + a, err := analyzer.NewAnalyzerGroup(opt.AnalyzerOptions()) if err != nil { return nil, xerrors.Errorf("analyzer group error: %w", err) } @@ -135,7 +128,7 @@ func NewArtifact(target string, c cache.ArtifactCache, opt artifact.Option) (art cache: c, analyzer: a, handlerManager: handlerManager, - walker: walker.NewVM(opt.SkipFiles, opt.SkipDirs, opt.Slow), + walker: walker.NewVM(opt.SkipFiles, opt.SkipDirs), artifactOption: opt, } diff --git a/pkg/fanal/walker/fs.go b/pkg/fanal/walker/fs.go index e2e9d58c5fa4..863d3486997f 100644 --- a/pkg/fanal/walker/fs.go +++ b/pkg/fanal/walker/fs.go @@ -16,10 +16,11 @@ type ErrorCallback func(pathname string, err error) error type FS struct { walker + parallel int errCallback ErrorCallback } -func NewFS(skipFiles, skipDirs []string, slow bool, errCallback ErrorCallback) FS { +func NewFS(skipFiles, skipDirs []string, parallel int, errCallback ErrorCallback) FS { if errCallback == nil { errCallback = func(pathname string, err error) error { // ignore permission errors @@ -32,7 +33,8 @@ func NewFS(skipFiles, skipDirs []string, slow bool, errCallback ErrorCallback) F } return FS{ - walker: newWalker(skipFiles, skipDirs, slow), + walker: newWalker(skipFiles, skipDirs), + parallel: parallel, errCallback: errCallback, } } @@ -69,7 +71,7 @@ func (w FS) Walk(root string, fn WalkFunc) error { return nil } - if w.slow { + if w.parallel <= 1 { // In series: fast, with higher CPU/memory return w.walkSlow(root, walkFn) } diff --git a/pkg/fanal/walker/fs_test.go b/pkg/fanal/walker/fs_test.go index 038e15ccc7d9..aa84f6d23503 100644 --- a/pkg/fanal/walker/fs_test.go +++ b/pkg/fanal/walker/fs_test.go @@ -93,7 +93,7 @@ func TestDir_Walk(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - w := walker.NewFS(tt.fields.skipFiles, tt.fields.skipDirs, true, tt.fields.errCallback) + w := walker.NewFS(tt.fields.skipFiles, tt.fields.skipDirs, 1, tt.fields.errCallback) err := w.Walk(tt.rootDir, tt.analyzeFn) if tt.wantErr != "" { diff --git a/pkg/fanal/walker/tar.go b/pkg/fanal/walker/tar.go index ac4faaa070ac..d548d06f9c0a 100644 --- a/pkg/fanal/walker/tar.go +++ b/pkg/fanal/walker/tar.go @@ -25,14 +25,10 @@ type LayerTar struct { threshold int64 } -func NewLayerTar(skipFiles, skipDirs []string, slow bool) LayerTar { +func NewLayerTar(skipFiles, skipDirs []string) LayerTar { threshold := defaultSizeThreshold - if slow { - threshold = slowSizeThreshold - } - return LayerTar{ - walker: newWalker(skipFiles, skipDirs, slow), + walker: newWalker(skipFiles, skipDirs), threshold: threshold, } } diff --git a/pkg/fanal/walker/tar_test.go b/pkg/fanal/walker/tar_test.go index 8f1cb98a8010..fed2f9efea7d 100644 --- a/pkg/fanal/walker/tar_test.go +++ b/pkg/fanal/walker/tar_test.go @@ -81,7 +81,7 @@ func TestLayerTar_Walk(t *testing.T) { f, err := os.Open("testdata/test.tar") require.NoError(t, err) - w := walker.NewLayerTar(tt.fields.skipFiles, tt.fields.skipDirs, true) + w := walker.NewLayerTar(tt.fields.skipFiles, tt.fields.skipDirs) gotOpqDirs, gotWhFiles, err := w.Walk(f, tt.analyzeFn) if tt.wantErr != "" { diff --git a/pkg/fanal/walker/vm.go b/pkg/fanal/walker/vm.go index 52ddfe0b50ff..5d61d021388f 100644 --- a/pkg/fanal/walker/vm.go +++ b/pkg/fanal/walker/vm.go @@ -39,14 +39,10 @@ type VM struct { analyzeFn WalkFunc } -func NewVM(skipFiles, skipDirs []string, slow bool) VM { +func NewVM(skipFiles, skipDirs []string) VM { threshold := defaultSizeThreshold - if slow { - threshold = slowSizeThreshold - } - return VM{ - walker: newWalker(skipFiles, skipDirs, slow), + walker: newWalker(skipFiles, skipDirs), threshold: threshold, } } diff --git a/pkg/fanal/walker/walk.go b/pkg/fanal/walker/walk.go index 7205972b98e4..cebc86ee76d7 100644 --- a/pkg/fanal/walker/walk.go +++ b/pkg/fanal/walker/walk.go @@ -22,20 +22,16 @@ var ( } ) -const ( - defaultSizeThreshold = int64(200) << 20 // 200MB - slowSizeThreshold = int64(100) << 10 // 10KB -) +const defaultSizeThreshold = int64(200) << 20 // 200MB type WalkFunc func(filePath string, info os.FileInfo, opener analyzer.Opener) error type walker struct { skipFiles []string skipDirs []string - slow bool } -func newWalker(skipFiles, skipDirs []string, slow bool) walker { +func newWalker(skipFiles, skipDirs []string) walker { var cleanSkipFiles, cleanSkipDirs []string for _, skipFile := range skipFiles { skipFile = filepath.ToSlash(filepath.Clean(skipFile)) @@ -52,7 +48,6 @@ func newWalker(skipFiles, skipDirs []string, slow bool) walker { return walker{ skipFiles: cleanSkipFiles, skipDirs: cleanSkipDirs, - slow: slow, } } diff --git a/pkg/fanal/walker/walk_test.go b/pkg/fanal/walker/walk_test.go index 8b19a92899f1..4d52117aa1ce 100644 --- a/pkg/fanal/walker/walk_test.go +++ b/pkg/fanal/walker/walk_test.go @@ -54,7 +54,7 @@ func Test_shouldSkipFile(t *testing.T) { for i, tc := range testCases { t.Run(fmt.Sprint(i), func(t *testing.T) { - w := newWalker(tc.skipFiles, nil, false) + w := newWalker(tc.skipFiles, nil) for file, skipResult := range tc.skipMap { assert.Equal(t, skipResult, w.shouldSkipFile(filepath.ToSlash(filepath.Clean(file))), fmt.Sprintf("skipFiles: %s, file: %s", tc.skipFiles, file)) } @@ -115,7 +115,7 @@ func Test_shouldSkipDir(t *testing.T) { for i, tc := range testCases { t.Run(fmt.Sprint(i), func(t *testing.T) { - w := newWalker(nil, tc.skipDirs, false) + w := newWalker(nil, tc.skipDirs) for dir, skipResult := range tc.skipMap { assert.Equal(t, skipResult, w.shouldSkipDir(filepath.ToSlash(filepath.Clean(dir))), fmt.Sprintf("skipDirs: %s, dir: %s", tc.skipDirs, dir)) } diff --git a/pkg/flag/kubernetes_flags.go b/pkg/flag/kubernetes_flags.go index fd560e7defc4..3bd3ac25d496 100644 --- a/pkg/flag/kubernetes_flags.go +++ b/pkg/flag/kubernetes_flags.go @@ -6,7 +6,6 @@ import ( "strings" "github.com/samber/lo" - "golang.org/x/xerrors" corev1 "k8s.io/api/core/v1" ) @@ -52,12 +51,6 @@ var ( Default: "", Usage: "specify k8s version to validate outdated api by it (example: 1.21.0)", } - ParallelFlag = Flag{ - Name: "parallel", - ConfigName: "kubernetes.parallel", - Default: 5, - Usage: "number (between 1-20) of goroutines enabled for parallel scanning", - } TolerationsFlag = Flag{ Name: "tolerations", ConfigName: "kubernetes.tolerations", @@ -97,7 +90,6 @@ type K8sFlagGroup struct { KubeConfig *Flag Components *Flag K8sVersion *Flag - Parallel *Flag Tolerations *Flag AllNamespaces *Flag NodeCollectorNamespace *Flag @@ -111,7 +103,6 @@ type K8sOptions struct { KubeConfig string Components []string K8sVersion string - Parallel int Tolerations []corev1.Toleration AllNamespaces bool NodeCollectorNamespace string @@ -126,7 +117,6 @@ func NewK8sFlagGroup() *K8sFlagGroup { KubeConfig: &KubeConfigFlag, Components: &ComponentsFlag, K8sVersion: &K8sVersionFlag, - Parallel: &ParallelFlag, Tolerations: &TolerationsFlag, AllNamespaces: &AllNamespaces, NodeCollectorNamespace: &NodeCollectorNamespace, @@ -146,7 +136,6 @@ func (f *K8sFlagGroup) Flags() []*Flag { f.KubeConfig, f.Components, f.K8sVersion, - f.Parallel, f.Tolerations, f.AllNamespaces, f.NodeCollectorNamespace, @@ -160,14 +149,7 @@ func (f *K8sFlagGroup) ToOptions() (K8sOptions, error) { if err != nil { return K8sOptions{}, err } - var parallel int - if f.Parallel != nil { - parallel = getInt(f.Parallel) - // check parallel flag is a valid number between 1-20 - if parallel < 1 || parallel > 20 { - return K8sOptions{}, xerrors.Errorf("unable to parse parallel value, please ensure that the value entered is a valid number between 1-20.") - } - } + exludeNodeLabels := make(map[string]string) exludeNodes := getStringSlice(f.ExcludeNodes) for _, exludeNodeValue := range exludeNodes { @@ -184,7 +166,6 @@ func (f *K8sFlagGroup) ToOptions() (K8sOptions, error) { KubeConfig: getString(f.KubeConfig), Components: getStringSlice(f.Components), K8sVersion: getString(f.K8sVersion), - Parallel: parallel, Tolerations: tolerations, AllNamespaces: getBool(f.AllNamespaces), NodeCollectorNamespace: getString(f.NodeCollectorNamespace), diff --git a/pkg/flag/scan_flags.go b/pkg/flag/scan_flags.go index 45e29cbdcd4a..0464436a4f11 100644 --- a/pkg/flag/scan_flags.go +++ b/pkg/flag/scan_flags.go @@ -1,6 +1,8 @@ package flag import ( + "runtime" + "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/types" xstrings "github.com/aquasecurity/trivy/pkg/x/strings" @@ -70,6 +72,13 @@ var ( ConfigName: "scan.slow", Default: false, Usage: "scan over time with lower CPU and memory utilization", + Deprecated: true, + } + ParallelFlag = Flag{ + Name: "parallel", + ConfigName: "scan.parallel", + Default: 5, + Usage: "number of goroutines enabled for parallel scanning, set 0 to auto-detect parallelism", } SBOMSourcesFlag = Flag{ Name: "sbom-sources", @@ -98,7 +107,8 @@ type ScanFlagGroup struct { OfflineScan *Flag Scanners *Flag FilePatterns *Flag - Slow *Flag + Slow *Flag // deprecated + Parallel *Flag SBOMSources *Flag RekorURL *Flag IncludeDevDeps *Flag @@ -111,7 +121,7 @@ type ScanOptions struct { OfflineScan bool Scanners types.Scanners FilePatterns []string - Slow bool + Parallel int SBOMSources []string RekorURL string IncludeDevDeps bool @@ -124,10 +134,11 @@ func NewScanFlagGroup() *ScanFlagGroup { OfflineScan: &OfflineScanFlag, Scanners: &ScannersFlag, FilePatterns: &FilePatternsFlag, - Slow: &SlowFlag, + Parallel: &ParallelFlag, SBOMSources: &SBOMSourcesFlag, RekorURL: &RekorURLFlag, IncludeDevDeps: &IncludeDevDepsFlag, + Slow: &SlowFlag, } } @@ -143,6 +154,7 @@ func (f *ScanFlagGroup) Flags() []*Flag { f.Scanners, f.FilePatterns, f.Slow, + f.Parallel, f.SBOMSources, f.RekorURL, f.IncludeDevDeps, @@ -155,6 +167,12 @@ func (f *ScanFlagGroup) ToOptions(args []string) (ScanOptions, error) { target = args[0] } + parallel := getInt(f.Parallel) + if f.Parallel != nil && parallel == 0 { + log.Logger.Infof("Set '--parallel' to the number of CPUs (%d)", runtime.NumCPU()) + parallel = runtime.NumCPU() + } + return ScanOptions{ Target: target, SkipDirs: getStringSlice(f.SkipDirs), @@ -162,7 +180,7 @@ func (f *ScanFlagGroup) ToOptions(args []string) (ScanOptions, error) { OfflineScan: getBool(f.OfflineScan), Scanners: getUnderlyingStringSlice[types.Scanner](f.Scanners), FilePatterns: getStringSlice(f.FilePatterns), - Slow: getBool(f.Slow), + Parallel: parallel, SBOMSources: getStringSlice(f.SBOMSources), RekorURL: getString(f.RekorURL), IncludeDevDeps: getBool(f.IncludeDevDeps), diff --git a/pkg/parallel/pipeline.go b/pkg/parallel/pipeline.go index d6879d7a1108..7dbc70f3e17c 100644 --- a/pkg/parallel/pipeline.go +++ b/pkg/parallel/pipeline.go @@ -7,6 +7,8 @@ import ( "golang.org/x/sync/errgroup" ) +const defaultWorkers = 5 + // Pipeline represents a structure for performing parallel processing. // T represents the input element type and U represents the output element type. type Pipeline[T, U any] struct { @@ -29,6 +31,9 @@ func NewPipeline[T, U any](numWorkers int, progress bool, items []T, // In case where there is no need to process the return values fn2 = func(_ U) error { return nil } } + if numWorkers == 0 { + numWorkers = defaultWorkers + } return Pipeline[T, U]{ numWorkers: numWorkers, progress: progress, diff --git a/pkg/parallel/walk.go b/pkg/parallel/walk.go index 09ba2b99ce85..a160e00acffe 100644 --- a/pkg/parallel/walk.go +++ b/pkg/parallel/walk.go @@ -12,10 +12,12 @@ import ( "github.com/aquasecurity/trivy/pkg/log" ) +const defaultParallel = 5 + type onFile[T any] func(string, fs.FileInfo, dio.ReadSeekerAt) (T, error) type onWalkResult[T any] func(T) error -func WalkDir[T any](ctx context.Context, fsys fs.FS, root string, slow bool, +func WalkDir[T any](ctx context.Context, fsys fs.FS, root string, parallel int, onFile onFile[T], onResult onWalkResult[T]) error { g, ctx := errgroup.WithContext(ctx) @@ -54,11 +56,10 @@ func WalkDir[T any](ctx context.Context, fsys fs.FS, root string, slow bool, // Start a fixed number of goroutines to read and digest files. c := make(chan T) - limit := 10 - if slow { - limit = 1 + if parallel == 0 { + parallel = defaultParallel } - for i := 0; i < limit; i++ { + for i := 0; i < parallel; i++ { g.Go(func() error { for path := range paths { if err := walk(ctx, fsys, path, c, onFile); err != nil { diff --git a/pkg/semaphore/semaphore.go b/pkg/semaphore/semaphore.go index f985cc578617..52005ab43e79 100644 --- a/pkg/semaphore/semaphore.go +++ b/pkg/semaphore/semaphore.go @@ -4,27 +4,9 @@ import "golang.org/x/sync/semaphore" const defaultSize = 5 -type options struct { - size int64 -} - -type option func(*options) - -func WithDefault(n int64) option { - return func(opts *options) { - opts.size = defaultSize - } -} - -func New(slow bool, opts ...option) *semaphore.Weighted { - o := &options{size: defaultSize} - for _, opt := range opts { - opt(o) - } - if slow { - // Process in series - return semaphore.NewWeighted(1) +func New(parallel int) *semaphore.Weighted { + if parallel == 0 { + parallel = defaultSize } - // Process in parallel - return semaphore.NewWeighted(o.size) + return semaphore.NewWeighted(int64(parallel)) } From e3c28f8ee37c5c124135e94bf550beb40dbe7112 Mon Sep 17 00:00:00 2001 From: simar7 <1254783+simar7@users.noreply.github.com> Date: Wed, 15 Nov 2023 00:04:22 -0700 Subject: [PATCH 128/338] feat(misconf): Add support for `--cf-params` for CFT (#5507) Signed-off-by: Simar Co-authored-by: nikpivkin --- docs/docs/coverage/iac/cloudformation.md | 17 +++- .../references/configuration/cli/trivy_aws.md | 1 + .../configuration/cli/trivy_config.md | 1 + .../configuration/cli/trivy_filesystem.md | 1 + .../configuration/cli/trivy_image.md | 1 - .../configuration/cli/trivy_kubernetes.md | 1 - .../configuration/cli/trivy_repository.md | 1 + .../configuration/cli/trivy_rootfs.md | 1 + .../references/configuration/cli/trivy_vm.md | 1 - go.mod | 2 +- go.sum | 4 +- pkg/commands/app.go | 18 +++- pkg/commands/artifact/run.go | 1 + pkg/fanal/artifact/local/fs_test.go | 62 +++++++++++- .../cloudformation/params/cfparams.json | 6 ++ .../params/code/rego/policy.rego | 22 +++++ .../cloudformation/params/code/src/main.yaml | 10 ++ pkg/flag/misconf_flags.go | 43 +++++---- pkg/misconf/scanner.go | 94 ++++++++++--------- 19 files changed, 212 insertions(+), 75 deletions(-) create mode 100644 pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/cfparams.json create mode 100644 pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/code/rego/policy.rego create mode 100644 pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/code/src/main.yaml diff --git a/docs/docs/coverage/iac/cloudformation.md b/docs/docs/coverage/iac/cloudformation.md index f0ba21acdb2b..5665e1e77acd 100644 --- a/docs/docs/coverage/iac/cloudformation.md +++ b/docs/docs/coverage/iac/cloudformation.md @@ -2,14 +2,14 @@ Trivy supports the scanners listed in the table below. | Scanner | Supported | -| :----------------: | :-------: | +|:------------------:|:---------:| | [Misconfiguration] | ✓ | | [Secret] | ✓ | It supports the following formats. | Format | Supported | -| :----: | :-------: | +|:------:|:---------:| | JSON | ✓ | | YAML | ✓ | @@ -17,8 +17,19 @@ It supports the following formats. Trivy recursively searches directories and scans all found CloudFormation files. It evaluates properties, functions, and other elements within CloudFormation files to detect misconfigurations. +### Value Overrides +You can provide `cf-params` with path to [CloudFormation Parameters] file to Trivy to scan your CloudFormation code with parameters. + +```bash +trivy conf --cf-params params.json ./infrastructure/cf +``` + +You can check a [CloudFormation Parameters Example] + ## Secret The secret scan is performed on plain text files, with no special treatment for CloudFormation. [Misconfiguration]: ../../scanner/misconfiguration/index.md -[Secret]: ../../scanner/secret.md \ No newline at end of file +[Secret]: ../../scanner/secret.md +[CloudFormation Parameters]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html +[CloudFormation Parameters Example]: https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/deploy.html#supported-json-syntax \ No newline at end of file diff --git a/docs/docs/references/configuration/cli/trivy_aws.md b/docs/docs/references/configuration/cli/trivy_aws.md index bd00afbeadf5..590162972b39 100644 --- a/docs/docs/references/configuration/cli/trivy_aws.md +++ b/docs/docs/references/configuration/cli/trivy_aws.md @@ -68,6 +68,7 @@ trivy aws [flags] ``` --account string The AWS account to scan. It's useful to specify this when reviewing cached results for multiple accounts. --arn string The AWS ARN to show results for. Useful to filter results once a scan is cached. + --cf-params strings specify paths to override the CloudFormation parameters files --compliance string compliance report to generate (aws-cis-1.2,aws-cis-1.4) --config-data strings specify paths from which data for the Rego policies will be recursively loaded --config-policy strings specify the paths to the Rego policy files or to the directories containing them, applying config files diff --git a/docs/docs/references/configuration/cli/trivy_config.md b/docs/docs/references/configuration/cli/trivy_config.md index e2c6110b13fa..0d26452a10b1 100644 --- a/docs/docs/references/configuration/cli/trivy_config.md +++ b/docs/docs/references/configuration/cli/trivy_config.md @@ -11,6 +11,7 @@ trivy config [flags] DIR ``` --cache-backend string cache backend (e.g. redis://localhost:6379) (default "fs") --cache-ttl duration cache TTL when using redis as cache backend + --cf-params strings specify paths to override the CloudFormation parameters files --clear-cache clear image caches without scanning --compliance string compliance report to generate --config-data strings specify paths from which data for the Rego policies will be recursively loaded diff --git a/docs/docs/references/configuration/cli/trivy_filesystem.md b/docs/docs/references/configuration/cli/trivy_filesystem.md index 57d2414ddc23..89d034caaa4d 100644 --- a/docs/docs/references/configuration/cli/trivy_filesystem.md +++ b/docs/docs/references/configuration/cli/trivy_filesystem.md @@ -21,6 +21,7 @@ trivy filesystem [flags] PATH ``` --cache-backend string cache backend (e.g. redis://localhost:6379) (default "fs") --cache-ttl duration cache TTL when using redis as cache backend + --cf-params strings specify paths to override the CloudFormation parameters files --clear-cache clear image caches without scanning --compliance string compliance report to generate --config-data strings specify paths from which data for the Rego policies will be recursively loaded diff --git a/docs/docs/references/configuration/cli/trivy_image.md b/docs/docs/references/configuration/cli/trivy_image.md index 3105bdaa3025..10ac0518944b 100644 --- a/docs/docs/references/configuration/cli/trivy_image.md +++ b/docs/docs/references/configuration/cli/trivy_image.md @@ -100,7 +100,6 @@ trivy image [flags] IMAGE_NAME --skip-policy-update skip fetching rego policy updates -t, --template string output template --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules - --tf-vars strings specify paths to override the Terraform tfvars files --token string for authentication in client/server mode --token-header string specify a header name for token in client/server mode (default "Trivy-Token") --trace enable more verbose trace output for custom queries diff --git a/docs/docs/references/configuration/cli/trivy_kubernetes.md b/docs/docs/references/configuration/cli/trivy_kubernetes.md index a460641d2f15..93d44ad04c3e 100644 --- a/docs/docs/references/configuration/cli/trivy_kubernetes.md +++ b/docs/docs/references/configuration/cli/trivy_kubernetes.md @@ -89,7 +89,6 @@ trivy kubernetes [flags] { cluster | all | specific resources like kubectl. eg: --skip-policy-update skip fetching rego policy updates -t, --template string output template --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules - --tf-vars strings specify paths to override the Terraform tfvars files --tolerations strings specify node-collector job tolerations (example: key1=value1:NoExecute,key2=value2:NoSchedule) --trace enable more verbose trace output for custom queries --username strings username. Comma-separated usernames allowed. diff --git a/docs/docs/references/configuration/cli/trivy_repository.md b/docs/docs/references/configuration/cli/trivy_repository.md index 4cf4638e99ac..a88e9be5bf30 100644 --- a/docs/docs/references/configuration/cli/trivy_repository.md +++ b/docs/docs/references/configuration/cli/trivy_repository.md @@ -21,6 +21,7 @@ trivy repository [flags] (REPO_PATH | REPO_URL) --branch string pass the branch name to be scanned --cache-backend string cache backend (e.g. redis://localhost:6379) (default "fs") --cache-ttl duration cache TTL when using redis as cache backend + --cf-params strings specify paths to override the CloudFormation parameters files --clear-cache clear image caches without scanning --commit string pass the commit hash to be scanned --config-data strings specify paths from which data for the Rego policies will be recursively loaded diff --git a/docs/docs/references/configuration/cli/trivy_rootfs.md b/docs/docs/references/configuration/cli/trivy_rootfs.md index 31046603d594..d04ee44ba113 100644 --- a/docs/docs/references/configuration/cli/trivy_rootfs.md +++ b/docs/docs/references/configuration/cli/trivy_rootfs.md @@ -24,6 +24,7 @@ trivy rootfs [flags] ROOTDIR ``` --cache-backend string cache backend (e.g. redis://localhost:6379) (default "fs") --cache-ttl duration cache TTL when using redis as cache backend + --cf-params strings specify paths to override the CloudFormation parameters files --clear-cache clear image caches without scanning --config-data strings specify paths from which data for the Rego policies will be recursively loaded --config-policy strings specify the paths to the Rego policy files or to the directories containing them, applying config files diff --git a/docs/docs/references/configuration/cli/trivy_vm.md b/docs/docs/references/configuration/cli/trivy_vm.md index 2028e3ed188d..eb6506c7585d 100644 --- a/docs/docs/references/configuration/cli/trivy_vm.md +++ b/docs/docs/references/configuration/cli/trivy_vm.md @@ -71,7 +71,6 @@ trivy vm [flags] VM_IMAGE --skip-java-db-update skip updating Java index database -t, --template string output template --tf-exclude-downloaded-modules exclude misconfigurations for downloaded terraform modules - --tf-vars strings specify paths to override the Terraform tfvars files --token string for authentication in client/server mode --token-header string specify a header name for token in client/server mode (default "Trivy-Token") --vuln-type strings comma-separated list of vulnerability types (os,library) (default [os,library]) diff --git a/go.mod b/go.mod index 3432b55c25a5..a47cd5f944ca 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( github.com/aquasecurity/trivy-iac v0.5.2 github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a - github.com/aquasecurity/trivy-policies v0.4.0 + github.com/aquasecurity/trivy-policies v0.5.0 github.com/aws/aws-sdk-go-v2 v1.22.1 github.com/aws/aws-sdk-go-v2/config v1.18.45 github.com/aws/aws-sdk-go-v2/credentials v1.13.43 diff --git a/go.sum b/go.sum index 0c784649cb61..603ccf233384 100644 --- a/go.sum +++ b/go.sum @@ -352,8 +352,8 @@ github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 h1:0eS+ github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728/go.mod h1:Ldya37FLi0e/5Cjq2T5Bty7cFkzUDwTcPeQua+2M8i8= github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a h1:x1Z+k7snLeDjTLnvTd4UPNo0HPMP6SNWxZTVU5smuA0= github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a/go.mod h1:e3iMAeJ1V/iPsNcRBVd9aDqj1YAXeURzv3qLurbloUk= -github.com/aquasecurity/trivy-policies v0.4.0 h1:20dEiWkiTrFXAiPLVshfJ/x1i9LvDDsBJ/CAb4fNEBI= -github.com/aquasecurity/trivy-policies v0.4.0/go.mod h1:Wqj81EIp4lDQGVzbPalKLNucR7c96YLQbfdA60KpEkQ= +github.com/aquasecurity/trivy-policies v0.5.0 h1:7GukJhiEQpKg8VQH3PkwZOyFqO0J6hGmUbt7jne5mhU= +github.com/aquasecurity/trivy-policies v0.5.0/go.mod h1:YPefENNCAcbPxMDgKBWxjLmhyzYnlAY/HIH89VFaogY= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= diff --git a/pkg/commands/app.go b/pkg/commands/app.go index c6ae0ed7a212..fe39fb57925c 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -232,12 +232,16 @@ func NewImageCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { compliance.Values = []string{types.ComplianceDockerCIS} reportFlagGroup.Compliance = &compliance // override usage as the accepted values differ for each subcommand. + misconfFlagGroup := flag.NewMisconfFlagGroup() + misconfFlagGroup.CloudformationParamVars = nil // disable '--cf-params' + misconfFlagGroup.TerraformTFVars = nil // disable '--tf-vars' + imageFlags := &flag.Flags{ CacheFlagGroup: flag.NewCacheFlagGroup(), DBFlagGroup: flag.NewDBFlagGroup(), ImageFlagGroup: flag.NewImageFlagGroup(), // container image specific LicenseFlagGroup: flag.NewLicenseFlagGroup(), - MisconfFlagGroup: flag.NewMisconfFlagGroup(), + MisconfFlagGroup: misconfFlagGroup, ModuleFlagGroup: flag.NewModuleFlagGroup(), RemoteFlagGroup: flag.NewClientFlags(), // for client/server mode RegistryFlagGroup: flag.NewRegistryFlagGroup(), @@ -896,12 +900,16 @@ func NewKubernetesCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { }) reportFlagGroup.Format = &formatFlag + misconfFlagGroup := flag.NewMisconfFlagGroup() + misconfFlagGroup.CloudformationParamVars = nil // disable '--cf-params' + misconfFlagGroup.TerraformTFVars = nil // disable '--tf-vars' + k8sFlags := &flag.Flags{ CacheFlagGroup: flag.NewCacheFlagGroup(), DBFlagGroup: flag.NewDBFlagGroup(), ImageFlagGroup: imageFlags, K8sFlagGroup: flag.NewK8sFlagGroup(), // kubernetes-specific flags - MisconfFlagGroup: flag.NewMisconfFlagGroup(), + MisconfFlagGroup: misconfFlagGroup, RegoFlagGroup: flag.NewRegoFlagGroup(), ReportFlagGroup: reportFlagGroup, ScanFlagGroup: scanFlags, @@ -1046,8 +1054,10 @@ func NewVMCommand(globalFlags *flag.GlobalFlagGroup) *cobra.Command { }, }, } - vmFlags.ReportFlagGroup.ReportFormat = nil // disable '--report' - vmFlags.ScanFlagGroup.IncludeDevDeps = nil // disable '--include-dev-deps' + vmFlags.ReportFlagGroup.ReportFormat = nil // disable '--report' + vmFlags.ScanFlagGroup.IncludeDevDeps = nil // disable '--include-dev-deps' + vmFlags.MisconfFlagGroup.CloudformationParamVars = nil // disable '--cf-params' + vmFlags.MisconfFlagGroup.TerraformTFVars = nil // disable '--tf-vars' cmd := &cobra.Command{ Use: "vm [flags] VM_IMAGE", diff --git a/pkg/commands/artifact/run.go b/pkg/commands/artifact/run.go index b36897ffc3bb..638677206243 100644 --- a/pkg/commands/artifact/run.go +++ b/pkg/commands/artifact/run.go @@ -583,6 +583,7 @@ func initScannerConfig(opts flag.Options, cacheClient cache.Cache) (ScannerConfi HelmFileValues: opts.HelmFileValues, HelmStringValues: opts.HelmStringValues, TerraformTFVars: opts.TerraformTFVars, + CloudFormationParamVars: opts.CloudFormationParamVars, K8sVersion: opts.K8sVersion, DisableEmbeddedPolicies: disableEmbedded, DisableEmbeddedLibraries: disableEmbedded, diff --git a/pkg/fanal/artifact/local/fs_test.go b/pkg/fanal/artifact/local/fs_test.go index e83bb0b8a7c0..21049d566f2a 100644 --- a/pkg/fanal/artifact/local/fs_test.go +++ b/pkg/fanal/artifact/local/fs_test.go @@ -854,7 +854,7 @@ func TestCloudFormationMisconfigurationScan(t *testing.T) { Args: cache.ArtifactCachePutBlobArgs{ BlobIDAnything: true, BlobInfo: types.BlobInfo{ - SchemaVersion: 2, + SchemaVersion: types.BlobJSONSchemaVersion, Misconfigurations: []types.Misconfiguration{ { FileType: "cloudformation", @@ -1014,6 +1014,64 @@ func TestCloudFormationMisconfigurationScan(t *testing.T) { }, }, }, + { + name: "CloudFormation parameters outside the scan directory", + fields: fields{ + dir: "./testdata/misconfig/cloudformation/params/code/src", + }, + artifactOpt: artifact.Option{ + MisconfScannerOption: misconf.ScannerOption{ + RegoOnly: true, + Namespaces: []string{"user"}, + PolicyPaths: []string{"./testdata/misconfig/cloudformation/params/code/rego"}, + CloudFormationParamVars: []string{"./testdata/misconfig/cloudformation/params/cfparams.json"}, + DisableEmbeddedPolicies: true, + DisableEmbeddedLibraries: true, + }, + }, + putBlobExpectation: cache.ArtifactCachePutBlobExpectation{ + Args: cache.ArtifactCachePutBlobArgs{ + BlobIDAnything: true, + BlobInfo: types.BlobInfo{ + SchemaVersion: types.BlobJSONSchemaVersion, + Misconfigurations: []types.Misconfiguration{ + { + FileType: "cloudformation", + FilePath: "main.yaml", + Successes: types.MisconfResults{ + { + Namespace: "user.something", + Query: "data.user.something.deny", + PolicyMetadata: types.PolicyMetadata{ + ID: "TEST001", + AVDID: "AVD-TEST-0001", + Type: "CloudFormation Security Check", + Title: "Bad stuff is bad", + Description: "Its not good!", + Severity: "HIGH", + RecommendedActions: "Remove bad stuff", + }, + CauseMetadata: types.CauseMetadata{ + Provider: "AWS", + Service: "sqs", + }, + }, + }, + }, + }, + }, + }, + Returns: cache.ArtifactCachePutBlobReturns{}, + }, + want: types.ArtifactReference{ + Name: "testdata/misconfig/cloudformation/params/code/src", + Type: types.ArtifactFilesystem, + ID: "sha256:0c66c19a4df3ecc11db9f90fbc921f1050325c05c480847369e07ee309e8a897", + BlobIDs: []string{ + "sha256:0c66c19a4df3ecc11db9f90fbc921f1050325c05c480847369e07ee309e8a897", + }, + }, + }, { name: "passed", fields: fields{ @@ -1032,7 +1090,7 @@ func TestCloudFormationMisconfigurationScan(t *testing.T) { Args: cache.ArtifactCachePutBlobArgs{ BlobIDAnything: true, BlobInfo: types.BlobInfo{ - SchemaVersion: 2, + SchemaVersion: types.BlobJSONSchemaVersion, Misconfigurations: []types.Misconfiguration{ { FileType: "cloudformation", diff --git a/pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/cfparams.json b/pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/cfparams.json new file mode 100644 index 000000000000..b9276cb36eb2 --- /dev/null +++ b/pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/cfparams.json @@ -0,0 +1,6 @@ +[ + { + "ParameterKey": "KmsMasterKeyId", + "ParameterValue": "some_id" + } +] \ No newline at end of file diff --git a/pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/code/rego/policy.rego b/pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/code/rego/policy.rego new file mode 100644 index 000000000000..1a94609aaa8b --- /dev/null +++ b/pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/code/rego/policy.rego @@ -0,0 +1,22 @@ +# METADATA +# title: "Bad stuff is bad" +# description: "Its not good!" +# scope: package +# schemas: +# - input: schema["cloud"] +# custom: +# avd_id: AVD-TEST-0001 +# id: TEST001 +# provider: aws +# service: sqs +# severity: HIGH +# short_code: foo-bar-baz +# recommended_action: "Remove bad stuff" + +package user.something + +deny[res] { + qs := input.aws.sqs.queues[_] + qs.encryption.kmskeyid.value == "" + res := "No unencrypted queues allowed!" +} \ No newline at end of file diff --git a/pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/code/src/main.yaml b/pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/code/src/main.yaml new file mode 100644 index 000000000000..45047944d8c9 --- /dev/null +++ b/pkg/fanal/artifact/local/testdata/misconfig/cloudformation/params/code/src/main.yaml @@ -0,0 +1,10 @@ +AWSTemplateFormatVersion: 2010-09-09 +Parameters: + KmsMasterKeyId: + Type: String +Resources: + TestQueue: + Type: 'AWS::SQS::Queue' + Properties: + QueueName: worst-possible-queue + KmsMasterKeyId: !Ref KmsMasterKeyId \ No newline at end of file diff --git a/pkg/flag/misconf_flags.go b/pkg/flag/misconf_flags.go index 3023ed48615a..38f8c837fa4a 100644 --- a/pkg/flag/misconf_flags.go +++ b/pkg/flag/misconf_flags.go @@ -55,6 +55,12 @@ var ( Default: []string{}, Usage: "specify paths to override the Terraform tfvars files", } + CfParamsFlag = Flag{ + Name: "cf-params", + ConfigName: "misconfiguration.cloudformation.params", + Default: []string{}, + Usage: "specify paths to override the CloudFormation parameters files", + } TerraformExcludeDownloaded = Flag{ Name: "tf-exclude-downloaded-modules", ConfigName: "misconfiguration.terraform.exclude-downloaded-modules", @@ -69,7 +75,7 @@ var ( } ) -// MisconfFlagGroup composes common printer flag structs used for commands providing misconfinguration scanning. +// MisconfFlagGroup composes common printer flag structs used for commands providing misconfiguration scanning. type MisconfFlagGroup struct { IncludeNonFailures *Flag ResetPolicyBundle *Flag @@ -81,6 +87,7 @@ type MisconfFlagGroup struct { HelmFileValues *Flag HelmStringValues *Flag TerraformTFVars *Flag + CloudformationParamVars *Flag TerraformExcludeDownloaded *Flag } @@ -90,12 +97,13 @@ type MisconfOptions struct { PolicyBundleRepository string // Values Files - HelmValues []string - HelmValueFiles []string - HelmFileValues []string - HelmStringValues []string - TerraformTFVars []string - TfExcludeDownloaded bool + HelmValues []string + HelmValueFiles []string + HelmFileValues []string + HelmStringValues []string + TerraformTFVars []string + CloudFormationParamVars []string + TfExcludeDownloaded bool } func NewMisconfFlagGroup() *MisconfFlagGroup { @@ -109,6 +117,7 @@ func NewMisconfFlagGroup() *MisconfFlagGroup { HelmStringValues: &HelmSetStringFlag, HelmValueFiles: &HelmValuesFileFlag, TerraformTFVars: &TfVarsFlag, + CloudformationParamVars: &CfParamsFlag, TerraformExcludeDownloaded: &TerraformExcludeDownloaded, } } @@ -128,19 +137,21 @@ func (f *MisconfFlagGroup) Flags() []*Flag { f.HelmStringValues, f.TerraformTFVars, f.TerraformExcludeDownloaded, + f.CloudformationParamVars, } } func (f *MisconfFlagGroup) ToOptions() (MisconfOptions, error) { return MisconfOptions{ - IncludeNonFailures: getBool(f.IncludeNonFailures), - ResetPolicyBundle: getBool(f.ResetPolicyBundle), - PolicyBundleRepository: getString(f.PolicyBundleRepository), - HelmValues: getStringSlice(f.HelmValues), - HelmValueFiles: getStringSlice(f.HelmValueFiles), - HelmFileValues: getStringSlice(f.HelmFileValues), - HelmStringValues: getStringSlice(f.HelmStringValues), - TerraformTFVars: getStringSlice(f.TerraformTFVars), - TfExcludeDownloaded: getBool(f.TerraformExcludeDownloaded), + IncludeNonFailures: getBool(f.IncludeNonFailures), + ResetPolicyBundle: getBool(f.ResetPolicyBundle), + PolicyBundleRepository: getString(f.PolicyBundleRepository), + HelmValues: getStringSlice(f.HelmValues), + HelmValueFiles: getStringSlice(f.HelmValueFiles), + HelmFileValues: getStringSlice(f.HelmFileValues), + HelmStringValues: getStringSlice(f.HelmStringValues), + TerraformTFVars: getStringSlice(f.TerraformTFVars), + CloudFormationParamVars: getStringSlice(f.CloudformationParamVars), + TfExcludeDownloaded: getBool(f.TerraformExcludeDownloaded), }, nil } diff --git a/pkg/misconf/scanner.go b/pkg/misconf/scanner.go index 39e6030e6d44..1308e683ab17 100644 --- a/pkg/misconf/scanner.go +++ b/pkg/misconf/scanner.go @@ -52,13 +52,14 @@ type ScannerOption struct { DisableEmbeddedPolicies bool DisableEmbeddedLibraries bool - HelmValues []string - HelmValueFiles []string - HelmFileValues []string - HelmStringValues []string - TerraformTFVars []string - TfExcludeDownloaded bool - K8sVersion string + HelmValues []string + HelmValueFiles []string + HelmFileValues []string + HelmStringValues []string + TerraformTFVars []string + CloudFormationParamVars []string + TfExcludeDownloaded bool + K8sVersion string } func (o *ScannerOption) Sort() { @@ -71,7 +72,6 @@ type Scanner struct { fileType detection.FileType scanner scanners.FSScanner hasFilePattern bool - configFiles []string } func NewAzureARMScanner(filePatterns []string, opt ScannerOption) (*Scanner, error) { @@ -109,7 +109,6 @@ func newScanner(t detection.FileType, filePatterns []string, opt ScannerOption) } var scanner scanners.FSScanner - var configFiles []string switch t { case detection.FileTypeAzureARM: scanner = arm.New(opts...) @@ -119,12 +118,10 @@ func newScanner(t detection.FileType, filePatterns []string, opt ScannerOption) scanner = dfscanner.NewScanner(opts...) case detection.FileTypeHelm: scanner = helm.New(opts...) - configFiles = append(opt.HelmFileValues, opt.HelmValueFiles...) case detection.FileTypeKubernetes: scanner = k8sscanner.NewScanner(opts...) case detection.FileTypeTerraform: scanner = tfscanner.New(opts...) - configFiles = opt.TerraformTFVars case detection.FileTypeTerraformPlan: scanner = tfpscanner.New(opts...) } @@ -133,7 +130,6 @@ func newScanner(t detection.FileType, filePatterns []string, opt ScannerOption) fileType: t, scanner: scanner, hasFilePattern: hasFilePattern(t, filePatterns), - configFiles: configFiles, }, nil } @@ -146,10 +142,6 @@ func (s *Scanner) Scan(ctx context.Context, fsys fs.FS) ([]types.Misconfiguratio return nil, nil } - if err := addConfigFilesToFS(newfs, s.configFiles); err != nil { - return nil, xerrors.Errorf("failed to add config files to fs: %w", err) - } - log.Logger.Debugf("Scanning %s files for misconfigurations...", s.scanner.Name()) results, err := s.scanner.ScanFS(ctx, newfs, ".") if err != nil { @@ -174,30 +166,6 @@ func (s *Scanner) Scan(ctx context.Context, fsys fs.FS) ([]types.Misconfiguratio return misconfs, nil } -func addConfigFilesToFS(fsys fs.FS, configFiles []string) error { - if len(configFiles) == 0 { - return nil - } - - mfs, ok := fsys.(*mapfs.FS) - if !ok { - return xerrors.Errorf("type assertion error: %T is not a *mapfs.FS", fsys) - } - for _, configFile := range configFiles { - if _, err := os.Stat(configFile); err != nil { - return xerrors.Errorf("config file %q not found: %w", configFile, err) - } - if err := mfs.MkdirAll(filepath.Dir(configFile), os.ModePerm); err != nil && !errors.Is(err, fs.ErrExist) { - return xerrors.Errorf("mkdir error: %w", err) - } - if err := mfs.WriteFile(configFile, configFile); err != nil { - return xerrors.Errorf("write file error: %w", err) - } - } - - return nil -} - func (s *Scanner) filterFS(fsys fs.FS) (fs.FS, error) { mfs, ok := fsys.(*mapfs.FS) if !ok { @@ -281,7 +249,9 @@ func scannerOptions(t detection.FileType, opt ScannerOption) ([]options.ScannerO case detection.FileTypeHelm: return addHelmOpts(opts, opt), nil case detection.FileTypeTerraform: - return addTFOpts(opts, opt), nil + return addTFOpts(opts, opt) + case detection.FileTypeCloudFormation: + return addCFOpts(opts, opt) default: return opts, nil } @@ -296,9 +266,17 @@ func hasFilePattern(t detection.FileType, filePatterns []string) bool { return false } -func addTFOpts(opts []options.ScannerOption, scannerOption ScannerOption) []options.ScannerOption { +func addTFOpts(opts []options.ScannerOption, scannerOption ScannerOption) ([]options.ScannerOption, error) { if len(scannerOption.TerraformTFVars) > 0 { - opts = append(opts, tfscanner.ScannerWithTFVarsPaths(scannerOption.TerraformTFVars...)) + configFS, err := createConfigFS(scannerOption.TerraformTFVars) + if err != nil { + return nil, xerrors.Errorf("failed to create Terraform config FS: %w", err) + } + opts = append( + opts, + tfscanner.ScannerWithTFVarsPaths(scannerOption.TerraformTFVars...), + tfscanner.ScannerWithConfigsFileSystem(configFS), + ) } opts = append(opts, @@ -306,7 +284,22 @@ func addTFOpts(opts []options.ScannerOption, scannerOption ScannerOption) []opti tfscanner.ScannerWithSkipDownloaded(scannerOption.TfExcludeDownloaded), ) - return opts + return opts, nil +} + +func addCFOpts(opts []options.ScannerOption, scannerOption ScannerOption) ([]options.ScannerOption, error) { + if len(scannerOption.CloudFormationParamVars) > 0 { + configFS, err := createConfigFS(scannerOption.CloudFormationParamVars) + if err != nil { + return nil, xerrors.Errorf("failed to create CloudFormation config FS: %w", err) + } + opts = append( + opts, + cfscanner.WithParameterFiles(scannerOption.CloudFormationParamVars...), + cfscanner.WithConfigsFS(configFS), + ) + } + return opts, nil } func addHelmOpts(opts []options.ScannerOption, scannerOption ScannerOption) []options.ScannerOption { @@ -329,6 +322,19 @@ func addHelmOpts(opts []options.ScannerOption, scannerOption ScannerOption) []op return opts } +func createConfigFS(paths []string) (fs.FS, error) { + mfs := mapfs.New() + for _, path := range paths { + if err := mfs.MkdirAll(filepath.Dir(path), os.ModePerm); err != nil && !errors.Is(err, fs.ErrExist) { + return nil, xerrors.Errorf("create dir error: %w", err) + } + if err := mfs.WriteFile(path, path); err != nil { + return nil, xerrors.Errorf("write file error: %w", err) + } + } + return mfs, nil +} + func CreatePolicyFS(policyPaths []string) (fs.FS, []string, error) { if len(policyPaths) == 0 { return nil, nil, nil From d9d7f3f190820a2117bb1b4054cbc9ca0e38a5e6 Mon Sep 17 00:00:00 2001 From: chenk Date: Thu, 16 Nov 2023 02:48:56 +0200 Subject: [PATCH 129/338] chore: bump node-collector v0.0.9 (#5591) Signed-off-by: chenk --- go.mod | 16 ++++++++-------- go.sum | 31 ++++++++++++++++--------------- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/go.mod b/go.mod index a47cd5f944ca..47594ca087d4 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/aquasecurity/trivy-db v0.0.0-20231005141211-4fc651f7ac8d github.com/aquasecurity/trivy-iac v0.5.2 github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 - github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a + github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231115100645-921512b4d163 github.com/aquasecurity/trivy-policies v0.5.0 github.com/aws/aws-sdk-go-v2 v1.22.1 github.com/aws/aws-sdk-go-v2/config v1.18.45 @@ -110,7 +110,7 @@ require ( golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v3 v3.0.1 - k8s.io/api v0.28.2 + k8s.io/api v0.28.3 k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 modernc.org/sqlite v1.23.1 ) @@ -384,14 +384,14 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect helm.sh/helm/v3 v3.13.0 // indirect k8s.io/apiextensions-apiserver v0.28.2 // indirect - k8s.io/apimachinery v0.28.2 // indirect + k8s.io/apimachinery v0.28.3 // indirect k8s.io/apiserver v0.28.2 // indirect - k8s.io/cli-runtime v0.28.2 // indirect - k8s.io/client-go v0.28.2 // indirect - k8s.io/component-base v0.28.2 // indirect + k8s.io/cli-runtime v0.28.3 // indirect + k8s.io/client-go v0.28.3 // indirect + k8s.io/component-base v0.28.3 // indirect k8s.io/klog/v2 v2.100.1 // indirect k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/kubectl v0.28.2 // indirect + k8s.io/kubectl v0.28.3 // indirect lukechampine.com/uint128 v1.2.0 // indirect modernc.org/cc/v3 v3.40.0 // indirect modernc.org/ccgo/v3 v3.16.13 // indirect @@ -406,7 +406,7 @@ require ( sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 // indirect sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) // oras 1.2.2 is incompatible with github.com/docker/docker v24.0.2 diff --git a/go.sum b/go.sum index 603ccf233384..0b350edd0a19 100644 --- a/go.sum +++ b/go.sum @@ -350,8 +350,8 @@ github.com/aquasecurity/trivy-iac v0.5.2 h1:cqeSDEfQtM3l4ceiQ+IUD2K/ZBhyz443xe+S github.com/aquasecurity/trivy-iac v0.5.2/go.mod h1:dHoaIzm4niotuaEiSM40HelhcL8m/2MHzT3uHcQYUh8= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728 h1:0eS+V7SXHgqoT99tV1mtMW6HL4HdoB9qGLMCb1fZp8A= github.com/aquasecurity/trivy-java-db v0.0.0-20230209231723-7cddb1406728/go.mod h1:Ldya37FLi0e/5Cjq2T5Bty7cFkzUDwTcPeQua+2M8i8= -github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a h1:x1Z+k7snLeDjTLnvTd4UPNo0HPMP6SNWxZTVU5smuA0= -github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231023143623-130fa1a0e44a/go.mod h1:e3iMAeJ1V/iPsNcRBVd9aDqj1YAXeURzv3qLurbloUk= +github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231115100645-921512b4d163 h1:6TsI0lQN7H/d3pM5vK1/taYbWMgnNYEOk+V2ydBdg0s= +github.com/aquasecurity/trivy-kubernetes v0.5.9-0.20231115100645-921512b4d163/go.mod h1:u+rEg3lTLpv3EJVSC7HOhWWlUwuuxlfczMncYPMqTPI= github.com/aquasecurity/trivy-policies v0.5.0 h1:7GukJhiEQpKg8VQH3PkwZOyFqO0J6hGmUbt7jne5mhU= github.com/aquasecurity/trivy-policies v0.5.0/go.mod h1:YPefENNCAcbPxMDgKBWxjLmhyzYnlAY/HIH89VFaogY= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= @@ -2472,32 +2472,32 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= -k8s.io/api v0.28.2 h1:9mpl5mOb6vXZvqbQmankOfPIGiudghwCoLl1EYfUZbw= -k8s.io/api v0.28.2/go.mod h1:RVnJBsjU8tcMq7C3iaRSGMeaKt2TWEUXcpIt/90fjEg= +k8s.io/api v0.28.3 h1:Gj1HtbSdB4P08C8rs9AR94MfSGpRhJgsS+GF9V26xMM= +k8s.io/api v0.28.3/go.mod h1:MRCV/jr1dW87/qJnZ57U5Pak65LGmQVkKTzf3AtKFHc= k8s.io/apiextensions-apiserver v0.28.2 h1:J6/QRWIKV2/HwBhHRVITMLYoypCoPY1ftigDM0Kn+QU= k8s.io/apiextensions-apiserver v0.28.2/go.mod h1:5tnkxLGa9nefefYzWuAlWZ7RZYuN/765Au8cWLA6SRg= k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= -k8s.io/apimachinery v0.28.2 h1:KCOJLrc6gu+wV1BYgwik4AF4vXOlVJPdiqn0yAWWwXQ= -k8s.io/apimachinery v0.28.2/go.mod h1:RdzF87y/ngqk9H4z3EL2Rppv5jj95vGS/HaFXrLDApU= +k8s.io/apimachinery v0.28.3 h1:B1wYx8txOaCQG0HmYF6nbpU8dg6HvA06x5tEffvOe7A= +k8s.io/apimachinery v0.28.3/go.mod h1:uQTKmIqs+rAYaq+DFaoD2X7pcjLOqbQX2AOiO0nIpb8= k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= k8s.io/apiserver v0.28.2 h1:rBeYkLvF94Nku9XfXyUIirsVzCzJBs6jMn3NWeHieyI= k8s.io/apiserver v0.28.2/go.mod h1:f7D5e8wH8MWcKD7azq6Csw9UN+CjdtXIVQUyUhrtb+E= -k8s.io/cli-runtime v0.28.2 h1:64meB2fDj10/ThIMEJLO29a1oujSm0GQmKzh1RtA/uk= -k8s.io/cli-runtime v0.28.2/go.mod h1:bTpGOvpdsPtDKoyfG4EG041WIyFZLV9qq4rPlkyYfDA= +k8s.io/cli-runtime v0.28.3 h1:lvuJYVkwCqHEvpS6KuTZsUVwPePFjBfSGvuaLl2SxzA= +k8s.io/cli-runtime v0.28.3/go.mod h1:jeX37ZPjIcENVuXDDTskG3+FnVuZms5D9omDXS/2Jjc= k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= -k8s.io/client-go v0.28.2 h1:DNoYI1vGq0slMBN/SWKMZMw0Rq+0EQW6/AK4v9+3VeY= -k8s.io/client-go v0.28.2/go.mod h1:sMkApowspLuc7omj1FOSUxSoqjr+d5Q0Yc0LOFnYFJY= +k8s.io/client-go v0.28.3 h1:2OqNb72ZuTZPKCl+4gTKvqao0AMOl9f3o2ijbAj3LI4= +k8s.io/client-go v0.28.3/go.mod h1:LTykbBp9gsA7SwqirlCXBWtK0guzfhpoW4qSm7i9dxo= k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= -k8s.io/component-base v0.28.2 h1:Yc1yU+6AQSlpJZyvehm/NkJBII72rzlEsd6MkBQ+G0E= -k8s.io/component-base v0.28.2/go.mod h1:4IuQPQviQCg3du4si8GpMrhAIegxpsgPngPRR/zWpzc= +k8s.io/component-base v0.28.3 h1:rDy68eHKxq/80RiMb2Ld/tbH8uAE75JdCqJyi6lXMzI= +k8s.io/component-base v0.28.3/go.mod h1:fDJ6vpVNSk6cRo5wmDa6eKIG7UlIQkaFmZN2fYgIUD8= k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= @@ -2510,8 +2510,8 @@ k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/kubectl v0.28.2 h1:fOWOtU6S0smdNjG1PB9WFbqEIMlkzU5ahyHkc7ESHgM= -k8s.io/kubectl v0.28.2/go.mod h1:6EQWTPySF1fn7yKoQZHYf9TPwIl2AygHEcJoxFekr64= +k8s.io/kubectl v0.28.3 h1:H1Peu1O3EbN9zHkJCcvhiJ4NUj6lb88sGPO5wrWIM6k= +k8s.io/kubectl v0.28.3/go.mod h1:RDAudrth/2wQ3Sg46fbKKl4/g+XImzvbsSRZdP2RiyE= k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 h1:qY1Ad8PODbnymg2pRbkyMT/ylpTrCM8P2RJ0yroCyIk= @@ -2559,5 +2559,6 @@ sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kF sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= From 71051863c6106c3e28569ffdd0282993996c6941 Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Thu, 16 Nov 2023 09:49:38 +0900 Subject: [PATCH 130/338] test: mock VM walker (#5589) Signed-off-by: knqyf263 --- pkg/commands/artifact/inject.go | 5 +- pkg/commands/artifact/scanner.go | 9 +- pkg/commands/artifact/wire_gen.go | 8 +- pkg/fanal/artifact/vm/ebs.go | 1 - .../artifact/vm/testdata/AmazonLinux2.img.gz | Bin 1486871 -> 0 bytes .../vm/testdata/alpine/etc/alpine-release | 1 + .../vm/testdata/alpine/lib/apk/db/installed | 21 + pkg/fanal/artifact/vm/testdata/mock.img | 1 + pkg/fanal/artifact/vm/testdata/rawdata.img | 1 - pkg/fanal/artifact/vm/vm.go | 80 ++-- pkg/fanal/artifact/vm/vm_test.go | 386 ++++-------------- pkg/fanal/walker/vm.go | 4 +- 12 files changed, 171 insertions(+), 346 deletions(-) delete mode 100644 pkg/fanal/artifact/vm/testdata/AmazonLinux2.img.gz create mode 100644 pkg/fanal/artifact/vm/testdata/alpine/etc/alpine-release create mode 100644 pkg/fanal/artifact/vm/testdata/alpine/lib/apk/db/installed create mode 100644 pkg/fanal/artifact/vm/testdata/mock.img delete mode 100644 pkg/fanal/artifact/vm/testdata/rawdata.img diff --git a/pkg/commands/artifact/inject.go b/pkg/commands/artifact/inject.go index b6a0cc105cf1..c6bf6f4594a6 100644 --- a/pkg/commands/artifact/inject.go +++ b/pkg/commands/artifact/inject.go @@ -5,6 +5,7 @@ package artifact import ( "context" + "github.com/aquasecurity/trivy/pkg/fanal/artifact/vm" "github.com/google/wire" @@ -56,7 +57,7 @@ func initializeSBOMScanner(ctx context.Context, filePath string, artifactCache c } func initializeVMScanner(ctx context.Context, filePath string, artifactCache cache.ArtifactCache, - localArtifactCache cache.LocalArtifactCache, artifactOption artifact.Option) ( + localArtifactCache cache.LocalArtifactCache, walker vm.Walker, artifactOption artifact.Option) ( scanner.Scanner, func(), error) { wire.Build(scanner.StandaloneVMSet) return scanner.Scanner{}, nil, nil @@ -107,7 +108,7 @@ func initializeRemoteSBOMScanner(ctx context.Context, path string, artifactCache // initializeRemoteVMScanner is for vm scanning in client/server mode func initializeRemoteVMScanner(ctx context.Context, path string, artifactCache cache.ArtifactCache, - remoteScanOptions client.ScannerOption, artifactOption artifact.Option) (scanner.Scanner, func(), error) { + walker vm.Walker, remoteScanOptions client.ScannerOption, artifactOption artifact.Option) (scanner.Scanner, func(), error) { wire.Build(scanner.RemoteVMSet) return scanner.Scanner{}, nil, nil } diff --git a/pkg/commands/artifact/scanner.go b/pkg/commands/artifact/scanner.go index 73e6e9241c1f..e5946193b789 100644 --- a/pkg/commands/artifact/scanner.go +++ b/pkg/commands/artifact/scanner.go @@ -5,6 +5,7 @@ import ( "golang.org/x/xerrors" + "github.com/aquasecurity/trivy/pkg/fanal/walker" "github.com/aquasecurity/trivy/pkg/scanner" ) @@ -109,8 +110,10 @@ func sbomRemoteScanner(ctx context.Context, conf ScannerConfig) (scanner.Scanner // vmStandaloneScanner initializes a VM scanner in standalone mode func vmStandaloneScanner(ctx context.Context, conf ScannerConfig) (scanner.Scanner, func(), error) { + // TODO: The walker should be initialized in initializeVMScanner after https://github.com/aquasecurity/trivy/pull/5180 + w := walker.NewVM(conf.ArtifactOption.SkipFiles, conf.ArtifactOption.SkipDirs) s, cleanup, err := initializeVMScanner(ctx, conf.Target, conf.ArtifactCache, conf.LocalArtifactCache, - conf.ArtifactOption) + w, conf.ArtifactOption) if err != nil { return scanner.Scanner{}, func() {}, xerrors.Errorf("unable to initialize a vm scanner: %w", err) } @@ -119,7 +122,9 @@ func vmStandaloneScanner(ctx context.Context, conf ScannerConfig) (scanner.Scann // vmRemoteScanner initializes a VM scanner in client/server mode func vmRemoteScanner(ctx context.Context, conf ScannerConfig) (scanner.Scanner, func(), error) { - s, cleanup, err := initializeRemoteVMScanner(ctx, conf.Target, conf.ArtifactCache, conf.ServerOption, conf.ArtifactOption) + // TODO: The walker should be initialized in initializeVMScanner after https://github.com/aquasecurity/trivy/pull/5180 + w := walker.NewVM(conf.ArtifactOption.SkipFiles, conf.ArtifactOption.SkipDirs) + s, cleanup, err := initializeRemoteVMScanner(ctx, conf.Target, conf.ArtifactCache, w, conf.ServerOption, conf.ArtifactOption) if err != nil { return scanner.Scanner{}, func() {}, xerrors.Errorf("unable to initialize a remote vm scanner: %w", err) } diff --git a/pkg/commands/artifact/wire_gen.go b/pkg/commands/artifact/wire_gen.go index 9f89dca066d8..2c8cb311d431 100644 --- a/pkg/commands/artifact/wire_gen.go +++ b/pkg/commands/artifact/wire_gen.go @@ -124,14 +124,14 @@ func initializeSBOMScanner(ctx context.Context, filePath string, artifactCache c }, nil } -func initializeVMScanner(ctx context.Context, filePath string, artifactCache cache.ArtifactCache, localArtifactCache cache.LocalArtifactCache, artifactOption artifact.Option) (scanner.Scanner, func(), error) { +func initializeVMScanner(ctx context.Context, filePath string, artifactCache cache.ArtifactCache, localArtifactCache cache.LocalArtifactCache, walker vm.Walker, artifactOption artifact.Option) (scanner.Scanner, func(), error) { applierApplier := applier.NewApplier(localArtifactCache) ospkgScanner := ospkg.NewScanner() langpkgScanner := langpkg.NewScanner() config := db.Config{} client := vulnerability.NewClient(config) localScanner := local.NewScanner(applierApplier, ospkgScanner, langpkgScanner, client) - artifactArtifact, err := vm.NewArtifact(filePath, artifactCache, artifactOption) + artifactArtifact, err := vm.NewArtifact(filePath, artifactCache, walker, artifactOption) if err != nil { return scanner.Scanner{}, nil, err } @@ -222,10 +222,10 @@ func initializeRemoteSBOMScanner(ctx context.Context, path string, artifactCache } // initializeRemoteVMScanner is for vm scanning in client/server mode -func initializeRemoteVMScanner(ctx context.Context, path string, artifactCache cache.ArtifactCache, remoteScanOptions client.ScannerOption, artifactOption artifact.Option) (scanner.Scanner, func(), error) { +func initializeRemoteVMScanner(ctx context.Context, path string, artifactCache cache.ArtifactCache, walker vm.Walker, remoteScanOptions client.ScannerOption, artifactOption artifact.Option) (scanner.Scanner, func(), error) { v := _wireValue clientScanner := client.NewScanner(remoteScanOptions, v...) - artifactArtifact, err := vm.NewArtifact(path, artifactCache, artifactOption) + artifactArtifact, err := vm.NewArtifact(path, artifactCache, walker, artifactOption) if err != nil { return scanner.Scanner{}, nil, err } diff --git a/pkg/fanal/artifact/vm/ebs.go b/pkg/fanal/artifact/vm/ebs.go index 9c702d06a3cc..879d5e9b424c 100644 --- a/pkg/fanal/artifact/vm/ebs.go +++ b/pkg/fanal/artifact/vm/ebs.go @@ -26,7 +26,6 @@ type EBS struct { } func newEBS(snapshotID string, vm Storage, region, endpoint string) (*EBS, error) { - ebs, err := ebsfile.New(context.TODO(), config.MakeAWSOptions(region, endpoint)...) if err != nil { return nil, xerrors.Errorf("new ebsfile error: %w", err) diff --git a/pkg/fanal/artifact/vm/testdata/AmazonLinux2.img.gz b/pkg/fanal/artifact/vm/testdata/AmazonLinux2.img.gz deleted file mode 100644 index 584051b2a3c984b70b718643ff3e3e589650712f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1486871 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
alpine
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActionsDescriptionAccess levelResource types (*required)Condition keysDependent actions
+ + DeleteAlarms + Grants permission to delete a collection of alarmsWrite +

+ alarm* +

+
+ + DeleteAnomalyDetector + Grants permission to delete the specified anomaly detection model from your accountWrite
+ + DeleteDashboards + Grants permission to delete all CloudWatch dashboards that you specifyWrite +

+ dashboard* +

+
+ + DeleteInsightRules + Grants permission to delete a collection of insight rulesWrite +

+ insight-rule* +

+
+ + DeleteMetricStream + Grants permission to delete the CloudWatch metric stream that you specifyWrite +

+ metric-stream* +

+
+ + DescribeAlarmHistory + Grants permission to retrieve the history for the specified alarmRead +

+ alarm* +

+
+ + DescribeAlarms + Grants permission to describe all alarms, currently owned by the user's accountRead +

+ alarm* +

+
+ + DescribeAlarmsForMetric + Grants permission to describe all alarms configured on the specified metric, currently owned by the user's accountRead
+ + DescribeAnomalyDetectors + Grants permission to list the anomaly detection models that you have created in your accountRead
+ + DescribeInsightRules + Grants permission to describe all insight rules, currently owned by the user's accountRead
+ + DisableAlarmActions + Grants permission to disable actions for a collection of alarmsWrite +

+ alarm* +

+
+ + DisableInsightRules + Grants permission to disable a collection of insight rulesWrite +

+ insight-rule* +

+
+ + EnableAlarmActions + Grants permission to enable actions for a collection of alarmsWrite +

+ alarm* +

+
+ + EnableInsightRules + Grants permission to enable a collection of insight rulesWrite +

+ insight-rule* +

+
+ + GetDashboard + Grants permission to display the details of the CloudWatch dashboard you specifyRead +

+ dashboard* +

+
+ + GetInsightRuleReport + Grants permission to return the top-N report of unique contributors over a time range for a given insight ruleRead +

+ insight-rule* +

+
+ + GetMetricData + Grants permission to retrieve batch amounts of CloudWatch metric data and perform metric math on retrieved dataRead
+ + GetMetricStatistics + Grants permission to retrieve statistics for the specified metricRead
+ + GetMetricStream + Grants permission to return the details of a CloudWatch metric streamRead +

+ metric-stream* +

+
+ + GetMetricWidgetImage + Grants permission to retrieve snapshots of metric widgetsRead
Grants permission to share CloudWatch resources with a monitoring accountWrite
+ + ListDashboards + Grants permission to return a list of all CloudWatch dashboards in your accountList
+ + ListManagedInsightRules + Grants permission to list available managed Insight Rules for a given Resource ARNRead +

+ aws:RequestTag/${TagKey} +

+

+ aws:TagKeys +

+

+ cloudwatch:requestManagedResourceARNs +

+
+ + ListMetricStreams + Grants permission to return a list of all CloudWatch metric streams in your accountList
+ + ListMetrics + Grants permission to retrieve a list of valid metrics stored for the AWS account ownerList
+ + ListTagsForResource + Grants permission to list tags for an Amazon CloudWatch resourceList +

+ alarm +

+
+

+ insight-rule +

+
+

+ SCENARIO: + CloudWatch-Alarm +

+
+

+ alarm* +

+
+

+ SCENARIO: + CloudWatch-InsightRule +

+
+

+ insight-rule* +

+
+ + PutAnomalyDetector + Grants permission to create or update an anomaly detection model for a CloudWatch metricWrite
+ + PutCompositeAlarm + Grants permission to create or update a composite alarmWrite +

+ alarm* +

+
+

+ aws:RequestTag/${TagKey} +

+

+ aws:TagKeys +

+

+ cloudwatch:AlarmActions +

+
+ + PutDashboard + Grants permission to create a CloudWatch dashboard, or update an existing dashboard if it already existsWrite +

+ dashboard* +

+
+ + PutInsightRule + Grants permission to create a new insight rule or replace an existing insight ruleWrite +

+ insight-rule* +

+
+

+ aws:RequestTag/${TagKey} +

+

+ aws:TagKeys +

+

+ cloudwatch:requestInsightRuleLogGroups +

+
+ + PutManagedInsightRules + Grants permission to create managed Insight RulesWrite +

+ aws:RequestTag/${TagKey} +

+

+ aws:TagKeys +

+

+ cloudwatch:requestManagedResourceARNs +

+
+ + PutMetricAlarm + Grants permission to create or update an alarm and associates it with the specified Amazon CloudWatch metricWrite +

+ alarm* +

+
+

+ aws:RequestTag/${TagKey} +

+

+ aws:TagKeys +

+

+ cloudwatch:AlarmActions +

+
+ + PutMetricData + Grants permission to publish metric data points to Amazon CloudWatchWrite +

+ cloudwatch:namespace +

+
+ + PutMetricStream + Grants permission to create a CloudWatch metric stream, or update an existing metric stream if it already existsWrite +

+ metric-stream* +

+
+

+ aws:RequestTag/${TagKey} +

+

+ aws:TagKeys +

+
+ + SetAlarmState + Grants permission to temporarily set the state of an alarm for testing purposesWrite +

+ alarm* +

+
+ + StartMetricStreams + Grants permission to start all CloudWatch metric streams that you specifyWrite +

+ metric-stream* +

+
+ + StopMetricStreams + Grants permission to stop all CloudWatch metric streams that you specifyWrite +

+ metric-stream* +

+
+ + TagResource + Grants permission to add tags to an Amazon CloudWatch resourceTagging +

+ alarm +

+
+

+ insight-rule +

+
+

+ aws:TagKeys +

+

+ aws:RequestTag/${TagKey} +

+
+

+ SCENARIO: + CloudWatch-Alarm +

+
+

+ alarm* +

+
+

+ SCENARIO: + CloudWatch-InsightRule +

+
+

+ insight-rule* +

+
+ + UntagResource + Grants permission to remove a tag from an Amazon CloudWatch resourceTagging +

+ alarm +

+
+

+ insight-rule +

+
+

+ aws:TagKeys +

+
+

+ SCENARIO: + CloudWatch-Alarm +

+
+

+ alarm* +

+
+

+ SCENARIO: + CloudWatch-InsightRule +

+
+

+ insight-rule* +

+
+ +

Resource types defined by Amazon CloudWatch

+ +

The following resource types are defined by this service and can be used in the Resource element of IAM permission policy statements. Each action in the Actions table identifies the resource types that can be specified with that action. A resource type can also define which condition keys you can include in a policy. These keys are displayed in the last column of the Resource types table. For details about the columns in the following table, see Resource types table.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Resource typesARNCondition keys
+ + alarm + + arn:${Partition}:cloudwatch:${Region}:${Account}:alarm:${AlarmName} + +

+ aws:ResourceTag/${TagKey} +

+
+ + dashboard + + arn:${Partition}:cloudwatch::${Account}:dashboard/${DashboardName} +
+ + insight-rule + + arn:${Partition}:cloudwatch:${Region}:${Account}:insight-rule/${InsightRuleName} + +

+ aws:ResourceTag/${TagKey} +

+
+ + metric-stream + + arn:${Partition}:cloudwatch:${Region}:${Account}:metric-stream/${MetricStreamName} + +

+ aws:ResourceTag/${TagKey} +

+
+ +

Condition keys for Amazon CloudWatch

+ +

Amazon CloudWatch defines the following condition keys that can be used in the Condition element of an IAM policy. You can use these keys to further refine the conditions under which the policy statement applies. For details about the columns in the following table, see Condition keys table.

+ +

To view the global condition keys that are available to all services, see Available global condition keys.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Condition keysDescriptionType
+ + aws:RequestTag/${TagKey} + Filters actions based on the allowed set of values for each of the tagsString
+ + aws:ResourceTag/${TagKey} + Filters actions based on tag-value associated with the resourceString
+ + aws:TagKeys + Filters actions based on the presence of mandatory tags in the requestArrayOfString
+ + cloudwatch:AlarmActions + Filters actions based on defined alarm actionsArrayOfString
+ + cloudwatch:namespace + Filters actions based on the presence of optional namespace valuesString
+ + cloudwatch:requestInsightRuleLogGroups + Filters actions based on the Log Groups specified in an Insight RuleArrayOfString
+ + cloudwatch:requestManagedResourceARNs + Filters access by the Resource ARNs specified in a managed Insight RuleArrayOfARN
+
\ No newline at end of file diff --git a/magefiles/testdata/reference_policies_actions-resources-contextkeys.html b/magefiles/testdata/reference_policies_actions-resources-contextkeys.html new file mode 100644 index 000000000000..053322c7f6bc --- /dev/null +++ b/magefiles/testdata/reference_policies_actions-resources-contextkeys.html @@ -0,0 +1,26 @@ + diff --git a/pkg/cloud/aws/cache/cache.go b/pkg/cloud/aws/cache/cache.go index ce3f9776f02a..660cb24b443b 100644 --- a/pkg/cloud/aws/cache/cache.go +++ b/pkg/cloud/aws/cache/cache.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/aquasecurity/defsec/pkg/state" + "github.com/aquasecurity/trivy/pkg/iac/state" ) type Cache struct { diff --git a/pkg/cloud/aws/commands/run_test.go b/pkg/cloud/aws/commands/run_test.go index 3d9d01f17292..feacdcc5a762 100644 --- a/pkg/cloud/aws/commands/run_test.go +++ b/pkg/cloud/aws/commands/run_test.go @@ -3,19 +3,20 @@ package commands import ( "bytes" "context" - "github.com/aquasecurity/trivy/pkg/clock" "os" "path/filepath" "testing" "time" + "github.com/aquasecurity/trivy/pkg/clock" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/compliance/spec" "github.com/aquasecurity/trivy/pkg/flag" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) const expectedS3ScanResult = `{ @@ -1002,18 +1003,17 @@ deny { }, ReportOptions: flag.ReportOptions{ Compliance: spec.ComplianceSpec{ - Spec: defsecTypes.Spec{ - // TODO: refactor defsec so that the parsed spec can be passed + Spec: iacTypes.Spec{ ID: "@testdata/example-spec.yaml", Title: "my-custom-spec", Description: "My fancy spec", Version: "1.2", - Controls: []defsecTypes.Control{ + Controls: []iacTypes.Control{ { ID: "1.1", Name: "Unencrypted S3 bucket", Description: "S3 Buckets should be encrypted to protect the data that is stored within them if access is compromised.", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-AWS-0088"}, }, Severity: "HIGH", diff --git a/pkg/cloud/aws/scanner/scanner.go b/pkg/cloud/aws/scanner/scanner.go index 9c0514691c7c..d91721512505 100644 --- a/pkg/cloud/aws/scanner/scanner.go +++ b/pkg/cloud/aws/scanner/scanner.go @@ -7,14 +7,14 @@ import ( "golang.org/x/xerrors" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/state" aws "github.com/aquasecurity/trivy-aws/pkg/scanner" "github.com/aquasecurity/trivy/pkg/cloud/aws/cache" "github.com/aquasecurity/trivy/pkg/commands/operation" "github.com/aquasecurity/trivy/pkg/flag" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/state" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/misconf" ) diff --git a/pkg/cloud/report/convert.go b/pkg/cloud/report/convert.go index 7babc9157701..2f6917d18553 100644 --- a/pkg/cloud/report/convert.go +++ b/pkg/cloud/report/convert.go @@ -7,8 +7,8 @@ import ( "github.com/aws/aws-sdk-go-v2/aws/arn" - "github.com/aquasecurity/defsec/pkg/scan" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/types" ) diff --git a/pkg/cloud/report/convert_test.go b/pkg/cloud/report/convert_test.go index 6b2025209394..b8a0b728c53f 100644 --- a/pkg/cloud/report/convert_test.go +++ b/pkg/cloud/report/convert_test.go @@ -7,9 +7,9 @@ import ( "github.com/aws/aws-sdk-go-v2/aws/arn" "github.com/stretchr/testify/assert" - "github.com/aquasecurity/defsec/pkg/scan" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" fanaltypes "github.com/aquasecurity/trivy/pkg/fanal/types" + "github.com/aquasecurity/trivy/pkg/iac/scan" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/aquasecurity/trivy/pkg/types" ) @@ -57,7 +57,7 @@ func Test_ResultConversion(t *testing.T) { var s3Results scan.Results s3Results.Add( "something failed", - defsecTypes.NewRemoteMetadata((arn.ARN{ + iacTypes.NewRemoteMetadata((arn.ARN{ Partition: "aws", Service: "s3", Region: "us-east-1", @@ -67,7 +67,7 @@ func Test_ResultConversion(t *testing.T) { ) s3Results.Add( "something else failed", - defsecTypes.NewRemoteMetadata((arn.ARN{ + iacTypes.NewRemoteMetadata((arn.ARN{ Partition: "aws", Service: "s3", Region: "us-east-1", @@ -77,7 +77,7 @@ func Test_ResultConversion(t *testing.T) { ) s3Results.Add( "something else failed again", - defsecTypes.NewRemoteMetadata((arn.ARN{ + iacTypes.NewRemoteMetadata((arn.ARN{ Partition: "aws", Service: "s3", Region: "us-east-1", @@ -90,7 +90,7 @@ func Test_ResultConversion(t *testing.T) { var ec2Results scan.Results ec2Results.Add( "instance is bad", - defsecTypes.NewRemoteMetadata((arn.ARN{ + iacTypes.NewRemoteMetadata((arn.ARN{ Partition: "aws", Service: "ec2", Region: "us-east-1", diff --git a/pkg/cloud/report/report.go b/pkg/cloud/report/report.go index c60e00b45360..b2a9d50cf507 100644 --- a/pkg/cloud/report/report.go +++ b/pkg/cloud/report/report.go @@ -9,12 +9,12 @@ import ( "golang.org/x/xerrors" - "github.com/aquasecurity/defsec/pkg/scan" "github.com/aquasecurity/tml" "github.com/aquasecurity/trivy/pkg/clock" cr "github.com/aquasecurity/trivy/pkg/compliance/report" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/flag" + "github.com/aquasecurity/trivy/pkg/iac/scan" pkgReport "github.com/aquasecurity/trivy/pkg/report" "github.com/aquasecurity/trivy/pkg/result" "github.com/aquasecurity/trivy/pkg/types" diff --git a/pkg/cloud/report/service_test.go b/pkg/cloud/report/service_test.go index 55dd6cf5f77d..12c998e23913 100644 --- a/pkg/cloud/report/service_test.go +++ b/pkg/cloud/report/service_test.go @@ -3,18 +3,19 @@ package report import ( "bytes" "context" - "github.com/aquasecurity/trivy/pkg/clock" "testing" "time" + "github.com/aquasecurity/trivy/pkg/clock" + "github.com/aws/aws-sdk-go-v2/aws/arn" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/aquasecurity/defsec/pkg/scan" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/flag" + "github.com/aquasecurity/trivy/pkg/iac/scan" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Test_ServiceReport(t *testing.T) { @@ -364,7 +365,7 @@ func createTestResults() scan.Results { var s3Results scan.Results s3Results.Add( "something failed", - defsecTypes.NewRemoteMetadata((arn.ARN{ + iacTypes.NewRemoteMetadata((arn.ARN{ Partition: "aws", Service: "s3", Region: "us-east-1", @@ -374,7 +375,7 @@ func createTestResults() scan.Results { ) s3Results.Add( "something else failed", - defsecTypes.NewRemoteMetadata((arn.ARN{ + iacTypes.NewRemoteMetadata((arn.ARN{ Partition: "aws", Service: "s3", Region: "us-east-1", @@ -384,7 +385,7 @@ func createTestResults() scan.Results { ) s3Results.Add( "something else failed again", - defsecTypes.NewRemoteMetadata((arn.ARN{ + iacTypes.NewRemoteMetadata((arn.ARN{ Partition: "aws", Service: "s3", Region: "us-east-1", @@ -393,7 +394,7 @@ func createTestResults() scan.Results { }).String()), ) s3Results.AddPassed( - defsecTypes.NewRemoteMetadata((arn.ARN{ + iacTypes.NewRemoteMetadata((arn.ARN{ Partition: "aws", Service: "s3", Region: "us-east-1", @@ -406,7 +407,7 @@ func createTestResults() scan.Results { var ec2Results scan.Results ec2Results.Add( "instance is bad", - defsecTypes.NewRemoteMetadata((arn.ARN{ + iacTypes.NewRemoteMetadata((arn.ARN{ Partition: "aws", Service: "ec2", Region: "us-east-1", diff --git a/pkg/compliance/report/report.go b/pkg/compliance/report/report.go index 61a4973b2b0a..d4b31668ed6d 100644 --- a/pkg/compliance/report/report.go +++ b/pkg/compliance/report/report.go @@ -6,9 +6,9 @@ import ( "golang.org/x/xerrors" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/compliance/spec" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/aquasecurity/trivy/pkg/types" ) @@ -39,7 +39,7 @@ type ControlCheckResult struct { ID string Name string Description string - DefaultStatus defsecTypes.ControlStatus `json:",omitempty"` + DefaultStatus iacTypes.ControlStatus `json:",omitempty"` Severity string Results types.Results } @@ -96,7 +96,7 @@ func (r ComplianceReport) empty() bool { } // buildControlCheckResults create compliance results data -func buildControlCheckResults(checksMap map[string]types.Results, controls []defsecTypes.Control) []*ControlCheckResult { +func buildControlCheckResults(checksMap map[string]types.Results, controls []iacTypes.Control) []*ControlCheckResult { var complianceResults []*ControlCheckResult for _, control := range controls { var results types.Results @@ -116,7 +116,7 @@ func buildControlCheckResults(checksMap map[string]types.Results, controls []def } // buildComplianceReportResults create compliance results data -func buildComplianceReportResults(checksMap map[string]types.Results, s defsecTypes.Spec) *ComplianceReport { +func buildComplianceReportResults(checksMap map[string]types.Results, s iacTypes.Spec) *ComplianceReport { controlCheckResult := buildControlCheckResults(checksMap, s.Controls) return &ComplianceReport{ ID: s.ID, diff --git a/pkg/compliance/report/report_test.go b/pkg/compliance/report/report_test.go index 9254b4922207..e673bd50a24d 100644 --- a/pkg/compliance/report/report_test.go +++ b/pkg/compliance/report/report_test.go @@ -6,12 +6,12 @@ import ( "github.com/stretchr/testify/assert" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy-db/pkg/vulnsrc/vulnerability" "github.com/aquasecurity/trivy/pkg/compliance/report" "github.com/aquasecurity/trivy/pkg/compliance/spec" ftypes "github.com/aquasecurity/trivy/pkg/fanal/types" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/aquasecurity/trivy/pkg/types" ) @@ -98,7 +98,7 @@ func TestBuildComplianceReport(t *testing.T) { }, }, cs: spec.ComplianceSpec{ - Spec: defsecTypes.Spec{ + Spec: iacTypes.Spec{ ID: "1234", Title: "NSA", Description: "National Security Agency - Kubernetes Hardening Guidance", @@ -106,13 +106,13 @@ func TestBuildComplianceReport(t *testing.T) { RelatedResources: []string{ "https://example.com", }, - Controls: []defsecTypes.Control{ + Controls: []iacTypes.Control{ { ID: "1.0", Name: "Non-root containers", Description: "Check that container is not running as root", Severity: "MEDIUM", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-KSV-0001"}, }, }, @@ -121,7 +121,7 @@ func TestBuildComplianceReport(t *testing.T) { Name: "Immutable container file systems", Description: "Check that container root file system is immutable", Severity: "LOW", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-KSV-0002"}, }, }, @@ -130,7 +130,7 @@ func TestBuildComplianceReport(t *testing.T) { Name: "tzdata - new upstream version", Description: "Bad tzdata package", Severity: "CRITICAL", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "DLA-2424-1"}, }, }, diff --git a/pkg/compliance/spec/compliance.go b/pkg/compliance/spec/compliance.go index 73b7dfe635c1..0f219dca7c60 100644 --- a/pkg/compliance/spec/compliance.go +++ b/pkg/compliance/spec/compliance.go @@ -9,8 +9,8 @@ import ( "golang.org/x/xerrors" "gopkg.in/yaml.v3" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" sp "github.com/aquasecurity/trivy-policies/pkg/spec" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/aquasecurity/trivy/pkg/types" ) @@ -18,13 +18,13 @@ type Severity string // ComplianceSpec represent the compliance specification type ComplianceSpec struct { - Spec defsecTypes.Spec `yaml:"spec"` + Spec iacTypes.Spec `yaml:"spec"` } const ( - FailStatus defsecTypes.ControlStatus = "FAIL" - PassStatus defsecTypes.ControlStatus = "PASS" - WarnStatus defsecTypes.ControlStatus = "WARN" + FailStatus iacTypes.ControlStatus = "FAIL" + PassStatus iacTypes.ControlStatus = "PASS" + WarnStatus iacTypes.ControlStatus = "WARN" ) // Scanners reads spec control and determines the scanners by check ID prefix diff --git a/pkg/compliance/spec/compliance_test.go b/pkg/compliance/spec/compliance_test.go index f34722525e1f..a4ee4961973e 100644 --- a/pkg/compliance/spec/compliance_test.go +++ b/pkg/compliance/spec/compliance_test.go @@ -6,21 +6,21 @@ import ( "github.com/stretchr/testify/assert" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/compliance/spec" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/aquasecurity/trivy/pkg/types" ) func TestComplianceSpec_Scanners(t *testing.T) { tests := []struct { name string - spec defsecTypes.Spec + spec iacTypes.Spec want types.Scanners wantErr assert.ErrorAssertionFunc }{ { name: "get config scanner type by check id prefix", - spec: defsecTypes.Spec{ + spec: iacTypes.Spec{ ID: "1234", Title: "NSA", Description: "National Security Agency - Kubernetes Hardening Guidance", @@ -28,12 +28,12 @@ func TestComplianceSpec_Scanners(t *testing.T) { "https://example.com", }, Version: "1.0", - Controls: []defsecTypes.Control{ + Controls: []iacTypes.Control{ { Name: "Non-root containers", Description: "Check that container is not running as root", ID: "1.0", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-KSV012"}, }, }, @@ -41,7 +41,7 @@ func TestComplianceSpec_Scanners(t *testing.T) { Name: "Check that encryption resource has been set", Description: "Control checks whether encryption resource has been set", ID: "1.1", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-1.2.31"}, {ID: "AVD-1.2.32"}, }, @@ -53,7 +53,7 @@ func TestComplianceSpec_Scanners(t *testing.T) { }, { name: "get config and vuln scanners types by check id prefix", - spec: defsecTypes.Spec{ + spec: iacTypes.Spec{ ID: "1234", Title: "NSA", Description: "National Security Agency - Kubernetes Hardening Guidance", @@ -61,12 +61,12 @@ func TestComplianceSpec_Scanners(t *testing.T) { "https://example.com", }, Version: "1.0", - Controls: []defsecTypes.Control{ + Controls: []iacTypes.Control{ { Name: "Non-root containers", Description: "Check that container is not running as root", ID: "1.0", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-KSV012"}, }, }, @@ -74,7 +74,7 @@ func TestComplianceSpec_Scanners(t *testing.T) { Name: "Check that encryption resource has been set", Description: "Control checks whether encryption resource has been set", ID: "1.1", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-1.2.31"}, {ID: "AVD-1.2.32"}, }, @@ -83,7 +83,7 @@ func TestComplianceSpec_Scanners(t *testing.T) { Name: "Ensure no critical vulnerabilities", Description: "Control checks whether critical vulnerabilities are not found", ID: "7.0", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "CVE-9999-9999"}, }, }, @@ -97,7 +97,7 @@ func TestComplianceSpec_Scanners(t *testing.T) { }, { name: "unknown prefix", - spec: defsecTypes.Spec{ + spec: iacTypes.Spec{ ID: "1234", Title: "NSA", Description: "National Security Agency - Kubernetes Hardening Guidance", @@ -105,11 +105,11 @@ func TestComplianceSpec_Scanners(t *testing.T) { "https://example.com", }, Version: "1.0", - Controls: []defsecTypes.Control{ + Controls: []iacTypes.Control{ { Name: "Unknown", ID: "1.0", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "UNKNOWN-001"}, }, }, @@ -138,12 +138,12 @@ func TestComplianceSpec_Scanners(t *testing.T) { func TestComplianceSpec_CheckIDs(t *testing.T) { tests := []struct { name string - spec defsecTypes.Spec + spec iacTypes.Spec want map[types.Scanner][]string }{ { name: "get config scanner type by check id prefix", - spec: defsecTypes.Spec{ + spec: iacTypes.Spec{ ID: "1234", Title: "NSA", Description: "National Security Agency - Kubernetes Hardening Guidance", @@ -151,12 +151,12 @@ func TestComplianceSpec_CheckIDs(t *testing.T) { "https://example.com", }, Version: "1.0", - Controls: []defsecTypes.Control{ + Controls: []iacTypes.Control{ { Name: "Non-root containers", Description: "Check that container is not running as root", ID: "1.0", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-KSV012"}, }, }, @@ -164,7 +164,7 @@ func TestComplianceSpec_CheckIDs(t *testing.T) { Name: "Check that encryption resource has been set", Description: "Control checks whether encryption resource has been set", ID: "1.1", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-1.2.31"}, {ID: "AVD-1.2.32"}, }, @@ -181,7 +181,7 @@ func TestComplianceSpec_CheckIDs(t *testing.T) { }, { name: "get config and vuln scanners types by check id prefix", - spec: defsecTypes.Spec{ + spec: iacTypes.Spec{ ID: "1234", Title: "NSA", Description: "National Security Agency - Kubernetes Hardening Guidance", @@ -189,12 +189,12 @@ func TestComplianceSpec_CheckIDs(t *testing.T) { "https://example.com", }, Version: "1.0", - Controls: []defsecTypes.Control{ + Controls: []iacTypes.Control{ { Name: "Non-root containers", Description: "Check that container is not running as root", ID: "1.0", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-KSV012"}, }, }, @@ -202,7 +202,7 @@ func TestComplianceSpec_CheckIDs(t *testing.T) { Name: "Check that encryption resource has been set", Description: "Control checks whether encryption resource has been set", ID: "1.1", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-1.2.31"}, {ID: "AVD-1.2.32"}, }, @@ -211,7 +211,7 @@ func TestComplianceSpec_CheckIDs(t *testing.T) { Name: "Ensure no critical vulnerabilities", Description: "Control checks whether critical vulnerabilities are not found", ID: "7.0", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "CVE-9999-9999"}, }, }, diff --git a/pkg/fanal/analyzer/imgconf/dockerfile/dockerfile_test.go b/pkg/fanal/analyzer/imgconf/dockerfile/dockerfile_test.go index 61ba06f00142..c23174d76540 100644 --- a/pkg/fanal/analyzer/imgconf/dockerfile/dockerfile_test.go +++ b/pkg/fanal/analyzer/imgconf/dockerfile/dockerfile_test.go @@ -21,7 +21,7 @@ func Test_historyAnalyzer_Analyze(t *testing.T) { wantErr bool }{ { - name: "happy", + name: "happy path no policy failure", input: analyzer.ConfigAnalysisInput{ Config: &v1.ConfigFile{ Config: v1.Config{ @@ -33,6 +33,7 @@ func Test_historyAnalyzer_Analyze(t *testing.T) { }, History: []v1.History{ { + // this is fine, see https://github.com/aquasecurity/trivy-policies/pull/60 for details CreatedBy: "/bin/sh -c #(nop) ADD file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 in /", EmptyLayer: false, }, @@ -51,6 +52,44 @@ func Test_historyAnalyzer_Analyze(t *testing.T) { }, }, }, + want: &analyzer.ConfigAnalysisResult{ + Misconfiguration: &types.Misconfiguration{ + FileType: "dockerfile", + FilePath: "Dockerfile", + }, + }, + }, + { + name: "happy path with policy failure", + input: analyzer.ConfigAnalysisInput{ + Config: &v1.ConfigFile{ + Config: v1.Config{ + Healthcheck: &v1.HealthConfig{ + Test: []string{"CMD-SHELL", "curl --fail http://localhost:3000 || exit 1"}, + Interval: time.Second * 10, + Timeout: time.Second * 3, + }, + }, + History: []v1.History{ + { + CreatedBy: "/bin/sh -c #(nop) ADD file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 /", + EmptyLayer: false, + }, + { + CreatedBy: `HEALTHCHECK &{["CMD-SHELL" "curl --fail http://localhost:3000 || exit 1"] "10s" "3s" "0s" '\x00'}`, + EmptyLayer: false, + }, + { + CreatedBy: `USER user`, + EmptyLayer: true, + }, + { + CreatedBy: `/bin/sh -c #(nop) CMD [\"/bin/sh\"]`, + EmptyLayer: true, + }, + }, + }, + }, want: &analyzer.ConfigAnalysisResult{ Misconfiguration: &types.Misconfiguration{ FileType: "dockerfile", @@ -59,7 +98,7 @@ func Test_historyAnalyzer_Analyze(t *testing.T) { types.MisconfResult{ Namespace: "builtin.dockerfile.DS005", Query: "data.builtin.dockerfile.DS005.deny", - Message: "Consider using 'COPY file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 in /' command instead of 'ADD file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 in /'", + Message: "Consider using 'COPY file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 /' command instead of 'ADD file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 /'", PolicyMetadata: types.PolicyMetadata{ ID: "DS005", AVDID: "AVD-DS-0005", @@ -79,10 +118,10 @@ func Test_historyAnalyzer_Analyze(t *testing.T) { Lines: []types.Line{ { Number: 1, - Content: "ADD file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 in /", + Content: "ADD file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 /", IsCause: true, Truncated: false, - Highlighted: "\x1b[38;5;64mADD\x1b[0m file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 in /", + Highlighted: "\x1b[38;5;64mADD\x1b[0m file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 /", FirstCause: true, LastCause: true, }, diff --git a/pkg/fanal/secret/builtin-rules.go b/pkg/fanal/secret/builtin-rules.go index 47eaa716f34d..ef0347c49064 100644 --- a/pkg/fanal/secret/builtin-rules.go +++ b/pkg/fanal/secret/builtin-rules.go @@ -5,8 +5,8 @@ import ( "github.com/samber/lo" - defsecRules "github.com/aquasecurity/defsec/pkg/rules" "github.com/aquasecurity/trivy/pkg/fanal/types" + iacRules "github.com/aquasecurity/trivy/pkg/iac/rules" ) var ( @@ -82,9 +82,9 @@ const ( ) // This function is exported for trivy-plugin-aqua purposes only -func GetSecretRulesMetadata() []defsecRules.Check { - return lo.Map(builtinRules, func(rule Rule, i int) defsecRules.Check { - return defsecRules.Check{ +func GetSecretRulesMetadata() []iacRules.Check { + return lo.Map(builtinRules, func(rule Rule, i int) iacRules.Check { + return iacRules.Check{ Name: rule.ID, Description: rule.Title, } diff --git a/pkg/flag/report_flags_test.go b/pkg/flag/report_flags_test.go index 4207aa2747d1..1d230398d5c7 100644 --- a/pkg/flag/report_flags_test.go +++ b/pkg/flag/report_flags_test.go @@ -8,10 +8,10 @@ import ( "go.uber.org/zap" "go.uber.org/zap/zaptest/observer" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" "github.com/aquasecurity/trivy/pkg/compliance/spec" "github.com/aquasecurity/trivy/pkg/flag" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/aquasecurity/trivy/pkg/log" "github.com/aquasecurity/trivy/pkg/types" ) @@ -161,17 +161,17 @@ func TestReportFlagGroup_ToOptions(t *testing.T) { }, want: flag.ReportOptions{ Compliance: spec.ComplianceSpec{ - Spec: defsecTypes.Spec{ + Spec: iacTypes.Spec{ ID: "0001", Title: "my-custom-spec", Description: "My fancy spec", Version: "1.2", - Controls: []defsecTypes.Control{ + Controls: []iacTypes.Control{ { ID: "1.1", Name: "Unencrypted S3 bucket", Description: "S3 Buckets should be encrypted to protect the data that is stored within them if access is compromised.", - Checks: []defsecTypes.SpecCheck{ + Checks: []iacTypes.SpecCheck{ {ID: "AVD-AWS-0088"}, }, Severity: "HIGH", diff --git a/pkg/iac/adapters/arm/adapt.go b/pkg/iac/adapters/arm/adapt.go index f8985a51d61f..a6bcbec2a42e 100644 --- a/pkg/iac/adapters/arm/adapt.go +++ b/pkg/iac/adapters/arm/adapt.go @@ -3,8 +3,6 @@ package arm import ( "context" - "github.com/aquasecurity/defsec/pkg/providers/azure" - "github.com/aquasecurity/defsec/pkg/state" "github.com/aquasecurity/trivy/pkg/iac/adapters/arm/appservice" "github.com/aquasecurity/trivy/pkg/iac/adapters/arm/authorization" "github.com/aquasecurity/trivy/pkg/iac/adapters/arm/compute" @@ -18,7 +16,9 @@ import ( "github.com/aquasecurity/trivy/pkg/iac/adapters/arm/securitycenter" "github.com/aquasecurity/trivy/pkg/iac/adapters/arm/storage" "github.com/aquasecurity/trivy/pkg/iac/adapters/arm/synapse" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure" scanner "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + "github.com/aquasecurity/trivy/pkg/iac/state" ) // Adapt adapts an azure arm instance diff --git a/pkg/iac/adapters/arm/appservice/adapt.go b/pkg/iac/adapters/arm/appservice/adapt.go index 78922d30f281..d5512cc5d3b4 100644 --- a/pkg/iac/adapters/arm/appservice/adapt.go +++ b/pkg/iac/adapters/arm/appservice/adapt.go @@ -1,9 +1,9 @@ package appservice import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/appservice" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/appservice" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(deployment azure.Deployment) appservice.AppService { @@ -41,15 +41,15 @@ func adaptService(resource azure.Resource) appservice.Service { return appservice.Service{ Metadata: resource.Metadata, EnableClientCert: resource.Properties.GetMapValue("clientCertEnabled").AsBoolValue(false, resource.Properties.GetMetadata()), - Identity: struct{ Type defsecTypes.StringValue }{ + Identity: struct{ Type iacTypes.StringValue }{ Type: resource.Properties.GetMapValue("identity").GetMapValue("type").AsStringValue("", resource.Properties.GetMetadata()), }, - Authentication: struct{ Enabled defsecTypes.BoolValue }{ + Authentication: struct{ Enabled iacTypes.BoolValue }{ Enabled: resource.Properties.GetMapValue("siteAuthSettings").GetMapValue("enabled").AsBoolValue(false, resource.Properties.GetMetadata()), }, Site: struct { - EnableHTTP2 defsecTypes.BoolValue - MinimumTLSVersion defsecTypes.StringValue + EnableHTTP2 iacTypes.BoolValue + MinimumTLSVersion iacTypes.StringValue }{ EnableHTTP2: resource.Properties.GetMapValue("httpsOnly").AsBoolValue(false, resource.Properties.GetMetadata()), MinimumTLSVersion: resource.Properties.GetMapValue("minTlsVersion").AsStringValue("", resource.Properties.GetMetadata()), diff --git a/pkg/iac/adapters/arm/authorization/adapt.go b/pkg/iac/adapters/arm/authorization/adapt.go index aa5a2e80d642..08798665eaab 100644 --- a/pkg/iac/adapters/arm/authorization/adapt.go +++ b/pkg/iac/adapters/arm/authorization/adapt.go @@ -1,7 +1,7 @@ package authorization import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/authorization" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/authorization" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" ) diff --git a/pkg/iac/adapters/arm/compute/adapt.go b/pkg/iac/adapters/arm/compute/adapt.go index bc072571c7f3..bdcbfac500fd 100644 --- a/pkg/iac/adapters/arm/compute/adapt.go +++ b/pkg/iac/adapters/arm/compute/adapt.go @@ -1,9 +1,9 @@ package compute import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/compute" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/compute" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(deployment azure.Deployment) compute.Compute { @@ -30,7 +30,7 @@ func adaptManagedDisk(resource azure.Resource) compute.ManagedDisk { Metadata: resource.Metadata, Encryption: compute.Encryption{ Metadata: resource.Metadata, - Enabled: defsecTypes.Bool(hasEncryption, resource.Metadata), + Enabled: iacTypes.Bool(hasEncryption, resource.Metadata), }, } } diff --git a/pkg/iac/adapters/arm/compute/adapt_test.go b/pkg/iac/adapters/arm/compute/adapt_test.go index 03cd1a52d504..2021e08b95a8 100644 --- a/pkg/iac/adapters/arm/compute/adapt_test.go +++ b/pkg/iac/adapters/arm/compute/adapt_test.go @@ -3,8 +3,8 @@ package compute import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" azure2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/adapters/arm/container/adapt.go b/pkg/iac/adapters/arm/container/adapt.go index 0748411ad282..2172553e4cfb 100644 --- a/pkg/iac/adapters/arm/container/adapt.go +++ b/pkg/iac/adapters/arm/container/adapt.go @@ -1,7 +1,7 @@ package container import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/container" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/container" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" ) diff --git a/pkg/iac/adapters/arm/database/adapt.go b/pkg/iac/adapters/arm/database/adapt.go index 7c32428847a6..834865fc22d0 100644 --- a/pkg/iac/adapters/arm/database/adapt.go +++ b/pkg/iac/adapters/arm/database/adapt.go @@ -1,7 +1,7 @@ package database import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/database" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/database" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" ) diff --git a/pkg/iac/adapters/arm/database/firewall.go b/pkg/iac/adapters/arm/database/firewall.go index c25412871a30..ff6ff5a56cd3 100644 --- a/pkg/iac/adapters/arm/database/firewall.go +++ b/pkg/iac/adapters/arm/database/firewall.go @@ -1,7 +1,7 @@ package database import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/database" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/database" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" ) diff --git a/pkg/iac/adapters/arm/database/maria.go b/pkg/iac/adapters/arm/database/maria.go index 853426ad84bd..083c3b0540e5 100644 --- a/pkg/iac/adapters/arm/database/maria.go +++ b/pkg/iac/adapters/arm/database/maria.go @@ -1,7 +1,7 @@ package database import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/database" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/database" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" ) diff --git a/pkg/iac/adapters/arm/database/mssql.go b/pkg/iac/adapters/arm/database/mssql.go index 08b2ccdc2bec..95cc41ed6b25 100644 --- a/pkg/iac/adapters/arm/database/mssql.go +++ b/pkg/iac/adapters/arm/database/mssql.go @@ -1,9 +1,9 @@ package database import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/database" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/database" azure2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptMSSQLServers(deployment azure2.Deployment) (msSQlServers []database.MSSQLServer) { @@ -52,8 +52,8 @@ func adaptSecurityAlertPolicies(resource azure2.Resource, deployment azure2.Depl return policies } -func adaptStringList(value azure2.Value) []defsecTypes.StringValue { - var list []defsecTypes.StringValue +func adaptStringList(value azure2.Value) []iacTypes.StringValue { + var list []iacTypes.StringValue for _, v := range value.AsList() { list = append(list, v.AsStringValue("", value.Metadata)) } diff --git a/pkg/iac/adapters/arm/database/postgresql.go b/pkg/iac/adapters/arm/database/postgresql.go index b4e37e7c43c2..155667c65f39 100644 --- a/pkg/iac/adapters/arm/database/postgresql.go +++ b/pkg/iac/adapters/arm/database/postgresql.go @@ -4,9 +4,9 @@ import ( "fmt" "strings" - "github.com/aquasecurity/defsec/pkg/providers/azure/database" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/database" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptPostgreSQLServers(deployment azure.Deployment) (databases []database.PostgreSQLServer) { @@ -37,9 +37,9 @@ func adaptPostgreSQLConfiguration(resource azure.Resource, deployment azure.Depl config := database.PostgresSQLConfig{ Metadata: resource.Metadata, - LogCheckpoints: defsecTypes.BoolDefault(false, resource.Metadata), - ConnectionThrottling: defsecTypes.BoolDefault(false, resource.Metadata), - LogConnections: defsecTypes.BoolDefault(false, resource.Metadata), + LogCheckpoints: iacTypes.BoolDefault(false, resource.Metadata), + ConnectionThrottling: iacTypes.BoolDefault(false, resource.Metadata), + LogConnections: iacTypes.BoolDefault(false, resource.Metadata), } for _, configuration := range deployment.GetResourcesByType("Microsoft.DBforPostgreSQL/servers/configurations") { diff --git a/pkg/iac/adapters/arm/datafactory/adapt.go b/pkg/iac/adapters/arm/datafactory/adapt.go index dfc94b537311..3dbb44ecd0b0 100644 --- a/pkg/iac/adapters/arm/datafactory/adapt.go +++ b/pkg/iac/adapters/arm/datafactory/adapt.go @@ -1,7 +1,7 @@ package datafactory import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/datafactory" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/datafactory" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" ) diff --git a/pkg/iac/adapters/arm/datalake/adapt.go b/pkg/iac/adapters/arm/datalake/adapt.go index b11d43618f25..301650d50114 100644 --- a/pkg/iac/adapters/arm/datalake/adapt.go +++ b/pkg/iac/adapters/arm/datalake/adapt.go @@ -1,7 +1,7 @@ package datalake import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/datalake" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/datalake" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" ) diff --git a/pkg/iac/adapters/arm/keyvault/adapt.go b/pkg/iac/adapters/arm/keyvault/adapt.go index b1eef216cf85..71a1fbd54f33 100644 --- a/pkg/iac/adapters/arm/keyvault/adapt.go +++ b/pkg/iac/adapters/arm/keyvault/adapt.go @@ -1,7 +1,7 @@ package keyvault import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/keyvault" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/keyvault" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" ) diff --git a/pkg/iac/adapters/arm/monitor/adapt.go b/pkg/iac/adapters/arm/monitor/adapt.go index 271bc2ea58d8..e821ec256c92 100644 --- a/pkg/iac/adapters/arm/monitor/adapt.go +++ b/pkg/iac/adapters/arm/monitor/adapt.go @@ -1,9 +1,9 @@ package monitor import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/monitor" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/monitor" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(deployment azure.Deployment) monitor.Monitor { diff --git a/pkg/iac/adapters/arm/network/adapt.go b/pkg/iac/adapters/arm/network/adapt.go index 2ed036c193d2..5201b84761e7 100644 --- a/pkg/iac/adapters/arm/network/adapt.go +++ b/pkg/iac/adapters/arm/network/adapt.go @@ -4,9 +4,9 @@ import ( "strconv" "strings" - "github.com/aquasecurity/defsec/pkg/providers/azure/network" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/network" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(deployment azure.Deployment) network.Network { @@ -57,14 +57,14 @@ func adaptSecurityGroupRule(resource azure.Resource) network.SecurityGroupRule { } destinationPortRanges = append(destinationPortRanges, expandRange(resource.Properties.GetMapValue("destinationPortRange").AsString(), resource.Metadata)) - allow := defsecTypes.BoolDefault(false, resource.Metadata) + allow := iacTypes.BoolDefault(false, resource.Metadata) if resource.Properties.GetMapValue("access").AsString() == "Allow" { - allow = defsecTypes.Bool(true, resource.Metadata) + allow = iacTypes.Bool(true, resource.Metadata) } - outbound := defsecTypes.BoolDefault(false, resource.Metadata) + outbound := iacTypes.BoolDefault(false, resource.Metadata) if resource.Properties.GetMapValue("direction").AsString() == "Outbound" { - outbound = defsecTypes.Bool(true, resource.Metadata) + outbound = iacTypes.Bool(true, resource.Metadata) } return network.SecurityGroupRule{ @@ -97,7 +97,7 @@ func adaptNetworkWatcherFlowLog(resource azure.Resource) network.NetworkWatcherF } } -func expandRange(r string, m defsecTypes.Metadata) network.PortRange { +func expandRange(r string, m iacTypes.Metadata) network.PortRange { start := 0 end := 65535 switch { diff --git a/pkg/iac/adapters/arm/securitycenter/adapt.go b/pkg/iac/adapters/arm/securitycenter/adapt.go index dfa44e943cf8..69a5de5b8d79 100644 --- a/pkg/iac/adapters/arm/securitycenter/adapt.go +++ b/pkg/iac/adapters/arm/securitycenter/adapt.go @@ -1,7 +1,7 @@ package securitycenter import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/securitycenter" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/securitycenter" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" ) diff --git a/pkg/iac/adapters/arm/storage/adapt.go b/pkg/iac/adapters/arm/storage/adapt.go index 10d60b1f3cd0..1b10ebbe9ad8 100644 --- a/pkg/iac/adapters/arm/storage/adapt.go +++ b/pkg/iac/adapters/arm/storage/adapt.go @@ -3,9 +3,9 @@ package storage import ( "strings" - "github.com/aquasecurity/defsec/pkg/providers/azure/storage" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/storage" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(deployment azure.Deployment) storage.Storage { diff --git a/pkg/iac/adapters/arm/storage/adapt_test.go b/pkg/iac/adapters/arm/storage/adapt_test.go index 4735af9cdf47..31d95e814d6e 100644 --- a/pkg/iac/adapters/arm/storage/adapt_test.go +++ b/pkg/iac/adapters/arm/storage/adapt_test.go @@ -6,7 +6,7 @@ import ( azure2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" "github.com/stretchr/testify/assert" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/adapters/arm/synapse/adapt.go b/pkg/iac/adapters/arm/synapse/adapt.go index e295772091bc..649831e16a9a 100644 --- a/pkg/iac/adapters/arm/synapse/adapt.go +++ b/pkg/iac/adapters/arm/synapse/adapt.go @@ -1,9 +1,9 @@ package synapse import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/synapse" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/synapse" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(deployment azure.Deployment) synapse.Synapse { diff --git a/pkg/iac/adapters/cloudformation/adapt.go b/pkg/iac/adapters/cloudformation/adapt.go index 8b7eb58e4933..da2d2595892d 100644 --- a/pkg/iac/adapters/cloudformation/adapt.go +++ b/pkg/iac/adapters/cloudformation/adapt.go @@ -1,9 +1,9 @@ package cloudformation import ( - "github.com/aquasecurity/defsec/pkg/state" "github.com/aquasecurity/trivy/pkg/iac/adapters/cloudformation/aws" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/state" ) // Adapt adapts the Cloudformation instance diff --git a/pkg/iac/adapters/cloudformation/aws/accessanalyzer/accessanalyzer.go b/pkg/iac/adapters/cloudformation/aws/accessanalyzer/accessanalyzer.go index 3afc0b146756..e6f7031a58d5 100644 --- a/pkg/iac/adapters/cloudformation/aws/accessanalyzer/accessanalyzer.go +++ b/pkg/iac/adapters/cloudformation/aws/accessanalyzer/accessanalyzer.go @@ -1,7 +1,7 @@ package accessanalyzer import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/accessanalyzer" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/accessanalyzer" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/accessanalyzer/analyzer.go b/pkg/iac/adapters/cloudformation/aws/accessanalyzer/analyzer.go index c592f1348ad7..c81802d60e0e 100644 --- a/pkg/iac/adapters/cloudformation/aws/accessanalyzer/analyzer.go +++ b/pkg/iac/adapters/cloudformation/aws/accessanalyzer/analyzer.go @@ -1,9 +1,9 @@ package accessanalyzer import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/accessanalyzer" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/accessanalyzer" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getAccessAnalyzer(ctx parser.FileContext) (analyzers []accessanalyzer.Analyzer) { diff --git a/pkg/iac/adapters/cloudformation/aws/adapt.go b/pkg/iac/adapters/cloudformation/aws/adapt.go index 18f36e2fa9ed..e8c10edf0855 100644 --- a/pkg/iac/adapters/cloudformation/aws/adapt.go +++ b/pkg/iac/adapters/cloudformation/aws/adapt.go @@ -1,7 +1,6 @@ package aws import ( - "github.com/aquasecurity/defsec/pkg/providers/aws" "github.com/aquasecurity/trivy/pkg/iac/adapters/cloudformation/aws/apigateway" "github.com/aquasecurity/trivy/pkg/iac/adapters/cloudformation/aws/athena" "github.com/aquasecurity/trivy/pkg/iac/adapters/cloudformation/aws/cloudfront" @@ -33,6 +32,7 @@ import ( "github.com/aquasecurity/trivy/pkg/iac/adapters/cloudformation/aws/sqs" "github.com/aquasecurity/trivy/pkg/iac/adapters/cloudformation/aws/ssm" "github.com/aquasecurity/trivy/pkg/iac/adapters/cloudformation/aws/workspaces" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/apigateway/apigateway.go b/pkg/iac/adapters/cloudformation/aws/apigateway/apigateway.go index fbe540024123..bbc79623a6c4 100644 --- a/pkg/iac/adapters/cloudformation/aws/apigateway/apigateway.go +++ b/pkg/iac/adapters/cloudformation/aws/apigateway/apigateway.go @@ -1,9 +1,9 @@ package apigateway import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway" - v1 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v1" - v2 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway" + v1 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v1" + v2 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v2" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/apigateway/stage.go b/pkg/iac/adapters/cloudformation/aws/apigateway/stage.go index 7c8360899a4b..c79f89fda5ea 100644 --- a/pkg/iac/adapters/cloudformation/aws/apigateway/stage.go +++ b/pkg/iac/adapters/cloudformation/aws/apigateway/stage.go @@ -1,9 +1,9 @@ package apigateway import ( - v2 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v2" - "github.com/aquasecurity/defsec/pkg/types" + v2 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v2" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getApis(cfFile parser2.FileContext) (apis []v2.API) { diff --git a/pkg/iac/adapters/cloudformation/aws/athena/athena.go b/pkg/iac/adapters/cloudformation/aws/athena/athena.go index 14c8254e01a9..b23a1936c179 100644 --- a/pkg/iac/adapters/cloudformation/aws/athena/athena.go +++ b/pkg/iac/adapters/cloudformation/aws/athena/athena.go @@ -1,7 +1,7 @@ package athena import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/athena" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/athena" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/athena/workgroup.go b/pkg/iac/adapters/cloudformation/aws/athena/workgroup.go index b62eef37566a..916e2ac4b6f8 100644 --- a/pkg/iac/adapters/cloudformation/aws/athena/workgroup.go +++ b/pkg/iac/adapters/cloudformation/aws/athena/workgroup.go @@ -1,7 +1,7 @@ package athena import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/athena" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/athena" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/cloudfront/cloudfront.go b/pkg/iac/adapters/cloudformation/aws/cloudfront/cloudfront.go index dad0b1b6ed3b..0cfe00145907 100644 --- a/pkg/iac/adapters/cloudformation/aws/cloudfront/cloudfront.go +++ b/pkg/iac/adapters/cloudformation/aws/cloudfront/cloudfront.go @@ -1,7 +1,7 @@ package cloudfront import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudfront" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudfront" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/cloudfront/distribution.go b/pkg/iac/adapters/cloudformation/aws/cloudfront/distribution.go index c0687d4cffb0..0364dc82d052 100644 --- a/pkg/iac/adapters/cloudformation/aws/cloudfront/distribution.go +++ b/pkg/iac/adapters/cloudformation/aws/cloudfront/distribution.go @@ -1,9 +1,9 @@ package cloudfront import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudfront" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudfront" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getDistributions(ctx parser2.FileContext) (distributions []cloudfront.Distribution) { diff --git a/pkg/iac/adapters/cloudformation/aws/cloudtrail/cloudtrail.go b/pkg/iac/adapters/cloudformation/aws/cloudtrail/cloudtrail.go index 982c68ca5ed4..04270579dbcd 100644 --- a/pkg/iac/adapters/cloudformation/aws/cloudtrail/cloudtrail.go +++ b/pkg/iac/adapters/cloudformation/aws/cloudtrail/cloudtrail.go @@ -1,7 +1,7 @@ package cloudtrail import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudtrail" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudtrail" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/cloudtrail/trails.go b/pkg/iac/adapters/cloudformation/aws/cloudtrail/trails.go index 60c8f4417187..fc9c3871cbba 100644 --- a/pkg/iac/adapters/cloudformation/aws/cloudtrail/trails.go +++ b/pkg/iac/adapters/cloudformation/aws/cloudtrail/trails.go @@ -1,7 +1,7 @@ package cloudtrail import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudtrail" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudtrail" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/cloudwatch/cloudwatch.go b/pkg/iac/adapters/cloudformation/aws/cloudwatch/cloudwatch.go index dcc7074008fd..1c6efa85a891 100644 --- a/pkg/iac/adapters/cloudformation/aws/cloudwatch/cloudwatch.go +++ b/pkg/iac/adapters/cloudformation/aws/cloudwatch/cloudwatch.go @@ -1,7 +1,7 @@ package cloudwatch import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudwatch" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudwatch" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/cloudwatch/log_group.go b/pkg/iac/adapters/cloudformation/aws/cloudwatch/log_group.go index 0f513a314006..81730f050ecf 100644 --- a/pkg/iac/adapters/cloudformation/aws/cloudwatch/log_group.go +++ b/pkg/iac/adapters/cloudformation/aws/cloudwatch/log_group.go @@ -1,9 +1,9 @@ package cloudwatch import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudwatch" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudwatch" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getLogGroups(ctx parser.FileContext) (logGroups []cloudwatch.LogGroup) { diff --git a/pkg/iac/adapters/cloudformation/aws/codebuild/codebuild.go b/pkg/iac/adapters/cloudformation/aws/codebuild/codebuild.go index 1a36b5d1406f..8951f230ee98 100644 --- a/pkg/iac/adapters/cloudformation/aws/codebuild/codebuild.go +++ b/pkg/iac/adapters/cloudformation/aws/codebuild/codebuild.go @@ -1,7 +1,7 @@ package codebuild import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/codebuild" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/codebuild" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/codebuild/project.go b/pkg/iac/adapters/cloudformation/aws/codebuild/project.go index 431a369218b1..9c0541831223 100644 --- a/pkg/iac/adapters/cloudformation/aws/codebuild/project.go +++ b/pkg/iac/adapters/cloudformation/aws/codebuild/project.go @@ -1,9 +1,9 @@ package codebuild import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/codebuild" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/codebuild" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getProjects(ctx parser2.FileContext) (projects []codebuild.Project) { diff --git a/pkg/iac/adapters/cloudformation/aws/config/adapt_test.go b/pkg/iac/adapters/cloudformation/aws/config/adapt_test.go index 1c9fbb0860ef..1a8f30e018f6 100644 --- a/pkg/iac/adapters/cloudformation/aws/config/adapt_test.go +++ b/pkg/iac/adapters/cloudformation/aws/config/adapt_test.go @@ -4,10 +4,10 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/providers/aws/config" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/config" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/adapters/cloudformation/aws/config/aggregator.go b/pkg/iac/adapters/cloudformation/aws/config/aggregator.go index ee29524c22dc..1f34c21591b0 100644 --- a/pkg/iac/adapters/cloudformation/aws/config/aggregator.go +++ b/pkg/iac/adapters/cloudformation/aws/config/aggregator.go @@ -1,16 +1,16 @@ package config import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/config" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/config" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getConfigurationAggregator(ctx parser2.FileContext) config.ConfigurationAggregrator { aggregator := config.ConfigurationAggregrator{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - SourceAllRegions: defsecTypes.BoolDefault(false, ctx.Metadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + SourceAllRegions: iacTypes.BoolDefault(false, ctx.Metadata()), } aggregatorResources := ctx.GetResourcesByType("AWS::Config::ConfigurationAggregator") @@ -25,7 +25,7 @@ func getConfigurationAggregator(ctx parser2.FileContext) config.ConfigurationAgg } } -func isSourcingAllRegions(r *parser2.Resource) defsecTypes.BoolValue { +func isSourcingAllRegions(r *parser2.Resource) iacTypes.BoolValue { accountProp := r.GetProperty("AccountAggregationSources") if accountProp.IsNotNil() && accountProp.IsList() { diff --git a/pkg/iac/adapters/cloudformation/aws/config/config.go b/pkg/iac/adapters/cloudformation/aws/config/config.go index 164b6ed22f87..a9634252694e 100644 --- a/pkg/iac/adapters/cloudformation/aws/config/config.go +++ b/pkg/iac/adapters/cloudformation/aws/config/config.go @@ -1,7 +1,7 @@ package config import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/config" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/config" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/documentdb/cluster.go b/pkg/iac/adapters/cloudformation/aws/documentdb/cluster.go index 762e90e54e47..568fcfb44f72 100644 --- a/pkg/iac/adapters/cloudformation/aws/documentdb/cluster.go +++ b/pkg/iac/adapters/cloudformation/aws/documentdb/cluster.go @@ -1,9 +1,9 @@ package documentdb import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/documentdb" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/documentdb" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getClusters(ctx parser2.FileContext) (clusters []documentdb.Cluster) { diff --git a/pkg/iac/adapters/cloudformation/aws/documentdb/documentdb.go b/pkg/iac/adapters/cloudformation/aws/documentdb/documentdb.go index 23e5c7087d9a..40b0c6ffae44 100644 --- a/pkg/iac/adapters/cloudformation/aws/documentdb/documentdb.go +++ b/pkg/iac/adapters/cloudformation/aws/documentdb/documentdb.go @@ -1,7 +1,7 @@ package documentdb import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/documentdb" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/documentdb" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/dynamodb/cluster.go b/pkg/iac/adapters/cloudformation/aws/dynamodb/cluster.go index 76e28c971939..8a350236134c 100644 --- a/pkg/iac/adapters/cloudformation/aws/dynamodb/cluster.go +++ b/pkg/iac/adapters/cloudformation/aws/dynamodb/cluster.go @@ -1,9 +1,9 @@ package dynamodb import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/dynamodb" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/dynamodb" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getClusters(file parser.FileContext) (clusters []dynamodb.DAXCluster) { @@ -15,17 +15,17 @@ func getClusters(file parser.FileContext) (clusters []dynamodb.DAXCluster) { Metadata: r.Metadata(), ServerSideEncryption: dynamodb.ServerSideEncryption{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), - KMSKeyID: defsecTypes.StringDefault("", r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), + KMSKeyID: iacTypes.StringDefault("", r.Metadata()), }, - PointInTimeRecovery: defsecTypes.BoolUnresolvable(r.Metadata()), + PointInTimeRecovery: iacTypes.BoolUnresolvable(r.Metadata()), } if sseProp := r.GetProperty("SSESpecification"); sseProp.IsNotNil() { cluster.ServerSideEncryption = dynamodb.ServerSideEncryption{ Metadata: sseProp.Metadata(), Enabled: r.GetBoolProperty("SSESpecification.SSEEnabled"), - KMSKeyID: defsecTypes.StringUnresolvable(sseProp.Metadata()), + KMSKeyID: iacTypes.StringUnresolvable(sseProp.Metadata()), } } diff --git a/pkg/iac/adapters/cloudformation/aws/dynamodb/dynamodb.go b/pkg/iac/adapters/cloudformation/aws/dynamodb/dynamodb.go index 6129be5b0cb6..c841e0671520 100644 --- a/pkg/iac/adapters/cloudformation/aws/dynamodb/dynamodb.go +++ b/pkg/iac/adapters/cloudformation/aws/dynamodb/dynamodb.go @@ -1,7 +1,7 @@ package dynamodb import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/dynamodb" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/dynamodb" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/ec2/adapt_test.go b/pkg/iac/adapters/cloudformation/aws/ec2/adapt_test.go index f4fb8e843f72..7e7ece3df765 100644 --- a/pkg/iac/adapters/cloudformation/aws/ec2/adapt_test.go +++ b/pkg/iac/adapters/cloudformation/aws/ec2/adapt_test.go @@ -4,10 +4,10 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/adapters/cloudformation/aws/ec2/ec2.go b/pkg/iac/adapters/cloudformation/aws/ec2/ec2.go index 38157fbd3ea4..93056580c9b4 100644 --- a/pkg/iac/adapters/cloudformation/aws/ec2/ec2.go +++ b/pkg/iac/adapters/cloudformation/aws/ec2/ec2.go @@ -1,7 +1,7 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/ec2/instance.go b/pkg/iac/adapters/cloudformation/aws/ec2/instance.go index 93d9e2eb3783..8a7952f9b809 100644 --- a/pkg/iac/adapters/cloudformation/aws/ec2/instance.go +++ b/pkg/iac/adapters/cloudformation/aws/ec2/instance.go @@ -1,9 +1,9 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getInstances(ctx parser2.FileContext) (instances []ec2.Instance) { @@ -16,8 +16,8 @@ func getInstances(ctx parser2.FileContext) (instances []ec2.Instance) { // https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/655 MetadataOptions: ec2.MetadataOptions{ Metadata: r.Metadata(), - HttpTokens: defsecTypes.StringDefault("optional", r.Metadata()), - HttpEndpoint: defsecTypes.StringDefault("enabled", r.Metadata()), + HttpTokens: iacTypes.StringDefault("optional", r.Metadata()), + HttpEndpoint: iacTypes.StringDefault("enabled", r.Metadata()), }, UserData: r.GetStringProperty("UserData"), } @@ -29,7 +29,7 @@ func getInstances(ctx parser2.FileContext) (instances []ec2.Instance) { if instance.RootBlockDevice == nil { instance.RootBlockDevice = &ec2.BlockDevice{ Metadata: r.Metadata(), - Encrypted: defsecTypes.BoolDefault(false, r.Metadata()), + Encrypted: iacTypes.BoolDefault(false, r.Metadata()), } } diff --git a/pkg/iac/adapters/cloudformation/aws/ec2/launch_configuration.go b/pkg/iac/adapters/cloudformation/aws/ec2/launch_configuration.go index 21051ad1e7e2..9dcd80f5d47f 100644 --- a/pkg/iac/adapters/cloudformation/aws/ec2/launch_configuration.go +++ b/pkg/iac/adapters/cloudformation/aws/ec2/launch_configuration.go @@ -1,9 +1,9 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getLaunchConfigurations(file parser.FileContext) (launchConfigurations []ec2.LaunchConfiguration) { diff --git a/pkg/iac/adapters/cloudformation/aws/ec2/launch_template.go b/pkg/iac/adapters/cloudformation/aws/ec2/launch_template.go index 5069107c17a3..e22ac9abed3d 100644 --- a/pkg/iac/adapters/cloudformation/aws/ec2/launch_template.go +++ b/pkg/iac/adapters/cloudformation/aws/ec2/launch_template.go @@ -1,9 +1,9 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getLaunchTemplates(file parser2.FileContext) (templates []ec2.LaunchTemplate) { diff --git a/pkg/iac/adapters/cloudformation/aws/ec2/nacl.go b/pkg/iac/adapters/cloudformation/aws/ec2/nacl.go index 6c6de06e9559..0f908f78ae08 100644 --- a/pkg/iac/adapters/cloudformation/aws/ec2/nacl.go +++ b/pkg/iac/adapters/cloudformation/aws/ec2/nacl.go @@ -3,9 +3,9 @@ package ec2 import ( "strconv" - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getNetworkACLs(ctx parser.FileContext) (acls []ec2.NetworkACL) { @@ -13,7 +13,7 @@ func getNetworkACLs(ctx parser.FileContext) (acls []ec2.NetworkACL) { acl := ec2.NetworkACL{ Metadata: aclResource.Metadata(), Rules: getRules(aclResource.ID(), ctx), - IsDefaultRule: defsecTypes.BoolDefault(false, aclResource.Metadata()), + IsDefaultRule: iacTypes.BoolDefault(false, aclResource.Metadata()), } acls = append(acls, acl) } @@ -27,31 +27,31 @@ func getRules(id string, ctx parser.FileContext) (rules []ec2.NetworkACLRule) { rule := ec2.NetworkACLRule{ Metadata: ruleResource.Metadata(), - Type: defsecTypes.StringDefault(ec2.TypeIngress, ruleResource.Metadata()), - Action: defsecTypes.StringDefault(ec2.ActionAllow, ruleResource.Metadata()), - Protocol: defsecTypes.String("-1", ruleResource.Metadata()), + Type: iacTypes.StringDefault(ec2.TypeIngress, ruleResource.Metadata()), + Action: iacTypes.StringDefault(ec2.ActionAllow, ruleResource.Metadata()), + Protocol: iacTypes.String("-1", ruleResource.Metadata()), CIDRs: nil, } if egressProperty := ruleResource.GetProperty("Egress"); egressProperty.IsBool() { if egressProperty.AsBool() { - rule.Type = defsecTypes.String(ec2.TypeEgress, egressProperty.Metadata()) + rule.Type = iacTypes.String(ec2.TypeEgress, egressProperty.Metadata()) } else { - rule.Type = defsecTypes.String(ec2.TypeIngress, egressProperty.Metadata()) + rule.Type = iacTypes.String(ec2.TypeIngress, egressProperty.Metadata()) } } if actionProperty := ruleResource.GetProperty("RuleAction"); actionProperty.IsString() { if actionProperty.AsString() == ec2.ActionAllow { - rule.Action = defsecTypes.String(ec2.ActionAllow, actionProperty.Metadata()) + rule.Action = iacTypes.String(ec2.ActionAllow, actionProperty.Metadata()) } else { - rule.Action = defsecTypes.String(ec2.ActionDeny, actionProperty.Metadata()) + rule.Action = iacTypes.String(ec2.ActionDeny, actionProperty.Metadata()) } } if protocolProperty := ruleResource.GetProperty("Protocol"); protocolProperty.IsInt() { protocol := protocolProperty.AsIntValue().Value() - rule.Protocol = defsecTypes.String(strconv.Itoa(protocol), protocolProperty.Metadata()) + rule.Protocol = iacTypes.String(strconv.Itoa(protocol), protocolProperty.Metadata()) } if ipv4Cidr := ruleResource.GetProperty("CidrBlock"); ipv4Cidr.IsString() { diff --git a/pkg/iac/adapters/cloudformation/aws/ec2/security_group.go b/pkg/iac/adapters/cloudformation/aws/ec2/security_group.go index c6447f38a3fa..687fd12d4366 100644 --- a/pkg/iac/adapters/cloudformation/aws/ec2/security_group.go +++ b/pkg/iac/adapters/cloudformation/aws/ec2/security_group.go @@ -1,9 +1,9 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getSecurityGroups(ctx parser2.FileContext) (groups []ec2.SecurityGroup) { diff --git a/pkg/iac/adapters/cloudformation/aws/ec2/subnet.go b/pkg/iac/adapters/cloudformation/aws/ec2/subnet.go index be75af836593..725a441429e1 100644 --- a/pkg/iac/adapters/cloudformation/aws/ec2/subnet.go +++ b/pkg/iac/adapters/cloudformation/aws/ec2/subnet.go @@ -1,7 +1,7 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/ec2/volume.go b/pkg/iac/adapters/cloudformation/aws/ec2/volume.go index b1e48835a0a6..35c22e053cfc 100644 --- a/pkg/iac/adapters/cloudformation/aws/ec2/volume.go +++ b/pkg/iac/adapters/cloudformation/aws/ec2/volume.go @@ -1,7 +1,7 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/ecr/ecr.go b/pkg/iac/adapters/cloudformation/aws/ecr/ecr.go index 80119315af78..c7552132d862 100644 --- a/pkg/iac/adapters/cloudformation/aws/ecr/ecr.go +++ b/pkg/iac/adapters/cloudformation/aws/ecr/ecr.go @@ -1,7 +1,7 @@ package ecr import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ecr" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecr" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/ecr/repository.go b/pkg/iac/adapters/cloudformation/aws/ecr/repository.go index 298d18ec0500..886be64037a3 100644 --- a/pkg/iac/adapters/cloudformation/aws/ecr/repository.go +++ b/pkg/iac/adapters/cloudformation/aws/ecr/repository.go @@ -5,10 +5,10 @@ import ( "github.com/liamg/iamgo" - "github.com/aquasecurity/defsec/pkg/providers/aws/ecr" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecr" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getRepositories(ctx parser2.FileContext) (repositories []ecr.Repository) { @@ -21,14 +21,14 @@ func getRepositories(ctx parser2.FileContext) (repositories []ecr.Repository) { Metadata: r.Metadata(), ImageScanning: ecr.ImageScanning{ Metadata: r.Metadata(), - ScanOnPush: defsecTypes.BoolDefault(false, r.Metadata()), + ScanOnPush: iacTypes.BoolDefault(false, r.Metadata()), }, ImageTagsImmutable: hasImmutableImageTags(r), Policies: nil, Encryption: ecr.Encryption{ Metadata: r.Metadata(), - Type: defsecTypes.StringDefault(ecr.EncryptionTypeAES256, r.Metadata()), - KMSKeyID: defsecTypes.StringDefault("", r.Metadata()), + Type: iacTypes.StringDefault(ecr.EncryptionTypeAES256, r.Metadata()), + KMSKeyID: iacTypes.StringDefault("", r.Metadata()), }, } @@ -70,22 +70,22 @@ func getPolicy(r *parser2.Resource) (*iam.Policy, error) { return &iam.Policy{ Metadata: policyProp.Metadata(), - Name: defsecTypes.StringDefault("", policyProp.Metadata()), + Name: iacTypes.StringDefault("", policyProp.Metadata()), Document: iam.Document{ Metadata: policyProp.Metadata(), Parsed: *parsed, }, - Builtin: defsecTypes.Bool(false, policyProp.Metadata()), + Builtin: iacTypes.Bool(false, policyProp.Metadata()), }, nil } -func hasImmutableImageTags(r *parser2.Resource) defsecTypes.BoolValue { +func hasImmutableImageTags(r *parser2.Resource) iacTypes.BoolValue { mutabilityProp := r.GetProperty("ImageTagMutability") if mutabilityProp.IsNil() { - return defsecTypes.BoolDefault(false, r.Metadata()) + return iacTypes.BoolDefault(false, r.Metadata()) } if !mutabilityProp.EqualTo("IMMUTABLE") { - return defsecTypes.Bool(false, mutabilityProp.Metadata()) + return iacTypes.Bool(false, mutabilityProp.Metadata()) } - return defsecTypes.Bool(true, mutabilityProp.Metadata()) + return iacTypes.Bool(true, mutabilityProp.Metadata()) } diff --git a/pkg/iac/adapters/cloudformation/aws/ecs/cluster.go b/pkg/iac/adapters/cloudformation/aws/ecs/cluster.go index c2c584ddb92f..6359dbc4cc93 100644 --- a/pkg/iac/adapters/cloudformation/aws/ecs/cluster.go +++ b/pkg/iac/adapters/cloudformation/aws/ecs/cluster.go @@ -1,9 +1,9 @@ package ecs import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ecs" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecs" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getClusters(ctx parser2.FileContext) (clusters []ecs.Cluster) { diff --git a/pkg/iac/adapters/cloudformation/aws/ecs/ecs.go b/pkg/iac/adapters/cloudformation/aws/ecs/ecs.go index a41930f9e439..5707cdddcd8e 100644 --- a/pkg/iac/adapters/cloudformation/aws/ecs/ecs.go +++ b/pkg/iac/adapters/cloudformation/aws/ecs/ecs.go @@ -1,7 +1,7 @@ package ecs import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ecs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecs" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/ecs/task_definition.go b/pkg/iac/adapters/cloudformation/aws/ecs/task_definition.go index fbee3e51c284..cdb9ae08ab45 100644 --- a/pkg/iac/adapters/cloudformation/aws/ecs/task_definition.go +++ b/pkg/iac/adapters/cloudformation/aws/ecs/task_definition.go @@ -1,9 +1,9 @@ package ecs import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ecs" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecs" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getTaskDefinitions(ctx parser2.FileContext) (taskDefinitions []ecs.TaskDefinition) { diff --git a/pkg/iac/adapters/cloudformation/aws/efs/efs.go b/pkg/iac/adapters/cloudformation/aws/efs/efs.go index 78026eacdf6f..bda1f15ffbfb 100644 --- a/pkg/iac/adapters/cloudformation/aws/efs/efs.go +++ b/pkg/iac/adapters/cloudformation/aws/efs/efs.go @@ -1,7 +1,7 @@ package efs import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/efs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/efs" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/efs/filesystem.go b/pkg/iac/adapters/cloudformation/aws/efs/filesystem.go index 9ef3c6d13fb1..728b09079f2a 100644 --- a/pkg/iac/adapters/cloudformation/aws/efs/filesystem.go +++ b/pkg/iac/adapters/cloudformation/aws/efs/filesystem.go @@ -1,7 +1,7 @@ package efs import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/efs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/efs" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/eks/cluster.go b/pkg/iac/adapters/cloudformation/aws/eks/cluster.go index 56cbba5f04a0..07adedf06c21 100644 --- a/pkg/iac/adapters/cloudformation/aws/eks/cluster.go +++ b/pkg/iac/adapters/cloudformation/aws/eks/cluster.go @@ -1,9 +1,9 @@ package eks import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/eks" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/eks" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getClusters(ctx parser2.FileContext) (clusters []eks.Cluster) { @@ -16,15 +16,15 @@ func getClusters(ctx parser2.FileContext) (clusters []eks.Cluster) { // Logging not supported for cloudformation https://github.com/aws/containers-roadmap/issues/242 Logging: eks.Logging{ Metadata: r.Metadata(), - API: defsecTypes.BoolUnresolvable(r.Metadata()), - Audit: defsecTypes.BoolUnresolvable(r.Metadata()), - Authenticator: defsecTypes.BoolUnresolvable(r.Metadata()), - ControllerManager: defsecTypes.BoolUnresolvable(r.Metadata()), - Scheduler: defsecTypes.BoolUnresolvable(r.Metadata()), + API: iacTypes.BoolUnresolvable(r.Metadata()), + Audit: iacTypes.BoolUnresolvable(r.Metadata()), + Authenticator: iacTypes.BoolUnresolvable(r.Metadata()), + ControllerManager: iacTypes.BoolUnresolvable(r.Metadata()), + Scheduler: iacTypes.BoolUnresolvable(r.Metadata()), }, Encryption: getEncryptionConfig(r), // endpoint protection not supported - https://github.com/aws/containers-roadmap/issues/242 - PublicAccessEnabled: defsecTypes.BoolUnresolvable(r.Metadata()), + PublicAccessEnabled: iacTypes.BoolUnresolvable(r.Metadata()), PublicAccessCIDRs: nil, } @@ -37,8 +37,8 @@ func getEncryptionConfig(r *parser2.Resource) eks.Encryption { encryption := eks.Encryption{ Metadata: r.Metadata(), - Secrets: defsecTypes.BoolDefault(false, r.Metadata()), - KMSKeyID: defsecTypes.StringDefault("", r.Metadata()), + Secrets: iacTypes.BoolDefault(false, r.Metadata()), + KMSKeyID: iacTypes.StringDefault("", r.Metadata()), } if encProp := r.GetProperty("EncryptionConfig"); encProp.IsNotNil() { @@ -47,7 +47,7 @@ func getEncryptionConfig(r *parser2.Resource) eks.Encryption { resourcesProp := encProp.GetProperty("Resources") if resourcesProp.IsList() { if resourcesProp.Contains("secrets") { - encryption.Secrets = defsecTypes.Bool(true, resourcesProp.Metadata()) + encryption.Secrets = iacTypes.Bool(true, resourcesProp.Metadata()) } } } diff --git a/pkg/iac/adapters/cloudformation/aws/eks/eks.go b/pkg/iac/adapters/cloudformation/aws/eks/eks.go index 5f6e4a987a91..fe6933c19a8e 100644 --- a/pkg/iac/adapters/cloudformation/aws/eks/eks.go +++ b/pkg/iac/adapters/cloudformation/aws/eks/eks.go @@ -1,7 +1,7 @@ package eks import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/eks" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/eks" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/elasticache/cluster.go b/pkg/iac/adapters/cloudformation/aws/elasticache/cluster.go index 28414a62348a..bdbefbbbb6c2 100644 --- a/pkg/iac/adapters/cloudformation/aws/elasticache/cluster.go +++ b/pkg/iac/adapters/cloudformation/aws/elasticache/cluster.go @@ -1,7 +1,7 @@ package elasticache import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticache" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticache" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/elasticache/elasticache.go b/pkg/iac/adapters/cloudformation/aws/elasticache/elasticache.go index a84322e221e8..1d69000ff9ea 100644 --- a/pkg/iac/adapters/cloudformation/aws/elasticache/elasticache.go +++ b/pkg/iac/adapters/cloudformation/aws/elasticache/elasticache.go @@ -1,7 +1,7 @@ package elasticache import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticache" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticache" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/elasticache/replication_group.go b/pkg/iac/adapters/cloudformation/aws/elasticache/replication_group.go index 3910a377ebf4..95b6a7916370 100644 --- a/pkg/iac/adapters/cloudformation/aws/elasticache/replication_group.go +++ b/pkg/iac/adapters/cloudformation/aws/elasticache/replication_group.go @@ -1,7 +1,7 @@ package elasticache import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticache" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticache" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/elasticache/security_group.go b/pkg/iac/adapters/cloudformation/aws/elasticache/security_group.go index 6e51796ff935..8be6e68f6903 100644 --- a/pkg/iac/adapters/cloudformation/aws/elasticache/security_group.go +++ b/pkg/iac/adapters/cloudformation/aws/elasticache/security_group.go @@ -1,7 +1,7 @@ package elasticache import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticache" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticache" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/elasticsearch/domain.go b/pkg/iac/adapters/cloudformation/aws/elasticsearch/domain.go index 93b0300744c0..5ff46bc41cbd 100644 --- a/pkg/iac/adapters/cloudformation/aws/elasticsearch/domain.go +++ b/pkg/iac/adapters/cloudformation/aws/elasticsearch/domain.go @@ -1,9 +1,9 @@ package elasticsearch import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticsearch" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticsearch" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getDomains(ctx parser.FileContext) (domains []elasticsearch.Domain) { @@ -17,32 +17,32 @@ func getDomains(ctx parser.FileContext) (domains []elasticsearch.Domain) { DomainName: r.GetStringProperty("DomainName"), AccessPolicies: r.GetStringProperty("AccessPolicies"), DedicatedMasterEnabled: r.GetBoolProperty("ElasticsearchClusterConfig.DedicatedMasterEnabled"), - VpcId: defsecTypes.String("", r.Metadata()), + VpcId: iacTypes.String("", r.Metadata()), LogPublishing: elasticsearch.LogPublishing{ Metadata: r.Metadata(), - AuditEnabled: defsecTypes.BoolDefault(false, r.Metadata()), - CloudWatchLogGroupArn: defsecTypes.String("", r.Metadata()), + AuditEnabled: iacTypes.BoolDefault(false, r.Metadata()), + CloudWatchLogGroupArn: iacTypes.String("", r.Metadata()), }, TransitEncryption: elasticsearch.TransitEncryption{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), }, AtRestEncryption: elasticsearch.AtRestEncryption{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), - KmsKeyId: defsecTypes.String("", r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), + KmsKeyId: iacTypes.String("", r.Metadata()), }, Endpoint: elasticsearch.Endpoint{ Metadata: r.Metadata(), - EnforceHTTPS: defsecTypes.BoolDefault(false, r.Metadata()), - TLSPolicy: defsecTypes.StringDefault("Policy-Min-TLS-1-0-2019-07", r.Metadata()), + EnforceHTTPS: iacTypes.BoolDefault(false, r.Metadata()), + TLSPolicy: iacTypes.StringDefault("Policy-Min-TLS-1-0-2019-07", r.Metadata()), }, ServiceSoftwareOptions: elasticsearch.ServiceSoftwareOptions{ Metadata: r.Metadata(), - CurrentVersion: defsecTypes.String("", r.Metadata()), - NewVersion: defsecTypes.String("", r.Metadata()), - UpdateStatus: defsecTypes.String("", r.Metadata()), - UpdateAvailable: defsecTypes.Bool(false, r.Metadata()), + CurrentVersion: iacTypes.String("", r.Metadata()), + NewVersion: iacTypes.String("", r.Metadata()), + UpdateStatus: iacTypes.String("", r.Metadata()), + UpdateAvailable: iacTypes.Bool(false, r.Metadata()), }, } diff --git a/pkg/iac/adapters/cloudformation/aws/elasticsearch/elasticsearch.go b/pkg/iac/adapters/cloudformation/aws/elasticsearch/elasticsearch.go index b54b7fa1b33f..b3e230b0435b 100644 --- a/pkg/iac/adapters/cloudformation/aws/elasticsearch/elasticsearch.go +++ b/pkg/iac/adapters/cloudformation/aws/elasticsearch/elasticsearch.go @@ -1,7 +1,7 @@ package elasticsearch import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticsearch" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticsearch" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/elb/adapt_test.go b/pkg/iac/adapters/cloudformation/aws/elb/adapt_test.go index 92b79c8256ea..ca8fd631fa39 100644 --- a/pkg/iac/adapters/cloudformation/aws/elb/adapt_test.go +++ b/pkg/iac/adapters/cloudformation/aws/elb/adapt_test.go @@ -4,10 +4,10 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/providers/aws/elb" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elb" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/adapters/cloudformation/aws/elb/elb.go b/pkg/iac/adapters/cloudformation/aws/elb/elb.go index e9df99b919c9..2ff1d2c74777 100644 --- a/pkg/iac/adapters/cloudformation/aws/elb/elb.go +++ b/pkg/iac/adapters/cloudformation/aws/elb/elb.go @@ -1,7 +1,7 @@ package elb import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elb" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elb" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/elb/loadbalancer.go b/pkg/iac/adapters/cloudformation/aws/elb/loadbalancer.go index 007a0c90a422..50b8f26275d5 100644 --- a/pkg/iac/adapters/cloudformation/aws/elb/loadbalancer.go +++ b/pkg/iac/adapters/cloudformation/aws/elb/loadbalancer.go @@ -1,9 +1,9 @@ package elb import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elb" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elb" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getLoadBalancers(ctx parser2.FileContext) (loadbalancers []elb.LoadBalancer) { diff --git a/pkg/iac/adapters/cloudformation/aws/iam/iam.go b/pkg/iac/adapters/cloudformation/aws/iam/iam.go index 27a257b736e0..d3aab1646534 100644 --- a/pkg/iac/adapters/cloudformation/aws/iam/iam.go +++ b/pkg/iac/adapters/cloudformation/aws/iam/iam.go @@ -1,23 +1,23 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) // Adapt adapts an IAM instance func Adapt(cfFile parser.FileContext) iam.IAM { return iam.IAM{ PasswordPolicy: iam.PasswordPolicy{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - ReusePreventionCount: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), - RequireLowercase: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - RequireUppercase: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - RequireNumbers: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - RequireSymbols: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - MaxAgeDays: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), - MinimumLength: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + ReusePreventionCount: iacTypes.IntDefault(0, iacTypes.NewUnmanagedMetadata()), + RequireLowercase: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + RequireUppercase: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + RequireNumbers: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + RequireSymbols: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + MaxAgeDays: iacTypes.IntDefault(0, iacTypes.NewUnmanagedMetadata()), + MinimumLength: iacTypes.IntDefault(0, iacTypes.NewUnmanagedMetadata()), }, Policies: getPolicies(cfFile), Groups: getGroups(cfFile), diff --git a/pkg/iac/adapters/cloudformation/aws/iam/policy.go b/pkg/iac/adapters/cloudformation/aws/iam/policy.go index 0f4569d291bf..9843c8cdaa43 100644 --- a/pkg/iac/adapters/cloudformation/aws/iam/policy.go +++ b/pkg/iac/adapters/cloudformation/aws/iam/policy.go @@ -3,9 +3,9 @@ package iam import ( "github.com/liamg/iamgo" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getPolicies(ctx parser2.FileContext) (policies []iam.Policy) { @@ -18,7 +18,7 @@ func getPolicies(ctx parser2.FileContext) (policies []iam.Policy) { Metadata: policyResource.Metadata(), Parsed: iamgo.Document{}, }, - Builtin: defsecTypes.Bool(false, policyResource.Metadata()), + Builtin: iacTypes.Bool(false, policyResource.Metadata()), } if policyProp := policyResource.GetProperty("PolicyDocument"); policyProp.IsNotNil() { @@ -56,7 +56,7 @@ func getUsers(ctx parser2.FileContext) (users []iam.User) { users = append(users, iam.User{ Metadata: userResource.Metadata(), Name: userName, - LastAccess: defsecTypes.TimeUnresolvable(userResource.Metadata()), + LastAccess: iacTypes.TimeUnresolvable(userResource.Metadata()), Policies: getPoliciesDocs(policyProp), AccessKeys: getAccessKeys(ctx, userName.Value()), }) @@ -70,16 +70,16 @@ func getAccessKeys(ctx parser2.FileContext, username string) (accessKeys []iam.A if !keyUsername.EqualTo(username) { continue } - active := defsecTypes.BoolDefault(false, keyResource.Metadata()) + active := iacTypes.BoolDefault(false, keyResource.Metadata()) if statusProp := keyResource.GetProperty("Status"); statusProp.IsString() { - active = defsecTypes.Bool(statusProp.AsString() == "Active", statusProp.Metadata()) + active = iacTypes.Bool(statusProp.AsString() == "Active", statusProp.Metadata()) } accessKeys = append(accessKeys, iam.AccessKey{ Metadata: keyResource.Metadata(), - AccessKeyId: defsecTypes.StringUnresolvable(keyResource.Metadata()), - CreationDate: defsecTypes.TimeUnresolvable(keyResource.Metadata()), - LastAccess: defsecTypes.TimeUnresolvable(keyResource.Metadata()), + AccessKeyId: iacTypes.StringUnresolvable(keyResource.Metadata()), + CreationDate: iacTypes.TimeUnresolvable(keyResource.Metadata()), + LastAccess: iacTypes.TimeUnresolvable(keyResource.Metadata()), Active: active, }) } @@ -119,7 +119,7 @@ func getPoliciesDocs(policiesProp *parser2.Property) []iam.Policy { Metadata: policyProp.Metadata(), Parsed: *doc, }, - Builtin: defsecTypes.Bool(false, policyProp.Metadata()), + Builtin: iacTypes.Bool(false, policyProp.Metadata()), }) } return policies diff --git a/pkg/iac/adapters/cloudformation/aws/kinesis/kinesis.go b/pkg/iac/adapters/cloudformation/aws/kinesis/kinesis.go index cae954a39731..c48ad26046bf 100644 --- a/pkg/iac/adapters/cloudformation/aws/kinesis/kinesis.go +++ b/pkg/iac/adapters/cloudformation/aws/kinesis/kinesis.go @@ -1,7 +1,7 @@ package kinesis import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/kinesis" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/kinesis" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/kinesis/stream.go b/pkg/iac/adapters/cloudformation/aws/kinesis/stream.go index 57c16dec985c..b2bc8bac3411 100644 --- a/pkg/iac/adapters/cloudformation/aws/kinesis/stream.go +++ b/pkg/iac/adapters/cloudformation/aws/kinesis/stream.go @@ -1,9 +1,9 @@ package kinesis import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/kinesis" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/kinesis" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getStreams(ctx parser.FileContext) (streams []kinesis.Stream) { diff --git a/pkg/iac/adapters/cloudformation/aws/lambda/function.go b/pkg/iac/adapters/cloudformation/aws/lambda/function.go index 3d76c5d1c488..02bde4b903ff 100644 --- a/pkg/iac/adapters/cloudformation/aws/lambda/function.go +++ b/pkg/iac/adapters/cloudformation/aws/lambda/function.go @@ -1,9 +1,9 @@ package lambda import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/lambda" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/lambda" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getFunctions(ctx parser2.FileContext) (functions []lambda.Function) { diff --git a/pkg/iac/adapters/cloudformation/aws/lambda/lambda.go b/pkg/iac/adapters/cloudformation/aws/lambda/lambda.go index 54d7f6dab3e7..f89710d47e1e 100644 --- a/pkg/iac/adapters/cloudformation/aws/lambda/lambda.go +++ b/pkg/iac/adapters/cloudformation/aws/lambda/lambda.go @@ -1,7 +1,7 @@ package lambda import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/lambda" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/lambda" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/mq/broker.go b/pkg/iac/adapters/cloudformation/aws/mq/broker.go index a25944780572..9e52023c11da 100644 --- a/pkg/iac/adapters/cloudformation/aws/mq/broker.go +++ b/pkg/iac/adapters/cloudformation/aws/mq/broker.go @@ -1,9 +1,9 @@ package mq import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/mq" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/mq" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getBrokers(ctx parser.FileContext) (brokers []mq.Broker) { diff --git a/pkg/iac/adapters/cloudformation/aws/mq/mq.go b/pkg/iac/adapters/cloudformation/aws/mq/mq.go index 34d879d22d07..744e86f69a11 100644 --- a/pkg/iac/adapters/cloudformation/aws/mq/mq.go +++ b/pkg/iac/adapters/cloudformation/aws/mq/mq.go @@ -1,7 +1,7 @@ package mq import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/mq" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/mq" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/msk/cluster.go b/pkg/iac/adapters/cloudformation/aws/msk/cluster.go index d2b7a192d478..c55d5745e22b 100644 --- a/pkg/iac/adapters/cloudformation/aws/msk/cluster.go +++ b/pkg/iac/adapters/cloudformation/aws/msk/cluster.go @@ -1,9 +1,9 @@ package msk import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/msk" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/msk" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getClusters(ctx parser.FileContext) (clusters []msk.Cluster) { @@ -13,12 +13,12 @@ func getClusters(ctx parser.FileContext) (clusters []msk.Cluster) { Metadata: r.Metadata(), EncryptionInTransit: msk.EncryptionInTransit{ Metadata: r.Metadata(), - ClientBroker: defsecTypes.StringDefault("TLS", r.Metadata()), + ClientBroker: iacTypes.StringDefault("TLS", r.Metadata()), }, EncryptionAtRest: msk.EncryptionAtRest{ Metadata: r.Metadata(), - KMSKeyARN: defsecTypes.StringDefault("", r.Metadata()), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), + KMSKeyARN: iacTypes.StringDefault("", r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), }, Logging: msk.Logging{ Metadata: r.Metadata(), @@ -26,15 +26,15 @@ func getClusters(ctx parser.FileContext) (clusters []msk.Cluster) { Metadata: r.Metadata(), S3: msk.S3Logging{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), }, Cloudwatch: msk.CloudwatchLogging{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), }, Firehose: msk.FirehoseLogging{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), }, }, }, @@ -51,7 +51,7 @@ func getClusters(ctx parser.FileContext) (clusters []msk.Cluster) { cluster.EncryptionAtRest = msk.EncryptionAtRest{ Metadata: encAtRestProp.Metadata(), KMSKeyARN: encAtRestProp.GetStringProperty("DataVolumeKMSKeyId", ""), - Enabled: defsecTypes.BoolDefault(true, encAtRestProp.Metadata()), + Enabled: iacTypes.BoolDefault(true, encAtRestProp.Metadata()), } } diff --git a/pkg/iac/adapters/cloudformation/aws/msk/msk.go b/pkg/iac/adapters/cloudformation/aws/msk/msk.go index 3a53fca389e3..76d7964e17a7 100644 --- a/pkg/iac/adapters/cloudformation/aws/msk/msk.go +++ b/pkg/iac/adapters/cloudformation/aws/msk/msk.go @@ -1,7 +1,7 @@ package msk import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/msk" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/msk" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/neptune/cluster.go b/pkg/iac/adapters/cloudformation/aws/neptune/cluster.go index f4aefefbfdc6..3685a655aee2 100644 --- a/pkg/iac/adapters/cloudformation/aws/neptune/cluster.go +++ b/pkg/iac/adapters/cloudformation/aws/neptune/cluster.go @@ -1,9 +1,9 @@ package neptune import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/neptune" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/neptune" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getClusters(ctx parser2.FileContext) (clusters []neptune.Cluster) { diff --git a/pkg/iac/adapters/cloudformation/aws/neptune/neptune.go b/pkg/iac/adapters/cloudformation/aws/neptune/neptune.go index 8956e48ba196..2d63e6f45f69 100644 --- a/pkg/iac/adapters/cloudformation/aws/neptune/neptune.go +++ b/pkg/iac/adapters/cloudformation/aws/neptune/neptune.go @@ -1,7 +1,7 @@ package neptune import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/neptune" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/neptune" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/rds/adapt_test.go b/pkg/iac/adapters/cloudformation/aws/rds/adapt_test.go index eb1d298a2644..7685c3118a0e 100644 --- a/pkg/iac/adapters/cloudformation/aws/rds/adapt_test.go +++ b/pkg/iac/adapters/cloudformation/aws/rds/adapt_test.go @@ -4,10 +4,10 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/providers/aws/rds" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/adapters/cloudformation/aws/rds/cluster.go b/pkg/iac/adapters/cloudformation/aws/rds/cluster.go index 83f614b67e53..87bbc7ae64ba 100644 --- a/pkg/iac/adapters/cloudformation/aws/rds/cluster.go +++ b/pkg/iac/adapters/cloudformation/aws/rds/cluster.go @@ -1,9 +1,9 @@ package rds import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/rds" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getClusters(ctx parser.FileContext) (clusters map[string]rds.Cluster) { @@ -22,9 +22,9 @@ func getClusters(ctx parser.FileContext) (clusters map[string]rds.Cluster) { EncryptStorage: clusterResource.GetBoolProperty("StorageEncrypted"), KMSKeyID: clusterResource.GetStringProperty("KmsKeyId"), }, - PublicAccess: defsecTypes.BoolDefault(false, clusterResource.Metadata()), + PublicAccess: iacTypes.BoolDefault(false, clusterResource.Metadata()), Engine: clusterResource.GetStringProperty("Engine", rds.EngineAurora), - LatestRestorableTime: defsecTypes.TimeUnresolvable(clusterResource.Metadata()), + LatestRestorableTime: iacTypes.TimeUnresolvable(clusterResource.Metadata()), DeletionProtection: clusterResource.GetBoolProperty("DeletionProtection"), } } diff --git a/pkg/iac/adapters/cloudformation/aws/rds/instance.go b/pkg/iac/adapters/cloudformation/aws/rds/instance.go index e3d1b444be7b..6b4a39e7acf7 100644 --- a/pkg/iac/adapters/cloudformation/aws/rds/instance.go +++ b/pkg/iac/adapters/cloudformation/aws/rds/instance.go @@ -1,9 +1,9 @@ package rds import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/rds" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getClustersAndInstances(ctx parser2.FileContext) ([]rds.Cluster, []rds.Instance) { diff --git a/pkg/iac/adapters/cloudformation/aws/rds/parameter_groups.go b/pkg/iac/adapters/cloudformation/aws/rds/parameter_groups.go index f8bc488a5fd1..98df5187401b 100644 --- a/pkg/iac/adapters/cloudformation/aws/rds/parameter_groups.go +++ b/pkg/iac/adapters/cloudformation/aws/rds/parameter_groups.go @@ -1,9 +1,9 @@ package rds import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/rds" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getParameterGroups(ctx parser2.FileContext) (parametergroups []rds.ParameterGroups) { diff --git a/pkg/iac/adapters/cloudformation/aws/rds/rds.go b/pkg/iac/adapters/cloudformation/aws/rds/rds.go index 05f4babc7d59..25118c20bbba 100644 --- a/pkg/iac/adapters/cloudformation/aws/rds/rds.go +++ b/pkg/iac/adapters/cloudformation/aws/rds/rds.go @@ -1,7 +1,7 @@ package rds import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/rds" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/redshift/cluster.go b/pkg/iac/adapters/cloudformation/aws/redshift/cluster.go index ebdee435b262..6aac98978b94 100644 --- a/pkg/iac/adapters/cloudformation/aws/redshift/cluster.go +++ b/pkg/iac/adapters/cloudformation/aws/redshift/cluster.go @@ -1,9 +1,9 @@ package redshift import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/redshift" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/redshift" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getClusters(ctx parser.FileContext) (clusters []redshift.Cluster) { diff --git a/pkg/iac/adapters/cloudformation/aws/redshift/redshift.go b/pkg/iac/adapters/cloudformation/aws/redshift/redshift.go index a4358393199d..899b6c50e147 100644 --- a/pkg/iac/adapters/cloudformation/aws/redshift/redshift.go +++ b/pkg/iac/adapters/cloudformation/aws/redshift/redshift.go @@ -1,7 +1,7 @@ package redshift import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/redshift" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/redshift" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/redshift/security_group.go b/pkg/iac/adapters/cloudformation/aws/redshift/security_group.go index bdd069044e78..0223306783ae 100644 --- a/pkg/iac/adapters/cloudformation/aws/redshift/security_group.go +++ b/pkg/iac/adapters/cloudformation/aws/redshift/security_group.go @@ -1,7 +1,7 @@ package redshift import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/redshift" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/redshift" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/s3/bucket.go b/pkg/iac/adapters/cloudformation/aws/s3/bucket.go index e33a8e01db2d..20a69d0416c1 100644 --- a/pkg/iac/adapters/cloudformation/aws/s3/bucket.go +++ b/pkg/iac/adapters/cloudformation/aws/s3/bucket.go @@ -4,9 +4,9 @@ import ( "regexp" "strings" - "github.com/aquasecurity/defsec/pkg/providers/aws/s3" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/s3" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) var aclConvertRegex = regexp.MustCompile(`[A-Z][^A-Z]*`) @@ -24,14 +24,14 @@ func getBuckets(cfFile parser2.FileContext) []s3.Bucket { Versioning: s3.Versioning{ Metadata: r.Metadata(), Enabled: hasVersioning(r), - MFADelete: defsecTypes.BoolUnresolvable(r.Metadata()), + MFADelete: iacTypes.BoolUnresolvable(r.Metadata()), }, Logging: getLogging(r), ACL: convertAclValue(r.GetStringProperty("AccessControl", "private")), LifecycleConfiguration: getLifecycle(r), AccelerateConfigurationStatus: r.GetStringProperty("AccelerateConfiguration.AccelerationStatus"), Website: getWebsite(r), - BucketLocation: defsecTypes.String("", r.Metadata()), + BucketLocation: iacTypes.String("", r.Metadata()), Objects: nil, } @@ -54,34 +54,34 @@ func getPublicAccessBlock(r *parser2.Resource) *s3.PublicAccessBlock { } } -func convertAclValue(aclValue defsecTypes.StringValue) defsecTypes.StringValue { +func convertAclValue(aclValue iacTypes.StringValue) iacTypes.StringValue { matches := aclConvertRegex.FindAllString(aclValue.Value(), -1) - return defsecTypes.String(strings.ToLower(strings.Join(matches, "-")), aclValue.GetMetadata()) + return iacTypes.String(strings.ToLower(strings.Join(matches, "-")), aclValue.GetMetadata()) } func getLogging(r *parser2.Resource) s3.Logging { logging := s3.Logging{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), - TargetBucket: defsecTypes.StringDefault("", r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), + TargetBucket: iacTypes.StringDefault("", r.Metadata()), } if config := r.GetProperty("LoggingConfiguration"); config.IsNotNil() { logging.TargetBucket = config.GetStringProperty("DestinationBucketName") if logging.TargetBucket.IsNotEmpty() || !logging.TargetBucket.GetMetadata().IsResolvable() { - logging.Enabled = defsecTypes.Bool(true, config.Metadata()) + logging.Enabled = iacTypes.Bool(true, config.Metadata()) } } return logging } -func hasVersioning(r *parser2.Resource) defsecTypes.BoolValue { +func hasVersioning(r *parser2.Resource) iacTypes.BoolValue { versioningProp := r.GetProperty("VersioningConfiguration.Status") if versioningProp.IsNil() { - return defsecTypes.BoolDefault(false, r.Metadata()) + return iacTypes.BoolDefault(false, r.Metadata()) } versioningEnabled := false @@ -89,22 +89,22 @@ func hasVersioning(r *parser2.Resource) defsecTypes.BoolValue { versioningEnabled = true } - return defsecTypes.Bool(versioningEnabled, versioningProp.Metadata()) + return iacTypes.Bool(versioningEnabled, versioningProp.Metadata()) } func getEncryption(r *parser2.Resource, _ parser2.FileContext) s3.Encryption { encryption := s3.Encryption{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), - Algorithm: defsecTypes.StringDefault("", r.Metadata()), - KMSKeyId: defsecTypes.StringDefault("", r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), + Algorithm: iacTypes.StringDefault("", r.Metadata()), + KMSKeyId: iacTypes.StringDefault("", r.Metadata()), } if encryptProps := r.GetProperty("BucketEncryption.ServerSideEncryptionConfiguration"); encryptProps.IsNotNil() { for _, rule := range encryptProps.AsList() { if algo := rule.GetProperty("ServerSideEncryptionByDefault.SSEAlgorithm"); algo.EqualTo("AES256") { - encryption.Enabled = defsecTypes.Bool(true, algo.Metadata()) + encryption.Enabled = iacTypes.Bool(true, algo.Metadata()) } else if kmsKeyProp := rule.GetProperty("ServerSideEncryptionByDefault.KMSMasterKeyID"); !kmsKeyProp.IsEmpty() && kmsKeyProp.IsString() { encryption.KMSKeyId = kmsKeyProp.AsStringValue() } diff --git a/pkg/iac/adapters/cloudformation/aws/s3/s3.go b/pkg/iac/adapters/cloudformation/aws/s3/s3.go index 783116246ef3..988b51adc378 100644 --- a/pkg/iac/adapters/cloudformation/aws/s3/s3.go +++ b/pkg/iac/adapters/cloudformation/aws/s3/s3.go @@ -1,7 +1,7 @@ package s3 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/s3" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/s3" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/sam/api.go b/pkg/iac/adapters/cloudformation/aws/sam/api.go index 84ec41ee7f7e..d42010166914 100644 --- a/pkg/iac/adapters/cloudformation/aws/sam/api.go +++ b/pkg/iac/adapters/cloudformation/aws/sam/api.go @@ -1,9 +1,9 @@ package sam import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/sam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sam" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getApis(cfFile parser2.FileContext) (apis []sam.API) { @@ -29,10 +29,10 @@ func getRestMethodSettings(r *parser2.Resource) sam.RESTMethodSettings { settings := sam.RESTMethodSettings{ Metadata: r.Metadata(), - CacheDataEncrypted: defsecTypes.BoolDefault(false, r.Metadata()), - LoggingEnabled: defsecTypes.BoolDefault(false, r.Metadata()), - DataTraceEnabled: defsecTypes.BoolDefault(false, r.Metadata()), - MetricsEnabled: defsecTypes.BoolDefault(false, r.Metadata()), + CacheDataEncrypted: iacTypes.BoolDefault(false, r.Metadata()), + LoggingEnabled: iacTypes.BoolDefault(false, r.Metadata()), + DataTraceEnabled: iacTypes.BoolDefault(false, r.Metadata()), + MetricsEnabled: iacTypes.BoolDefault(false, r.Metadata()), } settingsProp := r.GetProperty("MethodSettings") @@ -41,16 +41,16 @@ func getRestMethodSettings(r *parser2.Resource) sam.RESTMethodSettings { settings = sam.RESTMethodSettings{ Metadata: settingsProp.Metadata(), CacheDataEncrypted: settingsProp.GetBoolProperty("CacheDataEncrypted"), - LoggingEnabled: defsecTypes.BoolDefault(false, settingsProp.Metadata()), + LoggingEnabled: iacTypes.BoolDefault(false, settingsProp.Metadata()), DataTraceEnabled: settingsProp.GetBoolProperty("DataTraceEnabled"), MetricsEnabled: settingsProp.GetBoolProperty("MetricsEnabled"), } if loggingLevel := settingsProp.GetProperty("LoggingLevel"); loggingLevel.IsNotNil() { if loggingLevel.EqualTo("OFF", parser2.IgnoreCase) { - settings.LoggingEnabled = defsecTypes.Bool(false, loggingLevel.Metadata()) + settings.LoggingEnabled = iacTypes.Bool(false, loggingLevel.Metadata()) } else { - settings.LoggingEnabled = defsecTypes.Bool(true, loggingLevel.Metadata()) + settings.LoggingEnabled = iacTypes.Bool(true, loggingLevel.Metadata()) } } } @@ -62,7 +62,7 @@ func getAccessLogging(r *parser2.Resource) sam.AccessLogging { logging := sam.AccessLogging{ Metadata: r.Metadata(), - CloudwatchLogGroupARN: defsecTypes.StringDefault("", r.Metadata()), + CloudwatchLogGroupARN: iacTypes.StringDefault("", r.Metadata()), } if access := r.GetProperty("AccessLogSetting"); access.IsNotNil() { @@ -79,8 +79,8 @@ func getDomainConfiguration(r *parser2.Resource) sam.DomainConfiguration { domainConfig := sam.DomainConfiguration{ Metadata: r.Metadata(), - Name: defsecTypes.StringDefault("", r.Metadata()), - SecurityPolicy: defsecTypes.StringDefault("TLS_1_0", r.Metadata()), + Name: iacTypes.StringDefault("", r.Metadata()), + SecurityPolicy: iacTypes.StringDefault("TLS_1_0", r.Metadata()), } if domain := r.GetProperty("Domain"); domain.IsNotNil() { diff --git a/pkg/iac/adapters/cloudformation/aws/sam/function.go b/pkg/iac/adapters/cloudformation/aws/sam/function.go index 71ef168c696d..f6f2cfd747a6 100644 --- a/pkg/iac/adapters/cloudformation/aws/sam/function.go +++ b/pkg/iac/adapters/cloudformation/aws/sam/function.go @@ -3,10 +3,10 @@ package sam import ( "github.com/liamg/iamgo" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/providers/aws/sam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sam" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getFunctions(cfFile parser2.FileContext) (functions []sam.Function) { @@ -42,12 +42,12 @@ func setFunctionPolicies(r *parser2.Resource, function *sam.Function) { } policy := iam.Policy{ Metadata: property.Metadata(), - Name: defsecTypes.StringDefault("", property.Metadata()), + Name: iacTypes.StringDefault("", property.Metadata()), Document: iam.Document{ Metadata: property.Metadata(), Parsed: *parsed, }, - Builtin: defsecTypes.Bool(false, property.Metadata()), + Builtin: iacTypes.Bool(false, property.Metadata()), } function.Policies = append(function.Policies, policy) } else if property.IsString() { diff --git a/pkg/iac/adapters/cloudformation/aws/sam/http_api.go b/pkg/iac/adapters/cloudformation/aws/sam/http_api.go index b1412010df6f..c51c3efb8913 100644 --- a/pkg/iac/adapters/cloudformation/aws/sam/http_api.go +++ b/pkg/iac/adapters/cloudformation/aws/sam/http_api.go @@ -1,9 +1,9 @@ package sam import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/sam" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sam" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getHttpApis(cfFile parser2.FileContext) (apis []sam.HttpAPI) { diff --git a/pkg/iac/adapters/cloudformation/aws/sam/sam.go b/pkg/iac/adapters/cloudformation/aws/sam/sam.go index c928e901f308..0f08854aa697 100644 --- a/pkg/iac/adapters/cloudformation/aws/sam/sam.go +++ b/pkg/iac/adapters/cloudformation/aws/sam/sam.go @@ -1,7 +1,7 @@ package sam import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/sam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sam" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/sam/state_machines.go b/pkg/iac/adapters/cloudformation/aws/sam/state_machines.go index e61c960814db..efcaf3772be4 100644 --- a/pkg/iac/adapters/cloudformation/aws/sam/state_machines.go +++ b/pkg/iac/adapters/cloudformation/aws/sam/state_machines.go @@ -3,10 +3,10 @@ package sam import ( "github.com/liamg/iamgo" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/providers/aws/sam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sam" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getStateMachines(cfFile parser2.FileContext) (stateMachines []sam.StateMachine) { @@ -18,7 +18,7 @@ func getStateMachines(cfFile parser2.FileContext) (stateMachines []sam.StateMach Name: r.GetStringProperty("Name"), LoggingConfiguration: sam.LoggingConfiguration{ Metadata: r.Metadata(), - LoggingEnabled: defsecTypes.BoolDefault(false, r.Metadata()), + LoggingEnabled: iacTypes.BoolDefault(false, r.Metadata()), }, ManagedPolicies: nil, Policies: nil, @@ -28,7 +28,7 @@ func getStateMachines(cfFile parser2.FileContext) (stateMachines []sam.StateMach if logging := r.GetProperty("Logging"); logging.IsNotNil() { stateMachine.LoggingConfiguration.Metadata = logging.Metadata() if level := logging.GetProperty("Level"); level.IsNotNil() { - stateMachine.LoggingConfiguration.LoggingEnabled = defsecTypes.Bool(!level.EqualTo("OFF"), level.Metadata()) + stateMachine.LoggingConfiguration.LoggingEnabled = iacTypes.Bool(!level.EqualTo("OFF"), level.Metadata()) } } @@ -44,7 +44,7 @@ func getTracingConfiguration(r *parser2.Resource) sam.TracingConfiguration { if tracing.IsNil() { return sam.TracingConfiguration{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), } } @@ -67,12 +67,12 @@ func setStateMachinePolicies(r *parser2.Resource, stateMachine *sam.StateMachine } policy := iam.Policy{ Metadata: property.Metadata(), - Name: defsecTypes.StringDefault("", property.Metadata()), + Name: iacTypes.StringDefault("", property.Metadata()), Document: iam.Document{ Metadata: property.Metadata(), Parsed: *parsed, }, - Builtin: defsecTypes.Bool(false, property.Metadata()), + Builtin: iacTypes.Bool(false, property.Metadata()), } stateMachine.Policies = append(stateMachine.Policies, policy) } diff --git a/pkg/iac/adapters/cloudformation/aws/sam/tables.go b/pkg/iac/adapters/cloudformation/aws/sam/tables.go index de6284966d9f..713f723bf319 100644 --- a/pkg/iac/adapters/cloudformation/aws/sam/tables.go +++ b/pkg/iac/adapters/cloudformation/aws/sam/tables.go @@ -1,9 +1,9 @@ package sam import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/sam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sam" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getSimpleTables(cfFile parser2.FileContext) (tables []sam.SimpleTable) { @@ -26,8 +26,8 @@ func getSSESpecification(r *parser2.Resource) sam.SSESpecification { spec := sam.SSESpecification{ Metadata: r.Metadata(), - Enabled: defsecTypes.BoolDefault(false, r.Metadata()), - KMSMasterKeyID: defsecTypes.StringDefault("", r.Metadata()), + Enabled: iacTypes.BoolDefault(false, r.Metadata()), + KMSMasterKeyID: iacTypes.StringDefault("", r.Metadata()), } if sse := r.GetProperty("SSESpecification"); sse.IsNotNil() { diff --git a/pkg/iac/adapters/cloudformation/aws/sns/sns.go b/pkg/iac/adapters/cloudformation/aws/sns/sns.go index 8e691b98d8e5..4264077bca57 100644 --- a/pkg/iac/adapters/cloudformation/aws/sns/sns.go +++ b/pkg/iac/adapters/cloudformation/aws/sns/sns.go @@ -1,7 +1,7 @@ package sns import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/sns" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sns" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/sns/topic.go b/pkg/iac/adapters/cloudformation/aws/sns/topic.go index 738248ccfd88..59c5672bea82 100644 --- a/pkg/iac/adapters/cloudformation/aws/sns/topic.go +++ b/pkg/iac/adapters/cloudformation/aws/sns/topic.go @@ -1,9 +1,9 @@ package sns import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/sns" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sns" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func getTopics(ctx parser.FileContext) (topics []sns.Topic) { diff --git a/pkg/iac/adapters/cloudformation/aws/sqs/queue.go b/pkg/iac/adapters/cloudformation/aws/sqs/queue.go index bbfeb02a08b2..2670dc299663 100644 --- a/pkg/iac/adapters/cloudformation/aws/sqs/queue.go +++ b/pkg/iac/adapters/cloudformation/aws/sqs/queue.go @@ -5,20 +5,20 @@ import ( "github.com/liamg/iamgo" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/providers/aws/sqs" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sqs" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func getQueues(ctx parser.FileContext) (queues []sqs.Queue) { for _, r := range ctx.GetResourcesByType("AWS::SQS::Queue") { queue := sqs.Queue{ Metadata: r.Metadata(), - QueueURL: defsecTypes.StringDefault("", r.Metadata()), + QueueURL: iacTypes.StringDefault("", r.Metadata()), Encryption: sqs.Encryption{ Metadata: r.Metadata(), - ManagedEncryption: defsecTypes.Bool(false, r.Metadata()), + ManagedEncryption: iacTypes.Bool(false, r.Metadata()), KMSKeyID: r.GetStringProperty("KmsMasterKeyId"), }, Policies: []iam.Policy{}, @@ -50,12 +50,12 @@ func getPolicy(id string, ctx parser.FileContext) (*iam.Policy, error) { } return &iam.Policy{ Metadata: documentProp.Metadata(), - Name: defsecTypes.StringDefault("", documentProp.Metadata()), + Name: iacTypes.StringDefault("", documentProp.Metadata()), Document: iam.Document{ Metadata: documentProp.Metadata(), Parsed: *parsed, }, - Builtin: defsecTypes.Bool(false, documentProp.Metadata()), + Builtin: iacTypes.Bool(false, documentProp.Metadata()), }, nil } } diff --git a/pkg/iac/adapters/cloudformation/aws/sqs/sqs.go b/pkg/iac/adapters/cloudformation/aws/sqs/sqs.go index e51ab59334ba..4f01ba6861b0 100644 --- a/pkg/iac/adapters/cloudformation/aws/sqs/sqs.go +++ b/pkg/iac/adapters/cloudformation/aws/sqs/sqs.go @@ -1,7 +1,7 @@ package sqs import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/sqs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sqs" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/ssm/secret.go b/pkg/iac/adapters/cloudformation/aws/ssm/secret.go index 181799c68f8e..ae3a43ee28f7 100644 --- a/pkg/iac/adapters/cloudformation/aws/ssm/secret.go +++ b/pkg/iac/adapters/cloudformation/aws/ssm/secret.go @@ -1,7 +1,7 @@ package ssm import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ssm" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ssm" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/ssm/ssm.go b/pkg/iac/adapters/cloudformation/aws/ssm/ssm.go index 705ad63c3391..88bc5485fe33 100644 --- a/pkg/iac/adapters/cloudformation/aws/ssm/ssm.go +++ b/pkg/iac/adapters/cloudformation/aws/ssm/ssm.go @@ -1,7 +1,7 @@ package ssm import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ssm" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ssm" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/workspaces/workspace.go b/pkg/iac/adapters/cloudformation/aws/workspaces/workspace.go index 8a896513a740..3966468849cc 100644 --- a/pkg/iac/adapters/cloudformation/aws/workspaces/workspace.go +++ b/pkg/iac/adapters/cloudformation/aws/workspaces/workspace.go @@ -1,7 +1,7 @@ package workspaces import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/workspaces" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/workspaces" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/cloudformation/aws/workspaces/workspaces.go b/pkg/iac/adapters/cloudformation/aws/workspaces/workspaces.go index a7702a821466..578fa0d507c3 100644 --- a/pkg/iac/adapters/cloudformation/aws/workspaces/workspaces.go +++ b/pkg/iac/adapters/cloudformation/aws/workspaces/workspaces.go @@ -1,7 +1,7 @@ package workspaces import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/workspaces" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/workspaces" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" ) diff --git a/pkg/iac/adapters/terraform/adapt.go b/pkg/iac/adapters/terraform/adapt.go index 108122d84b59..9028e7cc15f2 100644 --- a/pkg/iac/adapters/terraform/adapt.go +++ b/pkg/iac/adapters/terraform/adapt.go @@ -1,8 +1,6 @@ package terraform import ( - "github.com/aquasecurity/defsec/pkg/state" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/azure" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/cloudstack" @@ -13,6 +11,8 @@ import ( "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/nifcloud" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/openstack" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/oracle" + "github.com/aquasecurity/trivy/pkg/iac/state" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) *state.State { diff --git a/pkg/iac/adapters/terraform/aws/accessanalyzer/accessanalyzer.go b/pkg/iac/adapters/terraform/aws/accessanalyzer/accessanalyzer.go index 97fcf38713c6..93c76f979d55 100644 --- a/pkg/iac/adapters/terraform/aws/accessanalyzer/accessanalyzer.go +++ b/pkg/iac/adapters/terraform/aws/accessanalyzer/accessanalyzer.go @@ -1,9 +1,9 @@ package accessanalyzer import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/accessanalyzer" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/accessanalyzer" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) accessanalyzer.AccessAnalyzer { diff --git a/pkg/iac/adapters/terraform/aws/adapt.go b/pkg/iac/adapters/terraform/aws/adapt.go index 3e6366d698f1..c9d9d94ecea6 100644 --- a/pkg/iac/adapters/terraform/aws/adapt.go +++ b/pkg/iac/adapters/terraform/aws/adapt.go @@ -1,8 +1,6 @@ package aws import ( - "github.com/aquasecurity/defsec/pkg/providers/aws" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws/apigateway" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws/athena" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws/cloudfront" @@ -36,6 +34,8 @@ import ( "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws/sqs" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws/ssm" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws/workspaces" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) aws.AWS { diff --git a/pkg/iac/adapters/terraform/aws/apigateway/adapt.go b/pkg/iac/adapters/terraform/aws/apigateway/adapt.go index 2c6b2cb8d6a6..bf0e4ca86379 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/adapt.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/adapt.go @@ -1,10 +1,10 @@ package apigateway import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway" - v1 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v1" - v2 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v2" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway" + v1 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v1" + v2 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v2" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) apigateway.APIGateway { diff --git a/pkg/iac/adapters/terraform/aws/apigateway/adapt_test.go b/pkg/iac/adapters/terraform/aws/apigateway/adapt_test.go index 7c7b52df40d0..92d96f396e9c 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/adapt_test.go @@ -3,12 +3,12 @@ package apigateway import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway" - v1 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v1" - v2 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v2" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway" + v1 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v1" + v2 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v2" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -65,7 +65,7 @@ resource "aws_apigatewayv2_domain_name" "example" { V1: v1.APIGateway{ APIs: []v1.API{ { - Metadata: defsecTypes.Metadata{}, + Metadata: iacTypes.Metadata{}, Name: String("MyDemoAPI"), Resources: []v1.Resource{ { @@ -122,16 +122,16 @@ resource "aws_apigatewayv2_domain_name" "example" { } } -func Int(i int) defsecTypes.IntValue { - return defsecTypes.Int(i, defsecTypes.NewTestMetadata()) +func Int(i int) iacTypes.IntValue { + return iacTypes.Int(i, iacTypes.NewTestMetadata()) } -func Bool(b bool) defsecTypes.BoolValue { - return defsecTypes.Bool(b, defsecTypes.NewTestMetadata()) +func Bool(b bool) iacTypes.BoolValue { + return iacTypes.Bool(b, iacTypes.NewTestMetadata()) } -func String(s string) defsecTypes.StringValue { - return defsecTypes.String(s, defsecTypes.NewTestMetadata()) +func String(s string) iacTypes.StringValue { + return iacTypes.String(s, iacTypes.NewTestMetadata()) } func TestLines(t *testing.T) { src := ` diff --git a/pkg/iac/adapters/terraform/aws/apigateway/apiv1.go b/pkg/iac/adapters/terraform/aws/apigateway/apiv1.go index e01c9cbdbc94..3f03817b9e1b 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/apiv1.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/apiv1.go @@ -1,9 +1,9 @@ package apigateway import ( - v1 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v1" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + v1 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v1" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptAPIResourcesV1(modules terraform.Modules, apiBlock *terraform.Block) []v1.Resource { @@ -59,8 +59,8 @@ func adaptAPIsV1(modules terraform.Modules) []v1.API { if len(orphanResources) > 0 { orphanage := v1.API{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Name: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Name: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), } for _, stage := range orphanResources { orphanage.Stages = append(orphanage.Stages, adaptStageV1(stage, modules)) @@ -77,7 +77,7 @@ func adaptStageV1(stageBlock *terraform.Block, modules terraform.Modules) v1.Sta Name: stageBlock.GetAttribute("name").AsStringValueOrDefault("", stageBlock), AccessLogging: v1.AccessLogging{ Metadata: stageBlock.GetMetadata(), - CloudwatchLogGroupARN: defsecTypes.StringDefault("", stageBlock.GetMetadata()), + CloudwatchLogGroupARN: iacTypes.StringDefault("", stageBlock.GetMetadata()), }, XRayTracingEnabled: stageBlock.GetAttribute("xray_tracing_enabled").AsBoolValueOrDefault(false, stageBlock), } @@ -85,9 +85,9 @@ func adaptStageV1(stageBlock *terraform.Block, modules terraform.Modules) v1.Sta restMethodSettings := v1.RESTMethodSettings{ Metadata: methodSettings.GetMetadata(), - Method: defsecTypes.String("", methodSettings.GetMetadata()), - CacheDataEncrypted: defsecTypes.BoolDefault(false, methodSettings.GetMetadata()), - CacheEnabled: defsecTypes.BoolDefault(false, methodSettings.GetMetadata()), + Method: iacTypes.String("", methodSettings.GetMetadata()), + CacheDataEncrypted: iacTypes.BoolDefault(false, methodSettings.GetMetadata()), + CacheEnabled: iacTypes.BoolDefault(false, methodSettings.GetMetadata()), } if settings := methodSettings.GetBlock("settings"); settings.IsNotNil() { @@ -108,7 +108,7 @@ func adaptStageV1(stageBlock *terraform.Block, modules terraform.Modules) v1.Sta stage.AccessLogging.CloudwatchLogGroupARN = accessLogging.GetAttribute("destination_arn").AsStringValueOrDefault("", accessLogging) } else { stage.AccessLogging.Metadata = stageBlock.GetMetadata() - stage.AccessLogging.CloudwatchLogGroupARN = defsecTypes.StringDefault("", stageBlock.GetMetadata()) + stage.AccessLogging.CloudwatchLogGroupARN = iacTypes.StringDefault("", stageBlock.GetMetadata()) } return stage diff --git a/pkg/iac/adapters/terraform/aws/apigateway/apiv1_test.go b/pkg/iac/adapters/terraform/aws/apigateway/apiv1_test.go index 179813faf5d6..cf69e8d0ee23 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/apiv1_test.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/apiv1_test.go @@ -3,9 +3,9 @@ package apigateway import ( "testing" - v1 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v1" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + v1 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v1" ) func Test_adaptAPIMethodsV1(t *testing.T) { diff --git a/pkg/iac/adapters/terraform/aws/apigateway/apiv2.go b/pkg/iac/adapters/terraform/aws/apigateway/apiv2.go index 811abbc1b81c..8a6d12679802 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/apiv2.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/apiv2.go @@ -1,9 +1,9 @@ package apigateway import ( - v2 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v2" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + v2 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v2" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptAPIsV2(modules terraform.Modules) []v2.API { @@ -35,9 +35,9 @@ func adaptAPIsV2(modules terraform.Modules) []v2.API { orphanResources := modules.GetResourceByIDs(apiStageIDs.Orphans()...) if len(orphanResources) > 0 { orphanage := v2.API{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Name: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - ProtocolType: defsecTypes.StringUnresolvable(defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Name: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + ProtocolType: iacTypes.StringUnresolvable(iacTypes.NewUnmanagedMetadata()), Stages: nil, } for _, stage := range orphanResources { @@ -55,7 +55,7 @@ func adaptStageV2(stageBlock *terraform.Block) v2.Stage { Name: stageBlock.GetAttribute("name").AsStringValueOrDefault("", stageBlock), AccessLogging: v2.AccessLogging{ Metadata: stageBlock.GetMetadata(), - CloudwatchLogGroupARN: defsecTypes.StringDefault("", stageBlock.GetMetadata()), + CloudwatchLogGroupARN: iacTypes.StringDefault("", stageBlock.GetMetadata()), }, } if accessLogging := stageBlock.GetBlock("access_log_settings"); accessLogging.IsNotNil() { @@ -63,7 +63,7 @@ func adaptStageV2(stageBlock *terraform.Block) v2.Stage { stage.AccessLogging.CloudwatchLogGroupARN = accessLogging.GetAttribute("destination_arn").AsStringValueOrDefault("", accessLogging) } else { stage.AccessLogging.Metadata = stageBlock.GetMetadata() - stage.AccessLogging.CloudwatchLogGroupARN = defsecTypes.StringDefault("", stageBlock.GetMetadata()) + stage.AccessLogging.CloudwatchLogGroupARN = iacTypes.StringDefault("", stageBlock.GetMetadata()) } return stage } diff --git a/pkg/iac/adapters/terraform/aws/apigateway/apiv2_test.go b/pkg/iac/adapters/terraform/aws/apigateway/apiv2_test.go index b52c0188e4c8..fa73981c80e3 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/apiv2_test.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/apiv2_test.go @@ -3,9 +3,9 @@ package apigateway import ( "testing" - v2 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v2" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + v2 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v2" ) func Test_adaptAPIsV2(t *testing.T) { diff --git a/pkg/iac/adapters/terraform/aws/apigateway/namesv1.go b/pkg/iac/adapters/terraform/aws/apigateway/namesv1.go index bec491d6e8a2..7bc6af3edd4c 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/namesv1.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/namesv1.go @@ -1,8 +1,8 @@ package apigateway import ( - v1 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v1" - "github.com/aquasecurity/defsec/pkg/terraform" + v1 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v1" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptDomainNamesV1(modules terraform.Modules) []v1.DomainName { diff --git a/pkg/iac/adapters/terraform/aws/apigateway/namesv1_test.go b/pkg/iac/adapters/terraform/aws/apigateway/namesv1_test.go index 4cb790cf8791..bff0ac47848e 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/namesv1_test.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/namesv1_test.go @@ -3,9 +3,9 @@ package apigateway import ( "testing" - v1 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v1" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + v1 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v1" ) func Test_adaptDomainNamesV1(t *testing.T) { diff --git a/pkg/iac/adapters/terraform/aws/apigateway/namesv2.go b/pkg/iac/adapters/terraform/aws/apigateway/namesv2.go index f526ba793850..e7beb2d6ed2f 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/namesv2.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/namesv2.go @@ -1,9 +1,9 @@ package apigateway import ( - v2 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v2" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + v2 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v2" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptDomainNamesV2(modules terraform.Modules) []v2.DomainName { diff --git a/pkg/iac/adapters/terraform/aws/apigateway/namesv2_test.go b/pkg/iac/adapters/terraform/aws/apigateway/namesv2_test.go index 39125e7ee320..25c40ebcc231 100644 --- a/pkg/iac/adapters/terraform/aws/apigateway/namesv2_test.go +++ b/pkg/iac/adapters/terraform/aws/apigateway/namesv2_test.go @@ -3,9 +3,9 @@ package apigateway import ( "testing" - v2 "github.com/aquasecurity/defsec/pkg/providers/aws/apigateway/v2" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + v2 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v2" ) func Test_adaptDomainNamesV2(t *testing.T) { diff --git a/pkg/iac/adapters/terraform/aws/athena/adapt.go b/pkg/iac/adapters/terraform/aws/athena/adapt.go index 0f72c457551b..f8f56df99e87 100644 --- a/pkg/iac/adapters/terraform/aws/athena/adapt.go +++ b/pkg/iac/adapters/terraform/aws/athena/adapt.go @@ -1,9 +1,9 @@ package athena import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/athena" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/athena" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) athena.Athena { @@ -39,7 +39,7 @@ func adaptDatabase(resource *terraform.Block) athena.Database { Name: resource.GetAttribute("name").AsStringValueOrDefault("", resource), Encryption: athena.EncryptionConfiguration{ Metadata: resource.GetMetadata(), - Type: defsecTypes.StringDefault("", resource.GetMetadata()), + Type: iacTypes.StringDefault("", resource.GetMetadata()), }, } if encryptionConfigBlock := resource.GetBlock("encryption_configuration"); encryptionConfigBlock.IsNotNil() { @@ -57,9 +57,9 @@ func adaptWorkgroup(resource *terraform.Block) athena.Workgroup { Name: resource.GetAttribute("name").AsStringValueOrDefault("", resource), Encryption: athena.EncryptionConfiguration{ Metadata: resource.GetMetadata(), - Type: defsecTypes.StringDefault("", resource.GetMetadata()), + Type: iacTypes.StringDefault("", resource.GetMetadata()), }, - EnforceConfiguration: defsecTypes.BoolDefault(false, resource.GetMetadata()), + EnforceConfiguration: iacTypes.BoolDefault(false, resource.GetMetadata()), } if configBlock := resource.GetBlock("configuration"); configBlock.IsNotNil() { diff --git a/pkg/iac/adapters/terraform/aws/athena/adapt_test.go b/pkg/iac/adapters/terraform/aws/athena/adapt_test.go index a0ff95718e73..e734b024b274 100644 --- a/pkg/iac/adapters/terraform/aws/athena/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/athena/adapt_test.go @@ -3,11 +3,11 @@ package athena import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/athena" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/athena" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -31,11 +31,11 @@ func Test_adaptDatabase(t *testing.T) { } `, expected: athena.Database{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("database_name", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("database_name", iacTypes.NewTestMetadata()), Encryption: athena.EncryptionConfiguration{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String(athena.EncryptionTypeSSEKMS, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String(athena.EncryptionTypeSSEKMS, iacTypes.NewTestMetadata()), }, }, }, @@ -74,13 +74,13 @@ func Test_adaptWorkgroup(t *testing.T) { } `, expected: athena.Workgroup{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("example", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("example", iacTypes.NewTestMetadata()), Encryption: athena.EncryptionConfiguration{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String(athena.EncryptionTypeSSEKMS, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String(athena.EncryptionTypeSSEKMS, iacTypes.NewTestMetadata()), }, - EnforceConfiguration: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + EnforceConfiguration: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -101,13 +101,13 @@ func Test_adaptWorkgroup(t *testing.T) { } `, expected: athena.Workgroup{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("example", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("example", iacTypes.NewTestMetadata()), Encryption: athena.EncryptionConfiguration{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String(athena.EncryptionTypeSSEKMS, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String(athena.EncryptionTypeSSEKMS, iacTypes.NewTestMetadata()), }, - EnforceConfiguration: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + EnforceConfiguration: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, { @@ -126,13 +126,13 @@ func Test_adaptWorkgroup(t *testing.T) { } `, expected: athena.Workgroup{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("example", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("example", iacTypes.NewTestMetadata()), Encryption: athena.EncryptionConfiguration{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String(athena.EncryptionTypeNone, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String(athena.EncryptionTypeNone, iacTypes.NewTestMetadata()), }, - EnforceConfiguration: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + EnforceConfiguration: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -143,13 +143,13 @@ func Test_adaptWorkgroup(t *testing.T) { } `, expected: athena.Workgroup{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("example", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("example", iacTypes.NewTestMetadata()), Encryption: athena.EncryptionConfiguration{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String(athena.EncryptionTypeNone, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String(athena.EncryptionTypeNone, iacTypes.NewTestMetadata()), }, - EnforceConfiguration: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + EnforceConfiguration: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/cloudfront/adapt.go b/pkg/iac/adapters/terraform/aws/cloudfront/adapt.go index dba2662f9b9c..a981241a83a4 100644 --- a/pkg/iac/adapters/terraform/aws/cloudfront/adapt.go +++ b/pkg/iac/adapters/terraform/aws/cloudfront/adapt.go @@ -1,9 +1,9 @@ package cloudfront import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudfront" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudfront" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) cloudfront.Cloudfront { diff --git a/pkg/iac/adapters/terraform/aws/cloudfront/adapt_test.go b/pkg/iac/adapters/terraform/aws/cloudfront/adapt_test.go index 1b28e07394df..eade38048204 100644 --- a/pkg/iac/adapters/terraform/aws/cloudfront/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/cloudfront/adapt_test.go @@ -3,11 +3,11 @@ package cloudfront import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudfront" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudfront" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -45,27 +45,27 @@ func Test_adaptDistribution(t *testing.T) { } `, expected: cloudfront.Distribution{ - Metadata: defsecTypes.NewTestMetadata(), - WAFID: defsecTypes.String("waf_id", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + WAFID: iacTypes.String("waf_id", iacTypes.NewTestMetadata()), Logging: cloudfront.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - Bucket: defsecTypes.String("mylogs.s3.amazonaws.com", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Bucket: iacTypes.String("mylogs.s3.amazonaws.com", iacTypes.NewTestMetadata()), }, DefaultCacheBehaviour: cloudfront.CacheBehaviour{ - Metadata: defsecTypes.NewTestMetadata(), - ViewerProtocolPolicy: defsecTypes.String("redirect-to-https", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ViewerProtocolPolicy: iacTypes.String("redirect-to-https", iacTypes.NewTestMetadata()), }, OrdererCacheBehaviours: []cloudfront.CacheBehaviour{ { - Metadata: defsecTypes.NewTestMetadata(), - ViewerProtocolPolicy: defsecTypes.String("redirect-to-https", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ViewerProtocolPolicy: iacTypes.String("redirect-to-https", iacTypes.NewTestMetadata()), }, }, ViewerCertificate: cloudfront.ViewerCertificate{ - Metadata: defsecTypes.NewTestMetadata(), - MinimumProtocolVersion: defsecTypes.String("TLSv1.2_2021", defsecTypes.NewTestMetadata()), - CloudfrontDefaultCertificate: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - SSLSupportMethod: defsecTypes.String("sni-only", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + MinimumProtocolVersion: iacTypes.String("TLSv1.2_2021", iacTypes.NewTestMetadata()), + CloudfrontDefaultCertificate: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + SSLSupportMethod: iacTypes.String("sni-only", iacTypes.NewTestMetadata()), }, }, }, @@ -76,20 +76,20 @@ func Test_adaptDistribution(t *testing.T) { } `, expected: cloudfront.Distribution{ - Metadata: defsecTypes.NewTestMetadata(), - WAFID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + WAFID: iacTypes.String("", iacTypes.NewTestMetadata()), Logging: cloudfront.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - Bucket: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Bucket: iacTypes.String("", iacTypes.NewTestMetadata()), }, DefaultCacheBehaviour: cloudfront.CacheBehaviour{ - Metadata: defsecTypes.NewTestMetadata(), - ViewerProtocolPolicy: defsecTypes.String("allow-all", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ViewerProtocolPolicy: iacTypes.String("allow-all", iacTypes.NewTestMetadata()), }, ViewerCertificate: cloudfront.ViewerCertificate{ - Metadata: defsecTypes.NewTestMetadata(), - MinimumProtocolVersion: defsecTypes.String("TLSv1", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + MinimumProtocolVersion: iacTypes.String("TLSv1", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/cloudtrail/adapt.go b/pkg/iac/adapters/terraform/aws/cloudtrail/adapt.go index 0a9e8b0d5828..22464d85f80c 100644 --- a/pkg/iac/adapters/terraform/aws/cloudtrail/adapt.go +++ b/pkg/iac/adapters/terraform/aws/cloudtrail/adapt.go @@ -1,8 +1,8 @@ package cloudtrail import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudtrail" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudtrail" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) cloudtrail.CloudTrail { diff --git a/pkg/iac/adapters/terraform/aws/cloudtrail/adapt_test.go b/pkg/iac/adapters/terraform/aws/cloudtrail/adapt_test.go index cbd593bf8897..9088b115752e 100644 --- a/pkg/iac/adapters/terraform/aws/cloudtrail/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/cloudtrail/adapt_test.go @@ -3,11 +3,11 @@ package cloudtrail import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudtrail" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudtrail" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -34,14 +34,14 @@ func Test_adaptTrail(t *testing.T) { } `, expected: cloudtrail.Trail{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("example", defsecTypes.NewTestMetadata()), - EnableLogFileValidation: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - IsMultiRegion: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("kms-key", defsecTypes.NewTestMetadata()), - CloudWatchLogsLogGroupArn: defsecTypes.String("abc", defsecTypes.NewTestMetadata()), - IsLogging: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - BucketName: defsecTypes.String("abcdefgh", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("example", iacTypes.NewTestMetadata()), + EnableLogFileValidation: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + IsMultiRegion: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("kms-key", iacTypes.NewTestMetadata()), + CloudWatchLogsLogGroupArn: iacTypes.String("abc", iacTypes.NewTestMetadata()), + IsLogging: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + BucketName: iacTypes.String("abcdefgh", iacTypes.NewTestMetadata()), }, }, { @@ -51,14 +51,14 @@ func Test_adaptTrail(t *testing.T) { } `, expected: cloudtrail.Trail{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("", defsecTypes.NewTestMetadata()), - EnableLogFileValidation: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - IsMultiRegion: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), - BucketName: defsecTypes.String("", defsecTypes.NewTestMetadata()), - CloudWatchLogsLogGroupArn: defsecTypes.String("", defsecTypes.NewTestMetadata()), - IsLogging: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("", iacTypes.NewTestMetadata()), + EnableLogFileValidation: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + IsMultiRegion: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), + BucketName: iacTypes.String("", iacTypes.NewTestMetadata()), + CloudWatchLogsLogGroupArn: iacTypes.String("", iacTypes.NewTestMetadata()), + IsLogging: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/cloudwatch/adapt.go b/pkg/iac/adapters/terraform/aws/cloudwatch/adapt.go index 3e3a378e0b8d..c0b47b7f8d3e 100644 --- a/pkg/iac/adapters/terraform/aws/cloudwatch/adapt.go +++ b/pkg/iac/adapters/terraform/aws/cloudwatch/adapt.go @@ -1,9 +1,9 @@ package cloudwatch import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudwatch" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudwatch" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) cloudwatch.CloudWatch { diff --git a/pkg/iac/adapters/terraform/aws/cloudwatch/adapt_test.go b/pkg/iac/adapters/terraform/aws/cloudwatch/adapt_test.go index 0c73810fa9b3..5febcd592dfe 100644 --- a/pkg/iac/adapters/terraform/aws/cloudwatch/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/cloudwatch/adapt_test.go @@ -3,11 +3,11 @@ package cloudwatch import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/cloudwatch" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudwatch" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -32,11 +32,11 @@ func Test_adaptLogGroups(t *testing.T) { `, expected: []cloudwatch.LogGroup{ { - Metadata: defsecTypes.NewTestMetadata(), - Arn: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Name: defsecTypes.String("my-group", defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("aws_kms_key.log_key", defsecTypes.NewTestMetadata()), - RetentionInDays: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Arn: iacTypes.String("", iacTypes.NewTestMetadata()), + Name: iacTypes.String("my-group", iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("aws_kms_key.log_key", iacTypes.NewTestMetadata()), + RetentionInDays: iacTypes.Int(0, iacTypes.NewTestMetadata()), MetricFilters: nil, }, }, @@ -51,11 +51,11 @@ func Test_adaptLogGroups(t *testing.T) { `, expected: []cloudwatch.LogGroup{ { - Metadata: defsecTypes.NewTestMetadata(), - Arn: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Name: defsecTypes.String("my-group", defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("key-as-string", defsecTypes.NewTestMetadata()), - RetentionInDays: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Arn: iacTypes.String("", iacTypes.NewTestMetadata()), + Name: iacTypes.String("my-group", iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("key-as-string", iacTypes.NewTestMetadata()), + RetentionInDays: iacTypes.Int(0, iacTypes.NewTestMetadata()), }, }, }, @@ -69,11 +69,11 @@ func Test_adaptLogGroups(t *testing.T) { `, expected: []cloudwatch.LogGroup{ { - Metadata: defsecTypes.NewTestMetadata(), - Arn: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Name: defsecTypes.String("my-group", defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), - RetentionInDays: defsecTypes.Int(3, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Arn: iacTypes.String("", iacTypes.NewTestMetadata()), + Name: iacTypes.String("my-group", iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), + RetentionInDays: iacTypes.Int(3, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/codebuild/adapt.go b/pkg/iac/adapters/terraform/aws/codebuild/adapt.go index 7870ff26eae0..f7fa4b4f35b5 100644 --- a/pkg/iac/adapters/terraform/aws/codebuild/adapt.go +++ b/pkg/iac/adapters/terraform/aws/codebuild/adapt.go @@ -1,9 +1,9 @@ package codebuild import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/codebuild" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/codebuild" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) codebuild.CodeBuild { diff --git a/pkg/iac/adapters/terraform/aws/codebuild/adapt_test.go b/pkg/iac/adapters/terraform/aws/codebuild/adapt_test.go index 59d259134cf3..58aeca7df9d1 100644 --- a/pkg/iac/adapters/terraform/aws/codebuild/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/codebuild/adapt_test.go @@ -3,11 +3,11 @@ package codebuild import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/codebuild" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/codebuild" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -37,19 +37,19 @@ func Test_adaptProject(t *testing.T) { } `, expected: codebuild.Project{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), ArtifactSettings: codebuild.ArtifactSettings{ - Metadata: defsecTypes.NewTestMetadata(), - EncryptionEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EncryptionEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, SecondaryArtifactSettings: []codebuild.ArtifactSettings{ { - Metadata: defsecTypes.NewTestMetadata(), - EncryptionEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EncryptionEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, { - Metadata: defsecTypes.NewTestMetadata(), - EncryptionEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EncryptionEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -61,10 +61,10 @@ func Test_adaptProject(t *testing.T) { } `, expected: codebuild.Project{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), ArtifactSettings: codebuild.ArtifactSettings{ - Metadata: defsecTypes.NewTestMetadata(), - EncryptionEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EncryptionEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/config/adapt.go b/pkg/iac/adapters/terraform/aws/config/adapt.go index 608f6f741f81..643fbd86720c 100644 --- a/pkg/iac/adapters/terraform/aws/config/adapt.go +++ b/pkg/iac/adapters/terraform/aws/config/adapt.go @@ -1,9 +1,9 @@ package config import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/config" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/config" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) config.Config { @@ -14,15 +14,15 @@ func Adapt(modules terraform.Modules) config.Config { func adaptConfigurationAggregrator(modules terraform.Modules) config.ConfigurationAggregrator { configurationAggregrator := config.ConfigurationAggregrator{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - SourceAllRegions: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + SourceAllRegions: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), } for _, resource := range modules.GetResourcesByType("aws_config_configuration_aggregator") { configurationAggregrator.Metadata = resource.GetMetadata() aggregationBlock := resource.GetFirstMatchingBlock("account_aggregation_source", "organization_aggregation_source") if aggregationBlock.IsNil() { - configurationAggregrator.SourceAllRegions = defsecTypes.Bool(false, resource.GetMetadata()) + configurationAggregrator.SourceAllRegions = iacTypes.Bool(false, resource.GetMetadata()) } else { allRegionsAttr := aggregationBlock.GetAttribute("all_regions") allRegionsVal := allRegionsAttr.AsBoolValueOrDefault(false, aggregationBlock) diff --git a/pkg/iac/adapters/terraform/aws/config/adapt_test.go b/pkg/iac/adapters/terraform/aws/config/adapt_test.go index f4a0c3d0467e..94917b430fbe 100644 --- a/pkg/iac/adapters/terraform/aws/config/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/config/adapt_test.go @@ -3,11 +3,11 @@ package config import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/config" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/config" "github.com/stretchr/testify/assert" ) @@ -31,8 +31,8 @@ func Test_adaptConfigurationAggregrator(t *testing.T) { } `, expected: config.ConfigurationAggregrator{ - Metadata: defsecTypes.NewTestMetadata(), - SourceAllRegions: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SourceAllRegions: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -42,8 +42,8 @@ func Test_adaptConfigurationAggregrator(t *testing.T) { } `, expected: config.ConfigurationAggregrator{ - Metadata: defsecTypes.NewTestMetadata(), - SourceAllRegions: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SourceAllRegions: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/documentdb/adapt.go b/pkg/iac/adapters/terraform/aws/documentdb/adapt.go index 104ef836d498..5c10b5195c97 100644 --- a/pkg/iac/adapters/terraform/aws/documentdb/adapt.go +++ b/pkg/iac/adapters/terraform/aws/documentdb/adapt.go @@ -1,9 +1,9 @@ package documentdb import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/documentdb" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/documentdb" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) documentdb.DocumentDB { diff --git a/pkg/iac/adapters/terraform/aws/documentdb/adapt_test.go b/pkg/iac/adapters/terraform/aws/documentdb/adapt_test.go index 3ba1018b2315..db7dbd7937e8 100644 --- a/pkg/iac/adapters/terraform/aws/documentdb/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/documentdb/adapt_test.go @@ -3,11 +3,11 @@ package documentdb import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/documentdb" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/documentdb" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -37,19 +37,19 @@ func Test_adaptCluster(t *testing.T) { } `, expected: documentdb.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), - Identifier: defsecTypes.String("my-docdb-cluster", defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("kms-key", defsecTypes.NewTestMetadata()), - EnabledLogExports: []defsecTypes.StringValue{ - defsecTypes.String("audit", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Identifier: iacTypes.String("my-docdb-cluster", iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("kms-key", iacTypes.NewTestMetadata()), + EnabledLogExports: []iacTypes.StringValue{ + iacTypes.String("audit", iacTypes.NewTestMetadata()), }, Instances: []documentdb.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyID: defsecTypes.String("kms-key#1", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyID: iacTypes.String("kms-key#1", iacTypes.NewTestMetadata()), }, }, - StorageEncrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + StorageEncrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -59,10 +59,10 @@ func Test_adaptCluster(t *testing.T) { } `, expected: documentdb.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), - Identifier: defsecTypes.String("", defsecTypes.NewTestMetadata()), - StorageEncrypted: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Identifier: iacTypes.String("", iacTypes.NewTestMetadata()), + StorageEncrypted: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/dynamodb/adapt.go b/pkg/iac/adapters/terraform/aws/dynamodb/adapt.go index a09ffcfb742d..c4c1582c807b 100644 --- a/pkg/iac/adapters/terraform/aws/dynamodb/adapt.go +++ b/pkg/iac/adapters/terraform/aws/dynamodb/adapt.go @@ -1,9 +1,9 @@ package dynamodb import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/dynamodb" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/dynamodb" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) dynamodb.DynamoDB { @@ -39,10 +39,10 @@ func adaptCluster(resource *terraform.Block, module *terraform.Module) dynamodb. Metadata: resource.GetMetadata(), ServerSideEncryption: dynamodb.ServerSideEncryption{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), - KMSKeyID: defsecTypes.StringDefault("", resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), + KMSKeyID: iacTypes.StringDefault("", resource.GetMetadata()), }, - PointInTimeRecovery: defsecTypes.BoolDefault(false, resource.GetMetadata()), + PointInTimeRecovery: iacTypes.BoolDefault(false, resource.GetMetadata()), } if ssEncryptionBlock := resource.GetBlock("server_side_encryption"); ssEncryptionBlock.IsNotNil() { @@ -65,10 +65,10 @@ func adaptTable(resource *terraform.Block, module *terraform.Module) dynamodb.Ta Metadata: resource.GetMetadata(), ServerSideEncryption: dynamodb.ServerSideEncryption{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), - KMSKeyID: defsecTypes.StringDefault("", resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), + KMSKeyID: iacTypes.StringDefault("", resource.GetMetadata()), }, - PointInTimeRecovery: defsecTypes.BoolDefault(false, resource.GetMetadata()), + PointInTimeRecovery: iacTypes.BoolDefault(false, resource.GetMetadata()), } if ssEncryptionBlock := resource.GetBlock("server_side_encryption"); ssEncryptionBlock.IsNotNil() { @@ -81,7 +81,7 @@ func adaptTable(resource *terraform.Block, module *terraform.Module) dynamodb.Ta kmsBlock, err := module.GetReferencedBlock(kmsKeyIdAttr, resource) if err == nil && kmsBlock.IsNotNil() { - table.ServerSideEncryption.KMSKeyID = defsecTypes.String(kmsBlock.FullName(), kmsBlock.GetMetadata()) + table.ServerSideEncryption.KMSKeyID = iacTypes.String(kmsBlock.FullName(), kmsBlock.GetMetadata()) } } diff --git a/pkg/iac/adapters/terraform/aws/dynamodb/adapt_test.go b/pkg/iac/adapters/terraform/aws/dynamodb/adapt_test.go index 574f18c86f59..ae7002ac697b 100644 --- a/pkg/iac/adapters/terraform/aws/dynamodb/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/dynamodb/adapt_test.go @@ -3,11 +3,11 @@ package dynamodb import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/dynamodb" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/dynamodb" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -29,13 +29,13 @@ func Test_adaptCluster(t *testing.T) { } `, expected: dynamodb.DAXCluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), ServerSideEncryption: dynamodb.ServerSideEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, - PointInTimeRecovery: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + PointInTimeRecovery: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } @@ -72,13 +72,13 @@ func Test_adaptTable(t *testing.T) { } `, expected: dynamodb.Table{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), ServerSideEncryption: dynamodb.ServerSideEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("key-string", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("key-string", iacTypes.NewTestMetadata()), }, - PointInTimeRecovery: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + PointInTimeRecovery: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -91,13 +91,13 @@ func Test_adaptTable(t *testing.T) { } `, expected: dynamodb.Table{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), ServerSideEncryption: dynamodb.ServerSideEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("alias/aws/dynamodb", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("alias/aws/dynamodb", iacTypes.NewTestMetadata()), }, - PointInTimeRecovery: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + PointInTimeRecovery: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, { @@ -116,13 +116,13 @@ func Test_adaptTable(t *testing.T) { } `, expected: dynamodb.Table{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), ServerSideEncryption: dynamodb.ServerSideEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("aws_kms_key.a", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("aws_kms_key.a", iacTypes.NewTestMetadata()), }, - PointInTimeRecovery: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + PointInTimeRecovery: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/ec2/adapt.go b/pkg/iac/adapters/terraform/aws/ec2/adapt.go index 3a339f1f93b6..6b02431f3772 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/adapt.go +++ b/pkg/iac/adapters/terraform/aws/ec2/adapt.go @@ -1,9 +1,9 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) ec2.EC2 { diff --git a/pkg/iac/adapters/terraform/aws/ec2/adapt_test.go b/pkg/iac/adapters/terraform/aws/ec2/adapt_test.go index 3957183c2afb..e539b3f827dc 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/ec2/adapt_test.go @@ -3,11 +3,11 @@ package ec2 import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -47,24 +47,24 @@ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE expected: ec2.EC2{ Instances: []ec2.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), MetadataOptions: ec2.MetadataOptions{ - Metadata: defsecTypes.NewTestMetadata(), - HttpTokens: defsecTypes.String("required", defsecTypes.NewTestMetadata()), - HttpEndpoint: defsecTypes.String("disabled", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + HttpTokens: iacTypes.String("required", iacTypes.NewTestMetadata()), + HttpEndpoint: iacTypes.String("disabled", iacTypes.NewTestMetadata()), }, - UserData: defsecTypes.String( + UserData: iacTypes.String( `export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE `, - defsecTypes.NewTestMetadata()), + iacTypes.NewTestMetadata()), RootBlockDevice: &ec2.BlockDevice{ - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, EBSBlockDevices: []*ec2.BlockDevice{ { - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -80,16 +80,16 @@ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE expected: ec2.EC2{ Instances: []ec2.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), MetadataOptions: ec2.MetadataOptions{ - Metadata: defsecTypes.NewTestMetadata(), - HttpTokens: defsecTypes.String("", defsecTypes.NewTestMetadata()), - HttpEndpoint: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + HttpTokens: iacTypes.String("", iacTypes.NewTestMetadata()), + HttpEndpoint: iacTypes.String("", iacTypes.NewTestMetadata()), }, - UserData: defsecTypes.String("", defsecTypes.NewTestMetadata()), + UserData: iacTypes.String("", iacTypes.NewTestMetadata()), RootBlockDevice: &ec2.BlockDevice{ - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -114,26 +114,26 @@ resource "aws_instance" "this" { expected: ec2.EC2{ LaunchTemplates: []ec2.LaunchTemplate{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Instance: ec2.Instance{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), MetadataOptions: ec2.MetadataOptions{ - HttpEndpoint: defsecTypes.String("disabled", defsecTypes.NewTestMetadata()), - HttpTokens: defsecTypes.String("required", defsecTypes.NewTestMetadata()), + HttpEndpoint: iacTypes.String("disabled", iacTypes.NewTestMetadata()), + HttpTokens: iacTypes.String("required", iacTypes.NewTestMetadata()), }, }, }, }, Instances: []ec2.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), MetadataOptions: ec2.MetadataOptions{ - HttpEndpoint: defsecTypes.String("disabled", defsecTypes.NewTestMetadata()), - HttpTokens: defsecTypes.String("required", defsecTypes.NewTestMetadata()), + HttpEndpoint: iacTypes.String("disabled", iacTypes.NewTestMetadata()), + HttpTokens: iacTypes.String("required", iacTypes.NewTestMetadata()), }, RootBlockDevice: &ec2.BlockDevice{ - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -159,26 +159,26 @@ resource "aws_instance" "this" { expected: ec2.EC2{ LaunchTemplates: []ec2.LaunchTemplate{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Instance: ec2.Instance{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), MetadataOptions: ec2.MetadataOptions{ - HttpEndpoint: defsecTypes.String("disabled", defsecTypes.NewTestMetadata()), - HttpTokens: defsecTypes.String("required", defsecTypes.NewTestMetadata()), + HttpEndpoint: iacTypes.String("disabled", iacTypes.NewTestMetadata()), + HttpTokens: iacTypes.String("required", iacTypes.NewTestMetadata()), }, }, }, }, Instances: []ec2.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), MetadataOptions: ec2.MetadataOptions{ - HttpEndpoint: defsecTypes.String("disabled", defsecTypes.NewTestMetadata()), - HttpTokens: defsecTypes.String("required", defsecTypes.NewTestMetadata()), + HttpEndpoint: iacTypes.String("disabled", iacTypes.NewTestMetadata()), + HttpTokens: iacTypes.String("required", iacTypes.NewTestMetadata()), }, RootBlockDevice: &ec2.BlockDevice{ - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/ec2/autoscaling.go b/pkg/iac/adapters/terraform/aws/ec2/autoscaling.go index 3d6a958b80f2..7974506e6460 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/autoscaling.go +++ b/pkg/iac/adapters/terraform/aws/ec2/autoscaling.go @@ -3,9 +3,9 @@ package ec2 import ( "encoding/base64" - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptLaunchTemplates(modules terraform.Modules) (templates []ec2.LaunchTemplate) { @@ -38,10 +38,10 @@ func adaptLaunchConfigurations(modules terraform.Modules) []ec2.LaunchConfigurat launchConfig := adaptLaunchConfiguration(resource) for _, resource := range module.GetResourcesByType("aws_ebs_encryption_by_default") { if resource.GetAttribute("enabled").NotEqual(false) { - launchConfig.RootBlockDevice.Encrypted = defsecTypes.BoolDefault(true, resource.GetMetadata()) + launchConfig.RootBlockDevice.Encrypted = iacTypes.BoolDefault(true, resource.GetMetadata()) for i := 0; i < len(launchConfig.EBSBlockDevices); i++ { ebs := launchConfig.EBSBlockDevices[i] - ebs.Encrypted = defsecTypes.BoolDefault(true, resource.GetMetadata()) + ebs.Encrypted = iacTypes.BoolDefault(true, resource.GetMetadata()) } } } @@ -54,15 +54,15 @@ func adaptLaunchConfigurations(modules terraform.Modules) []ec2.LaunchConfigurat func adaptLaunchConfiguration(resource *terraform.Block) ec2.LaunchConfiguration { launchConfig := ec2.LaunchConfiguration{ Metadata: resource.GetMetadata(), - Name: defsecTypes.StringDefault("", resource.GetMetadata()), + Name: iacTypes.StringDefault("", resource.GetMetadata()), AssociatePublicIP: resource.GetAttribute("associate_public_ip_address").AsBoolValueOrDefault(false, resource), RootBlockDevice: &ec2.BlockDevice{ Metadata: resource.GetMetadata(), - Encrypted: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Encrypted: iacTypes.BoolDefault(false, resource.GetMetadata()), }, EBSBlockDevices: nil, MetadataOptions: getMetadataOptions(resource), - UserData: defsecTypes.StringDefault("", resource.GetMetadata()), + UserData: iacTypes.StringDefault("", resource.GetMetadata()), } //#nosec G101 -- False positive @@ -92,7 +92,7 @@ func adaptLaunchConfiguration(resource *terraform.Block) ec2.LaunchConfiguration } else if userDataBase64Attr := resource.GetAttribute("user_data_base64"); userDataBase64Attr.IsString() { encoded, err := base64.StdEncoding.DecodeString(userDataBase64Attr.Value().AsString()) if err == nil { - launchConfig.UserData = defsecTypes.String(string(encoded), userDataBase64Attr.GetMetadata()) + launchConfig.UserData = iacTypes.String(string(encoded), userDataBase64Attr.GetMetadata()) } } @@ -102,8 +102,8 @@ func adaptLaunchConfiguration(resource *terraform.Block) ec2.LaunchConfiguration func getMetadataOptions(b *terraform.Block) ec2.MetadataOptions { options := ec2.MetadataOptions{ Metadata: b.GetMetadata(), - HttpTokens: defsecTypes.StringDefault("", b.GetMetadata()), - HttpEndpoint: defsecTypes.StringDefault("", b.GetMetadata()), + HttpTokens: iacTypes.StringDefault("", b.GetMetadata()), + HttpEndpoint: iacTypes.StringDefault("", b.GetMetadata()), } if metadataOptions := b.GetBlock("metadata_options"); metadataOptions.IsNotNil() { diff --git a/pkg/iac/adapters/terraform/aws/ec2/autoscaling_test.go b/pkg/iac/adapters/terraform/aws/ec2/autoscaling_test.go index 00e510fa540b..a6437340aad4 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/autoscaling_test.go +++ b/pkg/iac/adapters/terraform/aws/ec2/autoscaling_test.go @@ -3,11 +3,11 @@ package ec2 import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -40,23 +40,23 @@ func Test_AdaptAutoscaling(t *testing.T) { expected: ec2.EC2{ LaunchConfigurations: []ec2.LaunchConfiguration{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("web_config", defsecTypes.NewTestMetadata()), - AssociatePublicIP: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - UserData: defsecTypes.String("export EDITOR=vimacs", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("web_config", iacTypes.NewTestMetadata()), + AssociatePublicIP: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + UserData: iacTypes.String("export EDITOR=vimacs", iacTypes.NewTestMetadata()), MetadataOptions: ec2.MetadataOptions{ - Metadata: defsecTypes.NewTestMetadata(), - HttpTokens: defsecTypes.String("", defsecTypes.NewTestMetadata()), - HttpEndpoint: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + HttpTokens: iacTypes.String("", iacTypes.NewTestMetadata()), + HttpEndpoint: iacTypes.String("", iacTypes.NewTestMetadata()), }, RootBlockDevice: &ec2.BlockDevice{ - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, EBSBlockDevices: []*ec2.BlockDevice{ { - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -87,21 +87,21 @@ export AWS_DEFAULT_REGION=us-west-2 expected: ec2.EC2{ LaunchConfigurations: []ec2.LaunchConfiguration{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("web_config", defsecTypes.NewTestMetadata()), - AssociatePublicIP: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - UserData: defsecTypes.String(`export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("web_config", iacTypes.NewTestMetadata()), + AssociatePublicIP: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + UserData: iacTypes.String(`export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_DEFAULT_REGION=us-west-2 -`, defsecTypes.NewTestMetadata()), +`, iacTypes.NewTestMetadata()), MetadataOptions: ec2.MetadataOptions{ - Metadata: defsecTypes.NewTestMetadata(), - HttpTokens: defsecTypes.String("", defsecTypes.NewTestMetadata()), - HttpEndpoint: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + HttpTokens: iacTypes.String("", iacTypes.NewTestMetadata()), + HttpEndpoint: iacTypes.String("", iacTypes.NewTestMetadata()), }, RootBlockDevice: &ec2.BlockDevice{ - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -124,14 +124,14 @@ export AWS_DEFAULT_REGION=us-west-2 expected: ec2.EC2{ LaunchTemplates: []ec2.LaunchTemplate{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Instance: ec2.Instance{ - Metadata: defsecTypes.NewTestMetadata(), - UserData: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + UserData: iacTypes.String("", iacTypes.NewTestMetadata()), MetadataOptions: ec2.MetadataOptions{ - Metadata: defsecTypes.NewTestMetadata(), - HttpTokens: defsecTypes.String("required", defsecTypes.NewTestMetadata()), - HttpEndpoint: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + HttpTokens: iacTypes.String("required", iacTypes.NewTestMetadata()), + HttpEndpoint: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/ec2/subnet.go b/pkg/iac/adapters/terraform/aws/ec2/subnet.go index 56179f4e42b2..4e4e49c4f59e 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/subnet.go +++ b/pkg/iac/adapters/terraform/aws/ec2/subnet.go @@ -1,8 +1,8 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptSubnets(modules terraform.Modules) []ec2.Subnet { diff --git a/pkg/iac/adapters/terraform/aws/ec2/subnet_test.go b/pkg/iac/adapters/terraform/aws/ec2/subnet_test.go index 0f74b979a73d..cbc080d939dc 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/subnet_test.go +++ b/pkg/iac/adapters/terraform/aws/ec2/subnet_test.go @@ -3,11 +3,11 @@ package ec2 import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -28,8 +28,8 @@ func Test_adaptSubnet(t *testing.T) { } `, expected: ec2.Subnet{ - Metadata: defsecTypes.NewTestMetadata(), - MapPublicIpOnLaunch: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + MapPublicIpOnLaunch: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -41,8 +41,8 @@ func Test_adaptSubnet(t *testing.T) { } `, expected: ec2.Subnet{ - Metadata: defsecTypes.NewTestMetadata(), - MapPublicIpOnLaunch: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + MapPublicIpOnLaunch: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, { @@ -53,8 +53,8 @@ func Test_adaptSubnet(t *testing.T) { } `, expected: ec2.Subnet{ - Metadata: defsecTypes.NewTestMetadata(), - MapPublicIpOnLaunch: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + MapPublicIpOnLaunch: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/ec2/volume.go b/pkg/iac/adapters/terraform/aws/ec2/volume.go index aa24a7dc26d7..4695cf7e800f 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/volume.go +++ b/pkg/iac/adapters/terraform/aws/ec2/volume.go @@ -1,9 +1,9 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptVolumes(modules terraform.Modules) []ec2.Volume { diff --git a/pkg/iac/adapters/terraform/aws/ec2/volume_test.go b/pkg/iac/adapters/terraform/aws/ec2/volume_test.go index 246975264f21..e7d260eae3e4 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/volume_test.go +++ b/pkg/iac/adapters/terraform/aws/ec2/volume_test.go @@ -3,11 +3,11 @@ package ec2 import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -32,11 +32,11 @@ func Test_adaptVolume(t *testing.T) { } `, expected: ec2.Volume{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: ec2.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("aws_kms_key.ebs_encryption", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("aws_kms_key.ebs_encryption", iacTypes.NewTestMetadata()), }, }, }, @@ -49,11 +49,11 @@ func Test_adaptVolume(t *testing.T) { } `, expected: ec2.Volume{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: ec2.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("string-key", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("string-key", iacTypes.NewTestMetadata()), }, }, }, @@ -64,11 +64,11 @@ func Test_adaptVolume(t *testing.T) { } `, expected: ec2.Volume{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: ec2.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/ec2/vpc.go b/pkg/iac/adapters/terraform/aws/ec2/vpc.go index a95491418a48..440de4619e74 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/vpc.go +++ b/pkg/iac/adapters/terraform/aws/ec2/vpc.go @@ -1,9 +1,9 @@ package ec2 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) type naclAdapter struct { @@ -48,10 +48,10 @@ func adaptVPC(modules terraform.Modules, block *terraform.Block, def bool) ec2.V } return ec2.VPC{ Metadata: block.GetMetadata(), - ID: defsecTypes.StringUnresolvable(block.GetMetadata()), - IsDefault: defsecTypes.Bool(def, block.GetMetadata()), + ID: iacTypes.StringUnresolvable(block.GetMetadata()), + IsDefault: iacTypes.Bool(def, block.GetMetadata()), SecurityGroups: nil, - FlowLogsEnabled: defsecTypes.BoolDefault(hasFlowLogs, block.GetMetadata()), + FlowLogsEnabled: iacTypes.BoolDefault(hasFlowLogs, block.GetMetadata()), } } @@ -63,12 +63,12 @@ func (a *sgAdapter) adaptSecurityGroups(modules terraform.Modules) []ec2.Securit orphanResources := modules.GetResourceByIDs(a.sgRuleIDs.Orphans()...) if len(orphanResources) > 0 { orphanage := ec2.SecurityGroup{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Description: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Description: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), IngressRules: nil, EgressRules: nil, - IsDefault: defsecTypes.BoolUnresolvable(defsecTypes.NewUnmanagedMetadata()), - VPCID: defsecTypes.StringUnresolvable(defsecTypes.NewUnmanagedMetadata()), + IsDefault: iacTypes.BoolUnresolvable(iacTypes.NewUnmanagedMetadata()), + VPCID: iacTypes.StringUnresolvable(iacTypes.NewUnmanagedMetadata()), } for _, sgRule := range orphanResources { if sgRule.GetAttribute("type").Equals("ingress") { @@ -94,9 +94,9 @@ func (a *naclAdapter) adaptNetworkACLs(modules terraform.Modules) []ec2.NetworkA orphanResources := modules.GetResourceByIDs(a.naclRuleIDs.Orphans()...) if len(orphanResources) > 0 { orphanage := ec2.NetworkACL{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Rules: nil, - IsDefaultRule: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + IsDefaultRule: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), } for _, naclRule := range orphanResources { orphanage.Rules = append(orphanage.Rules, adaptNetworkACLRule(naclRule)) @@ -139,7 +139,7 @@ func (a *sgAdapter) adaptSecurityGroup(resource *terraform.Block, module terrafo Description: descriptionVal, IngressRules: ingressRules, EgressRules: egressRules, - IsDefault: defsecTypes.Bool(false, defsecTypes.NewUnmanagedMetadata()), + IsDefault: iacTypes.Bool(false, iacTypes.NewUnmanagedMetadata()), VPCID: resource.GetAttribute("vpc_id").AsStringValueOrDefault("", resource), } } @@ -148,7 +148,7 @@ func adaptSGRule(resource *terraform.Block, modules terraform.Modules) ec2.Secur ruleDescAttr := resource.GetAttribute("description") ruleDescVal := ruleDescAttr.AsStringValueOrDefault("", resource) - var cidrs []defsecTypes.StringValue + var cidrs []iacTypes.StringValue cidrBlocks := resource.GetAttribute("cidr_blocks") ipv6cidrBlocks := resource.GetAttribute("ipv6_cidr_blocks") @@ -188,20 +188,20 @@ func (a *naclAdapter) adaptNetworkACL(resource *terraform.Block, module *terrafo return ec2.NetworkACL{ Metadata: resource.GetMetadata(), Rules: networkRules, - IsDefaultRule: defsecTypes.BoolDefault(false, resource.GetMetadata()), + IsDefaultRule: iacTypes.BoolDefault(false, resource.GetMetadata()), } } func adaptNetworkACLRule(resource *terraform.Block) ec2.NetworkACLRule { - var cidrs []defsecTypes.StringValue + var cidrs []iacTypes.StringValue - typeVal := defsecTypes.StringDefault("ingress", resource.GetMetadata()) + typeVal := iacTypes.StringDefault("ingress", resource.GetMetadata()) egressAtrr := resource.GetAttribute("egress") if egressAtrr.IsTrue() { - typeVal = defsecTypes.String("egress", egressAtrr.GetMetadata()) + typeVal = iacTypes.String("egress", egressAtrr.GetMetadata()) } else if egressAtrr.IsNotNil() { - typeVal = defsecTypes.String("ingress", egressAtrr.GetMetadata()) + typeVal = iacTypes.String("ingress", egressAtrr.GetMetadata()) } actionAttr := resource.GetAttribute("rule_action") diff --git a/pkg/iac/adapters/terraform/aws/ec2/vpc_test.go b/pkg/iac/adapters/terraform/aws/ec2/vpc_test.go index 7adb1262f183..ab372f8f1084 100644 --- a/pkg/iac/adapters/terraform/aws/ec2/vpc_test.go +++ b/pkg/iac/adapters/terraform/aws/ec2/vpc_test.go @@ -3,11 +3,11 @@ package ec2 import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -77,50 +77,50 @@ func Test_AdaptVPC(t *testing.T) { expected: ec2.EC2{ VPCs: []ec2.VPC{ { - Metadata: defsecTypes.NewTestMetadata(), - IsDefault: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - ID: defsecTypes.String("", defsecTypes.NewTestMetadata()), - FlowLogsEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + IsDefault: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + ID: iacTypes.String("", iacTypes.NewTestMetadata()), + FlowLogsEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, { - Metadata: defsecTypes.NewTestMetadata(), - IsDefault: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - ID: defsecTypes.String("", defsecTypes.NewTestMetadata()), - FlowLogsEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + IsDefault: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + ID: iacTypes.String("", iacTypes.NewTestMetadata()), + FlowLogsEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, SecurityGroups: []ec2.SecurityGroup{ { - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("Allow inbound HTTP traffic", defsecTypes.NewTestMetadata()), - IsDefault: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - VPCID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("Allow inbound HTTP traffic", iacTypes.NewTestMetadata()), + IsDefault: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + VPCID: iacTypes.String("", iacTypes.NewTestMetadata()), IngressRules: []ec2.SecurityGroupRule{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), - Description: defsecTypes.String("Rule #1", defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{ - defsecTypes.String("4.5.6.7/32", defsecTypes.NewTestMetadata()), + Description: iacTypes.String("Rule #1", iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("4.5.6.7/32", iacTypes.NewTestMetadata()), }, }, { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), - Description: defsecTypes.String("Rule #2", defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{ - defsecTypes.String("1.2.3.4/32", defsecTypes.NewTestMetadata()), - defsecTypes.String("4.5.6.7/32", defsecTypes.NewTestMetadata()), + Description: iacTypes.String("Rule #2", iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("1.2.3.4/32", iacTypes.NewTestMetadata()), + iacTypes.String("4.5.6.7/32", iacTypes.NewTestMetadata()), }, }, }, EgressRules: []ec2.SecurityGroupRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("", defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{ - defsecTypes.String("1.2.3.4/32", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("", iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("1.2.3.4/32", iacTypes.NewTestMetadata()), }, }, }, @@ -128,19 +128,19 @@ func Test_AdaptVPC(t *testing.T) { }, NetworkACLs: []ec2.NetworkACL{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Rules: []ec2.NetworkACLRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("ingress", defsecTypes.NewTestMetadata()), - Action: defsecTypes.String("allow", defsecTypes.NewTestMetadata()), - Protocol: defsecTypes.String("tcp", defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{ - defsecTypes.String("10.0.0.0/16", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("ingress", iacTypes.NewTestMetadata()), + Action: iacTypes.String("allow", iacTypes.NewTestMetadata()), + Protocol: iacTypes.String("tcp", iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("10.0.0.0/16", iacTypes.NewTestMetadata()), }, }, }, - IsDefaultRule: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + IsDefaultRule: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -162,37 +162,37 @@ func Test_AdaptVPC(t *testing.T) { expected: ec2.EC2{ SecurityGroups: []ec2.SecurityGroup{ { - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("Managed by Terraform", defsecTypes.NewTestMetadata()), - IsDefault: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - VPCID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("Managed by Terraform", iacTypes.NewTestMetadata()), + IsDefault: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + VPCID: iacTypes.String("", iacTypes.NewTestMetadata()), IngressRules: []ec2.SecurityGroupRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, EgressRules: []ec2.SecurityGroupRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, }, NetworkACLs: []ec2.NetworkACL{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Rules: []ec2.NetworkACLRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("ingress", defsecTypes.NewTestMetadata()), - Action: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Protocol: defsecTypes.String("-1", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("ingress", iacTypes.NewTestMetadata()), + Action: iacTypes.String("", iacTypes.NewTestMetadata()), + Protocol: iacTypes.String("-1", iacTypes.NewTestMetadata()), }, }, - IsDefaultRule: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + IsDefaultRule: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -214,10 +214,10 @@ resource "aws_flow_log" "this" { expected: ec2.EC2{ VPCs: []ec2.VPC{ { - Metadata: defsecTypes.NewTestMetadata(), - IsDefault: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - ID: defsecTypes.String("", defsecTypes.NewTestMetadata()), - FlowLogsEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + IsDefault: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + ID: iacTypes.String("", iacTypes.NewTestMetadata()), + FlowLogsEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/ecr/adapt.go b/pkg/iac/adapters/terraform/aws/ecr/adapt.go index 64ef4346c584..57d5686dc7f7 100644 --- a/pkg/iac/adapters/terraform/aws/ecr/adapt.go +++ b/pkg/iac/adapters/terraform/aws/ecr/adapt.go @@ -3,11 +3,11 @@ package ecr import ( "github.com/liamg/iamgo" - "github.com/aquasecurity/defsec/pkg/providers/aws/ecr" - iamp "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecr" + iamp "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) ecr.ECR { @@ -31,14 +31,14 @@ func adaptRepository(resource *terraform.Block, module *terraform.Module, module Metadata: resource.GetMetadata(), ImageScanning: ecr.ImageScanning{ Metadata: resource.GetMetadata(), - ScanOnPush: defsecTypes.BoolDefault(false, resource.GetMetadata()), + ScanOnPush: iacTypes.BoolDefault(false, resource.GetMetadata()), }, - ImageTagsImmutable: defsecTypes.BoolDefault(false, resource.GetMetadata()), + ImageTagsImmutable: iacTypes.BoolDefault(false, resource.GetMetadata()), Policies: nil, Encryption: ecr.Encryption{ Metadata: resource.GetMetadata(), - Type: defsecTypes.StringDefault("AES256", resource.GetMetadata()), - KMSKeyID: defsecTypes.StringDefault("", resource.GetMetadata()), + Type: iacTypes.StringDefault("AES256", resource.GetMetadata()), + KMSKeyID: iacTypes.StringDefault("", resource.GetMetadata()), }, } @@ -50,9 +50,9 @@ func adaptRepository(resource *terraform.Block, module *terraform.Module, module mutabilityAttr := resource.GetAttribute("image_tag_mutability") if mutabilityAttr.Equals("IMMUTABLE") { - repo.ImageTagsImmutable = defsecTypes.Bool(true, mutabilityAttr.GetMetadata()) + repo.ImageTagsImmutable = iacTypes.Bool(true, mutabilityAttr.GetMetadata()) } else if mutabilityAttr.Equals("MUTABLE") { - repo.ImageTagsImmutable = defsecTypes.Bool(false, mutabilityAttr.GetMetadata()) + repo.ImageTagsImmutable = iacTypes.Bool(false, mutabilityAttr.GetMetadata()) } policyBlocks := module.GetReferencingResources(resource, "aws_ecr_repository_policy", "repository") @@ -69,12 +69,12 @@ func adaptRepository(resource *terraform.Block, module *terraform.Module, module policy := iamp.Policy{ Metadata: policyRes.GetMetadata(), - Name: defsecTypes.StringDefault("", policyRes.GetMetadata()), + Name: iacTypes.StringDefault("", policyRes.GetMetadata()), Document: iamp.Document{ Parsed: *parsed, Metadata: policyAttr.GetMetadata(), }, - Builtin: defsecTypes.Bool(false, policyRes.GetMetadata()), + Builtin: iacTypes.Bool(false, policyRes.GetMetadata()), } repo.Policies = append(repo.Policies, policy) @@ -82,13 +82,13 @@ func adaptRepository(resource *terraform.Block, module *terraform.Module, module if doc, err := iam.ConvertTerraformDocument(modules, dataBlock); err == nil { policy := iamp.Policy{ Metadata: policyRes.GetMetadata(), - Name: defsecTypes.StringDefault("", policyRes.GetMetadata()), + Name: iacTypes.StringDefault("", policyRes.GetMetadata()), Document: iamp.Document{ Parsed: doc.Document, Metadata: doc.Source.GetMetadata(), IsOffset: true, }, - Builtin: defsecTypes.Bool(false, policyRes.GetMetadata()), + Builtin: iacTypes.Bool(false, policyRes.GetMetadata()), } repo.Policies = append(repo.Policies, policy) } @@ -105,7 +105,7 @@ func adaptRepository(resource *terraform.Block, module *terraform.Module, module repo.Encryption.KMSKeyID = kmsKeyAttr.AsStringValueOrDefault("", encryptBlock) if kmsKeyAttr.IsResourceBlockReference("aws_kms_key") { if keyBlock, err := module.GetReferencedBlock(kmsKeyAttr, encryptBlock); err == nil { - repo.Encryption.KMSKeyID = defsecTypes.String(keyBlock.FullName(), keyBlock.GetMetadata()) + repo.Encryption.KMSKeyID = iacTypes.String(keyBlock.FullName(), keyBlock.GetMetadata()) } } } diff --git a/pkg/iac/adapters/terraform/aws/ecr/adapt_test.go b/pkg/iac/adapters/terraform/aws/ecr/adapt_test.go index 234fec7d4baf..746adf8eacad 100644 --- a/pkg/iac/adapters/terraform/aws/ecr/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/ecr/adapt_test.go @@ -3,12 +3,12 @@ package ecr import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/ecr" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecr" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" "github.com/liamg/iamgo" "github.com/stretchr/testify/assert" @@ -76,21 +76,21 @@ func Test_adaptRepository(t *testing.T) { } `, expected: ecr.Repository{ - Metadata: defsecTypes.NewTestMetadata(), - ImageTagsImmutable: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ImageTagsImmutable: iacTypes.Bool(false, iacTypes.NewTestMetadata()), ImageScanning: ecr.ImageScanning{ - Metadata: defsecTypes.NewTestMetadata(), - ScanOnPush: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ScanOnPush: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Encryption: ecr.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("KMS", defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("aws_kms_key.ecr_kms", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("KMS", iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("aws_kms_key.ecr_kms", iacTypes.NewTestMetadata()), }, Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.StringDefault("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.StringDefault("", iacTypes.NewTestMetadata()), Document: func() iam.Document { builder := iamgo.NewPolicyBuilder() @@ -120,10 +120,10 @@ func Test_adaptRepository(t *testing.T) { return iam.Document{ Parsed: builder.Build(), - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), } }(), - Builtin: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Builtin: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -135,16 +135,16 @@ func Test_adaptRepository(t *testing.T) { } `, expected: ecr.Repository{ - Metadata: defsecTypes.NewTestMetadata(), - ImageTagsImmutable: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ImageTagsImmutable: iacTypes.Bool(false, iacTypes.NewTestMetadata()), ImageScanning: ecr.ImageScanning{ - Metadata: defsecTypes.NewTestMetadata(), - ScanOnPush: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ScanOnPush: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, Encryption: ecr.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("AES256", defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("AES256", iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/ecs/adapt.go b/pkg/iac/adapters/terraform/aws/ecs/adapt.go index de2b629bd473..8bf280a857a1 100644 --- a/pkg/iac/adapters/terraform/aws/ecs/adapt.go +++ b/pkg/iac/adapters/terraform/aws/ecs/adapt.go @@ -1,9 +1,9 @@ package ecs import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ecs" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecs" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) ecs.ECS { diff --git a/pkg/iac/adapters/terraform/aws/ecs/adapt_test.go b/pkg/iac/adapters/terraform/aws/ecs/adapt_test.go index 82e82558deb4..d7c0033cefba 100644 --- a/pkg/iac/adapters/terraform/aws/ecs/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/ecs/adapt_test.go @@ -3,11 +3,11 @@ package ecs import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/ecs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecs" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -32,8 +32,8 @@ func Test_adaptClusterSettings(t *testing.T) { } `, expected: ecs.ClusterSettings{ - Metadata: defsecTypes.NewTestMetadata(), - ContainerInsightsEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ContainerInsightsEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -49,8 +49,8 @@ func Test_adaptClusterSettings(t *testing.T) { } `, expected: ecs.ClusterSettings{ - Metadata: defsecTypes.NewTestMetadata(), - ContainerInsightsEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ContainerInsightsEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, { @@ -60,8 +60,8 @@ func Test_adaptClusterSettings(t *testing.T) { } `, expected: ecs.ClusterSettings{ - Metadata: defsecTypes.NewTestMetadata(), - ContainerInsightsEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ContainerInsightsEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } @@ -111,25 +111,25 @@ func Test_adaptTaskDefinitionResource(t *testing.T) { } `, expected: ecs.TaskDefinition{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Volumes: []ecs.Volume{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), EFSVolumeConfiguration: ecs.EFSVolumeConfiguration{ - Metadata: defsecTypes.NewTestMetadata(), - TransitEncryptionEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + TransitEncryptionEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, ContainerDefinitions: []ecs.ContainerDefinition{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("my_service", defsecTypes.NewTestMetadata()), - Image: defsecTypes.String("my_image", defsecTypes.NewTestMetadata()), - CPU: defsecTypes.Int(2, defsecTypes.NewTestMetadata()), - Memory: defsecTypes.Int(256, defsecTypes.NewTestMetadata()), - Essential: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Privileged: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("my_service", iacTypes.NewTestMetadata()), + Image: iacTypes.String("my_image", iacTypes.NewTestMetadata()), + CPU: iacTypes.Int(2, iacTypes.NewTestMetadata()), + Memory: iacTypes.Int(256, iacTypes.NewTestMetadata()), + Essential: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Privileged: iacTypes.Bool(false, iacTypes.NewTestMetadata()), Environment: []ecs.EnvVar{ { Name: "ENVIRONMENT", @@ -153,14 +153,14 @@ func Test_adaptTaskDefinitionResource(t *testing.T) { } `, expected: ecs.TaskDefinition{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Volumes: []ecs.Volume{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), EFSVolumeConfiguration: ecs.EFSVolumeConfiguration{ - Metadata: defsecTypes.NewTestMetadata(), - TransitEncryptionEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + TransitEncryptionEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/efs/adapt.go b/pkg/iac/adapters/terraform/aws/efs/adapt.go index bd87d6955490..e3b17a2d7d47 100644 --- a/pkg/iac/adapters/terraform/aws/efs/adapt.go +++ b/pkg/iac/adapters/terraform/aws/efs/adapt.go @@ -1,8 +1,8 @@ package efs import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/efs" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/efs" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) efs.EFS { diff --git a/pkg/iac/adapters/terraform/aws/efs/adapt_test.go b/pkg/iac/adapters/terraform/aws/efs/adapt_test.go index e1456a8bcf68..b5516fe97771 100644 --- a/pkg/iac/adapters/terraform/aws/efs/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/efs/adapt_test.go @@ -3,11 +3,11 @@ package efs import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/efs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/efs" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -29,8 +29,8 @@ func Test_adaptFileSystem(t *testing.T) { } `, expected: efs.FileSystem{ - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -40,8 +40,8 @@ func Test_adaptFileSystem(t *testing.T) { } `, expected: efs.FileSystem{ - Metadata: defsecTypes.NewTestMetadata(), - Encrypted: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Encrypted: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/eks/adapt.go b/pkg/iac/adapters/terraform/aws/eks/adapt.go index 2ed35ac9c4bd..6af6d5871e7a 100644 --- a/pkg/iac/adapters/terraform/aws/eks/adapt.go +++ b/pkg/iac/adapters/terraform/aws/eks/adapt.go @@ -1,9 +1,9 @@ package eks import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/eks" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/eks" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) eks.EKS { @@ -28,18 +28,18 @@ func adaptCluster(resource *terraform.Block) eks.Cluster { Metadata: resource.GetMetadata(), Logging: eks.Logging{ Metadata: resource.GetMetadata(), - API: defsecTypes.BoolDefault(false, resource.GetMetadata()), - Audit: defsecTypes.BoolDefault(false, resource.GetMetadata()), - Authenticator: defsecTypes.BoolDefault(false, resource.GetMetadata()), - ControllerManager: defsecTypes.BoolDefault(false, resource.GetMetadata()), - Scheduler: defsecTypes.BoolDefault(false, resource.GetMetadata()), + API: iacTypes.BoolDefault(false, resource.GetMetadata()), + Audit: iacTypes.BoolDefault(false, resource.GetMetadata()), + Authenticator: iacTypes.BoolDefault(false, resource.GetMetadata()), + ControllerManager: iacTypes.BoolDefault(false, resource.GetMetadata()), + Scheduler: iacTypes.BoolDefault(false, resource.GetMetadata()), }, Encryption: eks.Encryption{ Metadata: resource.GetMetadata(), - Secrets: defsecTypes.BoolDefault(false, resource.GetMetadata()), - KMSKeyID: defsecTypes.StringDefault("", resource.GetMetadata()), + Secrets: iacTypes.BoolDefault(false, resource.GetMetadata()), + KMSKeyID: iacTypes.StringDefault("", resource.GetMetadata()), }, - PublicAccessEnabled: defsecTypes.BoolDefault(true, resource.GetMetadata()), + PublicAccessEnabled: iacTypes.BoolDefault(true, resource.GetMetadata()), PublicAccessCIDRs: nil, } @@ -48,15 +48,15 @@ func adaptCluster(resource *terraform.Block) eks.Cluster { for _, logType := range logTypesAttr.AsStringValues() { switch logType.Value() { case "api": - cluster.Logging.API = defsecTypes.Bool(true, logTypesAttr.GetMetadata()) + cluster.Logging.API = iacTypes.Bool(true, logTypesAttr.GetMetadata()) case "audit": - cluster.Logging.Audit = defsecTypes.Bool(true, logTypesAttr.GetMetadata()) + cluster.Logging.Audit = iacTypes.Bool(true, logTypesAttr.GetMetadata()) case "authenticator": - cluster.Logging.Authenticator = defsecTypes.Bool(true, logTypesAttr.GetMetadata()) + cluster.Logging.Authenticator = iacTypes.Bool(true, logTypesAttr.GetMetadata()) case "controllerManager": - cluster.Logging.ControllerManager = defsecTypes.Bool(true, logTypesAttr.GetMetadata()) + cluster.Logging.ControllerManager = iacTypes.Bool(true, logTypesAttr.GetMetadata()) case "scheduler": - cluster.Logging.Scheduler = defsecTypes.Bool(true, logTypesAttr.GetMetadata()) + cluster.Logging.Scheduler = iacTypes.Bool(true, logTypesAttr.GetMetadata()) } } } @@ -65,7 +65,7 @@ func adaptCluster(resource *terraform.Block) eks.Cluster { cluster.Encryption.Metadata = encryptBlock.GetMetadata() resourcesAttr := encryptBlock.GetAttribute("resources") if resourcesAttr.Contains("secrets") { - cluster.Encryption.Secrets = defsecTypes.Bool(true, resourcesAttr.GetMetadata()) + cluster.Encryption.Secrets = iacTypes.Bool(true, resourcesAttr.GetMetadata()) } if providerBlock := encryptBlock.GetBlock("provider"); providerBlock.IsNotNil() { keyArnAttr := providerBlock.GetAttribute("key_arn") @@ -83,7 +83,7 @@ func adaptCluster(resource *terraform.Block) eks.Cluster { cluster.PublicAccessCIDRs = append(cluster.PublicAccessCIDRs, cidr) } if len(cidrList) == 0 { - cluster.PublicAccessCIDRs = append(cluster.PublicAccessCIDRs, defsecTypes.StringDefault("0.0.0.0/0", vpcBlock.GetMetadata())) + cluster.PublicAccessCIDRs = append(cluster.PublicAccessCIDRs, iacTypes.StringDefault("0.0.0.0/0", vpcBlock.GetMetadata())) } } diff --git a/pkg/iac/adapters/terraform/aws/eks/adapt_test.go b/pkg/iac/adapters/terraform/aws/eks/adapt_test.go index 2996aa900869..7b466d4a5e0c 100644 --- a/pkg/iac/adapters/terraform/aws/eks/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/eks/adapt_test.go @@ -3,11 +3,11 @@ package eks import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/eks" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/eks" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -41,23 +41,23 @@ func Test_adaptCluster(t *testing.T) { } `, expected: eks.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Logging: eks.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - API: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Authenticator: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Audit: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Scheduler: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - ControllerManager: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + API: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Authenticator: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Audit: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Scheduler: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + ControllerManager: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Encryption: eks.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Secrets: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("key-arn", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Secrets: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("key-arn", iacTypes.NewTestMetadata()), }, - PublicAccessEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - PublicAccessCIDRs: []defsecTypes.StringValue{ - defsecTypes.String("10.2.0.0/8", defsecTypes.NewTestMetadata()), + PublicAccessEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + PublicAccessCIDRs: []iacTypes.StringValue{ + iacTypes.String("10.2.0.0/8", iacTypes.NewTestMetadata()), }, }, }, @@ -68,21 +68,21 @@ func Test_adaptCluster(t *testing.T) { } `, expected: eks.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Logging: eks.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - API: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Authenticator: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Audit: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Scheduler: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - ControllerManager: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + API: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Authenticator: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Audit: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Scheduler: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + ControllerManager: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, Encryption: eks.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Secrets: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Secrets: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, - PublicAccessEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + PublicAccessEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), PublicAccessCIDRs: nil, }, }, diff --git a/pkg/iac/adapters/terraform/aws/elasticache/adapt.go b/pkg/iac/adapters/terraform/aws/elasticache/adapt.go index 515343a4deba..f1599eaacbee 100644 --- a/pkg/iac/adapters/terraform/aws/elasticache/adapt.go +++ b/pkg/iac/adapters/terraform/aws/elasticache/adapt.go @@ -1,8 +1,8 @@ package elasticache import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticache" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticache" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) elasticache.ElastiCache { diff --git a/pkg/iac/adapters/terraform/aws/elasticache/adapt_test.go b/pkg/iac/adapters/terraform/aws/elasticache/adapt_test.go index 062ab287e7d4..62ee9a6bac08 100644 --- a/pkg/iac/adapters/terraform/aws/elasticache/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/elasticache/adapt_test.go @@ -3,11 +3,11 @@ package elasticache import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticache" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticache" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -35,10 +35,10 @@ func Test_adaptCluster(t *testing.T) { } `, expected: elasticache.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), - Engine: defsecTypes.String("redis", defsecTypes.NewTestMetadata()), - NodeType: defsecTypes.String("cache.m4.large", defsecTypes.NewTestMetadata()), - SnapshotRetentionLimit: defsecTypes.Int(5, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Engine: iacTypes.String("redis", iacTypes.NewTestMetadata()), + NodeType: iacTypes.String("cache.m4.large", iacTypes.NewTestMetadata()), + SnapshotRetentionLimit: iacTypes.Int(5, iacTypes.NewTestMetadata()), }, }, { @@ -47,10 +47,10 @@ func Test_adaptCluster(t *testing.T) { resource "aws_elasticache_cluster" "example" { }`, expected: elasticache.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), - Engine: defsecTypes.String("", defsecTypes.NewTestMetadata()), - NodeType: defsecTypes.String("", defsecTypes.NewTestMetadata()), - SnapshotRetentionLimit: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Engine: iacTypes.String("", iacTypes.NewTestMetadata()), + NodeType: iacTypes.String("", iacTypes.NewTestMetadata()), + SnapshotRetentionLimit: iacTypes.Int(0, iacTypes.NewTestMetadata()), }, }, } @@ -81,9 +81,9 @@ func Test_adaptReplicationGroup(t *testing.T) { } `, expected: elasticache.ReplicationGroup{ - Metadata: defsecTypes.NewTestMetadata(), - TransitEncryptionEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - AtRestEncryptionEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + TransitEncryptionEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + AtRestEncryptionEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -93,9 +93,9 @@ func Test_adaptReplicationGroup(t *testing.T) { } `, expected: elasticache.ReplicationGroup{ - Metadata: defsecTypes.NewTestMetadata(), - TransitEncryptionEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - AtRestEncryptionEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + TransitEncryptionEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + AtRestEncryptionEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } @@ -129,8 +129,8 @@ func Test_adaptSecurityGroup(t *testing.T) { } `, expected: elasticache.SecurityGroup{ - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("something", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("something", iacTypes.NewTestMetadata()), }, }, { @@ -145,8 +145,8 @@ func Test_adaptSecurityGroup(t *testing.T) { } `, expected: elasticache.SecurityGroup{ - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("Managed by Terraform", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("Managed by Terraform", iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/elasticsearch/adapt.go b/pkg/iac/adapters/terraform/aws/elasticsearch/adapt.go index f78e90096863..8649e64c9fdc 100644 --- a/pkg/iac/adapters/terraform/aws/elasticsearch/adapt.go +++ b/pkg/iac/adapters/terraform/aws/elasticsearch/adapt.go @@ -1,9 +1,9 @@ package elasticsearch import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticsearch" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticsearch" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) elasticsearch.Elasticsearch { @@ -25,35 +25,35 @@ func adaptDomains(modules terraform.Modules) []elasticsearch.Domain { func adaptDomain(resource *terraform.Block) elasticsearch.Domain { domain := elasticsearch.Domain{ Metadata: resource.GetMetadata(), - DomainName: defsecTypes.StringDefault("", resource.GetMetadata()), + DomainName: iacTypes.StringDefault("", resource.GetMetadata()), AccessPolicies: resource.GetAttribute("access_policies").AsStringValueOrDefault("", resource), VpcId: resource.GetAttribute("vpc_options.0.vpc_id").AsStringValueOrDefault("", resource), - DedicatedMasterEnabled: defsecTypes.Bool(false, resource.GetMetadata()), + DedicatedMasterEnabled: iacTypes.Bool(false, resource.GetMetadata()), LogPublishing: elasticsearch.LogPublishing{ Metadata: resource.GetMetadata(), - AuditEnabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), - CloudWatchLogGroupArn: defsecTypes.String("", resource.GetMetadata()), + AuditEnabled: iacTypes.BoolDefault(false, resource.GetMetadata()), + CloudWatchLogGroupArn: iacTypes.String("", resource.GetMetadata()), }, TransitEncryption: elasticsearch.TransitEncryption{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, AtRestEncryption: elasticsearch.AtRestEncryption{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), - KmsKeyId: defsecTypes.String("", resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), + KmsKeyId: iacTypes.String("", resource.GetMetadata()), }, Endpoint: elasticsearch.Endpoint{ Metadata: resource.GetMetadata(), - EnforceHTTPS: defsecTypes.BoolDefault(false, resource.GetMetadata()), - TLSPolicy: defsecTypes.StringDefault("", resource.GetMetadata()), + EnforceHTTPS: iacTypes.BoolDefault(false, resource.GetMetadata()), + TLSPolicy: iacTypes.StringDefault("", resource.GetMetadata()), }, ServiceSoftwareOptions: elasticsearch.ServiceSoftwareOptions{ Metadata: resource.GetMetadata(), - CurrentVersion: defsecTypes.String("", resource.GetMetadata()), - NewVersion: defsecTypes.String("", resource.GetMetadata()), - UpdateAvailable: defsecTypes.Bool(false, resource.GetMetadata()), - UpdateStatus: defsecTypes.String("", resource.GetMetadata()), + CurrentVersion: iacTypes.String("", resource.GetMetadata()), + NewVersion: iacTypes.String("", resource.GetMetadata()), + UpdateAvailable: iacTypes.Bool(false, resource.GetMetadata()), + UpdateStatus: iacTypes.String("", resource.GetMetadata()), }, } diff --git a/pkg/iac/adapters/terraform/aws/elasticsearch/adapt_test.go b/pkg/iac/adapters/terraform/aws/elasticsearch/adapt_test.go index 15a4ae035c8a..83e7f87d9ae5 100644 --- a/pkg/iac/adapters/terraform/aws/elasticsearch/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/elasticsearch/adapt_test.go @@ -3,11 +3,11 @@ package elasticsearch import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/elasticsearch" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticsearch" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -46,24 +46,24 @@ func Test_adaptDomain(t *testing.T) { } `, expected: elasticsearch.Domain{ - Metadata: defsecTypes.NewTestMetadata(), - DomainName: defsecTypes.String("domain-foo", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DomainName: iacTypes.String("domain-foo", iacTypes.NewTestMetadata()), LogPublishing: elasticsearch.LogPublishing{ - Metadata: defsecTypes.NewTestMetadata(), - AuditEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + AuditEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, TransitEncryption: elasticsearch.TransitEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, AtRestEncryption: elasticsearch.AtRestEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Endpoint: elasticsearch.Endpoint{ - Metadata: defsecTypes.NewTestMetadata(), - EnforceHTTPS: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - TLSPolicy: defsecTypes.String("Policy-Min-TLS-1-2-2019-07", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnforceHTTPS: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + TLSPolicy: iacTypes.String("Policy-Min-TLS-1-2-2019-07", iacTypes.NewTestMetadata()), }, }, }, @@ -74,24 +74,24 @@ func Test_adaptDomain(t *testing.T) { } `, expected: elasticsearch.Domain{ - Metadata: defsecTypes.NewTestMetadata(), - DomainName: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DomainName: iacTypes.String("", iacTypes.NewTestMetadata()), LogPublishing: elasticsearch.LogPublishing{ - Metadata: defsecTypes.NewTestMetadata(), - AuditEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + AuditEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, TransitEncryption: elasticsearch.TransitEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, AtRestEncryption: elasticsearch.AtRestEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, Endpoint: elasticsearch.Endpoint{ - Metadata: defsecTypes.NewTestMetadata(), - EnforceHTTPS: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - TLSPolicy: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnforceHTTPS: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + TLSPolicy: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/elb/adapt.go b/pkg/iac/adapters/terraform/aws/elb/adapt.go index 831a65ea410d..2cf5ec95efe5 100644 --- a/pkg/iac/adapters/terraform/aws/elb/adapt.go +++ b/pkg/iac/adapters/terraform/aws/elb/adapt.go @@ -1,9 +1,9 @@ package elb import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/elb" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elb" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) elb.ELB { @@ -36,10 +36,10 @@ func (a *adapter) adaptLoadBalancers(modules terraform.Modules) []elb.LoadBalanc orphanResources := modules.GetResourceByIDs(a.listenerIDs.Orphans()...) if len(orphanResources) > 0 { orphanage := elb.LoadBalancer{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Type: defsecTypes.StringDefault(elb.TypeApplication, defsecTypes.NewUnmanagedMetadata()), - DropInvalidHeaderFields: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - Internal: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Type: iacTypes.StringDefault(elb.TypeApplication, iacTypes.NewUnmanagedMetadata()), + DropInvalidHeaderFields: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + Internal: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), Listeners: nil, } for _, listenerResource := range orphanResources { @@ -85,8 +85,8 @@ func (a *adapter) adaptClassicLoadBalancer(resource *terraform.Block, module ter return elb.LoadBalancer{ Metadata: resource.GetMetadata(), - Type: defsecTypes.String("classic", resource.GetMetadata()), - DropInvalidHeaderFields: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Type: iacTypes.String("classic", resource.GetMetadata()), + DropInvalidHeaderFields: iacTypes.BoolDefault(false, resource.GetMetadata()), Internal: internalVal, Listeners: nil, } @@ -95,8 +95,8 @@ func (a *adapter) adaptClassicLoadBalancer(resource *terraform.Block, module ter func adaptListener(listenerBlock *terraform.Block, typeVal string) elb.Listener { listener := elb.Listener{ Metadata: listenerBlock.GetMetadata(), - Protocol: defsecTypes.StringDefault("", listenerBlock.GetMetadata()), - TLSPolicy: defsecTypes.StringDefault("", listenerBlock.GetMetadata()), + Protocol: iacTypes.StringDefault("", listenerBlock.GetMetadata()), + TLSPolicy: iacTypes.StringDefault("", listenerBlock.GetMetadata()), DefaultActions: nil, } diff --git a/pkg/iac/adapters/terraform/aws/elb/adapt_test.go b/pkg/iac/adapters/terraform/aws/elb/adapt_test.go index 40d6433646eb..b938ce563106 100644 --- a/pkg/iac/adapters/terraform/aws/elb/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/elb/adapt_test.go @@ -3,11 +3,11 @@ package elb import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/elb" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elb" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -49,19 +49,19 @@ func Test_Adapt(t *testing.T) { expected: elb.ELB{ LoadBalancers: []elb.LoadBalancer{ { - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("application", defsecTypes.NewTestMetadata()), - DropInvalidHeaderFields: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Internal: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("application", iacTypes.NewTestMetadata()), + DropInvalidHeaderFields: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Internal: iacTypes.Bool(true, iacTypes.NewTestMetadata()), Listeners: []elb.Listener{ { - Metadata: defsecTypes.NewTestMetadata(), - Protocol: defsecTypes.String("HTTPS", defsecTypes.NewTestMetadata()), - TLSPolicy: defsecTypes.String("ELBSecurityPolicy-TLS-1-1-2017-01", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Protocol: iacTypes.String("HTTPS", iacTypes.NewTestMetadata()), + TLSPolicy: iacTypes.String("ELBSecurityPolicy-TLS-1-1-2017-01", iacTypes.NewTestMetadata()), DefaultActions: []elb.Action{ { - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("forward", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("forward", iacTypes.NewTestMetadata()), }, }, }, @@ -79,10 +79,10 @@ func Test_Adapt(t *testing.T) { expected: elb.ELB{ LoadBalancers: []elb.LoadBalancer{ { - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("application", defsecTypes.NewTestMetadata()), - DropInvalidHeaderFields: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Internal: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("application", iacTypes.NewTestMetadata()), + DropInvalidHeaderFields: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Internal: iacTypes.Bool(false, iacTypes.NewTestMetadata()), Listeners: nil, }, }, diff --git a/pkg/iac/adapters/terraform/aws/emr/adapt.go b/pkg/iac/adapters/terraform/aws/emr/adapt.go index 0e85a1023ab5..74bbc08516f4 100644 --- a/pkg/iac/adapters/terraform/aws/emr/adapt.go +++ b/pkg/iac/adapters/terraform/aws/emr/adapt.go @@ -1,8 +1,8 @@ package emr import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/emr" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/emr" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) emr.EMR { diff --git a/pkg/iac/adapters/terraform/aws/emr/adapt_test.go b/pkg/iac/adapters/terraform/aws/emr/adapt_test.go index 5d52477ddf17..5b0e43f4186a 100644 --- a/pkg/iac/adapters/terraform/aws/emr/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/emr/adapt_test.go @@ -3,11 +3,11 @@ package emr import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/emr" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/emr" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -42,9 +42,9 @@ func Test_adaptSecurityConfiguration(t *testing.T) { EOF }`, expected: emr.SecurityConfiguration{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.StringExplicit("emrsc_test", defsecTypes.NewTestMetadata()), - Configuration: defsecTypes.String( + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.StringExplicit("emrsc_test", iacTypes.NewTestMetadata()), + Configuration: iacTypes.String( ` { "EncryptionConfiguration": { "AtRestEncryptionConfiguration": { @@ -60,7 +60,7 @@ func Test_adaptSecurityConfiguration(t *testing.T) { "EnableAtRestEncryption": true } } -`, defsecTypes.NewTestMetadata()), +`, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/iam/adapt.go b/pkg/iac/adapters/terraform/aws/iam/adapt.go index 226b23aad928..f4ad95180b90 100644 --- a/pkg/iac/adapters/terraform/aws/iam/adapt.go +++ b/pkg/iac/adapters/terraform/aws/iam/adapt.go @@ -1,8 +1,8 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) iam.IAM { diff --git a/pkg/iac/adapters/terraform/aws/iam/convert.go b/pkg/iac/adapters/terraform/aws/iam/convert.go index 6acff0a521e4..56992b77bcb2 100644 --- a/pkg/iac/adapters/terraform/aws/iam/convert.go +++ b/pkg/iac/adapters/terraform/aws/iam/convert.go @@ -5,9 +5,9 @@ import ( "github.com/liamg/iamgo" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) type wrappedDocument struct { diff --git a/pkg/iac/adapters/terraform/aws/iam/groups.go b/pkg/iac/adapters/terraform/aws/iam/groups.go index d2b2ec8430e3..9053bf83be78 100644 --- a/pkg/iac/adapters/terraform/aws/iam/groups.go +++ b/pkg/iac/adapters/terraform/aws/iam/groups.go @@ -1,8 +1,8 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptGroups(modules terraform.Modules) []iam.Group { diff --git a/pkg/iac/adapters/terraform/aws/iam/groups_test.go b/pkg/iac/adapters/terraform/aws/iam/groups_test.go index 3f9fcc496ecb..f522130b30d2 100644 --- a/pkg/iac/adapters/terraform/aws/iam/groups_test.go +++ b/pkg/iac/adapters/terraform/aws/iam/groups_test.go @@ -3,11 +3,11 @@ package iam import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" ) func Test_adaptGroups(t *testing.T) { @@ -47,12 +47,12 @@ func Test_adaptGroups(t *testing.T) { `, expected: []iam.Group{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("developers", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("developers", iacTypes.NewTestMetadata()), Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("my_developer_policy", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("my_developer_policy", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(false), }, }, @@ -90,12 +90,12 @@ resource "aws_iam_group_policy_attachment" "test-attach" { `, expected: []iam.Group{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-group", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-group", iacTypes.NewTestMetadata()), Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-policy", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-policy", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(false), }, }, diff --git a/pkg/iac/adapters/terraform/aws/iam/passwords.go b/pkg/iac/adapters/terraform/aws/iam/passwords.go index 10db50f1e94b..cc8e2513a4b2 100644 --- a/pkg/iac/adapters/terraform/aws/iam/passwords.go +++ b/pkg/iac/adapters/terraform/aws/iam/passwords.go @@ -3,22 +3,22 @@ package iam import ( "math" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptPasswordPolicy(modules terraform.Modules) iam.PasswordPolicy { policy := iam.PasswordPolicy{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - ReusePreventionCount: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), - RequireLowercase: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - RequireUppercase: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - RequireNumbers: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - RequireSymbols: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - MaxAgeDays: defsecTypes.IntDefault(math.MaxInt, defsecTypes.NewUnmanagedMetadata()), - MinimumLength: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + ReusePreventionCount: iacTypes.IntDefault(0, iacTypes.NewUnmanagedMetadata()), + RequireLowercase: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + RequireUppercase: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + RequireNumbers: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + RequireSymbols: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + MaxAgeDays: iacTypes.IntDefault(math.MaxInt, iacTypes.NewUnmanagedMetadata()), + MinimumLength: iacTypes.IntDefault(0, iacTypes.NewUnmanagedMetadata()), } passwordPolicies := modules.GetResourcesByType("aws_iam_account_password_policy") @@ -32,42 +32,42 @@ func adaptPasswordPolicy(modules terraform.Modules) iam.PasswordPolicy { policy.Metadata = policyBlock.GetMetadata() if attr := policyBlock.GetAttribute("require_lowercase_characters"); attr.IsNotNil() { - policy.RequireLowercase = defsecTypes.BoolExplicit(attr.IsTrue(), attr.GetMetadata()) + policy.RequireLowercase = iacTypes.BoolExplicit(attr.IsTrue(), attr.GetMetadata()) } else { - policy.RequireLowercase = defsecTypes.BoolDefault(false, policyBlock.GetMetadata()) + policy.RequireLowercase = iacTypes.BoolDefault(false, policyBlock.GetMetadata()) } if attr := policyBlock.GetAttribute("require_uppercase_characters"); attr.IsNotNil() { - policy.RequireUppercase = defsecTypes.BoolExplicit(attr.IsTrue(), attr.GetMetadata()) + policy.RequireUppercase = iacTypes.BoolExplicit(attr.IsTrue(), attr.GetMetadata()) } else { - policy.RequireUppercase = defsecTypes.BoolDefault(false, policyBlock.GetMetadata()) + policy.RequireUppercase = iacTypes.BoolDefault(false, policyBlock.GetMetadata()) } if attr := policyBlock.GetAttribute("require_numbers"); attr.IsNotNil() { - policy.RequireNumbers = defsecTypes.BoolExplicit(attr.IsTrue(), attr.GetMetadata()) + policy.RequireNumbers = iacTypes.BoolExplicit(attr.IsTrue(), attr.GetMetadata()) } else { - policy.RequireNumbers = defsecTypes.BoolDefault(false, policyBlock.GetMetadata()) + policy.RequireNumbers = iacTypes.BoolDefault(false, policyBlock.GetMetadata()) } if attr := policyBlock.GetAttribute("require_symbols"); attr.IsNotNil() { - policy.RequireSymbols = defsecTypes.BoolExplicit(attr.IsTrue(), attr.GetMetadata()) + policy.RequireSymbols = iacTypes.BoolExplicit(attr.IsTrue(), attr.GetMetadata()) } else { - policy.RequireSymbols = defsecTypes.BoolDefault(false, policyBlock.GetMetadata()) + policy.RequireSymbols = iacTypes.BoolDefault(false, policyBlock.GetMetadata()) } if attr := policyBlock.GetAttribute("password_reuse_prevention"); attr.IsNumber() { value := attr.AsNumber() - policy.ReusePreventionCount = defsecTypes.IntExplicit(int(value), attr.GetMetadata()) + policy.ReusePreventionCount = iacTypes.IntExplicit(int(value), attr.GetMetadata()) } else { - policy.ReusePreventionCount = defsecTypes.IntDefault(0, policyBlock.GetMetadata()) + policy.ReusePreventionCount = iacTypes.IntDefault(0, policyBlock.GetMetadata()) } if attr := policyBlock.GetAttribute("max_password_age"); attr.IsNumber() { value := attr.AsNumber() - policy.MaxAgeDays = defsecTypes.IntExplicit(int(value), attr.GetMetadata()) + policy.MaxAgeDays = iacTypes.IntExplicit(int(value), attr.GetMetadata()) } else { - policy.MaxAgeDays = defsecTypes.IntDefault(math.MaxInt, policyBlock.GetMetadata()) + policy.MaxAgeDays = iacTypes.IntDefault(math.MaxInt, policyBlock.GetMetadata()) } if attr := policyBlock.GetAttribute("minimum_password_length"); attr.IsNumber() { value := attr.AsNumber() - policy.MinimumLength = defsecTypes.IntExplicit(int(value), attr.GetMetadata()) + policy.MinimumLength = iacTypes.IntExplicit(int(value), attr.GetMetadata()) } else { - policy.MinimumLength = defsecTypes.IntDefault(0, policyBlock.GetMetadata()) + policy.MinimumLength = iacTypes.IntDefault(0, policyBlock.GetMetadata()) } return policy diff --git a/pkg/iac/adapters/terraform/aws/iam/passwords_test.go b/pkg/iac/adapters/terraform/aws/iam/passwords_test.go index b44b1bfc9aaf..ca94ce305147 100644 --- a/pkg/iac/adapters/terraform/aws/iam/passwords_test.go +++ b/pkg/iac/adapters/terraform/aws/iam/passwords_test.go @@ -3,11 +3,11 @@ package iam import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" ) func Test_adaptPasswordPolicy(t *testing.T) { @@ -31,14 +31,14 @@ func Test_adaptPasswordPolicy(t *testing.T) { } `, expected: iam.PasswordPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - ReusePreventionCount: defsecTypes.Int(3, defsecTypes.NewTestMetadata()), - RequireLowercase: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - RequireUppercase: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - RequireNumbers: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - RequireSymbols: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - MaxAgeDays: defsecTypes.Int(90, defsecTypes.NewTestMetadata()), - MinimumLength: defsecTypes.Int(8, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ReusePreventionCount: iacTypes.Int(3, iacTypes.NewTestMetadata()), + RequireLowercase: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + RequireUppercase: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + RequireNumbers: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + RequireSymbols: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + MaxAgeDays: iacTypes.Int(90, iacTypes.NewTestMetadata()), + MinimumLength: iacTypes.Int(8, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/iam/policies.go b/pkg/iac/adapters/terraform/aws/iam/policies.go index de852ef6e81c..94b132eddf90 100644 --- a/pkg/iac/adapters/terraform/aws/iam/policies.go +++ b/pkg/iac/adapters/terraform/aws/iam/policies.go @@ -3,9 +3,9 @@ package iam import ( "github.com/liamg/iamgo" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func parsePolicy(policyBlock *terraform.Block, modules terraform.Modules) (iam.Policy, error) { @@ -13,12 +13,12 @@ func parsePolicy(policyBlock *terraform.Block, modules terraform.Modules) (iam.P Metadata: policyBlock.GetMetadata(), Name: policyBlock.GetAttribute("name").AsStringValueOrDefault("", policyBlock), Document: iam.Document{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Parsed: iamgo.Document{}, IsOffset: false, HasRefs: false, }, - Builtin: defsecTypes.Bool(false, policyBlock.GetMetadata()), + Builtin: iacTypes.Bool(false, policyBlock.GetMetadata()), } var err error doc, err := ParsePolicyFromAttr(policyBlock.GetAttribute("policy"), policyBlock, modules) diff --git a/pkg/iac/adapters/terraform/aws/iam/policies_test.go b/pkg/iac/adapters/terraform/aws/iam/policies_test.go index aed1f6d2a1cd..5e70f4da8bec 100644 --- a/pkg/iac/adapters/terraform/aws/iam/policies_test.go +++ b/pkg/iac/adapters/terraform/aws/iam/policies_test.go @@ -3,11 +3,11 @@ package iam import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" "github.com/liamg/iamgo" ) @@ -25,7 +25,7 @@ func defaultPolicyDocuemnt(offset bool) iam.Document { return iam.Document{ Parsed: builder.Build(), - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), IsOffset: offset, HasRefs: false, } @@ -59,10 +59,10 @@ func Test_adaptPolicies(t *testing.T) { `, expected: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(false), - Builtin: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Builtin: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -95,11 +95,11 @@ resource "aws_iam_policy" "this" { `, expected: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-0", defsecTypes.NewTestMetadata()), - Builtin: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-0", iacTypes.NewTestMetadata()), + Builtin: iacTypes.Bool(false, iacTypes.NewTestMetadata()), Document: iam.Document{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), IsOffset: true, HasRefs: false, Parsed: func() iamgo.Document { @@ -146,11 +146,11 @@ resource "aws_iam_policy" "this" { }`, expected: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-sqs1", defsecTypes.NewTestMetadata()), - Builtin: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-sqs1", iacTypes.NewTestMetadata()), + Builtin: iacTypes.Bool(false, iacTypes.NewTestMetadata()), Document: iam.Document{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), IsOffset: true, HasRefs: false, Parsed: func() iamgo.Document { diff --git a/pkg/iac/adapters/terraform/aws/iam/roles.go b/pkg/iac/adapters/terraform/aws/iam/roles.go index 9d9783fb89c4..096521c0d43a 100644 --- a/pkg/iac/adapters/terraform/aws/iam/roles.go +++ b/pkg/iac/adapters/terraform/aws/iam/roles.go @@ -1,8 +1,8 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptRoles(modules terraform.Modules) []iam.Role { diff --git a/pkg/iac/adapters/terraform/aws/iam/roles_test.go b/pkg/iac/adapters/terraform/aws/iam/roles_test.go index 7231c15687ec..bd7058f74efa 100644 --- a/pkg/iac/adapters/terraform/aws/iam/roles_test.go +++ b/pkg/iac/adapters/terraform/aws/iam/roles_test.go @@ -4,10 +4,10 @@ import ( "sort" "testing" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Test_adaptRoles(t *testing.T) { @@ -53,12 +53,12 @@ data "aws_iam_policy_document" "policy" { `, expected: []iam.Role{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test_role", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test_role", iacTypes.NewTestMetadata()), Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test_policy", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test_policy", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(true), }, }, @@ -95,12 +95,12 @@ resource "aws_iam_role_policy_attachment" "test-attach" { `, expected: []iam.Role{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-role", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-role", iacTypes.NewTestMetadata()), Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-policy", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-policy", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(true), }, }, @@ -131,12 +131,12 @@ resource "aws_iam_role" "example" { `, expected: []iam.Role{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-role", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-role", iacTypes.NewTestMetadata()), Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("my_inline_policy", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("my_inline_policy", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(false), }, }, @@ -181,23 +181,23 @@ resource "aws_iam_role_policy_attachment" "this" { `, expected: []iam.Role{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-role1", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-role1", iacTypes.NewTestMetadata()), Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-role1-policy", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-role1-policy", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(true), }, }, }, { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-role2", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-role2", iacTypes.NewTestMetadata()), Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-role2-policy", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-role2-policy", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(true), }, }, diff --git a/pkg/iac/adapters/terraform/aws/iam/users.go b/pkg/iac/adapters/terraform/aws/iam/users.go index 6a292a83128e..ec311d21c5c0 100644 --- a/pkg/iac/adapters/terraform/aws/iam/users.go +++ b/pkg/iac/adapters/terraform/aws/iam/users.go @@ -1,9 +1,9 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptUsers(modules terraform.Modules) []iam.User { @@ -13,7 +13,7 @@ func adaptUsers(modules terraform.Modules) []iam.User { user := iam.User{ Metadata: userBlock.GetMetadata(), Name: userBlock.GetAttribute("name").AsStringValueOrDefault("", userBlock), - LastAccess: defsecTypes.TimeUnresolvable(userBlock.GetMetadata()), + LastAccess: iacTypes.TimeUnresolvable(userBlock.GetMetadata()), } if policy, ok := applyForDependentResource( @@ -42,15 +42,15 @@ func adaptUsers(modules terraform.Modules) []iam.User { func adaptAccessKey(block *terraform.Block) iam.AccessKey { - active := defsecTypes.BoolDefault(true, block.GetMetadata()) + active := iacTypes.BoolDefault(true, block.GetMetadata()) if activeAttr := block.GetAttribute("status"); activeAttr.IsString() { - active = defsecTypes.Bool(activeAttr.Equals("Active"), activeAttr.GetMetadata()) + active = iacTypes.Bool(activeAttr.Equals("Active"), activeAttr.GetMetadata()) } return iam.AccessKey{ Metadata: block.GetMetadata(), - AccessKeyId: defsecTypes.StringUnresolvable(block.GetMetadata()), - CreationDate: defsecTypes.TimeUnresolvable(block.GetMetadata()), - LastAccess: defsecTypes.TimeUnresolvable(block.GetMetadata()), + AccessKeyId: iacTypes.StringUnresolvable(block.GetMetadata()), + CreationDate: iacTypes.TimeUnresolvable(block.GetMetadata()), + LastAccess: iacTypes.TimeUnresolvable(block.GetMetadata()), Active: active, } } diff --git a/pkg/iac/adapters/terraform/aws/iam/users_test.go b/pkg/iac/adapters/terraform/aws/iam/users_test.go index a1243b6045c6..be79d1d644d6 100644 --- a/pkg/iac/adapters/terraform/aws/iam/users_test.go +++ b/pkg/iac/adapters/terraform/aws/iam/users_test.go @@ -3,10 +3,10 @@ package iam import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Test_adaptUsers(t *testing.T) { @@ -44,15 +44,15 @@ resource "aws_iam_user_policy" "policy" { `, expected: []iam.User{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("loadbalancer", defsecTypes.NewTestMetadata()), - LastAccess: defsecTypes.TimeUnresolvable(defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("loadbalancer", iacTypes.NewTestMetadata()), + LastAccess: iacTypes.TimeUnresolvable(iacTypes.NewTestMetadata()), Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(false), - Builtin: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Builtin: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -89,15 +89,15 @@ resource "aws_iam_user_policy_attachment" "test-attach" { `, expected: []iam.User{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-user", defsecTypes.NewTestMetadata()), - LastAccess: defsecTypes.TimeUnresolvable(defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-user", iacTypes.NewTestMetadata()), + LastAccess: iacTypes.TimeUnresolvable(iacTypes.NewTestMetadata()), Policies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-policy", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-policy", iacTypes.NewTestMetadata()), Document: defaultPolicyDocuemnt(false), - Builtin: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Builtin: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -119,14 +119,14 @@ resource "aws_iam_user" "lb" { `, expected: []iam.User{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("loadbalafncer", defsecTypes.NewTestMetadata()), - LastAccess: defsecTypes.TimeUnresolvable(defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("loadbalafncer", iacTypes.NewTestMetadata()), + LastAccess: iacTypes.TimeUnresolvable(iacTypes.NewTestMetadata()), Policies: nil, AccessKeys: []iam.AccessKey{ { - Metadata: defsecTypes.NewTestMetadata(), - Active: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Active: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -147,14 +147,14 @@ resource "aws_iam_user" "lb" { `, expected: []iam.User{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("loadbalafncer", defsecTypes.NewTestMetadata()), - LastAccess: defsecTypes.TimeUnresolvable(defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("loadbalafncer", iacTypes.NewTestMetadata()), + LastAccess: iacTypes.TimeUnresolvable(iacTypes.NewTestMetadata()), Policies: nil, AccessKeys: []iam.AccessKey{ { - Metadata: defsecTypes.NewTestMetadata(), - Active: defsecTypes.BoolDefault(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Active: iacTypes.BoolDefault(true, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/kinesis/adapt.go b/pkg/iac/adapters/terraform/aws/kinesis/adapt.go index 1f918ccb35b1..f66f77505c07 100644 --- a/pkg/iac/adapters/terraform/aws/kinesis/adapt.go +++ b/pkg/iac/adapters/terraform/aws/kinesis/adapt.go @@ -1,9 +1,9 @@ package kinesis import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/kinesis" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/kinesis" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) kinesis.Kinesis { diff --git a/pkg/iac/adapters/terraform/aws/kinesis/adapt_test.go b/pkg/iac/adapters/terraform/aws/kinesis/adapt_test.go index 0387056474c5..c1138d2f7748 100644 --- a/pkg/iac/adapters/terraform/aws/kinesis/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/kinesis/adapt_test.go @@ -3,11 +3,11 @@ package kinesis import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/kinesis" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/kinesis" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -28,11 +28,11 @@ func Test_adaptStream(t *testing.T) { } `, expected: kinesis.Stream{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: kinesis.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("KMS", defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("my/special/key", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("KMS", iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("my/special/key", iacTypes.NewTestMetadata()), }, }, }, @@ -43,11 +43,11 @@ func Test_adaptStream(t *testing.T) { } `, expected: kinesis.Stream{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: kinesis.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("NONE", defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("NONE", iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/kms/adapt.go b/pkg/iac/adapters/terraform/aws/kms/adapt.go index c91c860ff9c6..95bc730ef2b1 100644 --- a/pkg/iac/adapters/terraform/aws/kms/adapt.go +++ b/pkg/iac/adapters/terraform/aws/kms/adapt.go @@ -1,8 +1,8 @@ package kms import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/kms" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/kms" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) kms.KMS { diff --git a/pkg/iac/adapters/terraform/aws/kms/adapt_test.go b/pkg/iac/adapters/terraform/aws/kms/adapt_test.go index 9ecb45ca05e3..721d0ee19d66 100644 --- a/pkg/iac/adapters/terraform/aws/kms/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/kms/adapt_test.go @@ -3,11 +3,11 @@ package kms import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/kms" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/kms" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -28,8 +28,8 @@ func Test_adaptKey(t *testing.T) { } `, expected: kms.Key{ - Usage: defsecTypes.String(kms.KeyUsageSignAndVerify, defsecTypes.NewTestMetadata()), - RotationEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Usage: iacTypes.String(kms.KeyUsageSignAndVerify, iacTypes.NewTestMetadata()), + RotationEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -39,8 +39,8 @@ func Test_adaptKey(t *testing.T) { } `, expected: kms.Key{ - Usage: defsecTypes.String("ENCRYPT_DECRYPT", defsecTypes.NewTestMetadata()), - RotationEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Usage: iacTypes.String("ENCRYPT_DECRYPT", iacTypes.NewTestMetadata()), + RotationEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/lambda/adapt.go b/pkg/iac/adapters/terraform/aws/lambda/adapt.go index 2861906994e4..3a28107d2197 100644 --- a/pkg/iac/adapters/terraform/aws/lambda/adapt.go +++ b/pkg/iac/adapters/terraform/aws/lambda/adapt.go @@ -1,9 +1,9 @@ package lambda import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/lambda" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/lambda" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) lambda.Lambda { @@ -34,10 +34,10 @@ func (a *adapter) adaptFunctions(modules terraform.Modules) []lambda.Function { if len(orphanResources) > 0 { orphanage := lambda.Function{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Tracing: lambda.Tracing{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Mode: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Mode: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), }, Permissions: nil, } @@ -78,7 +78,7 @@ func (a *adapter) adaptTracing(function *terraform.Block) lambda.Tracing { return lambda.Tracing{ Metadata: function.GetMetadata(), - Mode: defsecTypes.StringDefault("", function.GetMetadata()), + Mode: iacTypes.StringDefault("", function.GetMetadata()), } } @@ -87,7 +87,7 @@ func (a *adapter) adaptPermission(permission *terraform.Block) lambda.Permission sourceARN := sourceARNAttr.AsStringValueOrDefault("", permission) if len(sourceARNAttr.AllReferences()) > 0 { - sourceARN = defsecTypes.String(sourceARNAttr.AllReferences()[0].NameLabel(), sourceARNAttr.GetMetadata()) + sourceARN = iacTypes.String(sourceARNAttr.AllReferences()[0].NameLabel(), sourceARNAttr.GetMetadata()) } return lambda.Permission{ diff --git a/pkg/iac/adapters/terraform/aws/lambda/adapt_test.go b/pkg/iac/adapters/terraform/aws/lambda/adapt_test.go index b1d8fe43a5c9..8ec555c7d90f 100644 --- a/pkg/iac/adapters/terraform/aws/lambda/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/lambda/adapt_test.go @@ -3,11 +3,11 @@ package lambda import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/lambda" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/lambda" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -43,16 +43,16 @@ func Test_Adapt(t *testing.T) { expected: lambda.Lambda{ Functions: []lambda.Function{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Tracing: lambda.Tracing{ - Metadata: defsecTypes.NewTestMetadata(), - Mode: defsecTypes.String("Passthrough", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Mode: iacTypes.String("Passthrough", iacTypes.NewTestMetadata()), }, Permissions: []lambda.Permission{ { - Metadata: defsecTypes.NewTestMetadata(), - Principal: defsecTypes.String("sns.amazonaws.com", defsecTypes.NewTestMetadata()), - SourceARN: defsecTypes.String("default", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Principal: iacTypes.String("sns.amazonaws.com", iacTypes.NewTestMetadata()), + SourceARN: iacTypes.String("default", iacTypes.NewTestMetadata()), }, }, }, @@ -73,23 +73,23 @@ func Test_Adapt(t *testing.T) { expected: lambda.Lambda{ Functions: []lambda.Function{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Tracing: lambda.Tracing{ - Metadata: defsecTypes.NewTestMetadata(), - Mode: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Mode: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Tracing: lambda.Tracing{ - Metadata: defsecTypes.NewTestMetadata(), - Mode: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Mode: iacTypes.String("", iacTypes.NewTestMetadata()), }, Permissions: []lambda.Permission{ { - Metadata: defsecTypes.NewTestMetadata(), - Principal: defsecTypes.String("", defsecTypes.NewTestMetadata()), - SourceARN: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Principal: iacTypes.String("", iacTypes.NewTestMetadata()), + SourceARN: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/mq/adapt.go b/pkg/iac/adapters/terraform/aws/mq/adapt.go index c5da698dca8d..d0fed28d5b83 100644 --- a/pkg/iac/adapters/terraform/aws/mq/adapt.go +++ b/pkg/iac/adapters/terraform/aws/mq/adapt.go @@ -1,9 +1,9 @@ package mq import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/mq" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/mq" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) mq.MQ { diff --git a/pkg/iac/adapters/terraform/aws/mq/adapt_test.go b/pkg/iac/adapters/terraform/aws/mq/adapt_test.go index ff994785095a..fe8d77432b62 100644 --- a/pkg/iac/adapters/terraform/aws/mq/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/mq/adapt_test.go @@ -3,11 +3,11 @@ package mq import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/mq" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/mq" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -31,12 +31,12 @@ func Test_adaptBroker(t *testing.T) { } `, expected: mq.Broker{ - Metadata: defsecTypes.NewTestMetadata(), - PublicAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + PublicAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), Logging: mq.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - General: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Audit: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + General: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Audit: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -52,12 +52,12 @@ func Test_adaptBroker(t *testing.T) { } `, expected: mq.Broker{ - Metadata: defsecTypes.NewTestMetadata(), - PublicAccess: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + PublicAccess: iacTypes.Bool(true, iacTypes.NewTestMetadata()), Logging: mq.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - General: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Audit: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + General: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Audit: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -68,12 +68,12 @@ func Test_adaptBroker(t *testing.T) { } `, expected: mq.Broker{ - Metadata: defsecTypes.NewTestMetadata(), - PublicAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + PublicAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), Logging: mq.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - General: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Audit: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + General: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Audit: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/msk/adapt.go b/pkg/iac/adapters/terraform/aws/msk/adapt.go index faf43df2197b..520b68b2a06c 100644 --- a/pkg/iac/adapters/terraform/aws/msk/adapt.go +++ b/pkg/iac/adapters/terraform/aws/msk/adapt.go @@ -1,9 +1,9 @@ package msk import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/msk" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/msk" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) msk.MSK { @@ -27,12 +27,12 @@ func adaptCluster(resource *terraform.Block) msk.Cluster { Metadata: resource.GetMetadata(), EncryptionInTransit: msk.EncryptionInTransit{ Metadata: resource.GetMetadata(), - ClientBroker: defsecTypes.StringDefault("TLS_PLAINTEXT", resource.GetMetadata()), + ClientBroker: iacTypes.StringDefault("TLS_PLAINTEXT", resource.GetMetadata()), }, EncryptionAtRest: msk.EncryptionAtRest{ Metadata: resource.GetMetadata(), - KMSKeyARN: defsecTypes.StringDefault("", resource.GetMetadata()), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + KMSKeyARN: iacTypes.StringDefault("", resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, Logging: msk.Logging{ Metadata: resource.GetMetadata(), @@ -40,15 +40,15 @@ func adaptCluster(resource *terraform.Block) msk.Cluster { Metadata: resource.GetMetadata(), S3: msk.S3Logging{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, Cloudwatch: msk.CloudwatchLogging{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, Firehose: msk.FirehoseLogging{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, }, }, @@ -65,7 +65,7 @@ func adaptCluster(resource *terraform.Block) msk.Cluster { if encryptionAtRestAttr := encryptBlock.GetAttribute("encryption_at_rest_kms_key_arn"); encryptionAtRestAttr.IsNotNil() { cluster.EncryptionAtRest.Metadata = encryptionAtRestAttr.GetMetadata() cluster.EncryptionAtRest.KMSKeyARN = encryptionAtRestAttr.AsStringValueOrDefault("", encryptBlock) - cluster.EncryptionAtRest.Enabled = defsecTypes.Bool(true, encryptionAtRestAttr.GetMetadata()) + cluster.EncryptionAtRest.Enabled = iacTypes.Bool(true, encryptionAtRestAttr.GetMetadata()) } } diff --git a/pkg/iac/adapters/terraform/aws/msk/adapt_test.go b/pkg/iac/adapters/terraform/aws/msk/adapt_test.go index 764b51671553..dae131487b4f 100644 --- a/pkg/iac/adapters/terraform/aws/msk/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/msk/adapt_test.go @@ -3,11 +3,11 @@ package msk import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/msk" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/msk" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -53,31 +53,31 @@ func Test_adaptCluster(t *testing.T) { } `, expected: msk.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), EncryptionInTransit: msk.EncryptionInTransit{ - Metadata: defsecTypes.NewTestMetadata(), - ClientBroker: defsecTypes.String("TLS", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ClientBroker: iacTypes.String("TLS", iacTypes.NewTestMetadata()), }, EncryptionAtRest: msk.EncryptionAtRest{ - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyARN: defsecTypes.String("foo-bar-key", defsecTypes.NewTestMetadata()), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyARN: iacTypes.String("foo-bar-key", iacTypes.NewTestMetadata()), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Logging: msk.Logging{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Broker: msk.BrokerLogging{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), S3: msk.S3Logging{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Cloudwatch: msk.CloudwatchLogging{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Firehose: msk.FirehoseLogging{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -90,26 +90,26 @@ func Test_adaptCluster(t *testing.T) { } `, expected: msk.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), EncryptionInTransit: msk.EncryptionInTransit{ - Metadata: defsecTypes.NewTestMetadata(), - ClientBroker: defsecTypes.String("TLS_PLAINTEXT", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ClientBroker: iacTypes.String("TLS_PLAINTEXT", iacTypes.NewTestMetadata()), }, Logging: msk.Logging{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Broker: msk.BrokerLogging{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), S3: msk.S3Logging{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, Cloudwatch: msk.CloudwatchLogging{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, Firehose: msk.FirehoseLogging{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/neptune/adapt.go b/pkg/iac/adapters/terraform/aws/neptune/adapt.go index 7283624c33d2..2dc3e344b110 100644 --- a/pkg/iac/adapters/terraform/aws/neptune/adapt.go +++ b/pkg/iac/adapters/terraform/aws/neptune/adapt.go @@ -1,9 +1,9 @@ package neptune import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/neptune" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/neptune" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) neptune.Neptune { @@ -27,16 +27,16 @@ func adaptCluster(resource *terraform.Block) neptune.Cluster { Metadata: resource.GetMetadata(), Logging: neptune.Logging{ Metadata: resource.GetMetadata(), - Audit: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Audit: iacTypes.BoolDefault(false, resource.GetMetadata()), }, - StorageEncrypted: defsecTypes.BoolDefault(false, resource.GetMetadata()), - KMSKeyID: defsecTypes.StringDefault("", resource.GetMetadata()), + StorageEncrypted: iacTypes.BoolDefault(false, resource.GetMetadata()), + KMSKeyID: iacTypes.StringDefault("", resource.GetMetadata()), } if enableLogExportsAttr := resource.GetAttribute("enable_cloudwatch_logs_exports"); enableLogExportsAttr.IsNotNil() { cluster.Logging.Metadata = enableLogExportsAttr.GetMetadata() if enableLogExportsAttr.Contains("audit") { - cluster.Logging.Audit = defsecTypes.Bool(true, enableLogExportsAttr.GetMetadata()) + cluster.Logging.Audit = iacTypes.Bool(true, enableLogExportsAttr.GetMetadata()) } } diff --git a/pkg/iac/adapters/terraform/aws/neptune/adapt_test.go b/pkg/iac/adapters/terraform/aws/neptune/adapt_test.go index b502bd6fa9d9..5ad4f3de82ad 100644 --- a/pkg/iac/adapters/terraform/aws/neptune/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/neptune/adapt_test.go @@ -3,11 +3,11 @@ package neptune import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/neptune" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/neptune" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -29,13 +29,13 @@ func Test_adaptCluster(t *testing.T) { } `, expected: neptune.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Logging: neptune.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - Audit: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Audit: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, - StorageEncrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("kms-key", defsecTypes.NewTestMetadata()), + StorageEncrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("kms-key", iacTypes.NewTestMetadata()), }, }, { @@ -45,13 +45,13 @@ func Test_adaptCluster(t *testing.T) { } `, expected: neptune.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Logging: neptune.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - Audit: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Audit: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, - StorageEncrypted: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + StorageEncrypted: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/provider/adapt.go b/pkg/iac/adapters/terraform/aws/provider/adapt.go index b34fc8e730c5..2641a8299840 100644 --- a/pkg/iac/adapters/terraform/aws/provider/adapt.go +++ b/pkg/iac/adapters/terraform/aws/provider/adapt.go @@ -1,9 +1,9 @@ package provider import ( - "github.com/aquasecurity/defsec/pkg/providers/aws" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) const ( diff --git a/pkg/iac/adapters/terraform/aws/provider/adapt_test.go b/pkg/iac/adapters/terraform/aws/provider/adapt_test.go index 0c158071c4a8..9cbcc767e3b3 100644 --- a/pkg/iac/adapters/terraform/aws/provider/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/provider/adapt_test.go @@ -3,10 +3,10 @@ package provider import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers/aws" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func TestAdapt(t *testing.T) { diff --git a/pkg/iac/adapters/terraform/aws/rds/adapt.go b/pkg/iac/adapters/terraform/aws/rds/adapt.go index a03b3d124058..d99821c23950 100644 --- a/pkg/iac/adapters/terraform/aws/rds/adapt.go +++ b/pkg/iac/adapters/terraform/aws/rds/adapt.go @@ -1,9 +1,9 @@ package rds import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/rds" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) rds.RDS { @@ -55,24 +55,24 @@ func getClusters(modules terraform.Modules) (clusters []rds.Cluster) { if len(orphanResources) > 0 { orphanage := rds.Cluster{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - BackupRetentionPeriodDays: defsecTypes.IntDefault(1, defsecTypes.NewUnmanagedMetadata()), - ReplicationSourceARN: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + BackupRetentionPeriodDays: iacTypes.IntDefault(1, iacTypes.NewUnmanagedMetadata()), + ReplicationSourceARN: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), PerformanceInsights: rds.PerformanceInsights{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Enabled: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - KMSKeyID: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Enabled: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + KMSKeyID: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), }, Instances: nil, Encryption: rds.Encryption{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EncryptStorage: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - KMSKeyID: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EncryptStorage: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + KMSKeyID: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), }, - PublicAccess: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - Engine: defsecTypes.StringUnresolvable(defsecTypes.NewUnmanagedMetadata()), - LatestRestorableTime: defsecTypes.TimeUnresolvable(defsecTypes.NewUnmanagedMetadata()), - DeletionProtection: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + PublicAccess: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + Engine: iacTypes.StringUnresolvable(iacTypes.NewUnmanagedMetadata()), + LatestRestorableTime: iacTypes.TimeUnresolvable(iacTypes.NewUnmanagedMetadata()), + DeletionProtection: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), } for _, orphan := range orphanResources { orphanage.Instances = append(orphanage.Instances, adaptClusterInstance(orphan, modules)) @@ -99,7 +99,7 @@ func adaptClusterInstance(resource *terraform.Block, modules terraform.Modules) if clusterIdAttr.IsResourceBlockReference("aws_rds_cluster") { if referenced, err := modules.GetReferencedBlock(clusterIdAttr, resource); err == nil { - clusterId = defsecTypes.String(referenced.FullName(), referenced.GetMetadata()) + clusterId = iacTypes.String(referenced.FullName(), referenced.GetMetadata()) } } @@ -117,7 +117,7 @@ func adaptClassicDBSecurityGroup(resource *terraform.Block) rds.DBSecurityGroup func adaptInstance(resource *terraform.Block, modules terraform.Modules) rds.Instance { - var ReadReplicaDBInstanceIdentifiers []defsecTypes.StringValue + var ReadReplicaDBInstanceIdentifiers []iacTypes.StringValue rrdiAttr := resource.GetAttribute("replicate_source_db") for _, rrdi := range rrdiAttr.AsStringValues() { ReadReplicaDBInstanceIdentifiers = append(ReadReplicaDBInstanceIdentifiers, rrdi) @@ -132,7 +132,7 @@ func adaptInstance(resource *terraform.Block, modules terraform.Modules) rds.Ins }) } - var EnabledCloudwatchLogsExports []defsecTypes.StringValue + var EnabledCloudwatchLogsExports []iacTypes.StringValue ecweAttr := resource.GetAttribute("enabled_cloudwatch_logs_exports") for _, ecwe := range ecweAttr.AsStringValues() { EnabledCloudwatchLogsExports = append(EnabledCloudwatchLogsExports, ecwe) @@ -148,7 +148,7 @@ func adaptInstance(resource *terraform.Block, modules terraform.Modules) rds.Ins return rds.Instance{ Metadata: resource.GetMetadata(), BackupRetentionPeriodDays: resource.GetAttribute("backup_retention_period").AsIntValueOrDefault(0, resource), - ReplicationSourceARN: defsecTypes.StringExplicit(replicaSourceValue, resource.GetMetadata()), + ReplicationSourceARN: iacTypes.StringExplicit(replicaSourceValue, resource.GetMetadata()), PerformanceInsights: adaptPerformanceInsights(resource), Encryption: adaptEncryption(resource), PublicAccess: resource.GetAttribute("publicly_accessible").AsBoolValueOrDefault(false, resource), @@ -162,7 +162,7 @@ func adaptInstance(resource *terraform.Block, modules terraform.Modules) rds.Ins AutoMinorVersionUpgrade: resource.GetAttribute("auto_minor_version_upgrade").AsBoolValueOrDefault(false, resource), MultiAZ: resource.GetAttribute("multi_az").AsBoolValueOrDefault(false, resource), PubliclyAccessible: resource.GetAttribute("publicly_accessible").AsBoolValueOrDefault(false, resource), - LatestRestorableTime: defsecTypes.TimeUnresolvable(resource.GetMetadata()), + LatestRestorableTime: iacTypes.TimeUnresolvable(resource.GetMetadata()), ReadReplicaDBInstanceIdentifiers: ReadReplicaDBInstanceIdentifiers, TagList: TagList, EnabledCloudwatchLogsExports: EnabledCloudwatchLogsExports, @@ -177,8 +177,8 @@ func adaptDBParameterGroups(resource *terraform.Block, modules terraform.Modules Parameters = append(Parameters, rds.Parameters{ Metadata: paramres.GetMetadata(), - ParameterName: defsecTypes.StringDefault("", paramres.GetMetadata()), - ParameterValue: defsecTypes.StringDefault("", paramres.GetMetadata()), + ParameterName: iacTypes.StringDefault("", paramres.GetMetadata()), + ParameterValue: iacTypes.StringDefault("", paramres.GetMetadata()), }) } @@ -221,9 +221,9 @@ func adaptCluster(resource *terraform.Block, modules terraform.Modules) (rds.Clu PerformanceInsights: adaptPerformanceInsights(resource), Instances: clusterInstances, Encryption: adaptEncryption(resource), - PublicAccess: defsecTypes.Bool(public, resource.GetMetadata()), + PublicAccess: iacTypes.Bool(public, resource.GetMetadata()), Engine: resource.GetAttribute("engine").AsStringValueOrDefault(rds.EngineAurora, resource), - LatestRestorableTime: defsecTypes.TimeUnresolvable(resource.GetMetadata()), + LatestRestorableTime: iacTypes.TimeUnresolvable(resource.GetMetadata()), AvailabilityZones: resource.GetAttribute("availability_zones").AsStringValueSliceOrEmpty(), DeletionProtection: resource.GetAttribute("deletion_protection").AsBoolValueOrDefault(false, resource), }, ids diff --git a/pkg/iac/adapters/terraform/aws/rds/adapt_test.go b/pkg/iac/adapters/terraform/aws/rds/adapt_test.go index 4fb8a0f44fe5..3776e4c4ad48 100644 --- a/pkg/iac/adapters/terraform/aws/rds/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/rds/adapt_test.go @@ -3,11 +3,11 @@ package rds import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/rds" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -58,76 +58,76 @@ func Test_Adapt(t *testing.T) { expected: rds.RDS{ Instances: []rds.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), - BackupRetentionPeriodDays: defsecTypes.Int(5, defsecTypes.NewTestMetadata()), - ReplicationSourceARN: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + BackupRetentionPeriodDays: iacTypes.Int(5, iacTypes.NewTestMetadata()), + ReplicationSourceARN: iacTypes.String("", iacTypes.NewTestMetadata()), PerformanceInsights: rds.PerformanceInsights{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("performance_key_1", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("performance_key_1", iacTypes.NewTestMetadata()), }, Encryption: rds.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - EncryptStorage: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("kms_key_2", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EncryptStorage: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("kms_key_2", iacTypes.NewTestMetadata()), }, - PublicAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Engine: defsecTypes.String(rds.EngineAurora, defsecTypes.NewTestMetadata()), - StorageEncrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + PublicAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Engine: iacTypes.String(rds.EngineAurora, iacTypes.NewTestMetadata()), + StorageEncrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, Clusters: []rds.Cluster{ { - Metadata: defsecTypes.NewTestMetadata(), - BackupRetentionPeriodDays: defsecTypes.Int(7, defsecTypes.NewTestMetadata()), - ReplicationSourceARN: defsecTypes.String("arn-of-a-source-db-cluster", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + BackupRetentionPeriodDays: iacTypes.Int(7, iacTypes.NewTestMetadata()), + ReplicationSourceARN: iacTypes.String("arn-of-a-source-db-cluster", iacTypes.NewTestMetadata()), PerformanceInsights: rds.PerformanceInsights{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, Encryption: rds.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - EncryptStorage: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("kms_key_1", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EncryptStorage: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("kms_key_1", iacTypes.NewTestMetadata()), }, Instances: []rds.ClusterInstance{ { Instance: rds.Instance{ - Metadata: defsecTypes.NewTestMetadata(), - BackupRetentionPeriodDays: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), - ReplicationSourceARN: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + BackupRetentionPeriodDays: iacTypes.Int(0, iacTypes.NewTestMetadata()), + ReplicationSourceARN: iacTypes.String("", iacTypes.NewTestMetadata()), PerformanceInsights: rds.PerformanceInsights{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("performance_key_0", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("performance_key_0", iacTypes.NewTestMetadata()), }, Encryption: rds.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - EncryptStorage: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("kms_key_0", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EncryptStorage: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("kms_key_0", iacTypes.NewTestMetadata()), }, - PublicAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Engine: defsecTypes.String(rds.EngineAurora, defsecTypes.NewTestMetadata()), - StorageEncrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + PublicAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Engine: iacTypes.String(rds.EngineAurora, iacTypes.NewTestMetadata()), + StorageEncrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, - ClusterIdentifier: defsecTypes.String("aws_rds_cluster.example", defsecTypes.NewTestMetadata()), + ClusterIdentifier: iacTypes.String("aws_rds_cluster.example", iacTypes.NewTestMetadata()), }, }, - PublicAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Engine: defsecTypes.String(rds.EngineAuroraMysql, defsecTypes.NewTestMetadata()), - AvailabilityZones: defsecTypes.StringValueList{ - defsecTypes.String("us-west-2a", defsecTypes.NewTestMetadata()), - defsecTypes.String("us-west-2b", defsecTypes.NewTestMetadata()), - defsecTypes.String("us-west-2c", defsecTypes.NewTestMetadata()), + PublicAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Engine: iacTypes.String(rds.EngineAuroraMysql, iacTypes.NewTestMetadata()), + AvailabilityZones: iacTypes.StringValueList{ + iacTypes.String("us-west-2a", iacTypes.NewTestMetadata()), + iacTypes.String("us-west-2b", iacTypes.NewTestMetadata()), + iacTypes.String("us-west-2c", iacTypes.NewTestMetadata()), }, - DeletionProtection: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + DeletionProtection: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, Classic: rds.Classic{ DBSecurityGroups: []rds.DBSecurityGroup{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), }, }, }, @@ -157,23 +157,23 @@ func Test_adaptInstance(t *testing.T) { } `, expected: rds.Instance{ - Metadata: defsecTypes.NewTestMetadata(), - BackupRetentionPeriodDays: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), - ReplicationSourceARN: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + BackupRetentionPeriodDays: iacTypes.Int(0, iacTypes.NewTestMetadata()), + ReplicationSourceARN: iacTypes.String("", iacTypes.NewTestMetadata()), PerformanceInsights: rds.PerformanceInsights{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, Encryption: rds.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - EncryptStorage: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EncryptStorage: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, - PublicAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Engine: defsecTypes.String(rds.EngineAurora, defsecTypes.NewTestMetadata()), - StorageEncrypted: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - IAMAuthEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + PublicAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Engine: iacTypes.String(rds.EngineAurora, iacTypes.NewTestMetadata()), + StorageEncrypted: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + IAMAuthEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } @@ -200,21 +200,21 @@ func Test_adaptCluster(t *testing.T) { } `, expected: rds.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), - BackupRetentionPeriodDays: defsecTypes.Int(1, defsecTypes.NewTestMetadata()), - ReplicationSourceARN: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.NewTestMetadata()), + ReplicationSourceARN: iacTypes.String("", iacTypes.NewTestMetadata()), PerformanceInsights: rds.PerformanceInsights{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, Encryption: rds.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - EncryptStorage: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EncryptStorage: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, - PublicAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Engine: defsecTypes.String(rds.EngineAurora, defsecTypes.NewTestMetadata()), + PublicAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Engine: iacTypes.String(rds.EngineAurora, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/redshift/adapt.go b/pkg/iac/adapters/terraform/aws/redshift/adapt.go index 2875b6649c46..37ede1a821ab 100644 --- a/pkg/iac/adapters/terraform/aws/redshift/adapt.go +++ b/pkg/iac/adapters/terraform/aws/redshift/adapt.go @@ -1,9 +1,9 @@ package redshift import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/redshift" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/redshift" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) redshift.Redshift { @@ -55,20 +55,20 @@ func adaptCluster(resource *terraform.Block, module *terraform.Module) redshift. MasterUsername: resource.GetAttribute("master_username").AsStringValueOrDefault("", resource), NumberOfNodes: resource.GetAttribute("number_of_nodes").AsIntValueOrDefault(1, resource), PubliclyAccessible: resource.GetAttribute("publicly_accessible").AsBoolValueOrDefault(true, resource), - LoggingEnabled: defsecTypes.Bool(false, resource.GetMetadata()), - AutomatedSnapshotRetentionPeriod: defsecTypes.Int(0, resource.GetMetadata()), + LoggingEnabled: iacTypes.Bool(false, resource.GetMetadata()), + AutomatedSnapshotRetentionPeriod: iacTypes.Int(0, resource.GetMetadata()), AllowVersionUpgrade: resource.GetAttribute("allow_version_upgrade").AsBoolValueOrDefault(true, resource), - VpcId: defsecTypes.String("", resource.GetMetadata()), + VpcId: iacTypes.String("", resource.GetMetadata()), Encryption: redshift.Encryption{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), - KMSKeyID: defsecTypes.StringDefault("", resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), + KMSKeyID: iacTypes.StringDefault("", resource.GetMetadata()), }, EndPoint: redshift.EndPoint{ Metadata: resource.GetMetadata(), Port: resource.GetAttribute("port").AsIntValueOrDefault(5439, resource), }, - SubnetGroupName: defsecTypes.StringDefault("", resource.GetMetadata()), + SubnetGroupName: iacTypes.StringDefault("", resource.GetMetadata()), } encryptedAttr := resource.GetAttribute("encrypted") @@ -87,7 +87,7 @@ func adaptCluster(resource *terraform.Block, module *terraform.Module) redshift. cluster.Encryption.KMSKeyID = KMSKeyIDAttr.AsStringValueOrDefault("", resource) if KMSKeyIDAttr.IsResourceBlockReference("aws_kms_key") { if kmsKeyBlock, err := module.GetReferencedBlock(KMSKeyIDAttr, resource); err == nil { - cluster.Encryption.KMSKeyID = defsecTypes.String(kmsKeyBlock.FullName(), kmsKeyBlock.GetMetadata()) + cluster.Encryption.KMSKeyID = iacTypes.String(kmsKeyBlock.FullName(), kmsKeyBlock.GetMetadata()) } } diff --git a/pkg/iac/adapters/terraform/aws/redshift/adapt_test.go b/pkg/iac/adapters/terraform/aws/redshift/adapt_test.go index f4290e567bd4..e52db1c2256b 100644 --- a/pkg/iac/adapters/terraform/aws/redshift/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/redshift/adapt_test.go @@ -4,11 +4,11 @@ import ( "fmt" "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/redshift" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/redshift" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -45,27 +45,27 @@ func Test_Adapt(t *testing.T) { expected: redshift.Redshift{ Clusters: []redshift.Cluster{ { - Metadata: defsecTypes.NewTestMetadata(), - ClusterIdentifier: defsecTypes.String("tf-redshift-cluster", defsecTypes.NewTestMetadata()), - PubliclyAccessible: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - NumberOfNodes: defsecTypes.Int(1, defsecTypes.NewTestMetadata()), - AllowVersionUpgrade: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ClusterIdentifier: iacTypes.String("tf-redshift-cluster", iacTypes.NewTestMetadata()), + PubliclyAccessible: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + NumberOfNodes: iacTypes.Int(1, iacTypes.NewTestMetadata()), + AllowVersionUpgrade: iacTypes.Bool(false, iacTypes.NewTestMetadata()), EndPoint: redshift.EndPoint{ - Metadata: defsecTypes.NewTestMetadata(), - Port: defsecTypes.Int(5440, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Port: iacTypes.Int(5440, iacTypes.NewTestMetadata()), }, Encryption: redshift.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("aws_kms_key.redshift", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("aws_kms_key.redshift", iacTypes.NewTestMetadata()), }, - SubnetGroupName: defsecTypes.String("redshift_subnet", defsecTypes.NewTestMetadata()), + SubnetGroupName: iacTypes.String("redshift_subnet", iacTypes.NewTestMetadata()), }, }, SecurityGroups: []redshift.SecurityGroup{ { - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("some description", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("some description", iacTypes.NewTestMetadata()), }, }, }, @@ -103,21 +103,21 @@ func Test_adaptCluster(t *testing.T) { } `, expected: redshift.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), - ClusterIdentifier: defsecTypes.String("tf-redshift-cluster", defsecTypes.NewTestMetadata()), - PubliclyAccessible: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - NumberOfNodes: defsecTypes.Int(1, defsecTypes.NewTestMetadata()), - AllowVersionUpgrade: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ClusterIdentifier: iacTypes.String("tf-redshift-cluster", iacTypes.NewTestMetadata()), + PubliclyAccessible: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + NumberOfNodes: iacTypes.Int(1, iacTypes.NewTestMetadata()), + AllowVersionUpgrade: iacTypes.Bool(false, iacTypes.NewTestMetadata()), EndPoint: redshift.EndPoint{ - Metadata: defsecTypes.NewTestMetadata(), - Port: defsecTypes.Int(5440, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Port: iacTypes.Int(5440, iacTypes.NewTestMetadata()), }, Encryption: redshift.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("key-id", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("key-id", iacTypes.NewTestMetadata()), }, - SubnetGroupName: defsecTypes.String("redshift_subnet", defsecTypes.NewTestMetadata()), + SubnetGroupName: iacTypes.String("redshift_subnet", iacTypes.NewTestMetadata()), }, }, { @@ -127,21 +127,21 @@ func Test_adaptCluster(t *testing.T) { } `, expected: redshift.Cluster{ - Metadata: defsecTypes.NewTestMetadata(), - ClusterIdentifier: defsecTypes.String("", defsecTypes.NewTestMetadata()), - PubliclyAccessible: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - NumberOfNodes: defsecTypes.Int(1, defsecTypes.NewTestMetadata()), - AllowVersionUpgrade: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ClusterIdentifier: iacTypes.String("", iacTypes.NewTestMetadata()), + PubliclyAccessible: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + NumberOfNodes: iacTypes.Int(1, iacTypes.NewTestMetadata()), + AllowVersionUpgrade: iacTypes.Bool(true, iacTypes.NewTestMetadata()), EndPoint: redshift.EndPoint{ - Metadata: defsecTypes.NewTestMetadata(), - Port: defsecTypes.Int(5439, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Port: iacTypes.Int(5439, iacTypes.NewTestMetadata()), }, Encryption: redshift.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, - SubnetGroupName: defsecTypes.String("", defsecTypes.NewTestMetadata()), + SubnetGroupName: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, } @@ -168,8 +168,8 @@ resource "" "example" { } `, expected: redshift.SecurityGroup{ - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("Managed by Terraform", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("Managed by Terraform", iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/aws/s3/adapt.go b/pkg/iac/adapters/terraform/aws/s3/adapt.go index 56e61a8763f9..ef9c3052eec5 100644 --- a/pkg/iac/adapters/terraform/aws/s3/adapt.go +++ b/pkg/iac/adapters/terraform/aws/s3/adapt.go @@ -1,8 +1,8 @@ package s3 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/s3" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/s3" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) s3.S3 { diff --git a/pkg/iac/adapters/terraform/aws/s3/adapt_test.go b/pkg/iac/adapters/terraform/aws/s3/adapt_test.go index a9d95c78e418..1d347d3520fe 100644 --- a/pkg/iac/adapters/terraform/aws/s3/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/s3/adapt_test.go @@ -3,12 +3,12 @@ package s3 import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/providers/aws/s3" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/s3" "github.com/liamg/iamgo" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -199,19 +199,19 @@ func Test_Adapt(t *testing.T) { expected: s3.S3{ Buckets: []s3.Bucket{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("bucket", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("bucket", iacTypes.NewTestMetadata()), PublicAccessBlock: &s3.PublicAccessBlock{ - Metadata: defsecTypes.NewTestMetadata(), - BlockPublicACLs: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - BlockPublicPolicy: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - IgnorePublicACLs: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - RestrictPublicBuckets: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + BlockPublicACLs: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + BlockPublicPolicy: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + IgnorePublicACLs: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + RestrictPublicBuckets: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, BucketPolicies: []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("", iacTypes.NewTestMetadata()), Document: func() iam.Document { builder := iamgo.NewPolicyBuilder() @@ -225,31 +225,31 @@ func Test_Adapt(t *testing.T) { return iam.Document{ Parsed: builder.Build(), - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), IsOffset: true, HasRefs: false, } }(), - Builtin: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Builtin: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, Encryption: s3.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Algorithm: defsecTypes.String("aws:kms", defsecTypes.NewTestMetadata()), - KMSKeyId: defsecTypes.String("string-key", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Algorithm: iacTypes.String("aws:kms", iacTypes.NewTestMetadata()), + KMSKeyId: iacTypes.String("string-key", iacTypes.NewTestMetadata()), }, Versioning: s3.Versioning{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - MFADelete: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + MFADelete: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Logging: s3.Logging{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - TargetBucket: defsecTypes.String("aws_s3_bucket.example", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + TargetBucket: iacTypes.String("aws_s3_bucket.example", iacTypes.NewTestMetadata()), }, - ACL: defsecTypes.String("private", defsecTypes.NewTestMetadata()), + ACL: iacTypes.String("private", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/s3/bucket.go b/pkg/iac/adapters/terraform/aws/s3/bucket.go index e26d7c67fe19..ae5b2ddb2f4d 100644 --- a/pkg/iac/adapters/terraform/aws/s3/bucket.go +++ b/pkg/iac/adapters/terraform/aws/s3/bucket.go @@ -1,9 +1,9 @@ package s3 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/s3" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/s3" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) type adapter struct { @@ -53,9 +53,9 @@ func getEncryption(block *terraform.Block, a *adapter) s3.Encryption { } return s3.Encryption{ Metadata: block.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, block.GetMetadata()), - KMSKeyId: defsecTypes.StringDefault("", block.GetMetadata()), - Algorithm: defsecTypes.StringDefault("", block.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, block.GetMetadata()), + KMSKeyId: iacTypes.StringDefault("", block.GetMetadata()), + Algorithm: iacTypes.StringDefault("", block.GetMetadata()), } } @@ -66,14 +66,14 @@ func newS3Encryption(root, sseConfgihuration *terraform.Block) s3.Encryption { Algorithm: terraform.MapNestedAttribute( sseConfgihuration, "rule.apply_server_side_encryption_by_default.sse_algorithm", - func(attr *terraform.Attribute, parent *terraform.Block) defsecTypes.StringValue { + func(attr *terraform.Attribute, parent *terraform.Block) iacTypes.StringValue { return attr.AsStringValueOrDefault("", parent) }, ), KMSKeyId: terraform.MapNestedAttribute( sseConfgihuration, "rule.apply_server_side_encryption_by_default.kms_master_key_id", - func(attr *terraform.Attribute, parent *terraform.Block) defsecTypes.StringValue { + func(attr *terraform.Attribute, parent *terraform.Block) iacTypes.StringValue { return attr.AsStringValueOrDefault("", parent) }, ), @@ -83,8 +83,8 @@ func newS3Encryption(root, sseConfgihuration *terraform.Block) s3.Encryption { func getVersioning(block *terraform.Block, a *adapter) s3.Versioning { versioning := s3.Versioning{ Metadata: block.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, block.GetMetadata()), - MFADelete: defsecTypes.BoolDefault(false, block.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, block.GetMetadata()), + MFADelete: iacTypes.BoolDefault(false, block.GetMetadata()), } if lockBlock := block.GetBlock("object_lock_configuration"); lockBlock != nil { if enabled := isObjeckLockEnabled(lockBlock); enabled != nil { @@ -96,7 +96,7 @@ func getVersioning(block *terraform.Block, a *adapter) s3.Versioning { versioning.MFADelete = vBlock.GetAttribute("mfa_delete").AsBoolValueOrDefault(false, vBlock) } - if enabled, ok := applyForBucketRelatedResource(a, block, "aws_s3_bucket_object_lock_configuration", func(resource *terraform.Block) *defsecTypes.BoolValue { + if enabled, ok := applyForBucketRelatedResource(a, block, "aws_s3_bucket_object_lock_configuration", func(resource *terraform.Block) *iacTypes.BoolValue { if block.GetAttribute("object_lock_enabled").IsTrue() { return isObjeckLockEnabled(resource) } @@ -111,14 +111,14 @@ func getVersioning(block *terraform.Block, a *adapter) s3.Versioning { return versioning } -func isObjeckLockEnabled(resource *terraform.Block) *defsecTypes.BoolValue { - var val defsecTypes.BoolValue +func isObjeckLockEnabled(resource *terraform.Block) *iacTypes.BoolValue { + var val iacTypes.BoolValue attr := resource.GetAttribute("object_lock_enabled") switch { case attr.IsNil(): // enabled by default - val = defsecTypes.BoolDefault(true, resource.GetMetadata()) + val = iacTypes.BoolDefault(true, resource.GetMetadata()) case attr.Equals("Enabled"): - val = defsecTypes.Bool(true, attr.GetMetadata()) + val = iacTypes.Bool(true, attr.GetMetadata()) } return &val } @@ -127,15 +127,15 @@ func isObjeckLockEnabled(resource *terraform.Block) *defsecTypes.BoolValue { func getVersioningFromResource(block *terraform.Block) s3.Versioning { versioning := s3.Versioning{ Metadata: block.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, block.GetMetadata()), - MFADelete: defsecTypes.BoolDefault(false, block.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, block.GetMetadata()), + MFADelete: iacTypes.BoolDefault(false, block.GetMetadata()), } if config := block.GetBlock("versioning_configuration"); config != nil { if status := config.GetAttribute("status"); status.IsNotNil() { - versioning.Enabled = defsecTypes.Bool(status.Equals("Enabled", terraform.IgnoreCase), status.GetMetadata()) + versioning.Enabled = iacTypes.Bool(status.Equals("Enabled", terraform.IgnoreCase), status.GetMetadata()) } if mfa := config.GetAttribute("mfa_delete"); mfa.IsNotNil() { - versioning.MFADelete = defsecTypes.Bool(mfa.Equals("Enabled", terraform.IgnoreCase), mfa.GetMetadata()) + versioning.MFADelete = iacTypes.Bool(mfa.Equals("Enabled", terraform.IgnoreCase), mfa.GetMetadata()) } } return versioning @@ -145,11 +145,11 @@ func getLogging(block *terraform.Block, a *adapter) s3.Logging { if loggingBlock := block.GetBlock("logging"); loggingBlock.IsNotNil() { targetBucket := loggingBlock.GetAttribute("target_bucket").AsStringValueOrDefault("", loggingBlock) if referencedBlock, err := a.modules.GetReferencedBlock(loggingBlock.GetAttribute("target_bucket"), loggingBlock); err == nil { - targetBucket = defsecTypes.String(referencedBlock.FullName(), loggingBlock.GetAttribute("target_bucket").GetMetadata()) + targetBucket = iacTypes.String(referencedBlock.FullName(), loggingBlock.GetAttribute("target_bucket").GetMetadata()) } return s3.Logging{ Metadata: loggingBlock.GetMetadata(), - Enabled: defsecTypes.Bool(true, loggingBlock.GetMetadata()), + Enabled: iacTypes.Bool(true, loggingBlock.GetMetadata()), TargetBucket: targetBucket, } } @@ -157,7 +157,7 @@ func getLogging(block *terraform.Block, a *adapter) s3.Logging { if val, ok := applyForBucketRelatedResource(a, block, "aws_s3_bucket_logging", func(resource *terraform.Block) s3.Logging { targetBucket := resource.GetAttribute("target-bucket").AsStringValueOrDefault("", resource) if referencedBlock, err := a.modules.GetReferencedBlock(resource.GetAttribute("target_bucket"), resource); err == nil { - targetBucket = defsecTypes.String(referencedBlock.FullName(), resource.GetAttribute("target_bucket").GetMetadata()) + targetBucket = iacTypes.String(referencedBlock.FullName(), resource.GetAttribute("target_bucket").GetMetadata()) } return s3.Logging{ Metadata: resource.GetMetadata(), @@ -170,34 +170,34 @@ func getLogging(block *terraform.Block, a *adapter) s3.Logging { return s3.Logging{ Metadata: block.GetMetadata(), - Enabled: defsecTypes.Bool(false, block.GetMetadata()), - TargetBucket: defsecTypes.StringDefault("", block.GetMetadata()), + Enabled: iacTypes.Bool(false, block.GetMetadata()), + TargetBucket: iacTypes.StringDefault("", block.GetMetadata()), } } -func getBucketAcl(block *terraform.Block, a *adapter) defsecTypes.StringValue { +func getBucketAcl(block *terraform.Block, a *adapter) iacTypes.StringValue { aclAttr := block.GetAttribute("acl") if aclAttr.IsString() { return aclAttr.AsStringValueOrDefault("private", block) } - if val, ok := applyForBucketRelatedResource(a, block, "aws_s3_bucket_acl", func(resource *terraform.Block) defsecTypes.StringValue { + if val, ok := applyForBucketRelatedResource(a, block, "aws_s3_bucket_acl", func(resource *terraform.Block) iacTypes.StringValue { return resource.GetAttribute("acl").AsStringValueOrDefault("private", resource) }); ok { return val } - return defsecTypes.StringDefault("private", block.GetMetadata()) + return iacTypes.StringDefault("private", block.GetMetadata()) } -func isEncrypted(sseConfgihuration *terraform.Block) defsecTypes.BoolValue { +func isEncrypted(sseConfgihuration *terraform.Block) iacTypes.BoolValue { return terraform.MapNestedAttribute( sseConfgihuration, "rule.apply_server_side_encryption_by_default.sse_algorithm", - func(attr *terraform.Attribute, parent *terraform.Block) defsecTypes.BoolValue { + func(attr *terraform.Attribute, parent *terraform.Block) iacTypes.BoolValue { if attr.IsNil() { - return defsecTypes.BoolDefault(false, parent.GetMetadata()) + return iacTypes.BoolDefault(false, parent.GetMetadata()) } - return defsecTypes.Bool( + return iacTypes.Bool( true, attr.GetMetadata(), ) @@ -205,17 +205,17 @@ func isEncrypted(sseConfgihuration *terraform.Block) defsecTypes.BoolValue { ) } -func hasLogging(b *terraform.Block) defsecTypes.BoolValue { +func hasLogging(b *terraform.Block) iacTypes.BoolValue { if loggingBlock := b.GetBlock("logging"); loggingBlock.IsNotNil() { if targetAttr := loggingBlock.GetAttribute("target_bucket"); targetAttr.IsNotNil() && targetAttr.IsNotEmpty() { - return defsecTypes.Bool(true, targetAttr.GetMetadata()) + return iacTypes.Bool(true, targetAttr.GetMetadata()) } - return defsecTypes.BoolDefault(false, loggingBlock.GetMetadata()) + return iacTypes.BoolDefault(false, loggingBlock.GetMetadata()) } if targetBucket := b.GetAttribute("target_bucket"); targetBucket.IsNotNil() { - return defsecTypes.Bool(true, targetBucket.GetMetadata()) + return iacTypes.Bool(true, targetBucket.GetMetadata()) } - return defsecTypes.BoolDefault(false, b.GetMetadata()) + return iacTypes.BoolDefault(false, b.GetMetadata()) } func getLifecycle(b *terraform.Block, a *adapter) []s3.Rules { @@ -252,8 +252,8 @@ func getObject(b *terraform.Block, a *adapter) []s3.Contents { return object } -func getAccelerateStatus(b *terraform.Block, a *adapter) defsecTypes.StringValue { - var status defsecTypes.StringValue +func getAccelerateStatus(b *terraform.Block, a *adapter) iacTypes.StringValue { + var status iacTypes.StringValue for _, r := range a.modules.GetReferencingResources(b, " aws_s3_bucket_accelerate_configuration", "bucket") { status = r.GetAttribute("status").AsStringValueOrDefault("Enabled", r) } diff --git a/pkg/iac/adapters/terraform/aws/s3/policies.go b/pkg/iac/adapters/terraform/aws/s3/policies.go index 0f4423189849..3c8804957d0c 100644 --- a/pkg/iac/adapters/terraform/aws/s3/policies.go +++ b/pkg/iac/adapters/terraform/aws/s3/policies.go @@ -1,9 +1,9 @@ package s3 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" iamAdapter "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func (a *adapter) adaptBucketPolicies() { @@ -21,9 +21,9 @@ func (a *adapter) adaptBucketPolicies() { policy := iam.Policy{ Metadata: policyAttr.GetMetadata(), - Name: defsecTypes.StringDefault("", b.GetMetadata()), + Name: iacTypes.StringDefault("", b.GetMetadata()), Document: *doc, - Builtin: defsecTypes.Bool(false, b.GetMetadata()), + Builtin: iacTypes.Bool(false, b.GetMetadata()), } var bucketName string diff --git a/pkg/iac/adapters/terraform/aws/s3/public_access_block.go b/pkg/iac/adapters/terraform/aws/s3/public_access_block.go index 0c9455485dda..eff4a71b4005 100644 --- a/pkg/iac/adapters/terraform/aws/s3/public_access_block.go +++ b/pkg/iac/adapters/terraform/aws/s3/public_access_block.go @@ -1,7 +1,7 @@ package s3 import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/s3" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/s3" ) func (a *adapter) adaptPublicAccessBlocks() { diff --git a/pkg/iac/adapters/terraform/aws/sns/adapt.go b/pkg/iac/adapters/terraform/aws/sns/adapt.go index c746dc9520f3..761bb281a804 100644 --- a/pkg/iac/adapters/terraform/aws/sns/adapt.go +++ b/pkg/iac/adapters/terraform/aws/sns/adapt.go @@ -1,9 +1,9 @@ package sns import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/sns" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sns" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) sns.SNS { diff --git a/pkg/iac/adapters/terraform/aws/sns/adapt_test.go b/pkg/iac/adapters/terraform/aws/sns/adapt_test.go index fbf18b33186b..caae71b2dc17 100644 --- a/pkg/iac/adapters/terraform/aws/sns/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/sns/adapt_test.go @@ -3,11 +3,11 @@ package sns import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/sns" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sns" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -27,11 +27,11 @@ func Test_adaptTopic(t *testing.T) { } `, expected: sns.Topic{ - Metadata: defsecTypes.NewTestMetadata(), - ARN: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ARN: iacTypes.String("", iacTypes.NewTestMetadata()), Encryption: sns.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyID: defsecTypes.String("/blah", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyID: iacTypes.String("/blah", iacTypes.NewTestMetadata()), }, }, }, @@ -42,11 +42,11 @@ func Test_adaptTopic(t *testing.T) { } `, expected: sns.Topic{ - Metadata: defsecTypes.NewTestMetadata(), - ARN: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ARN: iacTypes.String("", iacTypes.NewTestMetadata()), Encryption: sns.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/sqs/adapt.go b/pkg/iac/adapters/terraform/aws/sqs/adapt.go index bb5cd5047ce3..432bda06eda2 100644 --- a/pkg/iac/adapters/terraform/aws/sqs/adapt.go +++ b/pkg/iac/adapters/terraform/aws/sqs/adapt.go @@ -4,11 +4,11 @@ import ( "github.com/google/uuid" "github.com/liamg/iamgo" - iamp "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/providers/aws/sqs" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/aws/iam" + iamp "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sqs" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) sqs.SQS { @@ -34,11 +34,11 @@ func (a *adapter) adaptQueues() []sqs.Queue { policy := iamp.Policy{ Metadata: policyBlock.GetMetadata(), - Name: defsecTypes.StringDefault("", policyBlock.GetMetadata()), + Name: iacTypes.StringDefault("", policyBlock.GetMetadata()), Document: iamp.Document{ Metadata: policyBlock.GetMetadata(), }, - Builtin: defsecTypes.Bool(false, policyBlock.GetMetadata()), + Builtin: iacTypes.Bool(false, policyBlock.GetMetadata()), } if attr := policyBlock.GetAttribute("policy"); attr.IsString() { dataBlock, err := a.modules.GetBlockById(attr.Value().AsString()) @@ -76,12 +76,12 @@ func (a *adapter) adaptQueues() []sqs.Queue { } a.queues[uuid.NewString()] = sqs.Queue{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - QueueURL: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + QueueURL: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), Encryption: sqs.Encryption{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - ManagedEncryption: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - KMSKeyID: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + ManagedEncryption: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + KMSKeyID: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), }, Policies: []iamp.Policy{policy}, } @@ -107,11 +107,11 @@ func (a *adapter) adaptQueue(resource *terraform.Block) { if err != nil { policy := iamp.Policy{ Metadata: attr.GetMetadata(), - Name: defsecTypes.StringDefault("", attr.GetMetadata()), + Name: iacTypes.StringDefault("", attr.GetMetadata()), Document: iamp.Document{ Metadata: attr.GetMetadata(), }, - Builtin: defsecTypes.Bool(false, attr.GetMetadata()), + Builtin: iacTypes.Bool(false, attr.GetMetadata()), } parsed, err := iamgo.ParseString(attr.Value().AsString()) if err == nil { @@ -124,14 +124,14 @@ func (a *adapter) adaptQueue(resource *terraform.Block) { if doc, err := iam.ConvertTerraformDocument(a.modules, dataBlock); err == nil { policy := iamp.Policy{ Metadata: attr.GetMetadata(), - Name: defsecTypes.StringDefault("", attr.GetMetadata()), + Name: iacTypes.StringDefault("", attr.GetMetadata()), Document: iamp.Document{ Metadata: doc.Source.GetMetadata(), Parsed: doc.Document, IsOffset: true, HasRefs: false, }, - Builtin: defsecTypes.Bool(false, attr.GetMetadata()), + Builtin: iacTypes.Bool(false, attr.GetMetadata()), } policies = append(policies, policy) } @@ -142,12 +142,12 @@ func (a *adapter) adaptQueue(resource *terraform.Block) { if doc, err := iam.ConvertTerraformDocument(a.modules, refBlock); err == nil { policy := iamp.Policy{ Metadata: doc.Source.GetMetadata(), - Name: defsecTypes.StringDefault("", doc.Source.GetMetadata()), + Name: iacTypes.StringDefault("", doc.Source.GetMetadata()), Document: iamp.Document{ Metadata: doc.Source.GetMetadata(), Parsed: doc.Document, }, - Builtin: defsecTypes.Bool(false, refBlock.GetMetadata()), + Builtin: iacTypes.Bool(false, refBlock.GetMetadata()), } policies = append(policies, policy) } @@ -156,7 +156,7 @@ func (a *adapter) adaptQueue(resource *terraform.Block) { a.queues[resource.ID()] = sqs.Queue{ Metadata: resource.GetMetadata(), - QueueURL: defsecTypes.StringDefault("", resource.GetMetadata()), + QueueURL: iacTypes.StringDefault("", resource.GetMetadata()), Encryption: sqs.Encryption{ Metadata: resource.GetMetadata(), ManagedEncryption: managedEncryption.AsBoolValueOrDefault(false, resource), diff --git a/pkg/iac/adapters/terraform/aws/sqs/adapt_test.go b/pkg/iac/adapters/terraform/aws/sqs/adapt_test.go index 2d0fda56b51a..dc95257d258e 100644 --- a/pkg/iac/adapters/terraform/aws/sqs/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/sqs/adapt_test.go @@ -3,12 +3,12 @@ package sqs import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/iam" - "github.com/aquasecurity/defsec/pkg/providers/aws/sqs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sqs" "github.com/liamg/iamgo" "github.com/stretchr/testify/assert" @@ -40,12 +40,12 @@ func Test_Adapt(t *testing.T) { expected: sqs.SQS{ Queues: []sqs.Queue{ { - Metadata: defsecTypes.NewTestMetadata(), - QueueURL: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + QueueURL: iacTypes.String("", iacTypes.NewTestMetadata()), Encryption: sqs.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - ManagedEncryption: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ManagedEncryption: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("", iacTypes.NewTestMetadata()), }, Policies: func() []iam.Policy { sb := iamgo.NewStatementBuilder() @@ -59,13 +59,13 @@ func Test_Adapt(t *testing.T) { return []iam.Policy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.StringDefault("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.StringDefault("", iacTypes.NewTestMetadata()), Document: iam.Document{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Parsed: builder.Build(), }, - Builtin: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Builtin: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, } }(), @@ -82,12 +82,12 @@ func Test_Adapt(t *testing.T) { expected: sqs.SQS{ Queues: []sqs.Queue{ { - Metadata: defsecTypes.NewTestMetadata(), - QueueURL: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + QueueURL: iacTypes.String("", iacTypes.NewTestMetadata()), Encryption: sqs.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - ManagedEncryption: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - KMSKeyID: defsecTypes.String("/blah", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ManagedEncryption: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + KMSKeyID: iacTypes.String("/blah", iacTypes.NewTestMetadata()), }, Policies: nil, }, diff --git a/pkg/iac/adapters/terraform/aws/ssm/adapt.go b/pkg/iac/adapters/terraform/aws/ssm/adapt.go index b5756fef05c6..95833322f8bb 100644 --- a/pkg/iac/adapters/terraform/aws/ssm/adapt.go +++ b/pkg/iac/adapters/terraform/aws/ssm/adapt.go @@ -1,9 +1,9 @@ package ssm import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/ssm" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ssm" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) ssm.SSM { diff --git a/pkg/iac/adapters/terraform/aws/ssm/adapt_test.go b/pkg/iac/adapters/terraform/aws/ssm/adapt_test.go index 43a0e86e6d83..67afec8a3941 100644 --- a/pkg/iac/adapters/terraform/aws/ssm/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/ssm/adapt_test.go @@ -3,11 +3,11 @@ package ssm import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/ssm" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ssm" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -34,8 +34,8 @@ func Test_Adapt(t *testing.T) { expected: ssm.SSM{ Secrets: []ssm.Secret{ { - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyID: defsecTypes.String("aws_kms_key.secrets", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyID: iacTypes.String("aws_kms_key.secrets", iacTypes.NewTestMetadata()), }, }, }, @@ -51,8 +51,8 @@ func Test_Adapt(t *testing.T) { expected: ssm.SSM{ Secrets: []ssm.Secret{ { - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyID: defsecTypes.String("key_id", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyID: iacTypes.String("key_id", iacTypes.NewTestMetadata()), }, }, }, @@ -66,8 +66,8 @@ func Test_Adapt(t *testing.T) { expected: ssm.SSM{ Secrets: []ssm.Secret{ { - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyID: defsecTypes.String("alias/aws/secretsmanager", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyID: iacTypes.String("alias/aws/secretsmanager", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/aws/workspaces/adapt.go b/pkg/iac/adapters/terraform/aws/workspaces/adapt.go index 1707ccae1709..3b67475ba3d5 100644 --- a/pkg/iac/adapters/terraform/aws/workspaces/adapt.go +++ b/pkg/iac/adapters/terraform/aws/workspaces/adapt.go @@ -1,9 +1,9 @@ package workspaces import ( - "github.com/aquasecurity/defsec/pkg/providers/aws/workspaces" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/workspaces" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) workspaces.WorkSpaces { diff --git a/pkg/iac/adapters/terraform/aws/workspaces/adapt_test.go b/pkg/iac/adapters/terraform/aws/workspaces/adapt_test.go index e28b9aff5d56..457960128947 100644 --- a/pkg/iac/adapters/terraform/aws/workspaces/adapt_test.go +++ b/pkg/iac/adapters/terraform/aws/workspaces/adapt_test.go @@ -3,11 +3,11 @@ package workspaces import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/aws/workspaces" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/workspaces" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -28,19 +28,19 @@ func Test_adaptWorkspace(t *testing.T) { } `, expected: workspaces.WorkSpace{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), RootVolume: workspaces.Volume{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: workspaces.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, UserVolume: workspaces.Volume{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: workspaces.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -52,19 +52,19 @@ func Test_adaptWorkspace(t *testing.T) { } `, expected: workspaces.WorkSpace{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), RootVolume: workspaces.Volume{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: workspaces.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, UserVolume: workspaces.Volume{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: workspaces.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/azure/adapt.go b/pkg/iac/adapters/terraform/azure/adapt.go index 783092082f72..bf2fc06317f0 100644 --- a/pkg/iac/adapters/terraform/azure/adapt.go +++ b/pkg/iac/adapters/terraform/azure/adapt.go @@ -1,8 +1,6 @@ package azure import ( - "github.com/aquasecurity/defsec/pkg/providers/azure" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/azure/appservice" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/azure/authorization" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/azure/compute" @@ -16,6 +14,8 @@ import ( "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/azure/securitycenter" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/azure/storage" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/azure/synapse" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) azure.Azure { diff --git a/pkg/iac/adapters/terraform/azure/appservice/adapt.go b/pkg/iac/adapters/terraform/azure/appservice/adapt.go index ab1058dc9903..3ff7223cb29f 100644 --- a/pkg/iac/adapters/terraform/azure/appservice/adapt.go +++ b/pkg/iac/adapters/terraform/azure/appservice/adapt.go @@ -1,9 +1,9 @@ package appservice import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/appservice" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/appservice" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) appservice.AppService { @@ -40,22 +40,22 @@ func adaptService(resource *terraform.Block) appservice.Service { enableClientCertVal := enableClientCertAttr.AsBoolValueOrDefault(false, resource) identityBlock := resource.GetBlock("identity") - typeVal := defsecTypes.String("", resource.GetMetadata()) + typeVal := iacTypes.String("", resource.GetMetadata()) if identityBlock.IsNotNil() { typeAttr := identityBlock.GetAttribute("type") typeVal = typeAttr.AsStringValueOrDefault("", identityBlock) } authBlock := resource.GetBlock("auth_settings") - enabledVal := defsecTypes.Bool(false, resource.GetMetadata()) + enabledVal := iacTypes.Bool(false, resource.GetMetadata()) if authBlock.IsNotNil() { enabledAttr := authBlock.GetAttribute("enabled") enabledVal = enabledAttr.AsBoolValueOrDefault(false, authBlock) } siteBlock := resource.GetBlock("site_config") - enableHTTP2Val := defsecTypes.Bool(false, resource.GetMetadata()) - minTLSVersionVal := defsecTypes.String("1.2", resource.GetMetadata()) + enableHTTP2Val := iacTypes.Bool(false, resource.GetMetadata()) + minTLSVersionVal := iacTypes.String("1.2", resource.GetMetadata()) if siteBlock.IsNotNil() { enableHTTP2Attr := siteBlock.GetAttribute("http2_enabled") enableHTTP2Val = enableHTTP2Attr.AsBoolValueOrDefault(false, siteBlock) @@ -67,15 +67,15 @@ func adaptService(resource *terraform.Block) appservice.Service { return appservice.Service{ Metadata: resource.GetMetadata(), EnableClientCert: enableClientCertVal, - Identity: struct{ Type defsecTypes.StringValue }{ + Identity: struct{ Type iacTypes.StringValue }{ Type: typeVal, }, - Authentication: struct{ Enabled defsecTypes.BoolValue }{ + Authentication: struct{ Enabled iacTypes.BoolValue }{ Enabled: enabledVal, }, Site: struct { - EnableHTTP2 defsecTypes.BoolValue - MinimumTLSVersion defsecTypes.StringValue + EnableHTTP2 iacTypes.BoolValue + MinimumTLSVersion iacTypes.StringValue }{ EnableHTTP2: enableHTTP2Val, MinimumTLSVersion: minTLSVersionVal, diff --git a/pkg/iac/adapters/terraform/azure/appservice/adapt_test.go b/pkg/iac/adapters/terraform/azure/appservice/adapt_test.go index 6ae128d4872f..94b6b7f13b77 100644 --- a/pkg/iac/adapters/terraform/azure/appservice/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/appservice/adapt_test.go @@ -3,11 +3,11 @@ package appservice import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/appservice" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/appservice" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -41,20 +41,20 @@ func Test_adaptService(t *testing.T) { } `, expected: appservice.Service{ - Metadata: defsecTypes.NewTestMetadata(), - EnableClientCert: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Identity: struct{ Type defsecTypes.StringValue }{ - Type: defsecTypes.String("UserAssigned", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableClientCert: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Identity: struct{ Type iacTypes.StringValue }{ + Type: iacTypes.String("UserAssigned", iacTypes.NewTestMetadata()), }, - Authentication: struct{ Enabled defsecTypes.BoolValue }{ - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Authentication: struct{ Enabled iacTypes.BoolValue }{ + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Site: struct { - EnableHTTP2 defsecTypes.BoolValue - MinimumTLSVersion defsecTypes.StringValue + EnableHTTP2 iacTypes.BoolValue + MinimumTLSVersion iacTypes.StringValue }{ - EnableHTTP2: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - MinimumTLSVersion: defsecTypes.String("1.0", defsecTypes.NewTestMetadata()), + EnableHTTP2: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + MinimumTLSVersion: iacTypes.String("1.0", iacTypes.NewTestMetadata()), }, }, }, @@ -65,20 +65,20 @@ func Test_adaptService(t *testing.T) { } `, expected: appservice.Service{ - Metadata: defsecTypes.NewTestMetadata(), - EnableClientCert: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Identity: struct{ Type defsecTypes.StringValue }{ - Type: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableClientCert: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Identity: struct{ Type iacTypes.StringValue }{ + Type: iacTypes.String("", iacTypes.NewTestMetadata()), }, - Authentication: struct{ Enabled defsecTypes.BoolValue }{ - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Authentication: struct{ Enabled iacTypes.BoolValue }{ + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, Site: struct { - EnableHTTP2 defsecTypes.BoolValue - MinimumTLSVersion defsecTypes.StringValue + EnableHTTP2 iacTypes.BoolValue + MinimumTLSVersion iacTypes.StringValue }{ - EnableHTTP2: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - MinimumTLSVersion: defsecTypes.String("1.2", defsecTypes.NewTestMetadata()), + EnableHTTP2: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + MinimumTLSVersion: iacTypes.String("1.2", iacTypes.NewTestMetadata()), }, }, }, @@ -108,8 +108,8 @@ func Test_adaptFunctionApp(t *testing.T) { } `, expected: appservice.FunctionApp{ - Metadata: defsecTypes.NewTestMetadata(), - HTTPSOnly: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + HTTPSOnly: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -119,8 +119,8 @@ func Test_adaptFunctionApp(t *testing.T) { } `, expected: appservice.FunctionApp{ - Metadata: defsecTypes.NewTestMetadata(), - HTTPSOnly: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + HTTPSOnly: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/azure/authorization/adapt.go b/pkg/iac/adapters/terraform/azure/authorization/adapt.go index 10baba9b0d73..3b41dbc142c1 100644 --- a/pkg/iac/adapters/terraform/azure/authorization/adapt.go +++ b/pkg/iac/adapters/terraform/azure/authorization/adapt.go @@ -1,8 +1,8 @@ package authorization import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/authorization" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/authorization" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) authorization.Authorization { diff --git a/pkg/iac/adapters/terraform/azure/authorization/adapt_test.go b/pkg/iac/adapters/terraform/azure/authorization/adapt_test.go index af9421c8e1f7..f1e211ec4f5f 100644 --- a/pkg/iac/adapters/terraform/azure/authorization/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/authorization/adapt_test.go @@ -3,11 +3,11 @@ package authorization import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/authorization" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/authorization" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -36,17 +36,17 @@ func Test_adaptRoleDefinition(t *testing.T) { } `, expected: authorization.RoleDefinition{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Permissions: []authorization.Permission{ { - Metadata: defsecTypes.NewTestMetadata(), - Actions: []defsecTypes.StringValue{ - defsecTypes.String("*", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Actions: []iacTypes.StringValue{ + iacTypes.String("*", iacTypes.NewTestMetadata()), }, }, }, - AssignableScopes: []defsecTypes.StringValue{ - defsecTypes.StringUnresolvable(defsecTypes.NewTestMetadata()), + AssignableScopes: []iacTypes.StringValue{ + iacTypes.StringUnresolvable(iacTypes.NewTestMetadata()), }, }, }, @@ -67,14 +67,14 @@ func Test_adaptRoleDefinition(t *testing.T) { } `, expected: authorization.RoleDefinition{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Permissions: []authorization.Permission{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), }, }, - AssignableScopes: []defsecTypes.StringValue{ - defsecTypes.String("/", defsecTypes.NewTestMetadata()), + AssignableScopes: []iacTypes.StringValue{ + iacTypes.String("/", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/azure/compute/adapt.go b/pkg/iac/adapters/terraform/azure/compute/adapt.go index b5eb379147ac..1d6f1b8a5add 100644 --- a/pkg/iac/adapters/terraform/azure/compute/adapt.go +++ b/pkg/iac/adapters/terraform/azure/compute/adapt.go @@ -3,9 +3,9 @@ package compute import ( "encoding/base64" - "github.com/aquasecurity/defsec/pkg/providers/azure/compute" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/compute" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) const AzureVirtualMachine = "azurerm_virtual_machine" @@ -54,7 +54,7 @@ func adaptManagedDisk(resource *terraform.Block) compute.ManagedDisk { Encryption: compute.Encryption{ Metadata: resource.GetMetadata(), // encryption is enabled by default - https://github.com/hashicorp/terraform-provider-azurerm/blob/baf55926fe813011003ee4fb0e8e6134fcfcca87/internal/services/compute/managed_disk_resource.go#L288 - Enabled: defsecTypes.BoolDefault(true, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(true, resource.GetMetadata()), }, } @@ -77,13 +77,13 @@ func adaptLinuxVM(resource *terraform.Block) compute.LinuxVirtualMachine { } } customDataAttr := workingBlock.GetAttribute("custom_data") - customDataVal := defsecTypes.StringDefault("", workingBlock.GetMetadata()) + customDataVal := iacTypes.StringDefault("", workingBlock.GetMetadata()) if customDataAttr.IsResolvable() && customDataAttr.IsString() { encoded, err := base64.StdEncoding.DecodeString(customDataAttr.Value().AsString()) if err != nil { encoded = []byte(customDataAttr.Value().AsString()) } - customDataVal = defsecTypes.String(string(encoded), customDataAttr.GetMetadata()) + customDataVal = iacTypes.String(string(encoded), customDataAttr.GetMetadata()) } if resource.TypeLabel() == AzureVirtualMachine { @@ -115,14 +115,14 @@ func adaptWindowsVM(resource *terraform.Block) compute.WindowsVirtualMachine { } customDataAttr := workingBlock.GetAttribute("custom_data") - customDataVal := defsecTypes.StringDefault("", workingBlock.GetMetadata()) + customDataVal := iacTypes.StringDefault("", workingBlock.GetMetadata()) if customDataAttr.IsResolvable() && customDataAttr.IsString() { encoded, err := base64.StdEncoding.DecodeString(customDataAttr.Value().AsString()) if err != nil { encoded = []byte(customDataAttr.Value().AsString()) } - customDataVal = defsecTypes.String(string(encoded), customDataAttr.GetMetadata()) + customDataVal = iacTypes.String(string(encoded), customDataAttr.GetMetadata()) } return compute.WindowsVirtualMachine{ diff --git a/pkg/iac/adapters/terraform/azure/compute/adapt_test.go b/pkg/iac/adapters/terraform/azure/compute/adapt_test.go index 96fdf35119a2..141b81ffecd6 100644 --- a/pkg/iac/adapters/terraform/azure/compute/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/compute/adapt_test.go @@ -3,11 +3,11 @@ package compute import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/compute" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -28,10 +28,10 @@ resource "azurerm_managed_disk" "example" { } }`, expected: compute.ManagedDisk{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: compute.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -41,10 +41,10 @@ resource "azurerm_managed_disk" "example" { resource "azurerm_managed_disk" "example" { }`, expected: compute.ManagedDisk{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Encryption: compute.Encryption{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -85,14 +85,14 @@ resource "azurerm_virtual_machine" "example" { } `, expected: compute.LinuxVirtualMachine{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), VirtualMachine: compute.VirtualMachine{ - Metadata: defsecTypes.NewTestMetadata(), - CustomData: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + CustomData: iacTypes.String("", iacTypes.NewTestMetadata()), }, OSProfileLinuxConfig: compute.OSProfileLinuxConfig{ - Metadata: defsecTypes.NewTestMetadata(), - DisablePasswordAuthentication: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DisablePasswordAuthentication: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -111,16 +111,16 @@ export DATABASE_PASSWORD=\"SomeSortOfPassword\" } }`, expected: compute.LinuxVirtualMachine{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), VirtualMachine: compute.VirtualMachine{ - Metadata: defsecTypes.NewTestMetadata(), - CustomData: defsecTypes.String( + Metadata: iacTypes.NewTestMetadata(), + CustomData: iacTypes.String( `export DATABASE_PASSWORD=\"SomeSortOfPassword\" -`, defsecTypes.NewTestMetadata()), +`, iacTypes.NewTestMetadata()), }, OSProfileLinuxConfig: compute.OSProfileLinuxConfig{ - Metadata: defsecTypes.NewTestMetadata(), - DisablePasswordAuthentication: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DisablePasswordAuthentication: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -155,11 +155,11 @@ export DATABASE_PASSWORD=\"SomeSortOfPassword\" } }`, expected: compute.WindowsVirtualMachine{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), VirtualMachine: compute.VirtualMachine{ - Metadata: defsecTypes.NewTestMetadata(), - CustomData: defsecTypes.String(`export DATABASE_PASSWORD=\"SomeSortOfPassword\" -`, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + CustomData: iacTypes.String(`export DATABASE_PASSWORD=\"SomeSortOfPassword\" +`, iacTypes.NewTestMetadata()), }, }, }, @@ -173,11 +173,11 @@ export GREETING="Hello there" EOF }`, expected: compute.WindowsVirtualMachine{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), VirtualMachine: compute.VirtualMachine{ - Metadata: defsecTypes.NewTestMetadata(), - CustomData: defsecTypes.String(`export GREETING="Hello there" -`, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + CustomData: iacTypes.String(`export GREETING="Hello there" +`, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/azure/container/adapt.go b/pkg/iac/adapters/terraform/azure/container/adapt.go index 357630df2e9e..2a14c7a1759a 100644 --- a/pkg/iac/adapters/terraform/azure/container/adapt.go +++ b/pkg/iac/adapters/terraform/azure/container/adapt.go @@ -1,9 +1,9 @@ package container import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/container" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/container" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) container.Container { @@ -29,19 +29,19 @@ func adaptCluster(resource *terraform.Block) container.KubernetesCluster { Metadata: resource.GetMetadata(), NetworkProfile: container.NetworkProfile{ Metadata: resource.GetMetadata(), - NetworkPolicy: defsecTypes.StringDefault("", resource.GetMetadata()), + NetworkPolicy: iacTypes.StringDefault("", resource.GetMetadata()), }, - EnablePrivateCluster: defsecTypes.BoolDefault(false, resource.GetMetadata()), + EnablePrivateCluster: iacTypes.BoolDefault(false, resource.GetMetadata()), APIServerAuthorizedIPRanges: nil, RoleBasedAccessControl: container.RoleBasedAccessControl{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, AddonProfile: container.AddonProfile{ Metadata: resource.GetMetadata(), OMSAgent: container.OMSAgent{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, }, } @@ -75,7 +75,7 @@ func adaptCluster(resource *terraform.Block) container.KubernetesCluster { // >= azurerm 2.97.0 if omsAgentBlock := resource.GetBlock("oms_agent"); omsAgentBlock.IsNotNil() { cluster.AddonProfile.OMSAgent.Metadata = omsAgentBlock.GetMetadata() - cluster.AddonProfile.OMSAgent.Enabled = defsecTypes.Bool(true, omsAgentBlock.GetMetadata()) + cluster.AddonProfile.OMSAgent.Enabled = iacTypes.Bool(true, omsAgentBlock.GetMetadata()) } // azurerm < 2.99.0 diff --git a/pkg/iac/adapters/terraform/azure/container/adapt_test.go b/pkg/iac/adapters/terraform/azure/container/adapt_test.go index 44ee591d6f74..13d8c712a621 100644 --- a/pkg/iac/adapters/terraform/azure/container/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/container/adapt_test.go @@ -3,11 +3,11 @@ package container import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/container" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/container" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -49,25 +49,25 @@ func Test_adaptCluster(t *testing.T) { } `, expected: container.KubernetesCluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), NetworkProfile: container.NetworkProfile{ - Metadata: defsecTypes.NewTestMetadata(), - NetworkPolicy: defsecTypes.String("calico", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkPolicy: iacTypes.String("calico", iacTypes.NewTestMetadata()), }, - EnablePrivateCluster: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - APIServerAuthorizedIPRanges: []defsecTypes.StringValue{ - defsecTypes.String("1.2.3.4/32", defsecTypes.NewTestMetadata()), + EnablePrivateCluster: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + APIServerAuthorizedIPRanges: []iacTypes.StringValue{ + iacTypes.String("1.2.3.4/32", iacTypes.NewTestMetadata()), }, AddonProfile: container.AddonProfile{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), OMSAgent: container.OMSAgent{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, RoleBasedAccessControl: container.RoleBasedAccessControl{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -79,22 +79,22 @@ func Test_adaptCluster(t *testing.T) { } `, expected: container.KubernetesCluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), NetworkProfile: container.NetworkProfile{ - Metadata: defsecTypes.NewTestMetadata(), - NetworkPolicy: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkPolicy: iacTypes.String("", iacTypes.NewTestMetadata()), }, - EnablePrivateCluster: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + EnablePrivateCluster: iacTypes.Bool(false, iacTypes.NewTestMetadata()), AddonProfile: container.AddonProfile{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), OMSAgent: container.OMSAgent{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, RoleBasedAccessControl: container.RoleBasedAccessControl{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -105,22 +105,22 @@ func Test_adaptCluster(t *testing.T) { } `, expected: container.KubernetesCluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), NetworkProfile: container.NetworkProfile{ - Metadata: defsecTypes.NewTestMetadata(), - NetworkPolicy: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkPolicy: iacTypes.String("", iacTypes.NewTestMetadata()), }, - EnablePrivateCluster: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + EnablePrivateCluster: iacTypes.Bool(false, iacTypes.NewTestMetadata()), AddonProfile: container.AddonProfile{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), OMSAgent: container.OMSAgent{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, RoleBasedAccessControl: container.RoleBasedAccessControl{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -136,22 +136,22 @@ resource "azurerm_kubernetes_cluster" "misreporting_example" { } `, expected: container.KubernetesCluster{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), NetworkProfile: container.NetworkProfile{ - Metadata: defsecTypes.NewTestMetadata(), - NetworkPolicy: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkPolicy: iacTypes.String("", iacTypes.NewTestMetadata()), }, - EnablePrivateCluster: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + EnablePrivateCluster: iacTypes.Bool(false, iacTypes.NewTestMetadata()), AddonProfile: container.AddonProfile{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), OMSAgent: container.OMSAgent{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, RoleBasedAccessControl: container.RoleBasedAccessControl{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/azure/database/adapt.go b/pkg/iac/adapters/terraform/azure/database/adapt.go index 4ec4027ab718..ea39949dff72 100644 --- a/pkg/iac/adapters/terraform/azure/database/adapt.go +++ b/pkg/iac/adapters/terraform/azure/database/adapt.go @@ -1,9 +1,9 @@ package database import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/database" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/database" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) database.Database { @@ -67,12 +67,12 @@ func (a *mssqlAdapter) adaptMSSQLServers(modules terraform.Modules) []database.M if len(orphanResources) > 0 { orphanage := database.MSSQLServer{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Server: database.Server{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnableSSLEnforcement: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - MinimumTLSVersion: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - EnablePublicNetworkAccess: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnableSSLEnforcement: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + EnablePublicNetworkAccess: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), FirewallRules: nil, }, ExtendedAuditingPolicies: nil, @@ -89,12 +89,12 @@ func (a *mssqlAdapter) adaptMSSQLServers(modules terraform.Modules) []database.M if len(orphanResources) > 0 { orphanage := database.MSSQLServer{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Server: database.Server{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnableSSLEnforcement: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - MinimumTLSVersion: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - EnablePublicNetworkAccess: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnableSSLEnforcement: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + EnablePublicNetworkAccess: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), FirewallRules: nil, }, } @@ -109,7 +109,7 @@ func (a *mssqlAdapter) adaptMSSQLServers(modules terraform.Modules) []database.M if len(orphanResources) > 0 { orphanage := database.MSSQLServer{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), } for _, policy := range orphanResources { orphanage.FirewallRules = append(orphanage.FirewallRules, adaptFirewallRule(policy)) @@ -132,12 +132,12 @@ func (a *mysqlAdapter) adaptMySQLServers(modules terraform.Modules) []database.M if len(orphanResources) > 0 { orphanage := database.MySQLServer{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Server: database.Server{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnableSSLEnforcement: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - MinimumTLSVersion: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - EnablePublicNetworkAccess: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnableSSLEnforcement: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + EnablePublicNetworkAccess: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), FirewallRules: nil, }, } @@ -163,12 +163,12 @@ func (a *mariaDBAdapter) adaptMariaDBServers(modules terraform.Modules) []databa if len(orphanResources) > 0 { orphanage := database.MariaDBServer{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Server: database.Server{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnableSSLEnforcement: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - MinimumTLSVersion: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - EnablePublicNetworkAccess: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnableSSLEnforcement: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + EnablePublicNetworkAccess: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), FirewallRules: nil, }, } @@ -194,19 +194,19 @@ func (a *postgresqlAdapter) adaptPostgreSQLServers(modules terraform.Modules) [] if len(orphanResources) > 0 { orphanage := database.PostgreSQLServer{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Server: database.Server{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnableSSLEnforcement: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - MinimumTLSVersion: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - EnablePublicNetworkAccess: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnableSSLEnforcement: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + EnablePublicNetworkAccess: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), FirewallRules: nil, }, Config: database.PostgresSQLConfig{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - LogCheckpoints: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - ConnectionThrottling: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - LogConnections: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + LogCheckpoints: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + ConnectionThrottling: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + LogConnections: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), }, } for _, policy := range orphanResources { @@ -220,9 +220,9 @@ func (a *postgresqlAdapter) adaptPostgreSQLServers(modules terraform.Modules) [] } func (a *mssqlAdapter) adaptMSSQLServer(resource *terraform.Block, module *terraform.Module) database.MSSQLServer { - minTLSVersionVal := defsecTypes.StringDefault("", resource.GetMetadata()) - publicAccessVal := defsecTypes.BoolDefault(true, resource.GetMetadata()) - enableSSLEnforcementVal := defsecTypes.BoolDefault(false, resource.GetMetadata()) + minTLSVersionVal := iacTypes.StringDefault("", resource.GetMetadata()) + publicAccessVal := iacTypes.BoolDefault(true, resource.GetMetadata()) + enableSSLEnforcementVal := iacTypes.BoolDefault(false, resource.GetMetadata()) var auditingPolicies []database.ExtendedAuditingPolicy var alertPolicies []database.SecurityAlertPolicy @@ -330,7 +330,7 @@ func (a *mariaDBAdapter) adaptMariaDBServer(resource *terraform.Block, module *t Server: database.Server{ Metadata: resource.GetMetadata(), EnableSSLEnforcement: enableSSLEnforcementVal, - MinimumTLSVersion: defsecTypes.StringDefault("", resource.GetMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("", resource.GetMetadata()), EnablePublicNetworkAccess: publicAccessVal, FirewallRules: firewallRules, }, @@ -374,9 +374,9 @@ func (a *postgresqlAdapter) adaptPostgreSQLServer(resource *terraform.Block, mod func adaptPostgreSQLConfig(resource *terraform.Block, configBlocks []*terraform.Block) database.PostgresSQLConfig { config := database.PostgresSQLConfig{ Metadata: resource.GetMetadata(), - LogCheckpoints: defsecTypes.BoolDefault(false, resource.GetMetadata()), - ConnectionThrottling: defsecTypes.BoolDefault(false, resource.GetMetadata()), - LogConnections: defsecTypes.BoolDefault(false, resource.GetMetadata()), + LogCheckpoints: iacTypes.BoolDefault(false, resource.GetMetadata()), + ConnectionThrottling: iacTypes.BoolDefault(false, resource.GetMetadata()), + LogConnections: iacTypes.BoolDefault(false, resource.GetMetadata()), } for _, configBlock := range configBlocks { @@ -385,13 +385,13 @@ func adaptPostgreSQLConfig(resource *terraform.Block, configBlocks []*terraform. valAttr := configBlock.GetAttribute("value") if nameAttr.Equals("log_checkpoints") { - config.LogCheckpoints = defsecTypes.Bool(valAttr.Equals("on"), valAttr.GetMetadata()) + config.LogCheckpoints = iacTypes.Bool(valAttr.Equals("on"), valAttr.GetMetadata()) } if nameAttr.Equals("connection_throttling") { - config.ConnectionThrottling = defsecTypes.Bool(valAttr.Equals("on"), valAttr.GetMetadata()) + config.ConnectionThrottling = iacTypes.Bool(valAttr.Equals("on"), valAttr.GetMetadata()) } if nameAttr.Equals("log_connections") { - config.LogConnections = defsecTypes.Bool(valAttr.Equals("on"), valAttr.GetMetadata()) + config.LogConnections = iacTypes.Bool(valAttr.Equals("on"), valAttr.GetMetadata()) } } diff --git a/pkg/iac/adapters/terraform/azure/database/adapt_test.go b/pkg/iac/adapters/terraform/azure/database/adapt_test.go index 7cf811912edc..9616659b30e3 100644 --- a/pkg/iac/adapters/terraform/azure/database/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/database/adapt_test.go @@ -3,11 +3,11 @@ package database import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/database" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/database" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -61,25 +61,25 @@ func Test_Adapt(t *testing.T) { expected: database.Database{ PostgreSQLServers: []database.PostgreSQLServer{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Server: database.Server{ - Metadata: defsecTypes.NewTestMetadata(), - EnableSSLEnforcement: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - MinimumTLSVersion: defsecTypes.String("TLS1_2", defsecTypes.NewTestMetadata()), - EnablePublicNetworkAccess: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableSSLEnforcement: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + MinimumTLSVersion: iacTypes.String("TLS1_2", iacTypes.NewTestMetadata()), + EnablePublicNetworkAccess: iacTypes.Bool(true, iacTypes.NewTestMetadata()), FirewallRules: []database.FirewallRule{ { - Metadata: defsecTypes.NewTestMetadata(), - StartIP: defsecTypes.String("40.112.8.12", defsecTypes.NewTestMetadata()), - EndIP: defsecTypes.String("40.112.8.12", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + StartIP: iacTypes.String("40.112.8.12", iacTypes.NewTestMetadata()), + EndIP: iacTypes.String("40.112.8.12", iacTypes.NewTestMetadata()), }, }, }, Config: database.PostgresSQLConfig{ - Metadata: defsecTypes.NewTestMetadata(), - LogConnections: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - LogCheckpoints: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - ConnectionThrottling: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + LogConnections: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + LogCheckpoints: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + ConnectionThrottling: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -107,17 +107,17 @@ func Test_Adapt(t *testing.T) { expected: database.Database{ MariaDBServers: []database.MariaDBServer{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Server: database.Server{ - Metadata: defsecTypes.NewTestMetadata(), - EnableSSLEnforcement: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - MinimumTLSVersion: defsecTypes.String("", defsecTypes.NewTestMetadata()), - EnablePublicNetworkAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableSSLEnforcement: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + MinimumTLSVersion: iacTypes.String("", iacTypes.NewTestMetadata()), + EnablePublicNetworkAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), FirewallRules: []database.FirewallRule{ { - Metadata: defsecTypes.NewTestMetadata(), - StartIP: defsecTypes.String("40.112.0.0", defsecTypes.NewTestMetadata()), - EndIP: defsecTypes.String("40.112.255.255", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + StartIP: iacTypes.String("40.112.0.0", iacTypes.NewTestMetadata()), + EndIP: iacTypes.String("40.112.255.255", iacTypes.NewTestMetadata()), }, }, }, @@ -143,17 +143,17 @@ func Test_Adapt(t *testing.T) { expected: database.Database{ MySQLServers: []database.MySQLServer{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Server: database.Server{ - Metadata: defsecTypes.NewTestMetadata(), - EnableSSLEnforcement: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - MinimumTLSVersion: defsecTypes.String("TLS1_2", defsecTypes.NewTestMetadata()), - EnablePublicNetworkAccess: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableSSLEnforcement: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + MinimumTLSVersion: iacTypes.String("TLS1_2", iacTypes.NewTestMetadata()), + EnablePublicNetworkAccess: iacTypes.Bool(true, iacTypes.NewTestMetadata()), FirewallRules: []database.FirewallRule{ { - Metadata: defsecTypes.NewTestMetadata(), - StartIP: defsecTypes.String("40.112.8.12", defsecTypes.NewTestMetadata()), - EndIP: defsecTypes.String("40.112.8.12", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + StartIP: iacTypes.String("40.112.8.12", iacTypes.NewTestMetadata()), + EndIP: iacTypes.String("40.112.8.12", iacTypes.NewTestMetadata()), }, }, }, @@ -198,37 +198,37 @@ func Test_Adapt(t *testing.T) { expected: database.Database{ MSSQLServers: []database.MSSQLServer{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Server: database.Server{ - Metadata: defsecTypes.NewTestMetadata(), - MinimumTLSVersion: defsecTypes.String("1.2", defsecTypes.NewTestMetadata()), - EnablePublicNetworkAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - EnableSSLEnforcement: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + MinimumTLSVersion: iacTypes.String("1.2", iacTypes.NewTestMetadata()), + EnablePublicNetworkAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + EnableSSLEnforcement: iacTypes.Bool(false, iacTypes.NewTestMetadata()), FirewallRules: []database.FirewallRule{ { - Metadata: defsecTypes.NewTestMetadata(), - StartIP: defsecTypes.String("10.0.17.62", defsecTypes.NewTestMetadata()), - EndIP: defsecTypes.String("10.0.17.62", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + StartIP: iacTypes.String("10.0.17.62", iacTypes.NewTestMetadata()), + EndIP: iacTypes.String("10.0.17.62", iacTypes.NewTestMetadata()), }, }, }, ExtendedAuditingPolicies: []database.ExtendedAuditingPolicy{ { - Metadata: defsecTypes.NewTestMetadata(), - RetentionInDays: defsecTypes.Int(6, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + RetentionInDays: iacTypes.Int(6, iacTypes.NewTestMetadata()), }, }, SecurityAlertPolicies: []database.SecurityAlertPolicy{ { - Metadata: defsecTypes.NewTestMetadata(), - EmailAddresses: []defsecTypes.StringValue{ - defsecTypes.String("example@example.com", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EmailAddresses: []iacTypes.StringValue{ + iacTypes.String("example@example.com", iacTypes.NewTestMetadata()), }, - DisabledAlerts: []defsecTypes.StringValue{ - defsecTypes.String("Sql_Injection", defsecTypes.NewTestMetadata()), - defsecTypes.String("Data_Exfiltration", defsecTypes.NewTestMetadata()), + DisabledAlerts: []iacTypes.StringValue{ + iacTypes.String("Sql_Injection", iacTypes.NewTestMetadata()), + iacTypes.String("Data_Exfiltration", iacTypes.NewTestMetadata()), }, - EmailAccountAdmins: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + EmailAccountAdmins: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/azure/datafactory/adapt.go b/pkg/iac/adapters/terraform/azure/datafactory/adapt.go index 7fd12d1e4218..2dfc108ee3e9 100644 --- a/pkg/iac/adapters/terraform/azure/datafactory/adapt.go +++ b/pkg/iac/adapters/terraform/azure/datafactory/adapt.go @@ -1,8 +1,8 @@ package datafactory import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/datafactory" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/datafactory" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) datafactory.DataFactory { diff --git a/pkg/iac/adapters/terraform/azure/datafactory/adapt_test.go b/pkg/iac/adapters/terraform/azure/datafactory/adapt_test.go index 4bba76e18659..cefe5709d42e 100644 --- a/pkg/iac/adapters/terraform/azure/datafactory/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/datafactory/adapt_test.go @@ -3,11 +3,11 @@ package datafactory import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/datafactory" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/datafactory" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -30,8 +30,8 @@ func Test_adaptFactory(t *testing.T) { } `, expected: datafactory.Factory{ - Metadata: defsecTypes.NewTestMetadata(), - EnablePublicNetwork: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnablePublicNetwork: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, { @@ -42,8 +42,8 @@ func Test_adaptFactory(t *testing.T) { } `, expected: datafactory.Factory{ - Metadata: defsecTypes.NewTestMetadata(), - EnablePublicNetwork: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnablePublicNetwork: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/azure/datalake/adapt.go b/pkg/iac/adapters/terraform/azure/datalake/adapt.go index b55bf7a2e581..3f81d8925fd8 100644 --- a/pkg/iac/adapters/terraform/azure/datalake/adapt.go +++ b/pkg/iac/adapters/terraform/azure/datalake/adapt.go @@ -1,9 +1,9 @@ package datalake import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/datalake" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/datalake" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) datalake.DataLake { diff --git a/pkg/iac/adapters/terraform/azure/datalake/adapt_test.go b/pkg/iac/adapters/terraform/azure/datalake/adapt_test.go index e028f885da48..c1ca5410384f 100644 --- a/pkg/iac/adapters/terraform/azure/datalake/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/datalake/adapt_test.go @@ -3,11 +3,11 @@ package datalake import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/datalake" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/datalake" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -27,8 +27,8 @@ func Test_adaptStore(t *testing.T) { } `, expected: datalake.Store{ - Metadata: defsecTypes.NewTestMetadata(), - EnableEncryption: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableEncryption: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -39,8 +39,8 @@ func Test_adaptStore(t *testing.T) { } `, expected: datalake.Store{ - Metadata: defsecTypes.NewTestMetadata(), - EnableEncryption: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableEncryption: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, { @@ -50,8 +50,8 @@ func Test_adaptStore(t *testing.T) { } `, expected: datalake.Store{ - Metadata: defsecTypes.NewTestMetadata(), - EnableEncryption: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableEncryption: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/azure/keyvault/adapt.go b/pkg/iac/adapters/terraform/azure/keyvault/adapt.go index 2e7a0f18a63a..87461bfbeedc 100644 --- a/pkg/iac/adapters/terraform/azure/keyvault/adapt.go +++ b/pkg/iac/adapters/terraform/azure/keyvault/adapt.go @@ -3,9 +3,9 @@ package keyvault import ( "time" - "github.com/aquasecurity/defsec/pkg/providers/azure/keyvault" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/keyvault" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) keyvault.KeyVault { @@ -38,14 +38,14 @@ func (a *adapter) adaptVaults(modules terraform.Modules) []keyvault.Vault { if len(orphanResources) > 0 { orphanage := keyvault.Vault{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Secrets: nil, Keys: nil, - EnablePurgeProtection: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - SoftDeleteRetentionDays: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), + EnablePurgeProtection: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + SoftDeleteRetentionDays: iacTypes.IntDefault(0, iacTypes.NewUnmanagedMetadata()), NetworkACLs: keyvault.NetworkACLs{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - DefaultAction: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + DefaultAction: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), }, } for _, secretResource := range orphanResources { @@ -58,14 +58,14 @@ func (a *adapter) adaptVaults(modules terraform.Modules) []keyvault.Vault { if len(orphanResources) > 0 { orphanage := keyvault.Vault{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Secrets: nil, Keys: nil, - EnablePurgeProtection: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - SoftDeleteRetentionDays: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), + EnablePurgeProtection: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + SoftDeleteRetentionDays: iacTypes.IntDefault(0, iacTypes.NewUnmanagedMetadata()), NetworkACLs: keyvault.NetworkACLs{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - DefaultAction: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + DefaultAction: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), }, } for _, secretResource := range orphanResources { @@ -81,7 +81,7 @@ func (a *adapter) adaptVault(resource *terraform.Block, module *terraform.Module var keys []keyvault.Key var secrets []keyvault.Secret - defaultActionVal := defsecTypes.StringDefault("", resource.GetMetadata()) + defaultActionVal := iacTypes.StringDefault("", resource.GetMetadata()) secretBlocks := module.GetReferencingResources(resource, "azurerm_key_vault_secret", "key_vault_id") for _, secretBlock := range secretBlocks { @@ -101,7 +101,7 @@ func (a *adapter) adaptVault(resource *terraform.Block, module *terraform.Module softDeleteRetentionDaysAttr := resource.GetAttribute("soft_delete_retention_days") softDeleteRetentionDaysVal := softDeleteRetentionDaysAttr.AsIntValueOrDefault(0, resource) - aclMetadata := defsecTypes.NewUnmanagedMetadata() + aclMetadata := iacTypes.NewUnmanagedMetadata() if aclBlock := resource.GetBlock("network_acls"); aclBlock.IsNotNil() { aclMetadata = aclBlock.GetMetadata() defaultActionAttr := aclBlock.GetAttribute("default_action") @@ -140,17 +140,17 @@ func adaptKey(resource *terraform.Block) keyvault.Key { } } -func resolveExpiryDate(resource *terraform.Block) defsecTypes.TimeValue { +func resolveExpiryDate(resource *terraform.Block) iacTypes.TimeValue { expiryDateAttr := resource.GetAttribute("expiration_date") - expiryDateVal := defsecTypes.TimeDefault(time.Time{}, resource.GetMetadata()) + expiryDateVal := iacTypes.TimeDefault(time.Time{}, resource.GetMetadata()) if expiryDateAttr.IsString() { expiryDateString := expiryDateAttr.Value().AsString() if expiryDate, err := time.Parse(time.RFC3339, expiryDateString); err == nil { - expiryDateVal = defsecTypes.Time(expiryDate, expiryDateAttr.GetMetadata()) + expiryDateVal = iacTypes.Time(expiryDate, expiryDateAttr.GetMetadata()) } } else if expiryDateAttr.IsNotNil() { - expiryDateVal = defsecTypes.TimeUnresolvable(expiryDateAttr.GetMetadata()) + expiryDateVal = iacTypes.TimeUnresolvable(expiryDateAttr.GetMetadata()) } return expiryDateVal diff --git a/pkg/iac/adapters/terraform/azure/keyvault/adapt_test.go b/pkg/iac/adapters/terraform/azure/keyvault/adapt_test.go index 8c8f6917627b..b21d25b12c70 100644 --- a/pkg/iac/adapters/terraform/azure/keyvault/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/keyvault/adapt_test.go @@ -4,11 +4,11 @@ import ( "testing" "time" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/keyvault" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/keyvault" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -38,12 +38,12 @@ func Test_Adapt(t *testing.T) { expected: keyvault.KeyVault{ Vaults: []keyvault.Vault{ { - Metadata: defsecTypes.NewTestMetadata(), - EnablePurgeProtection: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - SoftDeleteRetentionDays: defsecTypes.Int(7, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnablePurgeProtection: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + SoftDeleteRetentionDays: iacTypes.Int(7, iacTypes.NewTestMetadata()), NetworkACLs: keyvault.NetworkACLs{ - Metadata: defsecTypes.NewTestMetadata(), - DefaultAction: defsecTypes.String("Deny", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DefaultAction: iacTypes.String("Deny", iacTypes.NewTestMetadata()), }, }, }, @@ -58,12 +58,12 @@ func Test_Adapt(t *testing.T) { expected: keyvault.KeyVault{ Vaults: []keyvault.Vault{ { - Metadata: defsecTypes.NewTestMetadata(), - EnablePurgeProtection: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - SoftDeleteRetentionDays: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnablePurgeProtection: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + SoftDeleteRetentionDays: iacTypes.Int(0, iacTypes.NewTestMetadata()), NetworkACLs: keyvault.NetworkACLs{ - Metadata: defsecTypes.NewTestMetadata(), - DefaultAction: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DefaultAction: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, @@ -93,9 +93,9 @@ func Test_adaptSecret(t *testing.T) { } `, expected: keyvault.Secret{ - Metadata: defsecTypes.NewTestMetadata(), - ContentType: defsecTypes.String("", defsecTypes.NewTestMetadata()), - ExpiryDate: defsecTypes.Time(time.Time{}, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ContentType: iacTypes.String("", iacTypes.NewTestMetadata()), + ExpiryDate: iacTypes.Time(time.Time{}, iacTypes.NewTestMetadata()), }, }, { @@ -107,12 +107,12 @@ func Test_adaptSecret(t *testing.T) { } `, expected: keyvault.Secret{ - Metadata: defsecTypes.NewTestMetadata(), - ContentType: defsecTypes.String("password", defsecTypes.NewTestMetadata()), - ExpiryDate: defsecTypes.Time(func(timeVal string) time.Time { + Metadata: iacTypes.NewTestMetadata(), + ContentType: iacTypes.String("password", iacTypes.NewTestMetadata()), + ExpiryDate: iacTypes.Time(func(timeVal string) time.Time { parsed, _ := time.Parse(time.RFC3339, timeVal) return parsed - }("1982-12-31T00:00:00Z"), defsecTypes.NewTestMetadata())}, + }("1982-12-31T00:00:00Z"), iacTypes.NewTestMetadata())}, }, } @@ -140,11 +140,11 @@ func Test_adaptKey(t *testing.T) { } `, expected: keyvault.Key{ - Metadata: defsecTypes.NewTestMetadata(), - ExpiryDate: defsecTypes.Time(func(timeVal string) time.Time { + Metadata: iacTypes.NewTestMetadata(), + ExpiryDate: iacTypes.Time(func(timeVal string) time.Time { parsed, _ := time.Parse(time.RFC3339, timeVal) return parsed - }("1982-12-31T00:00:00Z"), defsecTypes.NewTestMetadata()), + }("1982-12-31T00:00:00Z"), iacTypes.NewTestMetadata()), }, }, { @@ -154,8 +154,8 @@ func Test_adaptKey(t *testing.T) { } `, expected: keyvault.Key{ - Metadata: defsecTypes.NewTestMetadata(), - ExpiryDate: defsecTypes.Time(time.Time{}, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ExpiryDate: iacTypes.Time(time.Time{}, iacTypes.NewTestMetadata()), }, }, { @@ -198,8 +198,8 @@ resource "azurerm_key_vault_key" "this" { } `, expected: keyvault.Key{ - Metadata: defsecTypes.NewTestMetadata(), - ExpiryDate: defsecTypes.TimeUnresolvable(defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ExpiryDate: iacTypes.TimeUnresolvable(iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/azure/monitor/adapt.go b/pkg/iac/adapters/terraform/azure/monitor/adapt.go index f70648d92038..a622bcdeaf41 100644 --- a/pkg/iac/adapters/terraform/azure/monitor/adapt.go +++ b/pkg/iac/adapters/terraform/azure/monitor/adapt.go @@ -1,9 +1,9 @@ package monitor import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/monitor" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/monitor" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) monitor.Monitor { @@ -29,8 +29,8 @@ func adaptLogProfile(resource *terraform.Block) monitor.LogProfile { Metadata: resource.GetMetadata(), RetentionPolicy: monitor.RetentionPolicy{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), - Days: defsecTypes.IntDefault(0, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), + Days: iacTypes.IntDefault(0, resource.GetMetadata()), }, Categories: nil, Locations: nil, diff --git a/pkg/iac/adapters/terraform/azure/monitor/adapt_test.go b/pkg/iac/adapters/terraform/azure/monitor/adapt_test.go index 8d5b219e1ed8..a0cf262fca7c 100644 --- a/pkg/iac/adapters/terraform/azure/monitor/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/monitor/adapt_test.go @@ -3,11 +3,11 @@ package monitor import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/monitor" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/monitor" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -42,21 +42,21 @@ func Test_adaptLogProfile(t *testing.T) { } `, expected: monitor.LogProfile{ - Metadata: defsecTypes.NewTestMetadata(), - Categories: []defsecTypes.StringValue{ - defsecTypes.String("Action", defsecTypes.NewTestMetadata()), - defsecTypes.String("Delete", defsecTypes.NewTestMetadata()), - defsecTypes.String("Write", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Categories: []iacTypes.StringValue{ + iacTypes.String("Action", iacTypes.NewTestMetadata()), + iacTypes.String("Delete", iacTypes.NewTestMetadata()), + iacTypes.String("Write", iacTypes.NewTestMetadata()), }, RetentionPolicy: monitor.RetentionPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Days: defsecTypes.Int(365, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Days: iacTypes.Int(365, iacTypes.NewTestMetadata()), }, - Locations: []defsecTypes.StringValue{ - defsecTypes.String("eastus", defsecTypes.NewTestMetadata()), - defsecTypes.String("eastus2", defsecTypes.NewTestMetadata()), - defsecTypes.String("southcentralus", defsecTypes.NewTestMetadata()), + Locations: []iacTypes.StringValue{ + iacTypes.String("eastus", iacTypes.NewTestMetadata()), + iacTypes.String("eastus2", iacTypes.NewTestMetadata()), + iacTypes.String("southcentralus", iacTypes.NewTestMetadata()), }, }, }, @@ -67,11 +67,11 @@ func Test_adaptLogProfile(t *testing.T) { } `, expected: monitor.LogProfile{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), RetentionPolicy: monitor.RetentionPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Days: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Days: iacTypes.Int(0, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/azure/network/adapt.go b/pkg/iac/adapters/terraform/azure/network/adapt.go index 60d117fde8aa..b2866cd9100a 100644 --- a/pkg/iac/adapters/terraform/azure/network/adapt.go +++ b/pkg/iac/adapters/terraform/azure/network/adapt.go @@ -6,9 +6,9 @@ import ( "github.com/google/uuid" - "github.com/aquasecurity/defsec/pkg/providers/azure/network" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/network" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) network.Network { @@ -50,7 +50,7 @@ func (a *adapter) adaptSecurityGroups() []network.SecurityGroup { } a.groups[uuid.NewString()] = network.SecurityGroup{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Rules: []network.SecurityGroupRule{rule}, } } @@ -89,8 +89,8 @@ func (a *adapter) adaptSGRule(ruleBlock *terraform.Block) network.SecurityGroupR rule := network.SecurityGroupRule{ Metadata: ruleBlock.GetMetadata(), - Outbound: defsecTypes.BoolDefault(false, ruleBlock.GetMetadata()), - Allow: defsecTypes.BoolDefault(true, ruleBlock.GetMetadata()), + Outbound: iacTypes.BoolDefault(false, ruleBlock.GetMetadata()), + Allow: iacTypes.BoolDefault(true, ruleBlock.GetMetadata()), SourceAddresses: nil, SourcePorts: nil, DestinationAddresses: nil, @@ -100,16 +100,16 @@ func (a *adapter) adaptSGRule(ruleBlock *terraform.Block) network.SecurityGroupR accessAttr := ruleBlock.GetAttribute("access") if accessAttr.Equals("Allow") { - rule.Allow = defsecTypes.Bool(true, accessAttr.GetMetadata()) + rule.Allow = iacTypes.Bool(true, accessAttr.GetMetadata()) } else if accessAttr.Equals("Deny") { - rule.Allow = defsecTypes.Bool(false, accessAttr.GetMetadata()) + rule.Allow = iacTypes.Bool(false, accessAttr.GetMetadata()) } directionAttr := ruleBlock.GetAttribute("direction") if directionAttr.Equals("Inbound") { - rule.Outbound = defsecTypes.Bool(false, directionAttr.GetMetadata()) + rule.Outbound = iacTypes.Bool(false, directionAttr.GetMetadata()) } else if directionAttr.Equals("Outbound") { - rule.Outbound = defsecTypes.Bool(true, directionAttr.GetMetadata()) + rule.Outbound = iacTypes.Bool(true, directionAttr.GetMetadata()) } a.adaptSource(ruleBlock, &rule) @@ -166,7 +166,7 @@ func (a *adapter) adaptDestination(ruleBlock *terraform.Block, rule *network.Sec } } -func expandRange(r string, m defsecTypes.Metadata) network.PortRange { +func expandRange(r string, m iacTypes.Metadata) network.PortRange { start := 0 end := 65535 switch { @@ -199,8 +199,8 @@ func adaptWatcherLog(resource *terraform.Block) network.NetworkWatcherFlowLog { Metadata: resource.GetMetadata(), RetentionPolicy: network.RetentionPolicy{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), - Days: defsecTypes.IntDefault(0, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), + Days: iacTypes.IntDefault(0, resource.GetMetadata()), }, } diff --git a/pkg/iac/adapters/terraform/azure/network/adapt_test.go b/pkg/iac/adapters/terraform/azure/network/adapt_test.go index 808827c29604..a6abf380145c 100644 --- a/pkg/iac/adapters/terraform/azure/network/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/network/adapt_test.go @@ -3,11 +3,11 @@ package network import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/network" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/network" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -50,44 +50,44 @@ func Test_Adapt(t *testing.T) { expected: network.Network{ SecurityGroups: []network.SecurityGroup{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Rules: []network.SecurityGroupRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Outbound: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Allow: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - SourceAddresses: []defsecTypes.StringValue{ - defsecTypes.String("4.53.160.75", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Outbound: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Allow: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + SourceAddresses: []iacTypes.StringValue{ + iacTypes.String("4.53.160.75", iacTypes.NewTestMetadata()), }, - DestinationAddresses: []defsecTypes.StringValue{ - defsecTypes.String("*", defsecTypes.NewTestMetadata()), + DestinationAddresses: []iacTypes.StringValue{ + iacTypes.String("*", iacTypes.NewTestMetadata()), }, SourcePorts: []network.PortRange{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Start: 0, End: 65535, }, }, DestinationPorts: []network.PortRange{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Start: 3389, End: 3389, }, }, - Protocol: defsecTypes.String("TCP", defsecTypes.NewTestMetadata()), + Protocol: iacTypes.String("TCP", iacTypes.NewTestMetadata()), }, }, }, }, NetworkWatcherFlowLogs: []network.NetworkWatcherFlowLog{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), RetentionPolicy: network.RetentionPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Days: defsecTypes.Int(7, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Days: iacTypes.Int(7, iacTypes.NewTestMetadata()), }, }, }, @@ -105,13 +105,13 @@ func Test_Adapt(t *testing.T) { expected: network.Network{ SecurityGroups: []network.SecurityGroup{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Rules: []network.SecurityGroupRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Outbound: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Allow: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Protocol: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Outbound: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Allow: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Protocol: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, @@ -146,11 +146,11 @@ func Test_adaptWatcherLog(t *testing.T) { } `, expected: network.NetworkWatcherFlowLog{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), RetentionPolicy: network.RetentionPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Days: defsecTypes.Int(90, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Days: iacTypes.Int(90, iacTypes.NewTestMetadata()), }, }, }, @@ -163,11 +163,11 @@ func Test_adaptWatcherLog(t *testing.T) { } `, expected: network.NetworkWatcherFlowLog{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), RetentionPolicy: network.RetentionPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Days: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Days: iacTypes.Int(0, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/azure/securitycenter/adapt.go b/pkg/iac/adapters/terraform/azure/securitycenter/adapt.go index 90e02d933a3a..2053e8e9e587 100644 --- a/pkg/iac/adapters/terraform/azure/securitycenter/adapt.go +++ b/pkg/iac/adapters/terraform/azure/securitycenter/adapt.go @@ -1,8 +1,8 @@ package securitycenter import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/securitycenter" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/securitycenter" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) securitycenter.SecurityCenter { diff --git a/pkg/iac/adapters/terraform/azure/securitycenter/adapt_test.go b/pkg/iac/adapters/terraform/azure/securitycenter/adapt_test.go index 90a43fd43427..3b61ebecf0b9 100644 --- a/pkg/iac/adapters/terraform/azure/securitycenter/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/securitycenter/adapt_test.go @@ -3,11 +3,11 @@ package securitycenter import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/securitycenter" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/securitycenter" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -28,9 +28,9 @@ func Test_adaptContact(t *testing.T) { } `, expected: securitycenter.Contact{ - Metadata: defsecTypes.NewTestMetadata(), - EnableAlertNotifications: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Phone: defsecTypes.String("+1-555-555-5555", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableAlertNotifications: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Phone: iacTypes.String("+1-555-555-5555", iacTypes.NewTestMetadata()), }, }, { @@ -40,9 +40,9 @@ func Test_adaptContact(t *testing.T) { } `, expected: securitycenter.Contact{ - Metadata: defsecTypes.NewTestMetadata(), - EnableAlertNotifications: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Phone: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableAlertNotifications: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Phone: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, } @@ -69,8 +69,8 @@ func Test_adaptSubscription(t *testing.T) { tier = "Free" }`, expected: securitycenter.SubscriptionPricing{ - Metadata: defsecTypes.NewTestMetadata(), - Tier: defsecTypes.String("Free", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Tier: iacTypes.String("Free", iacTypes.NewTestMetadata()), }, }, { @@ -79,8 +79,8 @@ func Test_adaptSubscription(t *testing.T) { resource "azurerm_security_center_subscription_pricing" "example" { }`, expected: securitycenter.SubscriptionPricing{ - Metadata: defsecTypes.NewTestMetadata(), - Tier: defsecTypes.String("Free", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Tier: iacTypes.String("Free", iacTypes.NewTestMetadata()), }, }, { @@ -90,8 +90,8 @@ func Test_adaptSubscription(t *testing.T) { tier = "Standard" }`, expected: securitycenter.SubscriptionPricing{ - Metadata: defsecTypes.NewTestMetadata(), - Tier: defsecTypes.String("Standard", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Tier: iacTypes.String("Standard", iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/azure/storage/adapt.go b/pkg/iac/adapters/terraform/azure/storage/adapt.go index ce150103bdb8..edc5f0029be7 100644 --- a/pkg/iac/adapters/terraform/azure/storage/adapt.go +++ b/pkg/iac/adapters/terraform/azure/storage/adapt.go @@ -1,24 +1,24 @@ package storage import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/storage" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/storage" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) storage.Storage { accounts, containers, networkRules := adaptAccounts(modules) orphanAccount := storage.Account{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), NetworkRules: adaptOrphanNetworkRules(modules, networkRules), - EnforceHTTPS: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + EnforceHTTPS: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), Containers: adaptOrphanContainers(modules, containers), QueueProperties: storage.QueueProperties{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnableLogging: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnableLogging: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), }, - MinimumTLSVersion: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), } accounts = append(accounts, orphanAccount) @@ -100,13 +100,13 @@ func adaptAccount(resource *terraform.Block) storage.Account { account := storage.Account{ Metadata: resource.GetMetadata(), NetworkRules: nil, - EnforceHTTPS: defsecTypes.BoolDefault(true, resource.GetMetadata()), + EnforceHTTPS: iacTypes.BoolDefault(true, resource.GetMetadata()), Containers: nil, QueueProperties: storage.QueueProperties{ Metadata: resource.GetMetadata(), - EnableLogging: defsecTypes.BoolDefault(false, resource.GetMetadata()), + EnableLogging: iacTypes.BoolDefault(false, resource.GetMetadata()), }, - MinimumTLSVersion: defsecTypes.StringDefault("TLS1_2", resource.GetMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("TLS1_2", resource.GetMetadata()), } networkRulesBlocks := resource.GetBlocks("network_rules") @@ -122,7 +122,7 @@ func adaptAccount(resource *terraform.Block) storage.Account { account.QueueProperties.Metadata = queuePropertiesBlock.GetMetadata() loggingBlock := queuePropertiesBlock.GetBlock("logging") if loggingBlock.IsNotNil() { - account.QueueProperties.EnableLogging = defsecTypes.Bool(true, loggingBlock.GetMetadata()) + account.QueueProperties.EnableLogging = iacTypes.Bool(true, loggingBlock.GetMetadata()) } } @@ -133,12 +133,12 @@ func adaptAccount(resource *terraform.Block) storage.Account { func adaptContainer(resource *terraform.Block) storage.Container { accessTypeAttr := resource.GetAttribute("container_access_type") - publicAccess := defsecTypes.StringDefault(storage.PublicAccessOff, resource.GetMetadata()) + publicAccess := iacTypes.StringDefault(storage.PublicAccessOff, resource.GetMetadata()) if accessTypeAttr.Equals("blob") { - publicAccess = defsecTypes.String(storage.PublicAccessBlob, accessTypeAttr.GetMetadata()) + publicAccess = iacTypes.String(storage.PublicAccessBlob, accessTypeAttr.GetMetadata()) } else if accessTypeAttr.Equals("container") { - publicAccess = defsecTypes.String(storage.PublicAccessContainer, accessTypeAttr.GetMetadata()) + publicAccess = iacTypes.String(storage.PublicAccessContainer, accessTypeAttr.GetMetadata()) } return storage.Container{ @@ -148,15 +148,15 @@ func adaptContainer(resource *terraform.Block) storage.Container { } func adaptNetworkRule(resource *terraform.Block) storage.NetworkRule { - var allowByDefault defsecTypes.BoolValue - var bypass []defsecTypes.StringValue + var allowByDefault iacTypes.BoolValue + var bypass []iacTypes.StringValue defaultActionAttr := resource.GetAttribute("default_action") if defaultActionAttr.IsNotNil() { - allowByDefault = defsecTypes.Bool(defaultActionAttr.Equals("Allow", terraform.IgnoreCase), defaultActionAttr.GetMetadata()) + allowByDefault = iacTypes.Bool(defaultActionAttr.Equals("Allow", terraform.IgnoreCase), defaultActionAttr.GetMetadata()) } else { - allowByDefault = defsecTypes.BoolDefault(false, resource.GetMetadata()) + allowByDefault = iacTypes.BoolDefault(false, resource.GetMetadata()) } if resource.HasChild("bypass") { diff --git a/pkg/iac/adapters/terraform/azure/storage/adapt_test.go b/pkg/iac/adapters/terraform/azure/storage/adapt_test.go index 0bf3d6d42a5e..3b13c3c4df35 100644 --- a/pkg/iac/adapters/terraform/azure/storage/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/storage/adapt_test.go @@ -3,11 +3,11 @@ package storage import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/storage" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/storage" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -65,45 +65,45 @@ func Test_Adapt(t *testing.T) { Accounts: []storage.Account{ { - Metadata: defsecTypes.NewTestMetadata(), - EnforceHTTPS: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - MinimumTLSVersion: defsecTypes.String("TLS1_2", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnforceHTTPS: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + MinimumTLSVersion: iacTypes.String("TLS1_2", iacTypes.NewTestMetadata()), NetworkRules: []storage.NetworkRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Bypass: []defsecTypes.StringValue{ - defsecTypes.String("Metrics", defsecTypes.NewTestMetadata()), - defsecTypes.String("AzureServices", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Bypass: []iacTypes.StringValue{ + iacTypes.String("Metrics", iacTypes.NewTestMetadata()), + iacTypes.String("AzureServices", iacTypes.NewTestMetadata()), }, - AllowByDefault: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + AllowByDefault: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, { - Metadata: defsecTypes.NewTestMetadata(), - Bypass: []defsecTypes.StringValue{ - defsecTypes.String("Metrics", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Bypass: []iacTypes.StringValue{ + iacTypes.String("Metrics", iacTypes.NewTestMetadata()), }, - AllowByDefault: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + AllowByDefault: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, QueueProperties: storage.QueueProperties{ - Metadata: defsecTypes.NewTestMetadata(), - EnableLogging: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableLogging: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Containers: []storage.Container{ { - Metadata: defsecTypes.NewTestMetadata(), - PublicAccess: defsecTypes.String("blob", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + PublicAccess: iacTypes.String("blob", iacTypes.NewTestMetadata()), }, }, }, { - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnforceHTTPS: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnforceHTTPS: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), QueueProperties: storage.QueueProperties{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnableLogging: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnableLogging: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), }, - MinimumTLSVersion: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), }, }, }, @@ -123,26 +123,26 @@ func Test_Adapt(t *testing.T) { expected: storage.Storage{ Accounts: []storage.Account{ { - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnforceHTTPS: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnforceHTTPS: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), NetworkRules: []storage.NetworkRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Bypass: []defsecTypes.StringValue{ - defsecTypes.String("Metrics", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Bypass: []iacTypes.StringValue{ + iacTypes.String("Metrics", iacTypes.NewTestMetadata()), }, - AllowByDefault: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + AllowByDefault: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, QueueProperties: storage.QueueProperties{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnableLogging: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnableLogging: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), }, - MinimumTLSVersion: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + MinimumTLSVersion: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), Containers: []storage.Container{ { - Metadata: defsecTypes.NewTestMetadata(), - PublicAccess: defsecTypes.String("blob", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + PublicAccess: iacTypes.String("blob", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/azure/synapse/adapt.go b/pkg/iac/adapters/terraform/azure/synapse/adapt.go index 6e5743dccc80..37efcb596a9d 100644 --- a/pkg/iac/adapters/terraform/azure/synapse/adapt.go +++ b/pkg/iac/adapters/terraform/azure/synapse/adapt.go @@ -1,8 +1,8 @@ package synapse import ( - "github.com/aquasecurity/defsec/pkg/providers/azure/synapse" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/synapse" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) synapse.Synapse { diff --git a/pkg/iac/adapters/terraform/azure/synapse/adapt_test.go b/pkg/iac/adapters/terraform/azure/synapse/adapt_test.go index 22c76f304606..79062878e092 100644 --- a/pkg/iac/adapters/terraform/azure/synapse/adapt_test.go +++ b/pkg/iac/adapters/terraform/azure/synapse/adapt_test.go @@ -3,11 +3,11 @@ package synapse import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/azure/synapse" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/synapse" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -27,8 +27,8 @@ func Test_adaptWorkspace(t *testing.T) { } `, expected: synapse.Workspace{ - Metadata: defsecTypes.NewTestMetadata(), - EnableManagedVirtualNetwork: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableManagedVirtualNetwork: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -39,8 +39,8 @@ func Test_adaptWorkspace(t *testing.T) { } `, expected: synapse.Workspace{ - Metadata: defsecTypes.NewTestMetadata(), - EnableManagedVirtualNetwork: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableManagedVirtualNetwork: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, { @@ -50,8 +50,8 @@ func Test_adaptWorkspace(t *testing.T) { } `, expected: synapse.Workspace{ - Metadata: defsecTypes.NewTestMetadata(), - EnableManagedVirtualNetwork: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableManagedVirtualNetwork: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/cloudstack/adapt.go b/pkg/iac/adapters/terraform/cloudstack/adapt.go index 095931d405d4..d19a05bdf3a4 100644 --- a/pkg/iac/adapters/terraform/cloudstack/adapt.go +++ b/pkg/iac/adapters/terraform/cloudstack/adapt.go @@ -1,9 +1,9 @@ package cloudstack import ( - "github.com/aquasecurity/defsec/pkg/providers/cloudstack" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/cloudstack/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/cloudstack" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) cloudstack.CloudStack { diff --git a/pkg/iac/adapters/terraform/cloudstack/compute/adapt.go b/pkg/iac/adapters/terraform/cloudstack/compute/adapt.go index 06ce13be5195..4908f0325158 100644 --- a/pkg/iac/adapters/terraform/cloudstack/compute/adapt.go +++ b/pkg/iac/adapters/terraform/cloudstack/compute/adapt.go @@ -3,9 +3,9 @@ package compute import ( "encoding/base64" - "github.com/aquasecurity/defsec/pkg/providers/cloudstack/compute" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/cloudstack/compute" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) compute.Compute { diff --git a/pkg/iac/adapters/terraform/cloudstack/compute/adapt_test.go b/pkg/iac/adapters/terraform/cloudstack/compute/adapt_test.go index 059c478f734b..14576c13bbf8 100644 --- a/pkg/iac/adapters/terraform/cloudstack/compute/adapt_test.go +++ b/pkg/iac/adapters/terraform/cloudstack/compute/adapt_test.go @@ -3,11 +3,11 @@ package compute import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/cloudstack/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/cloudstack/compute" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -30,9 +30,9 @@ export DATABASE_PASSWORD=\"SomeSortOfPassword\" } `, expected: compute.Instance{ - Metadata: defsecTypes.NewTestMetadata(), - UserData: defsecTypes.String(`export DATABASE_PASSWORD=\"SomeSortOfPassword\" -`, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + UserData: iacTypes.String(`export DATABASE_PASSWORD=\"SomeSortOfPassword\" +`, iacTypes.NewTestMetadata()), }, }, { @@ -44,8 +44,8 @@ export DATABASE_PASSWORD=\"SomeSortOfPassword\" } `, expected: compute.Instance{ - Metadata: defsecTypes.NewTestMetadata(), - UserData: defsecTypes.String(`export DATABASE_PASSWORD="SomeSortOfPassword"`, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + UserData: iacTypes.String(`export DATABASE_PASSWORD="SomeSortOfPassword"`, iacTypes.NewTestMetadata()), }, }, { @@ -55,8 +55,8 @@ export DATABASE_PASSWORD=\"SomeSortOfPassword\" } `, expected: compute.Instance{ - Metadata: defsecTypes.NewTestMetadata(), - UserData: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + UserData: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/digitalocean/adapt.go b/pkg/iac/adapters/terraform/digitalocean/adapt.go index bef8e6ce8137..c9eaf447c93f 100644 --- a/pkg/iac/adapters/terraform/digitalocean/adapt.go +++ b/pkg/iac/adapters/terraform/digitalocean/adapt.go @@ -1,10 +1,10 @@ package digitalocean import ( - "github.com/aquasecurity/defsec/pkg/providers/digitalocean" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/digitalocean/compute" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/digitalocean/spaces" + "github.com/aquasecurity/trivy/pkg/iac/providers/digitalocean" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) digitalocean.DigitalOcean { diff --git a/pkg/iac/adapters/terraform/digitalocean/compute/adapt.go b/pkg/iac/adapters/terraform/digitalocean/compute/adapt.go index e871dc8a4dc7..75f5af9fcf53 100644 --- a/pkg/iac/adapters/terraform/digitalocean/compute/adapt.go +++ b/pkg/iac/adapters/terraform/digitalocean/compute/adapt.go @@ -1,8 +1,8 @@ package compute import ( - "github.com/aquasecurity/defsec/pkg/providers/digitalocean/compute" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/digitalocean/compute" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) compute.Compute { diff --git a/pkg/iac/adapters/terraform/digitalocean/compute/adapt_test.go b/pkg/iac/adapters/terraform/digitalocean/compute/adapt_test.go index 2660842547ed..e4c81deaaa9b 100644 --- a/pkg/iac/adapters/terraform/digitalocean/compute/adapt_test.go +++ b/pkg/iac/adapters/terraform/digitalocean/compute/adapt_test.go @@ -3,11 +3,11 @@ package compute import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/digitalocean/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/digitalocean/compute" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -31,9 +31,9 @@ func Test_adaptDroplets(t *testing.T) { `, expected: []compute.Droplet{ { - Metadata: defsecTypes.NewTestMetadata(), - SSHKeys: []defsecTypes.StringValue{ - defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SSHKeys: []iacTypes.StringValue{ + iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, @@ -51,9 +51,9 @@ func Test_adaptDroplets(t *testing.T) { `, expected: []compute.Droplet{ { - Metadata: defsecTypes.NewTestMetadata(), - SSHKeys: []defsecTypes.StringValue{ - defsecTypes.String("my-ssh-key", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SSHKeys: []iacTypes.StringValue{ + iacTypes.String("my-ssh-key", iacTypes.NewTestMetadata()), }, }, }, @@ -66,7 +66,7 @@ func Test_adaptDroplets(t *testing.T) { `, expected: []compute.Droplet{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), }, }, }, @@ -108,21 +108,21 @@ func Test_adaptFirewalls(t *testing.T) { `, expected: []compute.Firewall{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), OutboundRules: []compute.OutboundFirewallRule{ { - Metadata: defsecTypes.NewTestMetadata(), - DestinationAddresses: []defsecTypes.StringValue{ - defsecTypes.String("192.168.1.0/24", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DestinationAddresses: []iacTypes.StringValue{ + iacTypes.String("192.168.1.0/24", iacTypes.NewTestMetadata()), }, }, }, InboundRules: []compute.InboundFirewallRule{ { - Metadata: defsecTypes.NewTestMetadata(), - SourceAddresses: []defsecTypes.StringValue{ - defsecTypes.String("192.168.1.0/24", defsecTypes.NewTestMetadata()), - defsecTypes.String("fc00::/7", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SourceAddresses: []iacTypes.StringValue{ + iacTypes.String("192.168.1.0/24", iacTypes.NewTestMetadata()), + iacTypes.String("fc00::/7", iacTypes.NewTestMetadata()), }, }, }, @@ -137,7 +137,7 @@ func Test_adaptFirewalls(t *testing.T) { `, expected: []compute.Firewall{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), OutboundRules: []compute.OutboundFirewallRule(nil), InboundRules: []compute.InboundFirewallRule(nil), }, @@ -178,12 +178,12 @@ func Test_adaptLoadBalancers(t *testing.T) { `, expected: []compute.LoadBalancer{ { - Metadata: defsecTypes.NewTestMetadata(), - RedirectHttpToHttps: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + RedirectHttpToHttps: iacTypes.Bool(true, iacTypes.NewTestMetadata()), ForwardingRules: []compute.ForwardingRule{ { - Metadata: defsecTypes.NewTestMetadata(), - EntryProtocol: defsecTypes.String("https", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EntryProtocol: iacTypes.String("https", iacTypes.NewTestMetadata()), }, }, }, @@ -197,7 +197,7 @@ func Test_adaptLoadBalancers(t *testing.T) { `, expected: []compute.LoadBalancer{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), ForwardingRules: nil, }, }, @@ -232,9 +232,9 @@ func Test_adaptKubernetesClusters(t *testing.T) { `, expected: []compute.KubernetesCluster{ { - Metadata: defsecTypes.NewTestMetadata(), - SurgeUpgrade: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - AutoUpgrade: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SurgeUpgrade: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + AutoUpgrade: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -246,9 +246,9 @@ func Test_adaptKubernetesClusters(t *testing.T) { `, expected: []compute.KubernetesCluster{ { - Metadata: defsecTypes.NewTestMetadata(), - SurgeUpgrade: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - AutoUpgrade: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SurgeUpgrade: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + AutoUpgrade: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/digitalocean/spaces/adapt.go b/pkg/iac/adapters/terraform/digitalocean/spaces/adapt.go index 93214777a41a..46d1f25fa386 100644 --- a/pkg/iac/adapters/terraform/digitalocean/spaces/adapt.go +++ b/pkg/iac/adapters/terraform/digitalocean/spaces/adapt.go @@ -3,9 +3,9 @@ package spaces import ( "github.com/google/uuid" - "github.com/aquasecurity/defsec/pkg/providers/digitalocean/spaces" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/digitalocean/spaces" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) spaces.Spaces { @@ -28,7 +28,7 @@ func adaptBuckets(modules terraform.Modules) []spaces.Bucket { ForceDestroy: block.GetAttribute("force_destroy").AsBoolValueOrDefault(false, block), Versioning: spaces.Versioning{ Metadata: block.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, block.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, block.GetMetadata()), }, } @@ -69,16 +69,16 @@ func adaptBuckets(modules terraform.Modules) []spaces.Bucket { } } bucketMap[uuid.NewString()] = spaces.Bucket{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Name: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Name: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), Objects: []spaces.Object{ object, }, - ACL: defsecTypes.StringDefault("private", defsecTypes.NewUnmanagedMetadata()), - ForceDestroy: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + ACL: iacTypes.StringDefault("private", iacTypes.NewUnmanagedMetadata()), + ForceDestroy: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), Versioning: spaces.Versioning{ Metadata: block.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, block.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, block.GetMetadata()), }, } } diff --git a/pkg/iac/adapters/terraform/digitalocean/spaces/adapt_test.go b/pkg/iac/adapters/terraform/digitalocean/spaces/adapt_test.go index 963ae2284be5..bbe85a321505 100644 --- a/pkg/iac/adapters/terraform/digitalocean/spaces/adapt_test.go +++ b/pkg/iac/adapters/terraform/digitalocean/spaces/adapt_test.go @@ -3,11 +3,11 @@ package spaces import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/digitalocean/spaces" + "github.com/aquasecurity/trivy/pkg/iac/providers/digitalocean/spaces" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -41,19 +41,19 @@ func Test_adaptBuckets(t *testing.T) { `, expected: []spaces.Bucket{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("public_space", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("public_space", iacTypes.NewTestMetadata()), Objects: []spaces.Object{ { - Metadata: defsecTypes.NewTestMetadata(), - ACL: defsecTypes.String("private", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ACL: iacTypes.String("private", iacTypes.NewTestMetadata()), }, }, - ACL: defsecTypes.String("private", defsecTypes.NewTestMetadata()), - ForceDestroy: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + ACL: iacTypes.String("private", iacTypes.NewTestMetadata()), + ForceDestroy: iacTypes.Bool(true, iacTypes.NewTestMetadata()), Versioning: spaces.Versioning{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -67,14 +67,14 @@ func Test_adaptBuckets(t *testing.T) { `, expected: []spaces.Bucket{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("", iacTypes.NewTestMetadata()), Objects: nil, - ACL: defsecTypes.String("public-read", defsecTypes.NewTestMetadata()), - ForceDestroy: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + ACL: iacTypes.String("public-read", iacTypes.NewTestMetadata()), + ForceDestroy: iacTypes.Bool(false, iacTypes.NewTestMetadata()), Versioning: spaces.Versioning{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/github/adapt.go b/pkg/iac/adapters/terraform/github/adapt.go index 7ef290e1768d..389599d445b9 100644 --- a/pkg/iac/adapters/terraform/github/adapt.go +++ b/pkg/iac/adapters/terraform/github/adapt.go @@ -1,11 +1,11 @@ package github import ( - "github.com/aquasecurity/defsec/pkg/providers/github" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/github/branch_protections" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/github/repositories" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/github/secrets" + "github.com/aquasecurity/trivy/pkg/iac/providers/github" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) github.GitHub { diff --git a/pkg/iac/adapters/terraform/github/branch_protections/adapt.go b/pkg/iac/adapters/terraform/github/branch_protections/adapt.go index 57af17a1475e..eb925fd54101 100644 --- a/pkg/iac/adapters/terraform/github/branch_protections/adapt.go +++ b/pkg/iac/adapters/terraform/github/branch_protections/adapt.go @@ -1,8 +1,8 @@ package branch_protections import ( - "github.com/aquasecurity/defsec/pkg/providers/github" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/github" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) []github.BranchProtection { diff --git a/pkg/iac/adapters/terraform/github/repositories/adapt.go b/pkg/iac/adapters/terraform/github/repositories/adapt.go index c523a9849133..27425653ef83 100644 --- a/pkg/iac/adapters/terraform/github/repositories/adapt.go +++ b/pkg/iac/adapters/terraform/github/repositories/adapt.go @@ -1,9 +1,9 @@ package repositories import ( - "github.com/aquasecurity/defsec/pkg/providers/github" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/github" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) []github.Repository { diff --git a/pkg/iac/adapters/terraform/github/secrets/adapt.go b/pkg/iac/adapters/terraform/github/secrets/adapt.go index c42c872b3c4d..1da1b879d6cc 100644 --- a/pkg/iac/adapters/terraform/github/secrets/adapt.go +++ b/pkg/iac/adapters/terraform/github/secrets/adapt.go @@ -1,8 +1,8 @@ package secrets import ( - "github.com/aquasecurity/defsec/pkg/providers/github" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/github" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) []github.EnvironmentSecret { diff --git a/pkg/iac/adapters/terraform/github/secrets/adapt_test.go b/pkg/iac/adapters/terraform/github/secrets/adapt_test.go index d574a51fec59..61f49de8220a 100644 --- a/pkg/iac/adapters/terraform/github/secrets/adapt_test.go +++ b/pkg/iac/adapters/terraform/github/secrets/adapt_test.go @@ -3,11 +3,11 @@ package secrets import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/github" + "github.com/aquasecurity/trivy/pkg/iac/providers/github" ) func Test_Adapt(t *testing.T) { @@ -24,12 +24,12 @@ resource "github_actions_environment_secret" "example" { `, expected: []github.EnvironmentSecret{ { - Metadata: defsecTypes.NewTestMetadata(), - Environment: defsecTypes.String("", defsecTypes.NewTestMetadata()), - SecretName: defsecTypes.String("", defsecTypes.NewTestMetadata()), - PlainTextValue: defsecTypes.String("", defsecTypes.NewTestMetadata()), - EncryptedValue: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Repository: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Environment: iacTypes.String("", iacTypes.NewTestMetadata()), + SecretName: iacTypes.String("", iacTypes.NewTestMetadata()), + PlainTextValue: iacTypes.String("", iacTypes.NewTestMetadata()), + EncryptedValue: iacTypes.String("", iacTypes.NewTestMetadata()), + Repository: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, @@ -46,12 +46,12 @@ resource "github_actions_environment_secret" "example" { `, expected: []github.EnvironmentSecret{ { - Metadata: defsecTypes.NewTestMetadata(), - SecretName: defsecTypes.String("a", defsecTypes.NewTestMetadata()), - PlainTextValue: defsecTypes.String("b", defsecTypes.NewTestMetadata()), - Environment: defsecTypes.String("c", defsecTypes.NewTestMetadata()), - EncryptedValue: defsecTypes.String("d", defsecTypes.NewTestMetadata()), - Repository: defsecTypes.String("e", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecretName: iacTypes.String("a", iacTypes.NewTestMetadata()), + PlainTextValue: iacTypes.String("b", iacTypes.NewTestMetadata()), + Environment: iacTypes.String("c", iacTypes.NewTestMetadata()), + EncryptedValue: iacTypes.String("d", iacTypes.NewTestMetadata()), + Repository: iacTypes.String("e", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/adapt.go b/pkg/iac/adapters/terraform/google/adapt.go index f1289a0c2fc3..8c5fc3ef22d1 100644 --- a/pkg/iac/adapters/terraform/google/adapt.go +++ b/pkg/iac/adapters/terraform/google/adapt.go @@ -1,8 +1,6 @@ package google import ( - "github.com/aquasecurity/defsec/pkg/providers/google" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/google/bigquery" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/google/compute" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/google/dns" @@ -11,6 +9,8 @@ import ( "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/google/kms" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/google/sql" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/google/storage" + "github.com/aquasecurity/trivy/pkg/iac/providers/google" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) google.Google { diff --git a/pkg/iac/adapters/terraform/google/bigquery/adapt.go b/pkg/iac/adapters/terraform/google/bigquery/adapt.go index cc4a868a58e5..ab9fc2a13647 100644 --- a/pkg/iac/adapters/terraform/google/bigquery/adapt.go +++ b/pkg/iac/adapters/terraform/google/bigquery/adapt.go @@ -1,8 +1,8 @@ package bigquery import ( - "github.com/aquasecurity/defsec/pkg/providers/google/bigquery" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/bigquery" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) bigquery.BigQuery { diff --git a/pkg/iac/adapters/terraform/google/bigquery/adapt_test.go b/pkg/iac/adapters/terraform/google/bigquery/adapt_test.go index cefbcaac55b8..55d1b2ffa8c4 100644 --- a/pkg/iac/adapters/terraform/google/bigquery/adapt_test.go +++ b/pkg/iac/adapters/terraform/google/bigquery/adapt_test.go @@ -3,11 +3,11 @@ package bigquery import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/bigquery" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/bigquery" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -37,20 +37,20 @@ func Test_Adapt(t *testing.T) { expected: bigquery.BigQuery{ Datasets: []bigquery.Dataset{ { - Metadata: defsecTypes.NewTestMetadata(), - ID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ID: iacTypes.String("", iacTypes.NewTestMetadata()), AccessGrants: []bigquery.AccessGrant{ { - Metadata: defsecTypes.NewTestMetadata(), - Role: defsecTypes.String("OWNER", defsecTypes.NewTestMetadata()), - Domain: defsecTypes.String("", defsecTypes.NewTestMetadata()), - SpecialGroup: defsecTypes.String(bigquery.SpecialGroupAllAuthenticatedUsers, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Role: iacTypes.String("OWNER", iacTypes.NewTestMetadata()), + Domain: iacTypes.String("", iacTypes.NewTestMetadata()), + SpecialGroup: iacTypes.String(bigquery.SpecialGroupAllAuthenticatedUsers, iacTypes.NewTestMetadata()), }, { - Metadata: defsecTypes.NewTestMetadata(), - Role: defsecTypes.String("READER", defsecTypes.NewTestMetadata()), - Domain: defsecTypes.String("hashicorp.com", defsecTypes.NewTestMetadata()), - SpecialGroup: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Role: iacTypes.String("READER", iacTypes.NewTestMetadata()), + Domain: iacTypes.String("hashicorp.com", iacTypes.NewTestMetadata()), + SpecialGroup: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, @@ -67,8 +67,8 @@ func Test_Adapt(t *testing.T) { expected: bigquery.BigQuery{ Datasets: []bigquery.Dataset{ { - Metadata: defsecTypes.NewTestMetadata(), - ID: defsecTypes.String("example_dataset", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ID: iacTypes.String("example_dataset", iacTypes.NewTestMetadata()), }, }, }, @@ -84,14 +84,14 @@ func Test_Adapt(t *testing.T) { expected: bigquery.BigQuery{ Datasets: []bigquery.Dataset{ { - Metadata: defsecTypes.NewTestMetadata(), - ID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ID: iacTypes.String("", iacTypes.NewTestMetadata()), AccessGrants: []bigquery.AccessGrant{ { - Metadata: defsecTypes.NewTestMetadata(), - Role: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Domain: defsecTypes.String("", defsecTypes.NewTestMetadata()), - SpecialGroup: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Role: iacTypes.String("", iacTypes.NewTestMetadata()), + Domain: iacTypes.String("", iacTypes.NewTestMetadata()), + SpecialGroup: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/compute/adapt.go b/pkg/iac/adapters/terraform/google/compute/adapt.go index 50e94b95bcb1..084fbfab944b 100644 --- a/pkg/iac/adapters/terraform/google/compute/adapt.go +++ b/pkg/iac/adapters/terraform/google/compute/adapt.go @@ -1,8 +1,8 @@ package compute import ( - "github.com/aquasecurity/defsec/pkg/providers/google/compute" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) compute.Compute { diff --git a/pkg/iac/adapters/terraform/google/compute/disks.go b/pkg/iac/adapters/terraform/google/compute/disks.go index 26c6d8f39c8f..e9b2874a8130 100644 --- a/pkg/iac/adapters/terraform/google/compute/disks.go +++ b/pkg/iac/adapters/terraform/google/compute/disks.go @@ -1,9 +1,9 @@ package compute import ( - "github.com/aquasecurity/defsec/pkg/providers/google/compute" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptDisks(modules terraform.Modules) (disks []compute.Disk) { @@ -14,8 +14,8 @@ func adaptDisks(modules terraform.Modules) (disks []compute.Disk) { Name: diskBlock.GetAttribute("name").AsStringValueOrDefault("", diskBlock), Encryption: compute.DiskEncryption{ Metadata: diskBlock.GetMetadata(), - RawKey: defsecTypes.BytesDefault(nil, diskBlock.GetMetadata()), - KMSKeyLink: defsecTypes.StringDefault("", diskBlock.GetMetadata()), + RawKey: iacTypes.BytesDefault(nil, diskBlock.GetMetadata()), + KMSKeyLink: iacTypes.StringDefault("", diskBlock.GetMetadata()), }, } if encBlock := diskBlock.GetBlock("disk_encryption_key"); encBlock.IsNotNil() { @@ -25,7 +25,7 @@ func adaptDisks(modules terraform.Modules) (disks []compute.Disk) { if kmsKeyAttr.IsResourceBlockReference("google_kms_crypto_key") { if kmsKeyBlock, err := modules.GetReferencedBlock(kmsKeyAttr, encBlock); err == nil { - disk.Encryption.KMSKeyLink = defsecTypes.String(kmsKeyBlock.FullName(), kmsKeyAttr.GetMetadata()) + disk.Encryption.KMSKeyLink = iacTypes.String(kmsKeyBlock.FullName(), kmsKeyAttr.GetMetadata()) } } diff --git a/pkg/iac/adapters/terraform/google/compute/disks_test.go b/pkg/iac/adapters/terraform/google/compute/disks_test.go index 53577d481641..0036e11a0163 100644 --- a/pkg/iac/adapters/terraform/google/compute/disks_test.go +++ b/pkg/iac/adapters/terraform/google/compute/disks_test.go @@ -3,11 +3,11 @@ package compute import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" ) func Test_adaptDisks(t *testing.T) { @@ -37,20 +37,20 @@ func Test_adaptDisks(t *testing.T) { `, expected: []compute.Disk{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("disk #1", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("disk #1", iacTypes.NewTestMetadata()), Encryption: compute.DiskEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyLink: defsecTypes.String("something", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyLink: iacTypes.String("something", iacTypes.NewTestMetadata()), }, }, { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("disk #2", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("disk #2", iacTypes.NewTestMetadata()), Encryption: compute.DiskEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyLink: defsecTypes.String("", defsecTypes.NewTestMetadata()), - RawKey: defsecTypes.Bytes([]byte("b2ggbm8gdGhpcyBpcyBiYWQ"), defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyLink: iacTypes.String("", iacTypes.NewTestMetadata()), + RawKey: iacTypes.Bytes([]byte("b2ggbm8gdGhpcyBpcyBiYWQ"), iacTypes.NewTestMetadata()), }, }, }, @@ -71,11 +71,11 @@ func Test_adaptDisks(t *testing.T) { }`, expected: []compute.Disk{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("disk #3", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("disk #3", iacTypes.NewTestMetadata()), Encryption: compute.DiskEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyLink: defsecTypes.String("google_kms_crypto_key.my_crypto_key", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyLink: iacTypes.String("google_kms_crypto_key.my_crypto_key", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/compute/instances.go b/pkg/iac/adapters/terraform/google/compute/instances.go index 2fb8177b6a1c..96115db9bd9f 100644 --- a/pkg/iac/adapters/terraform/google/compute/instances.go +++ b/pkg/iac/adapters/terraform/google/compute/instances.go @@ -3,9 +3,9 @@ package compute import ( "github.com/zclconf/go-cty/cty" - "github.com/aquasecurity/defsec/pkg/providers/google/compute" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptInstances(modules terraform.Modules) (instances []compute.Instance) { @@ -17,20 +17,20 @@ func adaptInstances(modules terraform.Modules) (instances []compute.Instance) { Name: instanceBlock.GetAttribute("name").AsStringValueOrDefault("", instanceBlock), ShieldedVM: compute.ShieldedVMConfig{ Metadata: instanceBlock.GetMetadata(), - SecureBootEnabled: defsecTypes.BoolDefault(false, instanceBlock.GetMetadata()), - IntegrityMonitoringEnabled: defsecTypes.BoolDefault(false, instanceBlock.GetMetadata()), - VTPMEnabled: defsecTypes.BoolDefault(false, instanceBlock.GetMetadata()), + SecureBootEnabled: iacTypes.BoolDefault(false, instanceBlock.GetMetadata()), + IntegrityMonitoringEnabled: iacTypes.BoolDefault(false, instanceBlock.GetMetadata()), + VTPMEnabled: iacTypes.BoolDefault(false, instanceBlock.GetMetadata()), }, ServiceAccount: compute.ServiceAccount{ Metadata: instanceBlock.GetMetadata(), - Email: defsecTypes.StringDefault("", instanceBlock.GetMetadata()), - IsDefault: defsecTypes.BoolDefault(false, instanceBlock.GetMetadata()), + Email: iacTypes.StringDefault("", instanceBlock.GetMetadata()), + IsDefault: iacTypes.BoolDefault(false, instanceBlock.GetMetadata()), Scopes: nil, }, CanIPForward: instanceBlock.GetAttribute("can_ip_forward").AsBoolValueOrDefault(false, instanceBlock), - OSLoginEnabled: defsecTypes.BoolDefault(true, instanceBlock.GetMetadata()), - EnableProjectSSHKeyBlocking: defsecTypes.BoolDefault(false, instanceBlock.GetMetadata()), - EnableSerialPort: defsecTypes.BoolDefault(false, instanceBlock.GetMetadata()), + OSLoginEnabled: iacTypes.BoolDefault(true, instanceBlock.GetMetadata()), + EnableProjectSSHKeyBlocking: iacTypes.BoolDefault(false, instanceBlock.GetMetadata()), + EnableSerialPort: iacTypes.BoolDefault(false, instanceBlock.GetMetadata()), NetworkInterfaces: nil, BootDisks: nil, AttachedDisks: nil, @@ -42,11 +42,11 @@ func adaptInstances(modules terraform.Modules) (instances []compute.Instance) { Metadata: networkInterfaceBlock.GetMetadata(), Network: nil, SubNetwork: nil, - HasPublicIP: defsecTypes.BoolDefault(false, networkInterfaceBlock.GetMetadata()), - NATIP: defsecTypes.StringDefault("", networkInterfaceBlock.GetMetadata()), + HasPublicIP: iacTypes.BoolDefault(false, networkInterfaceBlock.GetMetadata()), + NATIP: iacTypes.StringDefault("", networkInterfaceBlock.GetMetadata()), } if accessConfigBlock := networkInterfaceBlock.GetBlock("access_config"); accessConfigBlock.IsNotNil() { - ni.HasPublicIP = defsecTypes.Bool(true, accessConfigBlock.GetMetadata()) + ni.HasPublicIP = iacTypes.Bool(true, accessConfigBlock.GetMetadata()) } instance.NetworkInterfaces = append(instance.NetworkInterfaces, ni) } @@ -62,13 +62,13 @@ func adaptInstances(modules terraform.Modules) (instances []compute.Instance) { // metadata if metadataAttr := instanceBlock.GetAttribute("metadata"); metadataAttr.IsNotNil() { if val := metadataAttr.MapValue("enable-oslogin"); val.Type() == cty.Bool { - instance.OSLoginEnabled = defsecTypes.BoolExplicit(val.True(), metadataAttr.GetMetadata()) + instance.OSLoginEnabled = iacTypes.BoolExplicit(val.True(), metadataAttr.GetMetadata()) } if val := metadataAttr.MapValue("block-project-ssh-keys"); val.Type() == cty.Bool { - instance.EnableProjectSSHKeyBlocking = defsecTypes.BoolExplicit(val.True(), metadataAttr.GetMetadata()) + instance.EnableProjectSSHKeyBlocking = iacTypes.BoolExplicit(val.True(), metadataAttr.GetMetadata()) } if val := metadataAttr.MapValue("serial-port-enable"); val.Type() == cty.Bool { - instance.EnableSerialPort = defsecTypes.BoolExplicit(val.True(), metadataAttr.GetMetadata()) + instance.EnableSerialPort = iacTypes.BoolExplicit(val.True(), metadataAttr.GetMetadata()) } } @@ -103,12 +103,12 @@ func adaptInstances(modules terraform.Modules) (instances []compute.Instance) { instance.ServiceAccount.Email = emailAttr.AsStringValueOrDefault("", serviceAccountBlock) if instance.ServiceAccount.Email.IsEmpty() || instance.ServiceAccount.Email.EndsWith("-compute@developer.gserviceaccount.com") { - instance.ServiceAccount.IsDefault = defsecTypes.Bool(true, serviceAccountBlock.GetMetadata()) + instance.ServiceAccount.IsDefault = iacTypes.Bool(true, serviceAccountBlock.GetMetadata()) } if emailAttr.IsResourceBlockReference("google_service_account") { if accBlock, err := modules.GetReferencedBlock(emailAttr, instanceBlock); err == nil { - instance.ServiceAccount.IsDefault = defsecTypes.Bool(false, serviceAccountBlock.GetMetadata()) + instance.ServiceAccount.IsDefault = iacTypes.Bool(false, serviceAccountBlock.GetMetadata()) instance.ServiceAccount.Email = accBlock.GetAttribute("email").AsStringValueOrDefault("", accBlock) } } diff --git a/pkg/iac/adapters/terraform/google/compute/instances_test.go b/pkg/iac/adapters/terraform/google/compute/instances_test.go index 4ccb18e18140..5f1105df742f 100644 --- a/pkg/iac/adapters/terraform/google/compute/instances_test.go +++ b/pkg/iac/adapters/terraform/google/compute/instances_test.go @@ -3,11 +3,11 @@ package compute import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" ) func Test_adaptInstances(t *testing.T) { @@ -58,41 +58,41 @@ func Test_adaptInstances(t *testing.T) { `, expected: []compute.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test", iacTypes.NewTestMetadata()), NetworkInterfaces: []compute.NetworkInterface{ { - Metadata: defsecTypes.NewTestMetadata(), - HasPublicIP: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - NATIP: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + HasPublicIP: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + NATIP: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, ShieldedVM: compute.ShieldedVMConfig{ - Metadata: defsecTypes.NewTestMetadata(), - SecureBootEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - IntegrityMonitoringEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - VTPMEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecureBootEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + IntegrityMonitoringEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + VTPMEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, ServiceAccount: compute.ServiceAccount{ - Metadata: defsecTypes.NewTestMetadata(), - Email: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Scopes: []defsecTypes.StringValue{ - defsecTypes.String("cloud-platform", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Email: iacTypes.String("", iacTypes.NewTestMetadata()), + Scopes: []iacTypes.StringValue{ + iacTypes.String("cloud-platform", iacTypes.NewTestMetadata()), }, - IsDefault: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + IsDefault: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, - CanIPForward: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - OSLoginEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - EnableProjectSSHKeyBlocking: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - EnableSerialPort: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + CanIPForward: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + OSLoginEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + EnableProjectSSHKeyBlocking: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + EnableSerialPort: iacTypes.Bool(true, iacTypes.NewTestMetadata()), BootDisks: []compute.Disk{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("boot-disk", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("boot-disk", iacTypes.NewTestMetadata()), Encryption: compute.DiskEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - KMSKeyLink: defsecTypes.String("something", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + KMSKeyLink: iacTypes.String("something", iacTypes.NewTestMetadata()), }, }, }, @@ -107,23 +107,23 @@ func Test_adaptInstances(t *testing.T) { `, expected: []compute.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("", iacTypes.NewTestMetadata()), ShieldedVM: compute.ShieldedVMConfig{ - Metadata: defsecTypes.NewTestMetadata(), - SecureBootEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - IntegrityMonitoringEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - VTPMEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecureBootEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + IntegrityMonitoringEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + VTPMEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, ServiceAccount: compute.ServiceAccount{ - Metadata: defsecTypes.NewTestMetadata(), - Email: defsecTypes.String("", defsecTypes.NewTestMetadata()), - IsDefault: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Email: iacTypes.String("", iacTypes.NewTestMetadata()), + IsDefault: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, - CanIPForward: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - OSLoginEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - EnableProjectSSHKeyBlocking: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - EnableSerialPort: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + CanIPForward: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + OSLoginEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + EnableProjectSSHKeyBlocking: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + EnableSerialPort: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, @@ -136,23 +136,23 @@ func Test_adaptInstances(t *testing.T) { `, expected: []compute.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("", iacTypes.NewTestMetadata()), ShieldedVM: compute.ShieldedVMConfig{ - Metadata: defsecTypes.NewTestMetadata(), - SecureBootEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - IntegrityMonitoringEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - VTPMEnabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecureBootEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + IntegrityMonitoringEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + VTPMEnabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, ServiceAccount: compute.ServiceAccount{ - Metadata: defsecTypes.NewTestMetadata(), - Email: defsecTypes.String("", defsecTypes.NewTestMetadata()), - IsDefault: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Email: iacTypes.String("", iacTypes.NewTestMetadata()), + IsDefault: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, - CanIPForward: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - OSLoginEnabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - EnableProjectSSHKeyBlocking: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - EnableSerialPort: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + CanIPForward: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + OSLoginEnabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + EnableProjectSSHKeyBlocking: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + EnableSerialPort: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/compute/metadata.go b/pkg/iac/adapters/terraform/google/compute/metadata.go index 2cc58839a367..0a0891d2bbf5 100644 --- a/pkg/iac/adapters/terraform/google/compute/metadata.go +++ b/pkg/iac/adapters/terraform/google/compute/metadata.go @@ -3,23 +3,23 @@ package compute import ( "github.com/zclconf/go-cty/cty" - "github.com/aquasecurity/defsec/pkg/providers/google/compute" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptProjectMetadata(modules terraform.Modules) compute.ProjectMetadata { metadata := compute.ProjectMetadata{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnableOSLogin: defsecTypes.BoolUnresolvable( - defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnableOSLogin: iacTypes.BoolUnresolvable( + iacTypes.NewUnmanagedMetadata(), ), } for _, metadataBlock := range modules.GetResourcesByType("google_compute_project_metadata") { metadata.Metadata = metadataBlock.GetMetadata() if metadataAttr := metadataBlock.GetAttribute("metadata"); metadataAttr.IsNotNil() { if val := metadataAttr.MapValue("enable-oslogin"); val.Type() == cty.Bool { - metadata.EnableOSLogin = defsecTypes.BoolExplicit(val.True(), metadataAttr.GetMetadata()) + metadata.EnableOSLogin = iacTypes.BoolExplicit(val.True(), metadataAttr.GetMetadata()) } } } diff --git a/pkg/iac/adapters/terraform/google/compute/metadata_test.go b/pkg/iac/adapters/terraform/google/compute/metadata_test.go index 064290cf2712..9a3b38abedac 100644 --- a/pkg/iac/adapters/terraform/google/compute/metadata_test.go +++ b/pkg/iac/adapters/terraform/google/compute/metadata_test.go @@ -3,11 +3,11 @@ package compute import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" ) func Test_adaptProjectMetadata(t *testing.T) { @@ -26,8 +26,8 @@ func Test_adaptProjectMetadata(t *testing.T) { } `, expected: compute.ProjectMetadata{ - Metadata: defsecTypes.NewTestMetadata(), - EnableOSLogin: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableOSLogin: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, { @@ -39,8 +39,8 @@ func Test_adaptProjectMetadata(t *testing.T) { } `, expected: compute.ProjectMetadata{ - Metadata: defsecTypes.NewTestMetadata(), - EnableOSLogin: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableOSLogin: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/google/compute/networks.go b/pkg/iac/adapters/terraform/google/compute/networks.go index 978b2f49a0bf..ea3c9cb97a5f 100644 --- a/pkg/iac/adapters/terraform/google/compute/networks.go +++ b/pkg/iac/adapters/terraform/google/compute/networks.go @@ -4,9 +4,9 @@ import ( "strconv" "strings" - "github.com/aquasecurity/defsec/pkg/providers/google/compute" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) const ( @@ -32,12 +32,12 @@ func adaptNetworks(modules terraform.Modules) (networks []compute.Network) { Metadata: subnetworkBlock.GetMetadata(), Name: subnetworkBlock.GetAttribute("name").AsStringValueOrDefault("", subnetworkBlock), Purpose: subnetworkBlock.GetAttribute("purpose").AsStringValueOrDefault(defaultSubnetPurpose, subnetworkBlock), - EnableFlowLogs: defsecTypes.BoolDefault(false, subnetworkBlock.GetMetadata()), + EnableFlowLogs: iacTypes.BoolDefault(false, subnetworkBlock.GetMetadata()), } // logging if logConfigBlock := subnetworkBlock.GetBlock("log_config"); logConfigBlock.IsNotNil() { - subnetwork.EnableFlowLogs = defsecTypes.BoolExplicit(true, logConfigBlock.GetMetadata()) + subnetwork.EnableFlowLogs = iacTypes.BoolExplicit(true, logConfigBlock.GetMetadata()) } nwAttr := subnetworkBlock.GetAttribute("network") @@ -52,7 +52,7 @@ func adaptNetworks(modules terraform.Modules) (networks []compute.Network) { } placeholder := compute.Network{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Firewall: nil, Subnetworks: nil, } @@ -90,7 +90,7 @@ func adaptNetworks(modules terraform.Modules) (networks []compute.Network) { } placeholder := compute.Network{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), Firewall: nil, Subnetworks: nil, } @@ -105,15 +105,15 @@ func adaptNetworks(modules terraform.Modules) (networks []compute.Network) { return networks } -func expandRange(ports string, attr *terraform.Attribute) []defsecTypes.IntValue { +func expandRange(ports string, attr *terraform.Attribute) []iacTypes.IntValue { ports = strings.ReplaceAll(ports, " ", "") if !strings.Contains(ports, "-") { i, err := strconv.Atoi(ports) if err != nil { return nil } - return []defsecTypes.IntValue{ - defsecTypes.Int(i, attr.GetMetadata()), + return []iacTypes.IntValue{ + iacTypes.Int(i, attr.GetMetadata()), } } parts := strings.Split(ports, "-") @@ -128,9 +128,9 @@ func expandRange(ports string, attr *terraform.Attribute) []defsecTypes.IntValue if err != nil { return nil } - var output []defsecTypes.IntValue + var output []iacTypes.IntValue for i := start; i <= end; i++ { - output = append(output, defsecTypes.Int(i, attr.GetMetadata())) + output = append(output, iacTypes.Int(i, attr.GetMetadata())) } return output } @@ -139,7 +139,7 @@ func adaptFirewallRule(firewall *compute.Firewall, firewallBlock, ruleBlock *ter protocolAttr := ruleBlock.GetAttribute("protocol") portsAttr := ruleBlock.GetAttribute("ports") - var ports []defsecTypes.IntValue + var ports []iacTypes.IntValue rawPorts := portsAttr.AsStringValues() for _, portStr := range rawPorts { ports = append(ports, expandRange(portStr.Value(), portsAttr)...) @@ -150,8 +150,8 @@ func adaptFirewallRule(firewall *compute.Firewall, firewallBlock, ruleBlock *ter rule := compute.FirewallRule{ Metadata: firewallBlock.GetMetadata(), - Enforced: defsecTypes.BoolDefault(true, firewallBlock.GetMetadata()), - IsAllow: defsecTypes.Bool(allow, ruleBlock.GetMetadata()), + Enforced: iacTypes.BoolDefault(true, firewallBlock.GetMetadata()), + IsAllow: iacTypes.Bool(allow, ruleBlock.GetMetadata()), Protocol: protocolAttr.AsStringValueOrDefault("tcp", ruleBlock), Ports: ports, } @@ -159,20 +159,20 @@ func adaptFirewallRule(firewall *compute.Firewall, firewallBlock, ruleBlock *ter disabledAttr := firewallBlock.GetAttribute("disabled") switch { case disabledAttr.IsNil(): - rule.Enforced = defsecTypes.BoolDefault(true, firewallBlock.GetMetadata()) + rule.Enforced = iacTypes.BoolDefault(true, firewallBlock.GetMetadata()) case disabledAttr.IsTrue(): - rule.Enforced = defsecTypes.Bool(false, disabledAttr.GetMetadata()) + rule.Enforced = iacTypes.Bool(false, disabledAttr.GetMetadata()) default: - rule.Enforced = defsecTypes.Bool(true, disabledAttr.GetMetadata()) + rule.Enforced = iacTypes.Bool(true, disabledAttr.GetMetadata()) } if isEgress { - var destinations []defsecTypes.StringValue + var destinations []iacTypes.StringValue if destinationAttr := firewallBlock.GetAttribute("destination_ranges"); destinationAttr.IsNotNil() { destinations = append(destinations, destinationAttr.AsStringValues()...) } if len(destinations) == 0 { - destinations = append(destinations, defsecTypes.StringDefault("0.0.0.0/0", firewallBlock.GetMetadata())) + destinations = append(destinations, iacTypes.StringDefault("0.0.0.0/0", firewallBlock.GetMetadata())) } firewall.EgressRules = append(firewall.EgressRules, compute.EgressRule{ Metadata: firewallBlock.GetMetadata(), @@ -180,12 +180,12 @@ func adaptFirewallRule(firewall *compute.Firewall, firewallBlock, ruleBlock *ter DestinationRanges: destinations, }) } else { - var sources []defsecTypes.StringValue + var sources []iacTypes.StringValue if sourceAttr := firewallBlock.GetAttribute("source_ranges"); sourceAttr.IsNotNil() { sources = append(sources, sourceAttr.AsStringValues()...) } if len(sources) == 0 { - sources = append(sources, defsecTypes.StringDefault("0.0.0.0/0", firewallBlock.GetMetadata())) + sources = append(sources, iacTypes.StringDefault("0.0.0.0/0", firewallBlock.GetMetadata())) } firewall.IngressRules = append(firewall.IngressRules, compute.IngressRule{ Metadata: firewallBlock.GetMetadata(), diff --git a/pkg/iac/adapters/terraform/google/compute/networks_test.go b/pkg/iac/adapters/terraform/google/compute/networks_test.go index d2bf227bc86e..1a40a597dcf3 100644 --- a/pkg/iac/adapters/terraform/google/compute/networks_test.go +++ b/pkg/iac/adapters/terraform/google/compute/networks_test.go @@ -3,11 +3,11 @@ package compute import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" ) func Test_adaptNetworks(t *testing.T) { @@ -46,35 +46,35 @@ func Test_adaptNetworks(t *testing.T) { `, expected: []compute.Network{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Firewall: &compute.Firewall{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("my-firewall-rule", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("my-firewall-rule", iacTypes.NewTestMetadata()), IngressRules: []compute.IngressRule{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), FirewallRule: compute.FirewallRule{ - Metadata: defsecTypes.NewTestMetadata(), - IsAllow: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Protocol: defsecTypes.String("icmp", defsecTypes.NewTestMetadata()), - Enforced: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Ports: []defsecTypes.IntValue{ - defsecTypes.Int(80, defsecTypes.NewTestMetadata()), - defsecTypes.Int(8080, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + IsAllow: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Protocol: iacTypes.String("icmp", iacTypes.NewTestMetadata()), + Enforced: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Ports: []iacTypes.IntValue{ + iacTypes.Int(80, iacTypes.NewTestMetadata()), + iacTypes.Int(8080, iacTypes.NewTestMetadata()), }, }, - SourceRanges: []defsecTypes.StringValue{ - defsecTypes.String("1.2.3.4/32", defsecTypes.NewTestMetadata()), + SourceRanges: []iacTypes.StringValue{ + iacTypes.String("1.2.3.4/32", iacTypes.NewTestMetadata()), }, }, }, }, Subnetworks: []compute.SubNetwork{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("test-subnetwork", defsecTypes.NewTestMetadata()), - EnableFlowLogs: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Purpose: defsecTypes.StringDefault("PRIVATE_RFC_1918", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("test-subnetwork", iacTypes.NewTestMetadata()), + EnableFlowLogs: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Purpose: iacTypes.StringDefault("PRIVATE_RFC_1918", iacTypes.NewTestMetadata()), }, }, }, @@ -97,17 +97,17 @@ func Test_adaptNetworks(t *testing.T) { `, expected: []compute.Network{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Firewall: &compute.Firewall{ - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("", iacTypes.NewTestMetadata()), }, Subnetworks: []compute.SubNetwork{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("", defsecTypes.NewTestMetadata()), - EnableFlowLogs: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - Purpose: defsecTypes.String("REGIONAL_MANAGED_PROXY", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("", iacTypes.NewTestMetadata()), + EnableFlowLogs: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + Purpose: iacTypes.String("REGIONAL_MANAGED_PROXY", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/compute/ssl.go b/pkg/iac/adapters/terraform/google/compute/ssl.go index e0e989bed4c2..c616b0f6274f 100644 --- a/pkg/iac/adapters/terraform/google/compute/ssl.go +++ b/pkg/iac/adapters/terraform/google/compute/ssl.go @@ -1,8 +1,8 @@ package compute import ( - "github.com/aquasecurity/defsec/pkg/providers/google/compute" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptSSLPolicies(modules terraform.Modules) (policies []compute.SSLPolicy) { diff --git a/pkg/iac/adapters/terraform/google/compute/ssl_test.go b/pkg/iac/adapters/terraform/google/compute/ssl_test.go index fd1516ca6b1c..30cecdba34f3 100644 --- a/pkg/iac/adapters/terraform/google/compute/ssl_test.go +++ b/pkg/iac/adapters/terraform/google/compute/ssl_test.go @@ -3,11 +3,11 @@ package compute import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" ) func Test_adaptSSLPolicies(t *testing.T) { @@ -27,10 +27,10 @@ func Test_adaptSSLPolicies(t *testing.T) { `, expected: []compute.SSLPolicy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("production-ssl-policy", defsecTypes.NewTestMetadata()), - Profile: defsecTypes.String("MODERN", defsecTypes.NewTestMetadata()), - MinimumTLSVersion: defsecTypes.String("TLS_1_2", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("production-ssl-policy", iacTypes.NewTestMetadata()), + Profile: iacTypes.String("MODERN", iacTypes.NewTestMetadata()), + MinimumTLSVersion: iacTypes.String("TLS_1_2", iacTypes.NewTestMetadata()), }, }, }, @@ -42,10 +42,10 @@ func Test_adaptSSLPolicies(t *testing.T) { `, expected: []compute.SSLPolicy{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Profile: defsecTypes.String("", defsecTypes.NewTestMetadata()), - MinimumTLSVersion: defsecTypes.String("TLS_1_0", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("", iacTypes.NewTestMetadata()), + Profile: iacTypes.String("", iacTypes.NewTestMetadata()), + MinimumTLSVersion: iacTypes.String("TLS_1_0", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/dns/adapt.go b/pkg/iac/adapters/terraform/google/dns/adapt.go index a139d76497f7..d01ac23d2aa2 100644 --- a/pkg/iac/adapters/terraform/google/dns/adapt.go +++ b/pkg/iac/adapters/terraform/google/dns/adapt.go @@ -1,9 +1,9 @@ package dns import ( - "github.com/aquasecurity/defsec/pkg/providers/google/dns" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/dns" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) dns.DNS { @@ -36,7 +36,7 @@ func adaptDNSSec(b *terraform.Block) dns.DNSSec { if DNSSecBlock.IsNil() { return dns.DNSSec{ Metadata: b.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, b.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, b.GetMetadata()), } } @@ -44,7 +44,7 @@ func adaptDNSSec(b *terraform.Block) dns.DNSSec { DNSSec := dns.DNSSec{ Metadata: DNSSecBlock.GetMetadata(), - Enabled: defsecTypes.Bool(stateAttr.Equals("on"), stateAttr.GetMetadata()), + Enabled: iacTypes.Bool(stateAttr.Equals("on"), stateAttr.GetMetadata()), DefaultKeySpecs: adaptKeySpecs(DNSSecBlock), } diff --git a/pkg/iac/adapters/terraform/google/dns/adapt_test.go b/pkg/iac/adapters/terraform/google/dns/adapt_test.go index aacc68b255bb..60974fb01df1 100644 --- a/pkg/iac/adapters/terraform/google/dns/adapt_test.go +++ b/pkg/iac/adapters/terraform/google/dns/adapt_test.go @@ -3,11 +3,11 @@ package dns import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/dns" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/dns" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -45,20 +45,20 @@ resource "google_dns_managed_zone" "example" { expected: dns.DNS{ ManagedZones: []dns.ManagedZone{ { - Metadata: defsecTypes.NewTestMetadata(), - Visibility: defsecTypes.String("public", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Visibility: iacTypes.String("public", iacTypes.NewTestMetadata()), DNSSec: dns.DNSSec{ - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), DefaultKeySpecs: []dns.KeySpecs{ { - Metadata: defsecTypes.NewTestMetadata(), - Algorithm: defsecTypes.String("rsasha1", defsecTypes.NewTestMetadata()), - KeyType: defsecTypes.String("keySigning", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Algorithm: iacTypes.String("rsasha1", iacTypes.NewTestMetadata()), + KeyType: iacTypes.String("keySigning", iacTypes.NewTestMetadata()), }, { - Metadata: defsecTypes.NewTestMetadata(), - Algorithm: defsecTypes.String("rsasha1", defsecTypes.NewTestMetadata()), - KeyType: defsecTypes.String("zoneSigning", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Algorithm: iacTypes.String("rsasha1", iacTypes.NewTestMetadata()), + KeyType: iacTypes.String("zoneSigning", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/gke/adapt.go b/pkg/iac/adapters/terraform/google/gke/adapt.go index 1b41988d0bda..ded8f1d193a5 100644 --- a/pkg/iac/adapters/terraform/google/gke/adapt.go +++ b/pkg/iac/adapters/terraform/google/gke/adapt.go @@ -4,9 +4,9 @@ import ( "github.com/google/uuid" "github.com/zclconf/go-cty/cty" - "github.com/aquasecurity/defsec/pkg/providers/google/gke" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/gke" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) gke.GKE { @@ -53,54 +53,54 @@ func (a *adapter) adaptCluster(resource *terraform.Block, module *terraform.Modu NodePools: nil, IPAllocationPolicy: gke.IPAllocationPolicy{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, MasterAuthorizedNetworks: gke.MasterAuthorizedNetworks{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), - CIDRs: []defsecTypes.StringValue{}, + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), + CIDRs: []iacTypes.StringValue{}, }, NetworkPolicy: gke.NetworkPolicy{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, DatapathProvider: resource.GetAttribute("datapath_provider"). AsStringValueOrDefault("DATAPATH_PROVIDER_UNSPECIFIED", resource), PrivateCluster: gke.PrivateCluster{ Metadata: resource.GetMetadata(), - EnablePrivateNodes: defsecTypes.BoolDefault(false, resource.GetMetadata()), + EnablePrivateNodes: iacTypes.BoolDefault(false, resource.GetMetadata()), }, - LoggingService: defsecTypes.StringDefault("logging.googleapis.com/kubernetes", resource.GetMetadata()), - MonitoringService: defsecTypes.StringDefault("monitoring.googleapis.com/kubernetes", resource.GetMetadata()), + LoggingService: iacTypes.StringDefault("logging.googleapis.com/kubernetes", resource.GetMetadata()), + MonitoringService: iacTypes.StringDefault("monitoring.googleapis.com/kubernetes", resource.GetMetadata()), MasterAuth: gke.MasterAuth{ Metadata: resource.GetMetadata(), ClientCertificate: gke.ClientCertificate{ Metadata: resource.GetMetadata(), - IssueCertificate: defsecTypes.BoolDefault(false, resource.GetMetadata()), + IssueCertificate: iacTypes.BoolDefault(false, resource.GetMetadata()), }, - Username: defsecTypes.StringDefault("", resource.GetMetadata()), - Password: defsecTypes.StringDefault("", resource.GetMetadata()), + Username: iacTypes.StringDefault("", resource.GetMetadata()), + Password: iacTypes.StringDefault("", resource.GetMetadata()), }, NodeConfig: gke.NodeConfig{ Metadata: resource.GetMetadata(), - ImageType: defsecTypes.StringDefault("", resource.GetMetadata()), + ImageType: iacTypes.StringDefault("", resource.GetMetadata()), WorkloadMetadataConfig: gke.WorkloadMetadataConfig{ Metadata: resource.GetMetadata(), - NodeMetadata: defsecTypes.StringDefault("", resource.GetMetadata()), + NodeMetadata: iacTypes.StringDefault("", resource.GetMetadata()), }, - ServiceAccount: defsecTypes.StringDefault("", resource.GetMetadata()), - EnableLegacyEndpoints: defsecTypes.BoolDefault(true, resource.GetMetadata()), + ServiceAccount: iacTypes.StringDefault("", resource.GetMetadata()), + EnableLegacyEndpoints: iacTypes.BoolDefault(true, resource.GetMetadata()), }, - EnableShieldedNodes: defsecTypes.BoolDefault(true, resource.GetMetadata()), - EnableLegacyABAC: defsecTypes.BoolDefault(false, resource.GetMetadata()), - ResourceLabels: defsecTypes.MapDefault(make(map[string]string), resource.GetMetadata()), - RemoveDefaultNodePool: defsecTypes.BoolDefault(false, resource.GetMetadata()), - EnableAutpilot: defsecTypes.BoolDefault(false, resource.GetMetadata()), + EnableShieldedNodes: iacTypes.BoolDefault(true, resource.GetMetadata()), + EnableLegacyABAC: iacTypes.BoolDefault(false, resource.GetMetadata()), + ResourceLabels: iacTypes.MapDefault(make(map[string]string), resource.GetMetadata()), + RemoveDefaultNodePool: iacTypes.BoolDefault(false, resource.GetMetadata()), + EnableAutpilot: iacTypes.BoolDefault(false, resource.GetMetadata()), } if allocBlock := resource.GetBlock("ip_allocation_policy"); allocBlock.IsNotNil() { cluster.IPAllocationPolicy.Metadata = allocBlock.GetMetadata() - cluster.IPAllocationPolicy.Enabled = defsecTypes.Bool(true, allocBlock.GetMetadata()) + cluster.IPAllocationPolicy.Enabled = iacTypes.Bool(true, allocBlock.GetMetadata()) } if blocks := resource.GetBlocks("master_authorized_networks_config"); len(blocks) > 0 { @@ -161,19 +161,19 @@ func (a *adapter) adaptNodePools() { func (a *adapter) adaptNodePool(resource *terraform.Block) { nodeConfig := gke.NodeConfig{ Metadata: resource.GetMetadata(), - ImageType: defsecTypes.StringDefault("", resource.GetMetadata()), + ImageType: iacTypes.StringDefault("", resource.GetMetadata()), WorkloadMetadataConfig: gke.WorkloadMetadataConfig{ Metadata: resource.GetMetadata(), - NodeMetadata: defsecTypes.StringDefault("", resource.GetMetadata()), + NodeMetadata: iacTypes.StringDefault("", resource.GetMetadata()), }, - ServiceAccount: defsecTypes.StringDefault("", resource.GetMetadata()), - EnableLegacyEndpoints: defsecTypes.BoolDefault(true, resource.GetMetadata()), + ServiceAccount: iacTypes.StringDefault("", resource.GetMetadata()), + EnableLegacyEndpoints: iacTypes.BoolDefault(true, resource.GetMetadata()), } management := gke.Management{ Metadata: resource.GetMetadata(), - EnableAutoRepair: defsecTypes.BoolDefault(false, resource.GetMetadata()), - EnableAutoUpgrade: defsecTypes.BoolDefault(false, resource.GetMetadata()), + EnableAutoRepair: iacTypes.BoolDefault(false, resource.GetMetadata()), + EnableAutoUpgrade: iacTypes.BoolDefault(false, resource.GetMetadata()), } if resource.HasChild("management") { @@ -209,51 +209,51 @@ func (a *adapter) adaptNodePool(resource *terraform.Block) { // we didn't find a cluster to put the nodepool in, so create a placeholder a.clusterMap[uuid.NewString()] = gke.Cluster{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), NodePools: []gke.NodePool{nodePool}, IPAllocationPolicy: gke.IPAllocationPolicy{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Enabled: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Enabled: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), }, MasterAuthorizedNetworks: gke.MasterAuthorizedNetworks{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Enabled: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Enabled: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), CIDRs: nil, }, NetworkPolicy: gke.NetworkPolicy{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Enabled: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Enabled: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), }, PrivateCluster: gke.PrivateCluster{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - EnablePrivateNodes: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + EnablePrivateNodes: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), }, - LoggingService: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - MonitoringService: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + LoggingService: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + MonitoringService: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), MasterAuth: gke.MasterAuth{ - Metadata: defsecTypes.NewUnmanagedMetadata(), + Metadata: iacTypes.NewUnmanagedMetadata(), ClientCertificate: gke.ClientCertificate{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - IssueCertificate: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + IssueCertificate: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), }, - Username: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - Password: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Username: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + Password: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), }, NodeConfig: gke.NodeConfig{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - ImageType: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + ImageType: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), WorkloadMetadataConfig: gke.WorkloadMetadataConfig{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - NodeMetadata: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + NodeMetadata: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), }, - ServiceAccount: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - EnableLegacyEndpoints: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + ServiceAccount: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + EnableLegacyEndpoints: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), }, - EnableShieldedNodes: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - EnableLegacyABAC: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - ResourceLabels: defsecTypes.MapDefault(nil, defsecTypes.NewUnmanagedMetadata()), - RemoveDefaultNodePool: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), - EnableAutpilot: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + EnableShieldedNodes: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + EnableLegacyABAC: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + ResourceLabels: iacTypes.MapDefault(nil, iacTypes.NewUnmanagedMetadata()), + RemoveDefaultNodePool: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), + EnableAutpilot: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), } } @@ -264,16 +264,16 @@ func adaptNodeConfig(resource *terraform.Block) gke.NodeConfig { ImageType: resource.GetAttribute("image_type").AsStringValueOrDefault("", resource), WorkloadMetadataConfig: gke.WorkloadMetadataConfig{ Metadata: resource.GetMetadata(), - NodeMetadata: defsecTypes.StringDefault("UNSPECIFIED", resource.GetMetadata()), + NodeMetadata: iacTypes.StringDefault("UNSPECIFIED", resource.GetMetadata()), }, ServiceAccount: resource.GetAttribute("service_account").AsStringValueOrDefault("", resource), - EnableLegacyEndpoints: defsecTypes.BoolDefault(true, resource.GetMetadata()), + EnableLegacyEndpoints: iacTypes.BoolDefault(true, resource.GetMetadata()), } if metadata := resource.GetAttribute("metadata"); metadata.IsNotNil() { legacyMetadata := metadata.MapValue("disable-legacy-endpoints") if legacyMetadata.IsWhollyKnown() && legacyMetadata.Type() == cty.Bool { - config.EnableLegacyEndpoints = defsecTypes.Bool(legacyMetadata.False(), metadata.GetMetadata()) + config.EnableLegacyEndpoints = iacTypes.Bool(legacyMetadata.False(), metadata.GetMetadata()) } } @@ -293,7 +293,7 @@ func adaptNodeConfig(resource *terraform.Block) gke.NodeConfig { func adaptMasterAuth(resource *terraform.Block) gke.MasterAuth { clientCert := gke.ClientCertificate{ Metadata: resource.GetMetadata(), - IssueCertificate: defsecTypes.BoolDefault(false, resource.GetMetadata()), + IssueCertificate: iacTypes.BoolDefault(false, resource.GetMetadata()), } if resource.HasChild("client_certificate_config") { @@ -314,7 +314,7 @@ func adaptMasterAuth(resource *terraform.Block) gke.MasterAuth { } func adaptMasterAuthNetworksAsBlocks(parent *terraform.Block, blocks terraform.Blocks) gke.MasterAuthorizedNetworks { - var cidrs []defsecTypes.StringValue + var cidrs []iacTypes.StringValue for _, block := range blocks { for _, cidrBlock := range block.GetBlocks("cidr_blocks") { if cidrAttr := cidrBlock.GetAttribute("cidr_block"); cidrAttr.IsNotNil() { @@ -322,7 +322,7 @@ func adaptMasterAuthNetworksAsBlocks(parent *terraform.Block, blocks terraform.B } } } - enabled := defsecTypes.Bool(true, blocks[0].GetMetadata()) + enabled := iacTypes.Bool(true, blocks[0].GetMetadata()) return gke.MasterAuthorizedNetworks{ Metadata: blocks[0].GetMetadata(), Enabled: enabled, diff --git a/pkg/iac/adapters/terraform/google/gke/adapt_test.go b/pkg/iac/adapters/terraform/google/gke/adapt_test.go index 327bbfda74d6..f45cdc24b2fb 100644 --- a/pkg/iac/adapters/terraform/google/gke/adapt_test.go +++ b/pkg/iac/adapters/terraform/google/gke/adapt_test.go @@ -3,11 +3,11 @@ package gke import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/gke" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/gke" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -102,75 +102,75 @@ resource "google_container_node_pool" "primary_preemptible_nodes" { expected: gke.GKE{ Clusters: []gke.Cluster{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), NodeConfig: gke.NodeConfig{ - Metadata: defsecTypes.NewTestMetadata(), - ImageType: defsecTypes.String("COS_CONTAINERD", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ImageType: iacTypes.String("COS_CONTAINERD", iacTypes.NewTestMetadata()), WorkloadMetadataConfig: gke.WorkloadMetadataConfig{ - Metadata: defsecTypes.NewTestMetadata(), - NodeMetadata: defsecTypes.String("GCE_METADATA", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NodeMetadata: iacTypes.String("GCE_METADATA", iacTypes.NewTestMetadata()), }, - ServiceAccount: defsecTypes.String("", defsecTypes.NewTestMetadata()), - EnableLegacyEndpoints: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + ServiceAccount: iacTypes.String("", iacTypes.NewTestMetadata()), + EnableLegacyEndpoints: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, NodePools: []gke.NodePool{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Management: gke.Management{ - Metadata: defsecTypes.NewTestMetadata(), - EnableAutoRepair: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - EnableAutoUpgrade: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnableAutoRepair: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + EnableAutoUpgrade: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, NodeConfig: gke.NodeConfig{ - Metadata: defsecTypes.NewTestMetadata(), - ImageType: defsecTypes.String("COS_CONTAINERD", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ImageType: iacTypes.String("COS_CONTAINERD", iacTypes.NewTestMetadata()), WorkloadMetadataConfig: gke.WorkloadMetadataConfig{ - Metadata: defsecTypes.NewTestMetadata(), - NodeMetadata: defsecTypes.String("GCE_METADATA", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NodeMetadata: iacTypes.String("GCE_METADATA", iacTypes.NewTestMetadata()), }, - ServiceAccount: defsecTypes.String("", defsecTypes.NewTestMetadata()), - EnableLegacyEndpoints: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + ServiceAccount: iacTypes.String("", iacTypes.NewTestMetadata()), + EnableLegacyEndpoints: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, IPAllocationPolicy: gke.IPAllocationPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, MasterAuthorizedNetworks: gke.MasterAuthorizedNetworks{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{ - defsecTypes.String("10.10.128.0/24", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("10.10.128.0/24", iacTypes.NewTestMetadata()), }, }, NetworkPolicy: gke.NetworkPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, - DatapathProvider: defsecTypes.String("ADVANCED_DATAPATH", defsecTypes.NewTestMetadata()), + DatapathProvider: iacTypes.String("ADVANCED_DATAPATH", iacTypes.NewTestMetadata()), PrivateCluster: gke.PrivateCluster{ - Metadata: defsecTypes.NewTestMetadata(), - EnablePrivateNodes: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnablePrivateNodes: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, - LoggingService: defsecTypes.String("logging.googleapis.com/kubernetes", defsecTypes.NewTestMetadata()), - MonitoringService: defsecTypes.String("monitoring.googleapis.com/kubernetes", defsecTypes.NewTestMetadata()), + LoggingService: iacTypes.String("logging.googleapis.com/kubernetes", iacTypes.NewTestMetadata()), + MonitoringService: iacTypes.String("monitoring.googleapis.com/kubernetes", iacTypes.NewTestMetadata()), MasterAuth: gke.MasterAuth{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), ClientCertificate: gke.ClientCertificate{ - Metadata: defsecTypes.NewTestMetadata(), - IssueCertificate: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + IssueCertificate: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, - Username: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Password: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Username: iacTypes.String("", iacTypes.NewTestMetadata()), + Password: iacTypes.String("", iacTypes.NewTestMetadata()), }, - EnableShieldedNodes: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - EnableLegacyABAC: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - ResourceLabels: defsecTypes.Map(map[string]string{ + EnableShieldedNodes: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + EnableLegacyABAC: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + ResourceLabels: iacTypes.Map(map[string]string{ "env": "staging", - }, defsecTypes.NewTestMetadata()), - RemoveDefaultNodePool: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - EnableAutpilot: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + }, iacTypes.NewTestMetadata()), + RemoveDefaultNodePool: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + EnableAutpilot: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, @@ -194,51 +194,51 @@ resource "google_container_cluster" "example" { expected: gke.GKE{ Clusters: []gke.Cluster{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), NodeConfig: gke.NodeConfig{ - Metadata: defsecTypes.NewTestMetadata(), - ImageType: defsecTypes.String("COS", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + ImageType: iacTypes.String("COS", iacTypes.NewTestMetadata()), WorkloadMetadataConfig: gke.WorkloadMetadataConfig{ - Metadata: defsecTypes.NewTestMetadata(), - NodeMetadata: defsecTypes.String("GCE_METADATA", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NodeMetadata: iacTypes.String("GCE_METADATA", iacTypes.NewTestMetadata()), }, - ServiceAccount: defsecTypes.String("service-account", defsecTypes.NewTestMetadata()), - EnableLegacyEndpoints: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + ServiceAccount: iacTypes.String("service-account", iacTypes.NewTestMetadata()), + EnableLegacyEndpoints: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, IPAllocationPolicy: gke.IPAllocationPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, MasterAuthorizedNetworks: gke.MasterAuthorizedNetworks{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{}, + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{}, }, NetworkPolicy: gke.NetworkPolicy{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, - DatapathProvider: defsecTypes.StringDefault("DATAPATH_PROVIDER_UNSPECIFIED", defsecTypes.NewTestMetadata()), + DatapathProvider: iacTypes.StringDefault("DATAPATH_PROVIDER_UNSPECIFIED", iacTypes.NewTestMetadata()), PrivateCluster: gke.PrivateCluster{ - Metadata: defsecTypes.NewTestMetadata(), - EnablePrivateNodes: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + EnablePrivateNodes: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, - LoggingService: defsecTypes.String("logging.googleapis.com/kubernetes", defsecTypes.NewTestMetadata()), - MonitoringService: defsecTypes.String("monitoring.googleapis.com/kubernetes", defsecTypes.NewTestMetadata()), + LoggingService: iacTypes.String("logging.googleapis.com/kubernetes", iacTypes.NewTestMetadata()), + MonitoringService: iacTypes.String("monitoring.googleapis.com/kubernetes", iacTypes.NewTestMetadata()), MasterAuth: gke.MasterAuth{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), ClientCertificate: gke.ClientCertificate{ - Metadata: defsecTypes.NewTestMetadata(), - IssueCertificate: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + IssueCertificate: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, - Username: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Password: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Username: iacTypes.String("", iacTypes.NewTestMetadata()), + Password: iacTypes.String("", iacTypes.NewTestMetadata()), }, - EnableShieldedNodes: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - EnableLegacyABAC: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - ResourceLabels: defsecTypes.Map(map[string]string{}, defsecTypes.NewTestMetadata()), - RemoveDefaultNodePool: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + EnableShieldedNodes: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + EnableLegacyABAC: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + ResourceLabels: iacTypes.Map(map[string]string{}, iacTypes.NewTestMetadata()), + RemoveDefaultNodePool: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/iam/adapt.go b/pkg/iac/adapters/terraform/google/iam/adapt.go index 5c532879348c..4bc8014e14e8 100644 --- a/pkg/iac/adapters/terraform/google/iam/adapt.go +++ b/pkg/iac/adapters/terraform/google/iam/adapt.go @@ -3,9 +3,9 @@ package iam import ( "github.com/google/uuid" - "github.com/aquasecurity/defsec/pkg/providers/google/iam" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) iam.IAM { diff --git a/pkg/iac/adapters/terraform/google/iam/adapt_test.go b/pkg/iac/adapters/terraform/google/iam/adapt_test.go index 7ee4fdcfc81c..8297d83a5335 100644 --- a/pkg/iac/adapters/terraform/google/iam/adapt_test.go +++ b/pkg/iac/adapters/terraform/google/iam/adapt_test.go @@ -3,11 +3,11 @@ package iam import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -75,64 +75,64 @@ func Test_Adapt(t *testing.T) { expected: iam.IAM{ Organizations: []iam.Organization{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Projects: []iam.Project{ { - Metadata: defsecTypes.NewTestMetadata(), - AutoCreateNetwork: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + AutoCreateNetwork: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, Folders: []iam.Folder{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Members: []iam.Member{ { - Metadata: defsecTypes.NewTestMetadata(), - Member: defsecTypes.String("user:alice@gmail.com", defsecTypes.NewTestMetadata()), - Role: defsecTypes.String("roles/editor", defsecTypes.NewTestMetadata()), - DefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Member: iacTypes.String("user:alice@gmail.com", iacTypes.NewTestMetadata()), + Role: iacTypes.String("roles/editor", iacTypes.NewTestMetadata()), + DefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, Bindings: []iam.Binding{ { - Metadata: defsecTypes.NewTestMetadata(), - Members: []defsecTypes.StringValue{ - defsecTypes.String("user:not-alice@gmail.com", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Members: []iacTypes.StringValue{ + iacTypes.String("user:not-alice@gmail.com", iacTypes.NewTestMetadata()), }, - Role: defsecTypes.String("roles/nothing", defsecTypes.NewTestMetadata()), - IncludesDefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Role: iacTypes.String("roles/nothing", iacTypes.NewTestMetadata()), + IncludesDefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, }, Members: []iam.Member{ { - Metadata: defsecTypes.NewTestMetadata(), - Member: defsecTypes.String("user:member@gmail.com", defsecTypes.NewTestMetadata()), - Role: defsecTypes.String("roles/whatever", defsecTypes.NewTestMetadata()), - DefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Member: iacTypes.String("user:member@gmail.com", iacTypes.NewTestMetadata()), + Role: iacTypes.String("roles/whatever", iacTypes.NewTestMetadata()), + DefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, Bindings: []iam.Binding{ { - Metadata: defsecTypes.NewTestMetadata(), - Members: []defsecTypes.StringValue{ - defsecTypes.String("user:member_2@gmail.com", defsecTypes.NewTestMetadata())}, - Role: defsecTypes.String("roles/browser", defsecTypes.NewTestMetadata()), - IncludesDefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Members: []iacTypes.StringValue{ + iacTypes.String("user:member_2@gmail.com", iacTypes.NewTestMetadata())}, + Role: iacTypes.String("roles/browser", iacTypes.NewTestMetadata()), + IncludesDefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, }, }, WorkloadIdentityPoolProviders: []iam.WorkloadIdentityPoolProvider{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), - WorkloadIdentityPoolId: defsecTypes.String("example-pool", defsecTypes.NewTestMetadata()), - WorkloadIdentityPoolProviderId: defsecTypes.String("example-provider", defsecTypes.NewTestMetadata()), - AttributeCondition: defsecTypes.String("assertion.repository_owner=='your-github-organization'", defsecTypes.NewTestMetadata()), + WorkloadIdentityPoolId: iacTypes.String("example-pool", iacTypes.NewTestMetadata()), + WorkloadIdentityPoolProviderId: iacTypes.String("example-provider", iacTypes.NewTestMetadata()), + AttributeCondition: iacTypes.String("assertion.repository_owner=='your-github-organization'", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/iam/convert.go b/pkg/iac/adapters/terraform/google/iam/convert.go index f364f02a8f9c..0bf31b41b223 100644 --- a/pkg/iac/adapters/terraform/google/iam/convert.go +++ b/pkg/iac/adapters/terraform/google/iam/convert.go @@ -1,9 +1,9 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/google/iam" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func ParsePolicyBlock(block *terraform.Block) []iam.Binding { @@ -13,12 +13,12 @@ func ParsePolicyBlock(block *terraform.Block) []iam.Binding { Metadata: bindingBlock.GetMetadata(), Members: nil, Role: bindingBlock.GetAttribute("role").AsStringValueOrDefault("", bindingBlock), - IncludesDefaultServiceAccount: defsecTypes.BoolDefault(false, bindingBlock.GetMetadata()), + IncludesDefaultServiceAccount: iacTypes.BoolDefault(false, bindingBlock.GetMetadata()), } membersAttr := bindingBlock.GetAttribute("members") members := membersAttr.AsStringValues().AsStrings() for _, member := range members { - binding.Members = append(binding.Members, defsecTypes.String(member, membersAttr.GetMetadata())) + binding.Members = append(binding.Members, iacTypes.String(member, membersAttr.GetMetadata())) } bindings = append(bindings, binding) } diff --git a/pkg/iac/adapters/terraform/google/iam/folder_iam.go b/pkg/iac/adapters/terraform/google/iam/folder_iam.go index 0681166ac7c1..eccdef2c638c 100644 --- a/pkg/iac/adapters/terraform/google/iam/folder_iam.go +++ b/pkg/iac/adapters/terraform/google/iam/folder_iam.go @@ -1,8 +1,8 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/google/iam" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/types" ) // see https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_folder_iam diff --git a/pkg/iac/adapters/terraform/google/iam/folders.go b/pkg/iac/adapters/terraform/google/iam/folders.go index af574310a4c3..1091f625dc0a 100644 --- a/pkg/iac/adapters/terraform/google/iam/folders.go +++ b/pkg/iac/adapters/terraform/google/iam/folders.go @@ -1,7 +1,7 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" ) const GoogleOrganization = "google_organization" diff --git a/pkg/iac/adapters/terraform/google/iam/org_iam.go b/pkg/iac/adapters/terraform/google/iam/org_iam.go index c2f97a01905e..8ce88053a2f1 100644 --- a/pkg/iac/adapters/terraform/google/iam/org_iam.go +++ b/pkg/iac/adapters/terraform/google/iam/org_iam.go @@ -3,8 +3,8 @@ package iam import ( "github.com/google/uuid" - "github.com/aquasecurity/defsec/pkg/providers/google/iam" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/types" ) // see https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_organization_iam diff --git a/pkg/iac/adapters/terraform/google/iam/project_iam.go b/pkg/iac/adapters/terraform/google/iam/project_iam.go index bc2941904aa2..a3f670ee3be3 100644 --- a/pkg/iac/adapters/terraform/google/iam/project_iam.go +++ b/pkg/iac/adapters/terraform/google/iam/project_iam.go @@ -3,9 +3,9 @@ package iam import ( "strings" - "github.com/aquasecurity/defsec/pkg/providers/google/iam" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) // see https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_project_iam @@ -26,13 +26,13 @@ func AdaptMember(iamBlock *terraform.Block, modules terraform.Modules) iam.Membe Metadata: iamBlock.GetMetadata(), Member: iamBlock.GetAttribute("member").AsStringValueOrDefault("", iamBlock), Role: iamBlock.GetAttribute("role").AsStringValueOrDefault("", iamBlock), - DefaultServiceAccount: defsecTypes.BoolDefault(false, iamBlock.GetMetadata()), + DefaultServiceAccount: iacTypes.BoolDefault(false, iamBlock.GetMetadata()), } memberAttr := iamBlock.GetAttribute("member") if referencedBlock, err := modules.GetReferencedBlock(memberAttr, iamBlock); err == nil { if strings.HasSuffix(referencedBlock.TypeLabel(), "_default_service_account") { - member.DefaultServiceAccount = defsecTypes.Bool(true, memberAttr.GetMetadata()) + member.DefaultServiceAccount = iacTypes.Bool(true, memberAttr.GetMetadata()) } } @@ -110,8 +110,8 @@ func (a *adapter) adaptProjectMembers() { a.projects = append(a.projects, parentedProject{ project: iam.Project{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - AutoCreateNetwork: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + AutoCreateNetwork: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), Members: []iam.Member{member}, Bindings: nil, }, @@ -129,16 +129,16 @@ func AdaptBinding(iamBlock *terraform.Block, modules terraform.Modules) iam.Bind Metadata: iamBlock.GetMetadata(), Members: nil, Role: iamBlock.GetAttribute("role").AsStringValueOrDefault("", iamBlock), - IncludesDefaultServiceAccount: defsecTypes.BoolDefault(false, iamBlock.GetMetadata()), + IncludesDefaultServiceAccount: iacTypes.BoolDefault(false, iamBlock.GetMetadata()), } membersAttr := iamBlock.GetAttribute("members") members := membersAttr.AsStringValues().AsStrings() for _, member := range members { - binding.Members = append(binding.Members, defsecTypes.String(member, membersAttr.GetMetadata())) + binding.Members = append(binding.Members, iacTypes.String(member, membersAttr.GetMetadata())) } if referencedBlock, err := modules.GetReferencedBlock(membersAttr, iamBlock); err == nil { if strings.HasSuffix(referencedBlock.TypeLabel(), "_default_service_account") { - binding.IncludesDefaultServiceAccount = defsecTypes.Bool(true, membersAttr.GetMetadata()) + binding.IncludesDefaultServiceAccount = iacTypes.Bool(true, membersAttr.GetMetadata()) } } return binding @@ -209,8 +209,8 @@ func (a *adapter) adaptProjectDataBindings() { // we didn't find the project - add an unmanaged one a.projects = append(a.projects, parentedProject{ project: iam.Project{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - AutoCreateNetwork: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + AutoCreateNetwork: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), Members: nil, Bindings: bindings, }, @@ -276,8 +276,8 @@ func (a *adapter) adaptProjectBindings() { } a.projects = append(a.projects, parentedProject{ project: iam.Project{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - AutoCreateNetwork: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + AutoCreateNetwork: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), Members: nil, Bindings: []iam.Binding{binding}, }, diff --git a/pkg/iac/adapters/terraform/google/iam/project_iam_test.go b/pkg/iac/adapters/terraform/google/iam/project_iam_test.go index c7f0247285e2..fc2803c2dc4a 100644 --- a/pkg/iac/adapters/terraform/google/iam/project_iam_test.go +++ b/pkg/iac/adapters/terraform/google/iam/project_iam_test.go @@ -3,11 +3,11 @@ package iam import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" ) func Test_AdaptBinding(t *testing.T) { @@ -28,11 +28,11 @@ func Test_AdaptBinding(t *testing.T) { ] }`, expected: iam.Binding{ - Metadata: defsecTypes.NewTestMetadata(), - Members: []defsecTypes.StringValue{ - defsecTypes.String("user:alice@gmail.com", defsecTypes.NewTestMetadata())}, - Role: defsecTypes.String("roles/browser", defsecTypes.NewTestMetadata()), - IncludesDefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Members: []iacTypes.StringValue{ + iacTypes.String("user:alice@gmail.com", iacTypes.NewTestMetadata())}, + Role: iacTypes.String("roles/browser", iacTypes.NewTestMetadata()), + IncludesDefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, { @@ -41,9 +41,9 @@ func Test_AdaptBinding(t *testing.T) { resource "google_organization_iam_binding" "binding" { }`, expected: iam.Binding{ - Metadata: defsecTypes.NewTestMetadata(), - Role: defsecTypes.String("", defsecTypes.NewTestMetadata()), - IncludesDefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Role: iacTypes.String("", iacTypes.NewTestMetadata()), + IncludesDefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, } diff --git a/pkg/iac/adapters/terraform/google/iam/projects.go b/pkg/iac/adapters/terraform/google/iam/projects.go index 86e2fdbc2287..f77ded00f3cc 100644 --- a/pkg/iac/adapters/terraform/google/iam/projects.go +++ b/pkg/iac/adapters/terraform/google/iam/projects.go @@ -1,7 +1,7 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" ) type parentedProject struct { diff --git a/pkg/iac/adapters/terraform/google/iam/workload_identity_pool_providers.go b/pkg/iac/adapters/terraform/google/iam/workload_identity_pool_providers.go index 70d68511ad70..242c3a09b907 100644 --- a/pkg/iac/adapters/terraform/google/iam/workload_identity_pool_providers.go +++ b/pkg/iac/adapters/terraform/google/iam/workload_identity_pool_providers.go @@ -1,7 +1,7 @@ package iam import ( - "github.com/aquasecurity/defsec/pkg/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" ) // See https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/iam_workload_identity_pool_provider diff --git a/pkg/iac/adapters/terraform/google/kms/adapt.go b/pkg/iac/adapters/terraform/google/kms/adapt.go index 10d46ecf1a48..564fcd6cb365 100644 --- a/pkg/iac/adapters/terraform/google/kms/adapt.go +++ b/pkg/iac/adapters/terraform/google/kms/adapt.go @@ -3,9 +3,9 @@ package kms import ( "strconv" - "github.com/aquasecurity/defsec/pkg/providers/google/kms" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/kms" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) kms.KMS { diff --git a/pkg/iac/adapters/terraform/google/kms/adapt_test.go b/pkg/iac/adapters/terraform/google/kms/adapt_test.go index fc50af2c6fc1..c6025dc86f1e 100644 --- a/pkg/iac/adapters/terraform/google/kms/adapt_test.go +++ b/pkg/iac/adapters/terraform/google/kms/adapt_test.go @@ -3,11 +3,11 @@ package kms import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/kms" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/kms" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -34,11 +34,11 @@ func Test_adaptKeyRings(t *testing.T) { `, expected: []kms.KeyRing{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Keys: []kms.Key{ { - Metadata: defsecTypes.NewTestMetadata(), - RotationPeriodSeconds: defsecTypes.Int(7776000, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + RotationPeriodSeconds: iacTypes.Int(7776000, iacTypes.NewTestMetadata()), }, }, }, @@ -54,7 +54,7 @@ func Test_adaptKeyRings(t *testing.T) { `, expected: []kms.KeyRing{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), }, }, }, @@ -72,11 +72,11 @@ func Test_adaptKeyRings(t *testing.T) { `, expected: []kms.KeyRing{ { - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Keys: []kms.Key{ { - Metadata: defsecTypes.NewTestMetadata(), - RotationPeriodSeconds: defsecTypes.Int(-1, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + RotationPeriodSeconds: iacTypes.Int(-1, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/sql/adapt.go b/pkg/iac/adapters/terraform/google/sql/adapt.go index 7f00b717c266..6418942384d4 100644 --- a/pkg/iac/adapters/terraform/google/sql/adapt.go +++ b/pkg/iac/adapters/terraform/google/sql/adapt.go @@ -3,9 +3,9 @@ package sql import ( "strconv" - "github.com/aquasecurity/defsec/pkg/providers/google/sql" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/sql" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) sql.SQL { @@ -29,37 +29,37 @@ func adaptInstance(resource *terraform.Block) sql.DatabaseInstance { instance := sql.DatabaseInstance{ Metadata: resource.GetMetadata(), DatabaseVersion: resource.GetAttribute("database_version").AsStringValueOrDefault("", resource), - IsReplica: defsecTypes.BoolDefault(false, resource.GetMetadata()), + IsReplica: iacTypes.BoolDefault(false, resource.GetMetadata()), Settings: sql.Settings{ Metadata: resource.GetMetadata(), Flags: sql.Flags{ Metadata: resource.GetMetadata(), - LogTempFileSize: defsecTypes.IntDefault(-1, resource.GetMetadata()), - LocalInFile: defsecTypes.BoolDefault(false, resource.GetMetadata()), - ContainedDatabaseAuthentication: defsecTypes.BoolDefault(true, resource.GetMetadata()), - CrossDBOwnershipChaining: defsecTypes.BoolDefault(true, resource.GetMetadata()), - LogCheckpoints: defsecTypes.BoolDefault(false, resource.GetMetadata()), - LogConnections: defsecTypes.BoolDefault(false, resource.GetMetadata()), - LogDisconnections: defsecTypes.BoolDefault(false, resource.GetMetadata()), - LogLockWaits: defsecTypes.BoolDefault(false, resource.GetMetadata()), - LogMinMessages: defsecTypes.StringDefault("", resource.GetMetadata()), - LogMinDurationStatement: defsecTypes.IntDefault(-1, resource.GetMetadata()), + LogTempFileSize: iacTypes.IntDefault(-1, resource.GetMetadata()), + LocalInFile: iacTypes.BoolDefault(false, resource.GetMetadata()), + ContainedDatabaseAuthentication: iacTypes.BoolDefault(true, resource.GetMetadata()), + CrossDBOwnershipChaining: iacTypes.BoolDefault(true, resource.GetMetadata()), + LogCheckpoints: iacTypes.BoolDefault(false, resource.GetMetadata()), + LogConnections: iacTypes.BoolDefault(false, resource.GetMetadata()), + LogDisconnections: iacTypes.BoolDefault(false, resource.GetMetadata()), + LogLockWaits: iacTypes.BoolDefault(false, resource.GetMetadata()), + LogMinMessages: iacTypes.StringDefault("", resource.GetMetadata()), + LogMinDurationStatement: iacTypes.IntDefault(-1, resource.GetMetadata()), }, Backups: sql.Backups{ Metadata: resource.GetMetadata(), - Enabled: defsecTypes.BoolDefault(false, resource.GetMetadata()), + Enabled: iacTypes.BoolDefault(false, resource.GetMetadata()), }, IPConfiguration: sql.IPConfiguration{ Metadata: resource.GetMetadata(), - RequireTLS: defsecTypes.BoolDefault(false, resource.GetMetadata()), - EnableIPv4: defsecTypes.BoolDefault(true, resource.GetMetadata()), + RequireTLS: iacTypes.BoolDefault(false, resource.GetMetadata()), + EnableIPv4: iacTypes.BoolDefault(true, resource.GetMetadata()), AuthorizedNetworks: nil, }, }, } if attr := resource.GetAttribute("master_instance_name"); attr.IsNotNil() { - instance.IsReplica = defsecTypes.Bool(true, attr.GetMetadata()) + instance.IsReplica = iacTypes.Bool(true, attr.GetMetadata()) } if settingsBlock := resource.GetBlock("settings"); settingsBlock.IsNotNil() { @@ -93,36 +93,36 @@ func adaptFlags(resources terraform.Blocks, flags *sql.Flags) { switch nameAttr.Value().AsString() { case "log_temp_files": if logTempInt, err := strconv.Atoi(valueAttr.Value().AsString()); err == nil { - flags.LogTempFileSize = defsecTypes.Int(logTempInt, nameAttr.GetMetadata()) + flags.LogTempFileSize = iacTypes.Int(logTempInt, nameAttr.GetMetadata()) } case "log_min_messages": flags.LogMinMessages = valueAttr.AsStringValueOrDefault("", resource) case "log_min_duration_statement": if logMinDS, err := strconv.Atoi(valueAttr.Value().AsString()); err == nil { - flags.LogMinDurationStatement = defsecTypes.Int(logMinDS, nameAttr.GetMetadata()) + flags.LogMinDurationStatement = iacTypes.Int(logMinDS, nameAttr.GetMetadata()) } case "local_infile": - flags.LocalInFile = defsecTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) + flags.LocalInFile = iacTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) case "log_checkpoints": - flags.LogCheckpoints = defsecTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) + flags.LogCheckpoints = iacTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) case "log_connections": - flags.LogConnections = defsecTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) + flags.LogConnections = iacTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) case "log_disconnections": - flags.LogDisconnections = defsecTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) + flags.LogDisconnections = iacTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) case "log_lock_waits": - flags.LogLockWaits = defsecTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) + flags.LogLockWaits = iacTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) case "contained database authentication": - flags.ContainedDatabaseAuthentication = defsecTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) + flags.ContainedDatabaseAuthentication = iacTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) case "cross db ownership chaining": - flags.CrossDBOwnershipChaining = defsecTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) + flags.CrossDBOwnershipChaining = iacTypes.Bool(valueAttr.Equals("on"), valueAttr.GetMetadata()) } } } func adaptIPConfig(resource *terraform.Block) sql.IPConfiguration { var authorizedNetworks []struct { - Name defsecTypes.StringValue - CIDR defsecTypes.StringValue + Name iacTypes.StringValue + CIDR iacTypes.StringValue } tlsRequiredAttr := resource.GetAttribute("require_ssl") @@ -137,8 +137,8 @@ func adaptIPConfig(resource *terraform.Block) sql.IPConfiguration { cidrVal := authBlock.GetAttribute("value").AsStringValueOrDefault("", authBlock) authorizedNetworks = append(authorizedNetworks, struct { - Name defsecTypes.StringValue - CIDR defsecTypes.StringValue + Name iacTypes.StringValue + CIDR iacTypes.StringValue }{ Name: nameVal, CIDR: cidrVal, diff --git a/pkg/iac/adapters/terraform/google/sql/adapt_test.go b/pkg/iac/adapters/terraform/google/sql/adapt_test.go index fa12a3e70a29..a31f649ffe99 100644 --- a/pkg/iac/adapters/terraform/google/sql/adapt_test.go +++ b/pkg/iac/adapters/terraform/google/sql/adapt_test.go @@ -3,11 +3,11 @@ package sql import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/sql" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/sql" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -42,39 +42,39 @@ func Test_Adapt(t *testing.T) { expected: sql.SQL{ Instances: []sql.DatabaseInstance{ { - Metadata: defsecTypes.NewTestMetadata(), - IsReplica: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - DatabaseVersion: defsecTypes.String("POSTGRES_12", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + IsReplica: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + DatabaseVersion: iacTypes.String("POSTGRES_12", iacTypes.NewTestMetadata()), Settings: sql.Settings{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Backups: sql.Backups{ - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Flags: sql.Flags{ - Metadata: defsecTypes.NewTestMetadata(), - LogMinDurationStatement: defsecTypes.Int(-1, defsecTypes.NewTestMetadata()), - ContainedDatabaseAuthentication: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - CrossDBOwnershipChaining: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - LocalInFile: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - LogCheckpoints: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - LogConnections: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - LogDisconnections: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - LogLockWaits: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - LogMinMessages: defsecTypes.String("", defsecTypes.NewTestMetadata()), - LogTempFileSize: defsecTypes.Int(-1, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + LogMinDurationStatement: iacTypes.Int(-1, iacTypes.NewTestMetadata()), + ContainedDatabaseAuthentication: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + CrossDBOwnershipChaining: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + LocalInFile: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + LogCheckpoints: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + LogConnections: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + LogDisconnections: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + LogLockWaits: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + LogMinMessages: iacTypes.String("", iacTypes.NewTestMetadata()), + LogTempFileSize: iacTypes.Int(-1, iacTypes.NewTestMetadata()), }, IPConfiguration: sql.IPConfiguration{ - Metadata: defsecTypes.NewTestMetadata(), - RequireTLS: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - EnableIPv4: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + RequireTLS: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + EnableIPv4: iacTypes.Bool(false, iacTypes.NewTestMetadata()), AuthorizedNetworks: []struct { - Name defsecTypes.StringValue - CIDR defsecTypes.StringValue + Name iacTypes.StringValue + CIDR iacTypes.StringValue }{ { - Name: defsecTypes.String("internal", defsecTypes.NewTestMetadata()), - CIDR: defsecTypes.String("108.12.12.0/24", defsecTypes.NewTestMetadata()), + Name: iacTypes.String("internal", iacTypes.NewTestMetadata()), + CIDR: iacTypes.String("108.12.12.0/24", iacTypes.NewTestMetadata()), }, }, }, @@ -145,28 +145,28 @@ resource "google_sql_database_instance" "backup_source_instance" { `, expected: []sql.DatabaseInstance{ { - Metadata: defsecTypes.NewTestMetadata(), - DatabaseVersion: defsecTypes.String("POSTGRES_11", defsecTypes.NewTestMetadata()), - IsReplica: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DatabaseVersion: iacTypes.String("POSTGRES_11", iacTypes.NewTestMetadata()), + IsReplica: iacTypes.Bool(false, iacTypes.NewTestMetadata()), Settings: sql.Settings{ Backups: sql.Backups{ - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, Flags: sql.Flags{ - LogConnections: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - LogTempFileSize: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), - LogCheckpoints: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - LogDisconnections: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - LogLockWaits: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - ContainedDatabaseAuthentication: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - CrossDBOwnershipChaining: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - LocalInFile: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - LogMinDurationStatement: defsecTypes.Int(-1, defsecTypes.NewTestMetadata()), - LogMinMessages: defsecTypes.String("", defsecTypes.NewTestMetadata()), + LogConnections: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + LogTempFileSize: iacTypes.Int(0, iacTypes.NewTestMetadata()), + LogCheckpoints: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + LogDisconnections: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + LogLockWaits: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + ContainedDatabaseAuthentication: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + CrossDBOwnershipChaining: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + LocalInFile: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + LogMinDurationStatement: iacTypes.Int(-1, iacTypes.NewTestMetadata()), + LogMinMessages: iacTypes.String("", iacTypes.NewTestMetadata()), }, IPConfiguration: sql.IPConfiguration{ - EnableIPv4: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), - RequireTLS: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + EnableIPv4: iacTypes.Bool(false, iacTypes.NewTestMetadata()), + RequireTLS: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/storage/adapt.go b/pkg/iac/adapters/terraform/google/storage/adapt.go index a927a0f6cd78..9fe918030151 100644 --- a/pkg/iac/adapters/terraform/google/storage/adapt.go +++ b/pkg/iac/adapters/terraform/google/storage/adapt.go @@ -1,9 +1,9 @@ package storage import ( - "github.com/aquasecurity/defsec/pkg/providers/google/storage" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/storage" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Adapt(modules terraform.Modules) storage.Storage { @@ -36,10 +36,10 @@ func (a *adapter) adaptBuckets() []storage.Bucket { } orphanage := storage.Bucket{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Name: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - Location: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - EnableUniformBucketLevelAccess: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Name: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + Location: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + EnableUniformBucketLevelAccess: iacTypes.BoolDefault(false, iacTypes.NewUnmanagedMetadata()), Members: nil, Bindings: nil, } @@ -87,7 +87,7 @@ func (a *adapter) adaptBucketResource(resourceBlock *terraform.Block) storage.Bu Bindings: nil, Encryption: storage.BucketEncryption{ Metadata: resourceBlock.GetMetadata(), - DefaultKMSKeyName: defsecTypes.StringDefault("", resourceBlock.GetMetadata()), + DefaultKMSKeyName: iacTypes.StringDefault("", resourceBlock.GetMetadata()), }, } diff --git a/pkg/iac/adapters/terraform/google/storage/adapt_test.go b/pkg/iac/adapters/terraform/google/storage/adapt_test.go index 2d486b0a44a6..fe7a82e62f9c 100644 --- a/pkg/iac/adapters/terraform/google/storage/adapt_test.go +++ b/pkg/iac/adapters/terraform/google/storage/adapt_test.go @@ -3,12 +3,12 @@ package storage import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/google/iam" - "github.com/aquasecurity/defsec/pkg/providers/google/storage" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/storage" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -48,31 +48,31 @@ func Test_Adapt(t *testing.T) { expected: storage.Storage{ Buckets: []storage.Bucket{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("image-store.com", defsecTypes.NewTestMetadata()), - Location: defsecTypes.String("EU", defsecTypes.NewTestMetadata()), - EnableUniformBucketLevelAccess: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("image-store.com", iacTypes.NewTestMetadata()), + Location: iacTypes.String("EU", iacTypes.NewTestMetadata()), + EnableUniformBucketLevelAccess: iacTypes.Bool(true, iacTypes.NewTestMetadata()), Bindings: []iam.Binding{ { - Metadata: defsecTypes.NewTestMetadata(), - Members: []defsecTypes.StringValue{ - defsecTypes.String("group:test@example.com", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Members: []iacTypes.StringValue{ + iacTypes.String("group:test@example.com", iacTypes.NewTestMetadata()), }, - Role: defsecTypes.String("roles/storage.admin #1", defsecTypes.NewTestMetadata()), - IncludesDefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Role: iacTypes.String("roles/storage.admin #1", iacTypes.NewTestMetadata()), + IncludesDefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, Members: []iam.Member{ { - Metadata: defsecTypes.NewTestMetadata(), - Member: defsecTypes.String("serviceAccount:test@example.com", defsecTypes.NewTestMetadata()), - Role: defsecTypes.String("roles/storage.admin #2", defsecTypes.NewTestMetadata()), - DefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Member: iacTypes.String("serviceAccount:test@example.com", iacTypes.NewTestMetadata()), + Role: iacTypes.String("roles/storage.admin #2", iacTypes.NewTestMetadata()), + DefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, Encryption: storage.BucketEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - DefaultKMSKeyName: defsecTypes.String("default-kms-key-name", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DefaultKMSKeyName: iacTypes.String("default-kms-key-name", iacTypes.NewTestMetadata()), }, }, }, @@ -94,28 +94,28 @@ func Test_Adapt(t *testing.T) { expected: storage.Storage{ Buckets: []storage.Bucket{ { - Metadata: defsecTypes.NewTestMetadata(), - Name: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Location: defsecTypes.String("", defsecTypes.NewTestMetadata()), - EnableUniformBucketLevelAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Name: iacTypes.String("", iacTypes.NewTestMetadata()), + Location: iacTypes.String("", iacTypes.NewTestMetadata()), + EnableUniformBucketLevelAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), Bindings: []iam.Binding{ { - Metadata: defsecTypes.NewTestMetadata(), - Role: defsecTypes.String("", defsecTypes.NewTestMetadata()), - IncludesDefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Role: iacTypes.String("", iacTypes.NewTestMetadata()), + IncludesDefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, Members: []iam.Member{ { - Metadata: defsecTypes.NewTestMetadata(), - Member: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Role: defsecTypes.String("", defsecTypes.NewTestMetadata()), - DefaultServiceAccount: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Member: iacTypes.String("", iacTypes.NewTestMetadata()), + Role: iacTypes.String("", iacTypes.NewTestMetadata()), + DefaultServiceAccount: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, Encryption: storage.BucketEncryption{ - Metadata: defsecTypes.NewTestMetadata(), - DefaultKMSKeyName: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + DefaultKMSKeyName: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/google/storage/iam.go b/pkg/iac/adapters/terraform/google/storage/iam.go index 55d1e928e6d4..be399304b168 100644 --- a/pkg/iac/adapters/terraform/google/storage/iam.go +++ b/pkg/iac/adapters/terraform/google/storage/iam.go @@ -1,8 +1,8 @@ package storage import ( - iamTypes "github.com/aquasecurity/defsec/pkg/providers/google/iam" iam2 "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/google/iam" + iamTypes "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" ) type parentedBinding struct { diff --git a/pkg/iac/adapters/terraform/kubernetes/adapt.go b/pkg/iac/adapters/terraform/kubernetes/adapt.go index ffe03ee5656c..52eed9db4052 100644 --- a/pkg/iac/adapters/terraform/kubernetes/adapt.go +++ b/pkg/iac/adapters/terraform/kubernetes/adapt.go @@ -4,8 +4,8 @@ import ( "regexp" "strings" - "github.com/aquasecurity/defsec/pkg/providers/kubernetes" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/kubernetes" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) var versionRegex = regexp.MustCompile(`^v\d+(beta\d+)?$`) diff --git a/pkg/iac/adapters/terraform/nifcloud/computing/adapt.go b/pkg/iac/adapters/terraform/nifcloud/computing/adapt.go index e58f4e2bb59e..399f492ba4e7 100644 --- a/pkg/iac/adapters/terraform/nifcloud/computing/adapt.go +++ b/pkg/iac/adapters/terraform/nifcloud/computing/adapt.go @@ -1,8 +1,8 @@ package computing import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/computing" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/computing" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) computing.Computing { diff --git a/pkg/iac/adapters/terraform/nifcloud/computing/instance.go b/pkg/iac/adapters/terraform/nifcloud/computing/instance.go index afb91e58f1fb..ebbce94439dd 100644 --- a/pkg/iac/adapters/terraform/nifcloud/computing/instance.go +++ b/pkg/iac/adapters/terraform/nifcloud/computing/instance.go @@ -1,8 +1,8 @@ package computing import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/computing" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/computing" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptInstances(modules terraform.Modules) []computing.Instance { diff --git a/pkg/iac/adapters/terraform/nifcloud/computing/instance_test.go b/pkg/iac/adapters/terraform/nifcloud/computing/instance_test.go index c017649e3904..8055681c1353 100644 --- a/pkg/iac/adapters/terraform/nifcloud/computing/instance_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/computing/instance_test.go @@ -3,11 +3,11 @@ package computing import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/computing" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/computing" ) func Test_adaptInstances(t *testing.T) { @@ -27,12 +27,12 @@ func Test_adaptInstances(t *testing.T) { } `, expected: []computing.Instance{{ - Metadata: defsecTypes.NewTestMetadata(), - SecurityGroup: defsecTypes.String("example-security-group", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecurityGroup: iacTypes.String("example-security-group", iacTypes.NewTestMetadata()), NetworkInterfaces: []computing.NetworkInterface{ { - Metadata: defsecTypes.NewTestMetadata(), - NetworkID: defsecTypes.String("net-COMMON_PRIVATE", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkID: iacTypes.String("net-COMMON_PRIVATE", iacTypes.NewTestMetadata()), }, }, }}, @@ -47,12 +47,12 @@ func Test_adaptInstances(t *testing.T) { `, expected: []computing.Instance{{ - Metadata: defsecTypes.NewTestMetadata(), - SecurityGroup: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecurityGroup: iacTypes.String("", iacTypes.NewTestMetadata()), NetworkInterfaces: []computing.NetworkInterface{ { - Metadata: defsecTypes.NewTestMetadata(), - NetworkID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkID: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }}, diff --git a/pkg/iac/adapters/terraform/nifcloud/computing/security_group.go b/pkg/iac/adapters/terraform/nifcloud/computing/security_group.go index 575a02dd5723..38699a6f2555 100644 --- a/pkg/iac/adapters/terraform/nifcloud/computing/security_group.go +++ b/pkg/iac/adapters/terraform/nifcloud/computing/security_group.go @@ -1,9 +1,9 @@ package computing import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/computing" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/computing" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) type sgAdapter struct { @@ -18,8 +18,8 @@ func (a *sgAdapter) adaptSecurityGroups(modules terraform.Modules) []computing.S orphanResources := modules.GetResourceByIDs(a.sgRuleIDs.Orphans()...) if len(orphanResources) > 0 { orphanage := computing.SecurityGroup{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Description: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Description: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), IngressRules: nil, } for _, sgRule := range orphanResources { diff --git a/pkg/iac/adapters/terraform/nifcloud/computing/security_group_test.go b/pkg/iac/adapters/terraform/nifcloud/computing/security_group_test.go index cd8767b0d606..250f99a96fdc 100644 --- a/pkg/iac/adapters/terraform/nifcloud/computing/security_group_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/computing/security_group_test.go @@ -3,11 +3,11 @@ package computing import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/computing" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/computing" ) func Test_adaptSecurityGroups(t *testing.T) { @@ -35,13 +35,13 @@ func Test_adaptSecurityGroups(t *testing.T) { } `, expected: []computing.SecurityGroup{{ - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("memo", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("memo", iacTypes.NewTestMetadata()), IngressRules: []computing.SecurityGroupRule{ { - Metadata: defsecTypes.NewTestMetadata(), - CIDR: defsecTypes.String("1.2.3.4/32", defsecTypes.NewTestMetadata()), - Description: defsecTypes.String("memo", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + CIDR: iacTypes.String("1.2.3.4/32", iacTypes.NewTestMetadata()), + Description: iacTypes.String("memo", iacTypes.NewTestMetadata()), }, }, }}, @@ -60,13 +60,13 @@ func Test_adaptSecurityGroups(t *testing.T) { `, expected: []computing.SecurityGroup{{ - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("", iacTypes.NewTestMetadata()), IngressRules: []computing.SecurityGroupRule{ { - Metadata: defsecTypes.NewTestMetadata(), - CIDR: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Description: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + CIDR: iacTypes.String("", iacTypes.NewTestMetadata()), + Description: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }}, diff --git a/pkg/iac/adapters/terraform/nifcloud/dns/adapt.go b/pkg/iac/adapters/terraform/nifcloud/dns/adapt.go index 5abe9697a8a7..c1118e98ef23 100644 --- a/pkg/iac/adapters/terraform/nifcloud/dns/adapt.go +++ b/pkg/iac/adapters/terraform/nifcloud/dns/adapt.go @@ -1,8 +1,8 @@ package dns import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/dns" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/dns" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) dns.DNS { diff --git a/pkg/iac/adapters/terraform/nifcloud/dns/record.go b/pkg/iac/adapters/terraform/nifcloud/dns/record.go index c0fdcc010a78..84e61889cac0 100644 --- a/pkg/iac/adapters/terraform/nifcloud/dns/record.go +++ b/pkg/iac/adapters/terraform/nifcloud/dns/record.go @@ -1,8 +1,8 @@ package dns import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/dns" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/dns" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptRecords(modules terraform.Modules) []dns.Record { diff --git a/pkg/iac/adapters/terraform/nifcloud/dns/record_test.go b/pkg/iac/adapters/terraform/nifcloud/dns/record_test.go index 16a5513c8c3b..75fd1c8d06bc 100644 --- a/pkg/iac/adapters/terraform/nifcloud/dns/record_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/dns/record_test.go @@ -3,10 +3,10 @@ package dns import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/dns" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/dns" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Test_adaptRecords(t *testing.T) { @@ -24,9 +24,9 @@ func Test_adaptRecords(t *testing.T) { } `, expected: []dns.Record{{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("A", defsecTypes.NewTestMetadata()), - Record: defsecTypes.String("example-record", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("A", iacTypes.NewTestMetadata()), + Record: iacTypes.String("example-record", iacTypes.NewTestMetadata()), }}, }, { @@ -37,9 +37,9 @@ func Test_adaptRecords(t *testing.T) { `, expected: []dns.Record{{ - Metadata: defsecTypes.NewTestMetadata(), - Type: defsecTypes.String("", defsecTypes.NewTestMetadata()), - Record: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Type: iacTypes.String("", iacTypes.NewTestMetadata()), + Record: iacTypes.String("", iacTypes.NewTestMetadata()), }}, }, } diff --git a/pkg/iac/adapters/terraform/nifcloud/nas/adapt.go b/pkg/iac/adapters/terraform/nifcloud/nas/adapt.go index 615eac7a8df6..c1b60fc551e2 100644 --- a/pkg/iac/adapters/terraform/nifcloud/nas/adapt.go +++ b/pkg/iac/adapters/terraform/nifcloud/nas/adapt.go @@ -1,8 +1,8 @@ package nas import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/nas" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/nas" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) nas.NAS { diff --git a/pkg/iac/adapters/terraform/nifcloud/nas/nas_instance.go b/pkg/iac/adapters/terraform/nifcloud/nas/nas_instance.go index e8558c5f42b5..e04024f0c4dd 100644 --- a/pkg/iac/adapters/terraform/nifcloud/nas/nas_instance.go +++ b/pkg/iac/adapters/terraform/nifcloud/nas/nas_instance.go @@ -1,8 +1,8 @@ package nas import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/nas" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/nas" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptNASInstances(modules terraform.Modules) []nas.NASInstance { diff --git a/pkg/iac/adapters/terraform/nifcloud/nas/nas_instance_test.go b/pkg/iac/adapters/terraform/nifcloud/nas/nas_instance_test.go index ab0ab4cbd52f..29e52ea65037 100644 --- a/pkg/iac/adapters/terraform/nifcloud/nas/nas_instance_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/nas/nas_instance_test.go @@ -3,11 +3,11 @@ package nas import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/nas" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/nas" ) func Test_adaptNASInstances(t *testing.T) { @@ -24,8 +24,8 @@ func Test_adaptNASInstances(t *testing.T) { } `, expected: []nas.NASInstance{{ - Metadata: defsecTypes.NewTestMetadata(), - NetworkID: defsecTypes.String("example-network", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkID: iacTypes.String("example-network", iacTypes.NewTestMetadata()), }}, }, { @@ -36,8 +36,8 @@ func Test_adaptNASInstances(t *testing.T) { `, expected: []nas.NASInstance{{ - Metadata: defsecTypes.NewTestMetadata(), - NetworkID: defsecTypes.String("net-COMMON_PRIVATE", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkID: iacTypes.String("net-COMMON_PRIVATE", iacTypes.NewTestMetadata()), }}, }, } diff --git a/pkg/iac/adapters/terraform/nifcloud/nas/nas_security_group.go b/pkg/iac/adapters/terraform/nifcloud/nas/nas_security_group.go index e7dfd593d8dd..468cbddce309 100644 --- a/pkg/iac/adapters/terraform/nifcloud/nas/nas_security_group.go +++ b/pkg/iac/adapters/terraform/nifcloud/nas/nas_security_group.go @@ -1,9 +1,9 @@ package nas import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/nas" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/nas" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptNASSecurityGroups(modules terraform.Modules) []nas.NASSecurityGroup { @@ -16,7 +16,7 @@ func adaptNASSecurityGroups(modules terraform.Modules) []nas.NASSecurityGroup { } func adaptNASSecurityGroup(resource *terraform.Block) nas.NASSecurityGroup { - var cidrs []defsecTypes.StringValue + var cidrs []iacTypes.StringValue for _, rule := range resource.GetBlocks("rule") { cidrs = append(cidrs, rule.GetAttribute("cidr_ip").AsStringValueOrDefault("", resource)) diff --git a/pkg/iac/adapters/terraform/nifcloud/nas/nas_security_group_test.go b/pkg/iac/adapters/terraform/nifcloud/nas/nas_security_group_test.go index 7d83c2d0b156..786aec2fa6d6 100644 --- a/pkg/iac/adapters/terraform/nifcloud/nas/nas_security_group_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/nas/nas_security_group_test.go @@ -3,11 +3,11 @@ package nas import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/nas" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/nas" ) func Test_adaptNASSecurityGroups(t *testing.T) { @@ -28,10 +28,10 @@ func Test_adaptNASSecurityGroups(t *testing.T) { } `, expected: []nas.NASSecurityGroup{{ - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("memo", defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{ - defsecTypes.String("0.0.0.0/0", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("memo", iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("0.0.0.0/0", iacTypes.NewTestMetadata()), }, }}, }, @@ -45,10 +45,10 @@ func Test_adaptNASSecurityGroups(t *testing.T) { `, expected: []nas.NASSecurityGroup{{ - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("", defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{ - defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("", iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("", iacTypes.NewTestMetadata()), }, }}, }, diff --git a/pkg/iac/adapters/terraform/nifcloud/network/adapt.go b/pkg/iac/adapters/terraform/nifcloud/network/adapt.go index 4c1c10acd1b9..b3006abcd1d8 100644 --- a/pkg/iac/adapters/terraform/nifcloud/network/adapt.go +++ b/pkg/iac/adapters/terraform/nifcloud/network/adapt.go @@ -1,8 +1,8 @@ package network import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/network" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) network.Network { diff --git a/pkg/iac/adapters/terraform/nifcloud/network/elastic_load_balancer.go b/pkg/iac/adapters/terraform/nifcloud/network/elastic_load_balancer.go index efe3c510fbc3..89478aadea6e 100644 --- a/pkg/iac/adapters/terraform/nifcloud/network/elastic_load_balancer.go +++ b/pkg/iac/adapters/terraform/nifcloud/network/elastic_load_balancer.go @@ -1,8 +1,8 @@ package network import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/network" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptElasticLoadBalancers(modules terraform.Modules) []network.ElasticLoadBalancer { diff --git a/pkg/iac/adapters/terraform/nifcloud/network/elastic_load_balancer_test.go b/pkg/iac/adapters/terraform/nifcloud/network/elastic_load_balancer_test.go index 0ea5c6aaa57a..252396e387e0 100644 --- a/pkg/iac/adapters/terraform/nifcloud/network/elastic_load_balancer_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/network/elastic_load_balancer_test.go @@ -3,10 +3,10 @@ package network import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/network" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Test_adaptElasticLoadBalancers(t *testing.T) { @@ -33,22 +33,22 @@ func Test_adaptElasticLoadBalancers(t *testing.T) { } `, expected: []network.ElasticLoadBalancer{{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), NetworkInterfaces: []network.NetworkInterface{ { - Metadata: defsecTypes.NewTestMetadata(), - NetworkID: defsecTypes.String("net-COMMON_PRIVATE", defsecTypes.NewTestMetadata()), - IsVipNetwork: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkID: iacTypes.String("net-COMMON_PRIVATE", iacTypes.NewTestMetadata()), + IsVipNetwork: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }, }, Listeners: []network.ElasticLoadBalancerListener{ { - Metadata: defsecTypes.NewTestMetadata(), - Protocol: defsecTypes.String("HTTP", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Protocol: iacTypes.String("HTTP", iacTypes.NewTestMetadata()), }, { - Metadata: defsecTypes.NewTestMetadata(), - Protocol: defsecTypes.String("HTTPS", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Protocol: iacTypes.String("HTTPS", iacTypes.NewTestMetadata()), }, }, }}, @@ -63,16 +63,16 @@ func Test_adaptElasticLoadBalancers(t *testing.T) { `, expected: []network.ElasticLoadBalancer{{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), NetworkInterfaces: []network.NetworkInterface{ { - Metadata: defsecTypes.NewTestMetadata(), - NetworkID: defsecTypes.String("", defsecTypes.NewTestMetadata()), - IsVipNetwork: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkID: iacTypes.String("", iacTypes.NewTestMetadata()), + IsVipNetwork: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }, }, Listeners: []network.ElasticLoadBalancerListener{{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), }}, }}, }, diff --git a/pkg/iac/adapters/terraform/nifcloud/network/load_balancer.go b/pkg/iac/adapters/terraform/nifcloud/network/load_balancer.go index 0e27c58d377b..d137f799756d 100644 --- a/pkg/iac/adapters/terraform/nifcloud/network/load_balancer.go +++ b/pkg/iac/adapters/terraform/nifcloud/network/load_balancer.go @@ -1,9 +1,9 @@ package network import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/network" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptLoadBalancers(modules terraform.Modules) []network.LoadBalancer { @@ -31,21 +31,21 @@ func adaptLoadBalancer(resource *terraform.Block, modules terraform.Modules) net } func adaptListener(resource *terraform.Block) network.LoadBalancerListener { - protocolVal := defsecTypes.String("", resource.GetMetadata()) - policyVal := defsecTypes.String("", resource.GetMetadata()) + protocolVal := iacTypes.String("", resource.GetMetadata()) + policyVal := iacTypes.String("", resource.GetMetadata()) portAttr := resource.GetAttribute("load_balancer_port") if portAttr.IsNotNil() && portAttr.IsNumber() { port := portAttr.AsNumber() switch port { case 21: - protocolVal = defsecTypes.String("FTP", portAttr.GetMetadata()) + protocolVal = iacTypes.String("FTP", portAttr.GetMetadata()) case 80: - protocolVal = defsecTypes.String("HTTP", portAttr.GetMetadata()) + protocolVal = iacTypes.String("HTTP", portAttr.GetMetadata()) case 443: - protocolVal = defsecTypes.String("HTTPS", portAttr.GetMetadata()) + protocolVal = iacTypes.String("HTTPS", portAttr.GetMetadata()) default: - protocolVal = defsecTypes.String("custom", portAttr.GetMetadata()) + protocolVal = iacTypes.String("custom", portAttr.GetMetadata()) } } diff --git a/pkg/iac/adapters/terraform/nifcloud/network/load_balancer_test.go b/pkg/iac/adapters/terraform/nifcloud/network/load_balancer_test.go index 0a60d1bb2400..b94b0e43353d 100644 --- a/pkg/iac/adapters/terraform/nifcloud/network/load_balancer_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/network/load_balancer_test.go @@ -3,10 +3,10 @@ package network import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/network" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Test_adaptLoadBalancers(t *testing.T) { @@ -32,17 +32,17 @@ func Test_adaptLoadBalancers(t *testing.T) { `, expected: []network.LoadBalancer{{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Listeners: []network.LoadBalancerListener{ { - Metadata: defsecTypes.NewTestMetadata(), - TLSPolicy: defsecTypes.String("example-ssl-policy-id", defsecTypes.NewTestMetadata()), - Protocol: defsecTypes.String("HTTP", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + TLSPolicy: iacTypes.String("example-ssl-policy-id", iacTypes.NewTestMetadata()), + Protocol: iacTypes.String("HTTP", iacTypes.NewTestMetadata()), }, { - Metadata: defsecTypes.NewTestMetadata(), - TLSPolicy: defsecTypes.String("example-ssl-policy-name", defsecTypes.NewTestMetadata()), - Protocol: defsecTypes.String("HTTPS", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + TLSPolicy: iacTypes.String("example-ssl-policy-name", iacTypes.NewTestMetadata()), + Protocol: iacTypes.String("HTTPS", iacTypes.NewTestMetadata()), }, }, }}, @@ -55,9 +55,9 @@ func Test_adaptLoadBalancers(t *testing.T) { `, expected: []network.LoadBalancer{{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), Listeners: []network.LoadBalancerListener{{ - Metadata: defsecTypes.NewTestMetadata(), + Metadata: iacTypes.NewTestMetadata(), }}, }}, }, diff --git a/pkg/iac/adapters/terraform/nifcloud/network/router.go b/pkg/iac/adapters/terraform/nifcloud/network/router.go index 6804820381d0..d75595279d7d 100644 --- a/pkg/iac/adapters/terraform/nifcloud/network/router.go +++ b/pkg/iac/adapters/terraform/nifcloud/network/router.go @@ -1,9 +1,9 @@ package network import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/network" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptRouters(modules terraform.Modules) []network.Router { diff --git a/pkg/iac/adapters/terraform/nifcloud/network/router_test.go b/pkg/iac/adapters/terraform/nifcloud/network/router_test.go index eb994802b63f..e60c554917f6 100644 --- a/pkg/iac/adapters/terraform/nifcloud/network/router_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/network/router_test.go @@ -3,10 +3,10 @@ package network import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/network" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Test_adaptRouters(t *testing.T) { @@ -26,12 +26,12 @@ func Test_adaptRouters(t *testing.T) { } `, expected: []network.Router{{ - Metadata: defsecTypes.NewTestMetadata(), - SecurityGroup: defsecTypes.String("example-security-group", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecurityGroup: iacTypes.String("example-security-group", iacTypes.NewTestMetadata()), NetworkInterfaces: []network.NetworkInterface{ { - Metadata: defsecTypes.NewTestMetadata(), - NetworkID: defsecTypes.String("net-COMMON_PRIVATE", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkID: iacTypes.String("net-COMMON_PRIVATE", iacTypes.NewTestMetadata()), }, }, }}, @@ -46,12 +46,12 @@ func Test_adaptRouters(t *testing.T) { `, expected: []network.Router{{ - Metadata: defsecTypes.NewTestMetadata(), - SecurityGroup: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecurityGroup: iacTypes.String("", iacTypes.NewTestMetadata()), NetworkInterfaces: []network.NetworkInterface{ { - Metadata: defsecTypes.NewTestMetadata(), - NetworkID: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + NetworkID: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }}, diff --git a/pkg/iac/adapters/terraform/nifcloud/network/vpn_gateway.go b/pkg/iac/adapters/terraform/nifcloud/network/vpn_gateway.go index ca607a646ea0..dcb6812a1ef7 100644 --- a/pkg/iac/adapters/terraform/nifcloud/network/vpn_gateway.go +++ b/pkg/iac/adapters/terraform/nifcloud/network/vpn_gateway.go @@ -1,8 +1,8 @@ package network import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/network" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptVpnGateways(modules terraform.Modules) []network.VpnGateway { diff --git a/pkg/iac/adapters/terraform/nifcloud/network/vpn_gateway_test.go b/pkg/iac/adapters/terraform/nifcloud/network/vpn_gateway_test.go index 51bfa246df35..b9499c078518 100644 --- a/pkg/iac/adapters/terraform/nifcloud/network/vpn_gateway_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/network/vpn_gateway_test.go @@ -3,10 +3,10 @@ package network import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/network" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func Test_adaptVpnGateways(t *testing.T) { @@ -23,8 +23,8 @@ func Test_adaptVpnGateways(t *testing.T) { } `, expected: []network.VpnGateway{{ - Metadata: defsecTypes.NewTestMetadata(), - SecurityGroup: defsecTypes.String("example-security-group", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecurityGroup: iacTypes.String("example-security-group", iacTypes.NewTestMetadata()), }}, }, { @@ -35,8 +35,8 @@ func Test_adaptVpnGateways(t *testing.T) { `, expected: []network.VpnGateway{{ - Metadata: defsecTypes.NewTestMetadata(), - SecurityGroup: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + SecurityGroup: iacTypes.String("", iacTypes.NewTestMetadata()), }}, }, } diff --git a/pkg/iac/adapters/terraform/nifcloud/nifcloud.go b/pkg/iac/adapters/terraform/nifcloud/nifcloud.go index e456188805f5..5f17fe6b235c 100644 --- a/pkg/iac/adapters/terraform/nifcloud/nifcloud.go +++ b/pkg/iac/adapters/terraform/nifcloud/nifcloud.go @@ -1,14 +1,14 @@ package nifcloud import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/nifcloud/computing" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/nifcloud/dns" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/nifcloud/nas" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/nifcloud/network" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/nifcloud/rdb" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/nifcloud/sslcertificate" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) nifcloud.Nifcloud { diff --git a/pkg/iac/adapters/terraform/nifcloud/rdb/adapt.go b/pkg/iac/adapters/terraform/nifcloud/rdb/adapt.go index 8c249b09b212..fd35b2236187 100644 --- a/pkg/iac/adapters/terraform/nifcloud/rdb/adapt.go +++ b/pkg/iac/adapters/terraform/nifcloud/rdb/adapt.go @@ -1,8 +1,8 @@ package rdb import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/rdb" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/rdb" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) rdb.RDB { diff --git a/pkg/iac/adapters/terraform/nifcloud/rdb/db_instance.go b/pkg/iac/adapters/terraform/nifcloud/rdb/db_instance.go index 90662cb8a4ed..69757e41e9a2 100644 --- a/pkg/iac/adapters/terraform/nifcloud/rdb/db_instance.go +++ b/pkg/iac/adapters/terraform/nifcloud/rdb/db_instance.go @@ -1,8 +1,8 @@ package rdb import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/rdb" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/rdb" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func adaptDBInstances(modules terraform.Modules) []rdb.DBInstance { diff --git a/pkg/iac/adapters/terraform/nifcloud/rdb/db_instance_test.go b/pkg/iac/adapters/terraform/nifcloud/rdb/db_instance_test.go index 4d19c9ffb4fa..de09fe59e4e8 100644 --- a/pkg/iac/adapters/terraform/nifcloud/rdb/db_instance_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/rdb/db_instance_test.go @@ -3,11 +3,11 @@ package rdb import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/rdb" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/rdb" ) func Test_adaptDBInstances(t *testing.T) { @@ -28,12 +28,12 @@ func Test_adaptDBInstances(t *testing.T) { } `, expected: []rdb.DBInstance{{ - Metadata: defsecTypes.NewTestMetadata(), - BackupRetentionPeriodDays: defsecTypes.Int(2, defsecTypes.NewTestMetadata()), - Engine: defsecTypes.String("MySQL", defsecTypes.NewTestMetadata()), - EngineVersion: defsecTypes.String("5.7.15", defsecTypes.NewTestMetadata()), - NetworkID: defsecTypes.String("example-network", defsecTypes.NewTestMetadata()), - PublicAccess: defsecTypes.Bool(false, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + BackupRetentionPeriodDays: iacTypes.Int(2, iacTypes.NewTestMetadata()), + Engine: iacTypes.String("MySQL", iacTypes.NewTestMetadata()), + EngineVersion: iacTypes.String("5.7.15", iacTypes.NewTestMetadata()), + NetworkID: iacTypes.String("example-network", iacTypes.NewTestMetadata()), + PublicAccess: iacTypes.Bool(false, iacTypes.NewTestMetadata()), }}, }, { @@ -44,12 +44,12 @@ func Test_adaptDBInstances(t *testing.T) { `, expected: []rdb.DBInstance{{ - Metadata: defsecTypes.NewTestMetadata(), - BackupRetentionPeriodDays: defsecTypes.Int(0, defsecTypes.NewTestMetadata()), - Engine: defsecTypes.String("", defsecTypes.NewTestMetadata()), - EngineVersion: defsecTypes.String("", defsecTypes.NewTestMetadata()), - NetworkID: defsecTypes.String("net-COMMON_PRIVATE", defsecTypes.NewTestMetadata()), - PublicAccess: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + BackupRetentionPeriodDays: iacTypes.Int(0, iacTypes.NewTestMetadata()), + Engine: iacTypes.String("", iacTypes.NewTestMetadata()), + EngineVersion: iacTypes.String("", iacTypes.NewTestMetadata()), + NetworkID: iacTypes.String("net-COMMON_PRIVATE", iacTypes.NewTestMetadata()), + PublicAccess: iacTypes.Bool(true, iacTypes.NewTestMetadata()), }}, }, } diff --git a/pkg/iac/adapters/terraform/nifcloud/rdb/db_security_group.go b/pkg/iac/adapters/terraform/nifcloud/rdb/db_security_group.go index 4e476c31176d..e78d95ea0e3f 100644 --- a/pkg/iac/adapters/terraform/nifcloud/rdb/db_security_group.go +++ b/pkg/iac/adapters/terraform/nifcloud/rdb/db_security_group.go @@ -1,9 +1,9 @@ package rdb import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/rdb" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/rdb" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptDBSecurityGroups(modules terraform.Modules) []rdb.DBSecurityGroup { @@ -16,7 +16,7 @@ func adaptDBSecurityGroups(modules terraform.Modules) []rdb.DBSecurityGroup { } func adaptDBSecurityGroup(resource *terraform.Block) rdb.DBSecurityGroup { - var cidrs []defsecTypes.StringValue + var cidrs []iacTypes.StringValue for _, rule := range resource.GetBlocks("rule") { cidrs = append(cidrs, rule.GetAttribute("cidr_ip").AsStringValueOrDefault("", resource)) diff --git a/pkg/iac/adapters/terraform/nifcloud/rdb/db_security_group_test.go b/pkg/iac/adapters/terraform/nifcloud/rdb/db_security_group_test.go index 236372faed42..ab4fc34f1384 100644 --- a/pkg/iac/adapters/terraform/nifcloud/rdb/db_security_group_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/rdb/db_security_group_test.go @@ -3,11 +3,11 @@ package rdb import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/rdb" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/rdb" ) func Test_adaptDBSecurityGroups(t *testing.T) { @@ -28,10 +28,10 @@ func Test_adaptDBSecurityGroups(t *testing.T) { } `, expected: []rdb.DBSecurityGroup{{ - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("memo", defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{ - defsecTypes.String("0.0.0.0/0", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("memo", iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("0.0.0.0/0", iacTypes.NewTestMetadata()), }, }}, }, @@ -45,10 +45,10 @@ func Test_adaptDBSecurityGroups(t *testing.T) { `, expected: []rdb.DBSecurityGroup{{ - Metadata: defsecTypes.NewTestMetadata(), - Description: defsecTypes.String("", defsecTypes.NewTestMetadata()), - CIDRs: []defsecTypes.StringValue{ - defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Description: iacTypes.String("", iacTypes.NewTestMetadata()), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("", iacTypes.NewTestMetadata()), }, }}, }, diff --git a/pkg/iac/adapters/terraform/nifcloud/sslcertificate/adapt.go b/pkg/iac/adapters/terraform/nifcloud/sslcertificate/adapt.go index 31673c121493..1f1391397a12 100644 --- a/pkg/iac/adapters/terraform/nifcloud/sslcertificate/adapt.go +++ b/pkg/iac/adapters/terraform/nifcloud/sslcertificate/adapt.go @@ -1,8 +1,8 @@ package sslcertificate import ( - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/sslcertificate" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/sslcertificate" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) sslcertificate.SSLCertificate { diff --git a/pkg/iac/adapters/terraform/nifcloud/sslcertificate/server_certificate.go b/pkg/iac/adapters/terraform/nifcloud/sslcertificate/server_certificate.go index c90570cee9ea..7c08d0d78ca3 100644 --- a/pkg/iac/adapters/terraform/nifcloud/sslcertificate/server_certificate.go +++ b/pkg/iac/adapters/terraform/nifcloud/sslcertificate/server_certificate.go @@ -4,9 +4,9 @@ import ( "crypto/x509" "encoding/pem" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/sslcertificate" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/sslcertificate" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptServerCertificates(modules terraform.Modules) []sslcertificate.ServerCertificate { @@ -20,15 +20,15 @@ func adaptServerCertificates(modules terraform.Modules) []sslcertificate.ServerC func adaptServerCertificate(resource *terraform.Block) sslcertificate.ServerCertificate { certificateAttr := resource.GetAttribute("certificate") - expiryDateVal := defsecTypes.TimeUnresolvable(resource.GetMetadata()) + expiryDateVal := iacTypes.TimeUnresolvable(resource.GetMetadata()) if certificateAttr.IsNotNil() { - expiryDateVal = defsecTypes.TimeUnresolvable(certificateAttr.GetMetadata()) + expiryDateVal = iacTypes.TimeUnresolvable(certificateAttr.GetMetadata()) if certificateAttr.IsString() { certificateString := certificateAttr.Value().AsString() if block, _ := pem.Decode([]byte(certificateString)); block != nil { if cert, err := x509.ParseCertificate(block.Bytes); err == nil { - expiryDateVal = defsecTypes.Time(cert.NotAfter, certificateAttr.GetMetadata()) + expiryDateVal = iacTypes.Time(cert.NotAfter, certificateAttr.GetMetadata()) } } } diff --git a/pkg/iac/adapters/terraform/nifcloud/sslcertificate/server_certificate_test.go b/pkg/iac/adapters/terraform/nifcloud/sslcertificate/server_certificate_test.go index 6535f9058cad..1b9006034ce2 100644 --- a/pkg/iac/adapters/terraform/nifcloud/sslcertificate/server_certificate_test.go +++ b/pkg/iac/adapters/terraform/nifcloud/sslcertificate/server_certificate_test.go @@ -4,10 +4,10 @@ import ( "testing" "time" - "github.com/aquasecurity/defsec/pkg/providers/nifcloud/sslcertificate" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/sslcertificate" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) const certificate = ` @@ -39,11 +39,11 @@ func Test_adaptServerCertificates(t *testing.T) { } `, expected: []sslcertificate.ServerCertificate{{ - Metadata: defsecTypes.NewTestMetadata(), - Expiration: defsecTypes.Time(func(timeVal string) time.Time { + Metadata: iacTypes.NewTestMetadata(), + Expiration: iacTypes.Time(func(timeVal string) time.Time { parsed, _ := time.Parse(time.RFC3339, timeVal) return parsed - }("2015-09-12T21:52:02Z"), defsecTypes.NewTestMetadata()), + }("2015-09-12T21:52:02Z"), iacTypes.NewTestMetadata()), }}, }, { @@ -54,8 +54,8 @@ func Test_adaptServerCertificates(t *testing.T) { `, expected: []sslcertificate.ServerCertificate{{ - Metadata: defsecTypes.NewTestMetadata(), - Expiration: defsecTypes.Time(time.Time{}, defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Expiration: iacTypes.Time(time.Time{}, iacTypes.NewTestMetadata()), }}, }, } diff --git a/pkg/iac/adapters/terraform/openstack/adapt.go b/pkg/iac/adapters/terraform/openstack/adapt.go index a821196a02ad..86da3787178f 100644 --- a/pkg/iac/adapters/terraform/openstack/adapt.go +++ b/pkg/iac/adapters/terraform/openstack/adapt.go @@ -1,8 +1,8 @@ package openstack import ( - "github.com/aquasecurity/defsec/pkg/providers/openstack" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/openstack" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) openstack.OpenStack { diff --git a/pkg/iac/adapters/terraform/openstack/adapt_test.go b/pkg/iac/adapters/terraform/openstack/adapt_test.go index 34334c2a27af..0f04b570ff86 100644 --- a/pkg/iac/adapters/terraform/openstack/adapt_test.go +++ b/pkg/iac/adapters/terraform/openstack/adapt_test.go @@ -3,11 +3,11 @@ package openstack import ( "testing" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/internal/testutil" "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform/tftestutil" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" - "github.com/aquasecurity/defsec/pkg/providers/openstack" + "github.com/aquasecurity/trivy/pkg/iac/providers/openstack" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -30,8 +30,8 @@ func TestFields(t *testing.T) { Compute: openstack.Compute{ Instances: []openstack.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), - AdminPassword: defsecTypes.String("N0tSoS3cretP4ssw0rd", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + AdminPassword: iacTypes.String("N0tSoS3cretP4ssw0rd", iacTypes.NewTestMetadata()), }, }, }, @@ -46,8 +46,8 @@ func TestFields(t *testing.T) { Compute: openstack.Compute{ Instances: []openstack.Instance{ { - Metadata: defsecTypes.NewTestMetadata(), - AdminPassword: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + AdminPassword: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, @@ -69,12 +69,12 @@ func TestFields(t *testing.T) { Firewall: openstack.Firewall{ AllowRules: []openstack.FirewallRule{ { - Metadata: defsecTypes.NewTestMetadata(), - Enabled: defsecTypes.Bool(true, defsecTypes.NewTestMetadata()), - Destination: defsecTypes.String("10.10.10.1", defsecTypes.NewTestMetadata()), - Source: defsecTypes.String("10.10.10.2", defsecTypes.NewTestMetadata()), - DestinationPort: defsecTypes.String("22", defsecTypes.NewTestMetadata()), - SourcePort: defsecTypes.String("", defsecTypes.NewTestMetadata()), + Metadata: iacTypes.NewTestMetadata(), + Enabled: iacTypes.Bool(true, iacTypes.NewTestMetadata()), + Destination: iacTypes.String("10.10.10.1", iacTypes.NewTestMetadata()), + Source: iacTypes.String("10.10.10.2", iacTypes.NewTestMetadata()), + DestinationPort: iacTypes.String("22", iacTypes.NewTestMetadata()), + SourcePort: iacTypes.String("", iacTypes.NewTestMetadata()), }, }, }, diff --git a/pkg/iac/adapters/terraform/openstack/networking.go b/pkg/iac/adapters/terraform/openstack/networking.go index dd56a82b2d1d..ab7578f635a6 100644 --- a/pkg/iac/adapters/terraform/openstack/networking.go +++ b/pkg/iac/adapters/terraform/openstack/networking.go @@ -3,9 +3,9 @@ package openstack import ( "github.com/google/uuid" - "github.com/aquasecurity/defsec/pkg/providers/openstack" - "github.com/aquasecurity/defsec/pkg/terraform" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/providers/openstack" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func adaptNetworking(modules terraform.Modules) openstack.Networking { @@ -29,8 +29,8 @@ func adaptSecurityGroups(modules terraform.Modules) []openstack.SecurityGroup { for _, ruleBlock := range modules.GetResourcesByType("openstack_networking_secgroup_rule_v2") { rule := openstack.SecurityGroupRule{ Metadata: ruleBlock.GetMetadata(), - IsIngress: defsecTypes.Bool(true, ruleBlock.GetMetadata()), - EtherType: defsecTypes.IntDefault(4, ruleBlock.GetMetadata()), + IsIngress: iacTypes.Bool(true, ruleBlock.GetMetadata()), + EtherType: iacTypes.IntDefault(4, ruleBlock.GetMetadata()), Protocol: ruleBlock.GetAttribute("protocol").AsStringValueOrDefault("tcp", ruleBlock), PortMin: ruleBlock.GetAttribute("port_range_min").AsIntValueOrDefault(0, ruleBlock), PortMax: ruleBlock.GetAttribute("port_range_max").AsIntValueOrDefault(0, ruleBlock), @@ -39,16 +39,16 @@ func adaptSecurityGroups(modules terraform.Modules) []openstack.SecurityGroup { switch etherType := ruleBlock.GetAttribute("ethertype"); { case etherType.Equals("IPv4"): - rule.EtherType = defsecTypes.Int(4, etherType.GetMetadata()) + rule.EtherType = iacTypes.Int(4, etherType.GetMetadata()) case etherType.Equals("IPv6"): - rule.EtherType = defsecTypes.Int(6, etherType.GetMetadata()) + rule.EtherType = iacTypes.Int(6, etherType.GetMetadata()) } switch direction := ruleBlock.GetAttribute("direction"); { case direction.Equals("egress"): - rule.IsIngress = defsecTypes.Bool(false, direction.GetMetadata()) + rule.IsIngress = iacTypes.Bool(false, direction.GetMetadata()) case direction.Equals("ingress"): - rule.IsIngress = defsecTypes.Bool(true, direction.GetMetadata()) + rule.IsIngress = iacTypes.Bool(true, direction.GetMetadata()) } groupID := ruleBlock.GetAttribute("security_group_id") @@ -61,9 +61,9 @@ func adaptSecurityGroups(modules terraform.Modules) []openstack.SecurityGroup { } group := openstack.SecurityGroup{ - Metadata: defsecTypes.NewUnmanagedMetadata(), - Name: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), - Description: defsecTypes.StringDefault("", defsecTypes.NewUnmanagedMetadata()), + Metadata: iacTypes.NewUnmanagedMetadata(), + Name: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), + Description: iacTypes.StringDefault("", iacTypes.NewUnmanagedMetadata()), Rules: []openstack.SecurityGroupRule{rule}, } groupMap[uuid.NewString()] = group diff --git a/pkg/iac/adapters/terraform/oracle/adapt.go b/pkg/iac/adapters/terraform/oracle/adapt.go index 97284dccf23a..7ec8c91fcdc3 100644 --- a/pkg/iac/adapters/terraform/oracle/adapt.go +++ b/pkg/iac/adapters/terraform/oracle/adapt.go @@ -1,8 +1,8 @@ package oracle import ( - "github.com/aquasecurity/defsec/pkg/providers/oracle" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers/oracle" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Adapt(modules terraform.Modules) oracle.Oracle { diff --git a/pkg/iac/adapters/terraform/tftestutil/testutil.go b/pkg/iac/adapters/terraform/tftestutil/testutil.go index 1e5ff0f03caf..5503bfac5b99 100644 --- a/pkg/iac/adapters/terraform/tftestutil/testutil.go +++ b/pkg/iac/adapters/terraform/tftestutil/testutil.go @@ -4,9 +4,9 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/internal/testutil" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func CreateModulesFromSource(t *testing.T, source, ext string) terraform.Modules { diff --git a/pkg/iac/debug/cgo_disabled.go b/pkg/iac/debug/cgo_disabled.go new file mode 100644 index 000000000000..e994a4dc79fa --- /dev/null +++ b/pkg/iac/debug/cgo_disabled.go @@ -0,0 +1,5 @@ +//go:build !cgo + +package debug + +const cgoEnabled = false diff --git a/pkg/iac/debug/cgo_enabled.go b/pkg/iac/debug/cgo_enabled.go new file mode 100644 index 000000000000..afa840a615b4 --- /dev/null +++ b/pkg/iac/debug/cgo_enabled.go @@ -0,0 +1,5 @@ +//go:build cgo + +package debug + +const cgoEnabled = true diff --git a/pkg/iac/debug/debug.go b/pkg/iac/debug/debug.go new file mode 100644 index 000000000000..bd96be1656b5 --- /dev/null +++ b/pkg/iac/debug/debug.go @@ -0,0 +1,91 @@ +package debug + +import ( + "fmt" + "io" + "os" + "path/filepath" + "runtime" + "strings" + "time" +) + +const timeFormat = "04:05.000000000" + +type Logger struct { + writer io.Writer + prefix string +} + +func New(w io.Writer, parts ...string) Logger { + return Logger{ + writer: w, + prefix: strings.Join(parts, "."), + } +} + +func (l *Logger) Extend(parts ...string) Logger { + return Logger{ + writer: l.writer, + prefix: strings.Join(append([]string{l.prefix}, parts...), "."), + } +} + +func (l *Logger) Log(format string, args ...interface{}) { + if l.writer == nil { + return + } + message := fmt.Sprintf(format, args...) + line := fmt.Sprintf("%s %-32s %s\n", time.Now().Format(timeFormat), l.prefix, message) + _, _ = l.writer.Write([]byte(line)) +} + +func LogSystemInfo(w io.Writer, appVersion string) { + if w == nil { + return + } + sys := New(w, "system", "info") + var appName string + if path, err := os.Executable(); err != nil { + if len(os.Args) > 0 { + appName = os.Args[0] + } + } else { + appName = filepath.Base(path) + } + + wd, _ := os.Getwd() + hostname, _ := os.Hostname() + + var inDocker bool + if _, err := os.Stat("/.dockerenv"); err == nil || !os.IsNotExist(err) { + inDocker = true + } + + var kernelInfo string + if data, err := os.ReadFile("/proc/version"); err == nil { + kernelInfo = strings.TrimSpace(string(data)) + } + + sys.Log("APP %s", appName) + sys.Log("VERSION %s", appVersion) + sys.Log("OS %s", runtime.GOOS) + sys.Log("ARCH %s", runtime.GOARCH) + sys.Log("KERNEL %s", kernelInfo) + sys.Log("TERM %s", os.Getenv("TERM")) + sys.Log("SHELL %s", os.Getenv("SHELL")) + sys.Log("GOVERSION %s", runtime.Version()) + sys.Log("GOROOT %s", runtime.GOROOT()) + sys.Log("CGO %t", cgoEnabled) + sys.Log("CPUCOUNT %d", runtime.NumCPU()) + sys.Log("MAXPROCS %d", runtime.GOMAXPROCS(0)) + sys.Log("WORKDIR %s", wd) + sys.Log("UID %d", os.Getuid()) + sys.Log("EUID %d", os.Geteuid()) + sys.Log("DOCKER %t", inDocker) + sys.Log("CI %t", os.Getenv("CI") != "") + sys.Log("HOSTNAME %s", hostname) + sys.Log("TEMP %s", os.TempDir()) + sys.Log("PATHSEP %c", filepath.Separator) + sys.Log("CMD %s", strings.Join(os.Args, " ")) +} diff --git a/pkg/iac/detection/detect.go b/pkg/iac/detection/detect.go index 9050a735172a..40cd4ce98ee2 100644 --- a/pkg/iac/detection/detect.go +++ b/pkg/iac/detection/detect.go @@ -9,8 +9,8 @@ import ( "gopkg.in/yaml.v3" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/arm/parser/armjson" + "github.com/aquasecurity/trivy/pkg/iac/types" ) type FileType string diff --git a/pkg/iac/framework/frameworks.go b/pkg/iac/framework/frameworks.go new file mode 100644 index 000000000000..82f43947d568 --- /dev/null +++ b/pkg/iac/framework/frameworks.go @@ -0,0 +1,11 @@ +package framework + +type Framework string + +const ( + Default Framework = "default" + Experimental Framework = "experimental" + CIS_AWS_1_2 Framework = "cis-aws-1.2" + CIS_AWS_1_4 Framework = "cis-aws-1.4" + ALL Framework = "all" +) diff --git a/pkg/iac/providers/aws/accessanalyzer/aa.go b/pkg/iac/providers/aws/accessanalyzer/aa.go new file mode 100644 index 000000000000..66be31561d04 --- /dev/null +++ b/pkg/iac/providers/aws/accessanalyzer/aa.go @@ -0,0 +1,19 @@ +package accessanalyzer + +import "github.com/aquasecurity/trivy/pkg/iac/types" + +type AccessAnalyzer struct { + Analyzers []Analyzer +} + +type Analyzer struct { + Metadata types.Metadata + ARN types.StringValue + Name types.StringValue + Active types.BoolValue + Findings []Findings +} + +type Findings struct { + Metadata types.Metadata +} diff --git a/pkg/iac/providers/aws/apigateway/ag.go b/pkg/iac/providers/aws/apigateway/ag.go new file mode 100644 index 000000000000..d87a9b364ee8 --- /dev/null +++ b/pkg/iac/providers/aws/apigateway/ag.go @@ -0,0 +1,11 @@ +package apigateway + +import ( + v1 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v1" + v2 "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway/v2" +) + +type APIGateway struct { + V1 v1.APIGateway + V2 v2.APIGateway +} diff --git a/pkg/iac/providers/aws/apigateway/v1/apigateway.go b/pkg/iac/providers/aws/apigateway/v1/apigateway.go new file mode 100755 index 000000000000..626d91d513b7 --- /dev/null +++ b/pkg/iac/providers/aws/apigateway/v1/apigateway.go @@ -0,0 +1,62 @@ +package v1 + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type APIGateway struct { + APIs []API + DomainNames []DomainName +} + +type API struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Stages []Stage + Resources []Resource +} + +type Stage struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + AccessLogging AccessLogging + XRayTracingEnabled iacTypes.BoolValue + RESTMethodSettings []RESTMethodSettings +} + +type Resource struct { + Metadata iacTypes.Metadata + Methods []Method +} + +type AccessLogging struct { + Metadata iacTypes.Metadata + CloudwatchLogGroupARN iacTypes.StringValue +} + +type RESTMethodSettings struct { + Metadata iacTypes.Metadata + Method iacTypes.StringValue + CacheDataEncrypted iacTypes.BoolValue + CacheEnabled iacTypes.BoolValue +} + +const ( + AuthorizationNone = "NONE" + AuthorizationCustom = "CUSTOM" + AuthorizationIAM = "AWS_IAM" + AuthorizationCognitoUserPools = "COGNITO_USER_POOLS" +) + +type Method struct { + Metadata iacTypes.Metadata + HTTPMethod iacTypes.StringValue + AuthorizationType iacTypes.StringValue + APIKeyRequired iacTypes.BoolValue +} + +type DomainName struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + SecurityPolicy iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/apigateway/v2/apigateway.go b/pkg/iac/providers/aws/apigateway/v2/apigateway.go new file mode 100755 index 000000000000..5a87e8ffbca7 --- /dev/null +++ b/pkg/iac/providers/aws/apigateway/v2/apigateway.go @@ -0,0 +1,41 @@ +package v2 + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type APIGateway struct { + APIs []API + DomainNames []DomainName +} + +const ( + ProtocolTypeUnknown string = "" + ProtocolTypeREST string = "REST" + ProtocolTypeHTTP string = "HTTP" + ProtocolTypeWebsocket string = "WEBSOCKET" +) + +type API struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + ProtocolType iacTypes.StringValue + Stages []Stage +} + +type Stage struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + AccessLogging AccessLogging +} + +type AccessLogging struct { + Metadata iacTypes.Metadata + CloudwatchLogGroupARN iacTypes.StringValue +} + +type DomainName struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + SecurityPolicy iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/athena/athena.go b/pkg/iac/providers/aws/athena/athena.go new file mode 100755 index 000000000000..537a4b63d6b0 --- /dev/null +++ b/pkg/iac/providers/aws/athena/athena.go @@ -0,0 +1,35 @@ +package athena + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Athena struct { + Databases []Database + Workgroups []Workgroup +} + +type Database struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Encryption EncryptionConfiguration +} + +type Workgroup struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Encryption EncryptionConfiguration + EnforceConfiguration iacTypes.BoolValue +} + +const ( + EncryptionTypeNone = "" + EncryptionTypeSSES3 = "SSE_S3" + EncryptionTypeSSEKMS = "SSE_KMS" + EncryptionTypeCSEKMS = "CSE_KMS" +) + +type EncryptionConfiguration struct { + Metadata iacTypes.Metadata + Type iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/aws.go b/pkg/iac/providers/aws/aws.go new file mode 100755 index 000000000000..15c80a84afa7 --- /dev/null +++ b/pkg/iac/providers/aws/aws.go @@ -0,0 +1,80 @@ +package aws + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/accessanalyzer" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/apigateway" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/athena" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudfront" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudtrail" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/cloudwatch" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/codebuild" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/config" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/documentdb" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/dynamodb" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecr" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ecs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/efs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/eks" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticache" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elasticsearch" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/elb" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/emr" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/kinesis" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/kms" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/lambda" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/mq" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/msk" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/neptune" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/redshift" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/s3" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sam" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sns" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/sqs" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ssm" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/workspaces" +) + +type AWS struct { + Meta Meta + AccessAnalyzer accessanalyzer.AccessAnalyzer + APIGateway apigateway.APIGateway + Athena athena.Athena + Cloudfront cloudfront.Cloudfront + CloudTrail cloudtrail.CloudTrail + CloudWatch cloudwatch.CloudWatch + CodeBuild codebuild.CodeBuild + Config config.Config + DocumentDB documentdb.DocumentDB + DynamoDB dynamodb.DynamoDB + EC2 ec2.EC2 + ECR ecr.ECR + ECS ecs.ECS + EFS efs.EFS + EKS eks.EKS + ElastiCache elasticache.ElastiCache + Elasticsearch elasticsearch.Elasticsearch + ELB elb.ELB + EMR emr.EMR + IAM iam.IAM + Kinesis kinesis.Kinesis + KMS kms.KMS + Lambda lambda.Lambda + MQ mq.MQ + MSK msk.MSK + Neptune neptune.Neptune + RDS rds.RDS + Redshift redshift.Redshift + SAM sam.SAM + S3 s3.S3 + SNS sns.SNS + SQS sqs.SQS + SSM ssm.SSM + WorkSpaces workspaces.WorkSpaces +} + +type Meta struct { + TFProviders []TerraformProvider +} diff --git a/pkg/iac/providers/aws/cloudfront/cloudfront.go b/pkg/iac/providers/aws/cloudfront/cloudfront.go new file mode 100755 index 000000000000..0c4914e4c3bb --- /dev/null +++ b/pkg/iac/providers/aws/cloudfront/cloudfront.go @@ -0,0 +1,45 @@ +package cloudfront + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Cloudfront struct { + Distributions []Distribution +} + +type Distribution struct { + Metadata iacTypes.Metadata + WAFID iacTypes.StringValue + Logging Logging + DefaultCacheBehaviour CacheBehaviour + OrdererCacheBehaviours []CacheBehaviour + ViewerCertificate ViewerCertificate +} + +type Logging struct { + Metadata iacTypes.Metadata + Bucket iacTypes.StringValue +} + +type CacheBehaviour struct { + Metadata iacTypes.Metadata + ViewerProtocolPolicy iacTypes.StringValue +} + +const ( + ViewerPolicyProtocolAllowAll = "allow-all" + ViewerPolicyProtocolHTTPSOnly = "https-only" + ViewerPolicyProtocolRedirectToHTTPS = "redirect-to-https" +) + +const ( + ProtocolVersionTLS1_2 = "TLSv1.2_2021" +) + +type ViewerCertificate struct { + Metadata iacTypes.Metadata + CloudfrontDefaultCertificate iacTypes.BoolValue + SSLSupportMethod iacTypes.StringValue + MinimumProtocolVersion iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/cloudtrail/cloudtrail.go b/pkg/iac/providers/aws/cloudtrail/cloudtrail.go new file mode 100755 index 000000000000..8e5da87e7c89 --- /dev/null +++ b/pkg/iac/providers/aws/cloudtrail/cloudtrail.go @@ -0,0 +1,42 @@ +package cloudtrail + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type CloudTrail struct { + Trails []Trail +} + +func (c CloudTrail) MultiRegionTrails() (multiRegionTrails []Trail) { + for _, trail := range c.Trails { + if trail.IsMultiRegion.IsTrue() { + multiRegionTrails = append(multiRegionTrails, trail) + } + } + return multiRegionTrails +} + +type Trail struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + EnableLogFileValidation iacTypes.BoolValue + IsMultiRegion iacTypes.BoolValue + KMSKeyID iacTypes.StringValue + CloudWatchLogsLogGroupArn iacTypes.StringValue + IsLogging iacTypes.BoolValue + BucketName iacTypes.StringValue + EventSelectors []EventSelector +} + +type EventSelector struct { + Metadata iacTypes.Metadata + DataResources []DataResource + ReadWriteType iacTypes.StringValue // ReadOnly, WriteOnly, All. Default value is All for TF. +} + +type DataResource struct { + Metadata iacTypes.Metadata + Type iacTypes.StringValue // You can specify only the following value: "AWS::S3::Object", "AWS::Lambda::Function" and "AWS::DynamoDB::Table". + Values []iacTypes.StringValue // List of ARNs/partial ARNs - e.g. arn:aws:s3:::/ for all objects in a bucket, arn:aws:s3:::/key for specific objects +} diff --git a/pkg/iac/providers/aws/cloudwatch/cloudwatch.go b/pkg/iac/providers/aws/cloudwatch/cloudwatch.go new file mode 100755 index 000000000000..630ed84e64ef --- /dev/null +++ b/pkg/iac/providers/aws/cloudwatch/cloudwatch.go @@ -0,0 +1,63 @@ +package cloudwatch + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type CloudWatch struct { + LogGroups []LogGroup + Alarms []Alarm +} + +func (w CloudWatch) GetLogGroupByArn(arn string) (logGroup *LogGroup) { + for _, logGroup := range w.LogGroups { + if logGroup.Arn.EqualTo(arn) { + return &logGroup + } + } + return nil +} + +func (w CloudWatch) GetAlarmByMetricName(metricName string) (alarm *Alarm) { + for _, alarm := range w.Alarms { + if alarm.MetricName.EqualTo(metricName) { + return &alarm + } + } + return nil +} + +type Alarm struct { + Metadata iacTypes.Metadata + AlarmName iacTypes.StringValue + MetricName iacTypes.StringValue + Dimensions []AlarmDimension + Metrics []MetricDataQuery +} + +type AlarmDimension struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Value iacTypes.StringValue +} + +type MetricFilter struct { + Metadata iacTypes.Metadata + FilterName iacTypes.StringValue + FilterPattern iacTypes.StringValue +} + +type MetricDataQuery struct { + Metadata iacTypes.Metadata + Expression iacTypes.StringValue + ID iacTypes.StringValue +} + +type LogGroup struct { + Metadata iacTypes.Metadata + Arn iacTypes.StringValue + Name iacTypes.StringValue + KMSKeyID iacTypes.StringValue + RetentionInDays iacTypes.IntValue + MetricFilters []MetricFilter +} diff --git a/pkg/iac/providers/aws/codebuild/codebuild.go b/pkg/iac/providers/aws/codebuild/codebuild.go new file mode 100755 index 000000000000..34115ce40cd5 --- /dev/null +++ b/pkg/iac/providers/aws/codebuild/codebuild.go @@ -0,0 +1,20 @@ +package codebuild + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type CodeBuild struct { + Projects []Project +} + +type Project struct { + Metadata iacTypes.Metadata + ArtifactSettings ArtifactSettings + SecondaryArtifactSettings []ArtifactSettings +} + +type ArtifactSettings struct { + Metadata iacTypes.Metadata + EncryptionEnabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/config/config.go b/pkg/iac/providers/aws/config/config.go new file mode 100755 index 000000000000..ef18539f3bfa --- /dev/null +++ b/pkg/iac/providers/aws/config/config.go @@ -0,0 +1,14 @@ +package config + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Config struct { + ConfigurationAggregrator ConfigurationAggregrator +} + +type ConfigurationAggregrator struct { + Metadata iacTypes.Metadata + SourceAllRegions iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/documentdb/documentdb.go b/pkg/iac/providers/aws/documentdb/documentdb.go new file mode 100755 index 000000000000..c1bdc0a73854 --- /dev/null +++ b/pkg/iac/providers/aws/documentdb/documentdb.go @@ -0,0 +1,29 @@ +package documentdb + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type DocumentDB struct { + Clusters []Cluster +} + +const ( + LogExportAudit = "audit" + LogExportProfiler = "profiler" +) + +type Cluster struct { + Metadata iacTypes.Metadata + Identifier iacTypes.StringValue + EnabledLogExports []iacTypes.StringValue + BackupRetentionPeriod iacTypes.IntValue + Instances []Instance + StorageEncrypted iacTypes.BoolValue + KMSKeyID iacTypes.StringValue +} + +type Instance struct { + Metadata iacTypes.Metadata + KMSKeyID iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/dynamodb/dynamodb.go b/pkg/iac/providers/aws/dynamodb/dynamodb.go new file mode 100755 index 000000000000..eef0d5d532c0 --- /dev/null +++ b/pkg/iac/providers/aws/dynamodb/dynamodb.go @@ -0,0 +1,30 @@ +package dynamodb + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type DynamoDB struct { + DAXClusters []DAXCluster + Tables []Table +} + +type DAXCluster struct { + Metadata iacTypes.Metadata + ServerSideEncryption ServerSideEncryption + PointInTimeRecovery iacTypes.BoolValue +} + +type Table struct { + Metadata iacTypes.Metadata + ServerSideEncryption ServerSideEncryption + PointInTimeRecovery iacTypes.BoolValue +} + +type ServerSideEncryption struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + KMSKeyID iacTypes.StringValue +} + +const DefaultKMSKeyID = "alias/aws/dynamodb" diff --git a/pkg/iac/providers/aws/ec2/ec2.go b/pkg/iac/providers/aws/ec2/ec2.go new file mode 100755 index 000000000000..726e312f65aa --- /dev/null +++ b/pkg/iac/providers/aws/ec2/ec2.go @@ -0,0 +1,12 @@ +package ec2 + +type EC2 struct { + Instances []Instance + LaunchConfigurations []LaunchConfiguration + LaunchTemplates []LaunchTemplate + VPCs []VPC + SecurityGroups []SecurityGroup + NetworkACLs []NetworkACL + Subnets []Subnet + Volumes []Volume +} diff --git a/pkg/iac/providers/aws/ec2/instance.go b/pkg/iac/providers/aws/ec2/instance.go new file mode 100644 index 000000000000..09ecede5592b --- /dev/null +++ b/pkg/iac/providers/aws/ec2/instance.go @@ -0,0 +1,55 @@ +package ec2 + +import ( + "github.com/owenrumney/squealer/pkg/squealer" + + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Instance struct { + Metadata iacTypes.Metadata + MetadataOptions MetadataOptions + UserData iacTypes.StringValue + SecurityGroups []SecurityGroup + RootBlockDevice *BlockDevice + EBSBlockDevices []*BlockDevice +} + +type BlockDevice struct { + Metadata iacTypes.Metadata + Encrypted iacTypes.BoolValue +} + +type MetadataOptions struct { + Metadata iacTypes.Metadata + HttpTokens iacTypes.StringValue + HttpEndpoint iacTypes.StringValue +} + +func NewInstance(metadata iacTypes.Metadata) *Instance { + return &Instance{ + Metadata: metadata, + MetadataOptions: MetadataOptions{ + Metadata: metadata, + HttpTokens: iacTypes.StringDefault("optional", metadata), + HttpEndpoint: iacTypes.StringDefault("enabled", metadata), + }, + UserData: iacTypes.StringDefault("", metadata), + SecurityGroups: []SecurityGroup{}, + RootBlockDevice: nil, + EBSBlockDevices: nil, + } +} + +func (i *Instance) RequiresIMDSToken() bool { + return i.MetadataOptions.HttpTokens.EqualTo("required") +} + +func (i *Instance) HasHTTPEndpointDisabled() bool { + return i.MetadataOptions.HttpEndpoint.EqualTo("disabled") +} + +func (i *Instance) HasSensitiveInformationInUserData() bool { + scanner := squealer.NewStringScanner() + return scanner.Scan(i.UserData.Value()).TransgressionFound +} diff --git a/pkg/iac/providers/aws/ec2/launch.go b/pkg/iac/providers/aws/ec2/launch.go new file mode 100644 index 000000000000..9b7c4c711e01 --- /dev/null +++ b/pkg/iac/providers/aws/ec2/launch.go @@ -0,0 +1,29 @@ +package ec2 + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type LaunchConfiguration struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + AssociatePublicIP iacTypes.BoolValue + RootBlockDevice *BlockDevice + EBSBlockDevices []*BlockDevice + MetadataOptions MetadataOptions + UserData iacTypes.StringValue +} + +type LaunchTemplate struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Instance +} + +func (i *LaunchConfiguration) RequiresIMDSToken() bool { + return i.MetadataOptions.HttpTokens.EqualTo("required") +} + +func (i *LaunchConfiguration) HasHTTPEndpointDisabled() bool { + return i.MetadataOptions.HttpEndpoint.EqualTo("disabled") +} diff --git a/pkg/iac/providers/aws/ec2/subnet.go b/pkg/iac/providers/aws/ec2/subnet.go new file mode 100644 index 000000000000..18f605011e07 --- /dev/null +++ b/pkg/iac/providers/aws/ec2/subnet.go @@ -0,0 +1,10 @@ +package ec2 + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Subnet struct { + Metadata iacTypes.Metadata + MapPublicIpOnLaunch iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/ec2/volume.go b/pkg/iac/providers/aws/ec2/volume.go new file mode 100644 index 000000000000..3258a3ee6c5a --- /dev/null +++ b/pkg/iac/providers/aws/ec2/volume.go @@ -0,0 +1,16 @@ +package ec2 + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Volume struct { + Metadata iacTypes.Metadata + Encryption Encryption +} + +type Encryption struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + KMSKeyID iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/ec2/vpc.go b/pkg/iac/providers/aws/ec2/vpc.go new file mode 100644 index 000000000000..bce7fb4de2a8 --- /dev/null +++ b/pkg/iac/providers/aws/ec2/vpc.go @@ -0,0 +1,52 @@ +package ec2 + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type NetworkACL struct { + Metadata iacTypes.Metadata + Rules []NetworkACLRule + IsDefaultRule iacTypes.BoolValue +} + +type SecurityGroup struct { + Metadata iacTypes.Metadata + IsDefault iacTypes.BoolValue + Description iacTypes.StringValue + IngressRules []SecurityGroupRule + EgressRules []SecurityGroupRule + VPCID iacTypes.StringValue +} + +type SecurityGroupRule struct { + Metadata iacTypes.Metadata + Description iacTypes.StringValue + CIDRs []iacTypes.StringValue +} + +type VPC struct { + Metadata iacTypes.Metadata + ID iacTypes.StringValue + IsDefault iacTypes.BoolValue + SecurityGroups []SecurityGroup + FlowLogsEnabled iacTypes.BoolValue +} + +const ( + TypeIngress = "ingress" + TypeEgress = "egress" +) + +const ( + ActionAllow = "allow" + ActionDeny = "deny" +) + +type NetworkACLRule struct { + Metadata iacTypes.Metadata + Type iacTypes.StringValue + Action iacTypes.StringValue + Protocol iacTypes.StringValue + CIDRs []iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/ecr/ecr.go b/pkg/iac/providers/aws/ecr/ecr.go new file mode 100755 index 000000000000..053b7f13dace --- /dev/null +++ b/pkg/iac/providers/aws/ecr/ecr.go @@ -0,0 +1,34 @@ +package ecr + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type ECR struct { + Repositories []Repository +} + +type Repository struct { + Metadata iacTypes.Metadata + ImageScanning ImageScanning + ImageTagsImmutable iacTypes.BoolValue + Policies []iam.Policy + Encryption Encryption +} + +type ImageScanning struct { + Metadata iacTypes.Metadata + ScanOnPush iacTypes.BoolValue +} + +const ( + EncryptionTypeKMS = "KMS" + EncryptionTypeAES256 = "AES256" +) + +type Encryption struct { + Metadata iacTypes.Metadata + Type iacTypes.StringValue + KMSKeyID iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/ecs/ecs.go b/pkg/iac/providers/aws/ecs/ecs.go new file mode 100755 index 000000000000..181c4a2ac90a --- /dev/null +++ b/pkg/iac/providers/aws/ecs/ecs.go @@ -0,0 +1,119 @@ +package ecs + +import ( + "encoding/json" + + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type ECS struct { + Clusters []Cluster + TaskDefinitions []TaskDefinition +} + +type Cluster struct { + Metadata iacTypes.Metadata + Settings ClusterSettings +} + +type ClusterSettings struct { + Metadata iacTypes.Metadata + ContainerInsightsEnabled iacTypes.BoolValue +} + +type TaskDefinition struct { + Metadata iacTypes.Metadata + Volumes []Volume + ContainerDefinitions []ContainerDefinition +} + +func CreateDefinitionsFromString(metadata iacTypes.Metadata, str string) ([]ContainerDefinition, error) { + var containerDefinitionsJSON []containerDefinitionJSON + if err := json.Unmarshal([]byte(str), &containerDefinitionsJSON); err != nil { + return nil, err + } + var definitions []ContainerDefinition + for _, j := range containerDefinitionsJSON { + definitions = append(definitions, j.convert(metadata)) + } + return definitions, nil +} + +// see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html +type containerDefinitionJSON struct { + Name string `json:"name"` + Image string `json:"image"` + CPU int `json:"cpu"` + Memory int `json:"memory"` + Essential bool `json:"essential"` + PortMappings []portMappingJSON `json:"portMappings"` + EnvVars []envVarJSON `json:"environment"` + Privileged bool `json:"privileged"` +} + +type envVarJSON struct { + Name string `json:"name"` + Value string `json:"value"` +} + +type portMappingJSON struct { + ContainerPort int `json:"containerPort"` + HostPort int `json:"hostPort"` +} + +func (j containerDefinitionJSON) convert(metadata iacTypes.Metadata) ContainerDefinition { + var mappings []PortMapping + for _, jMapping := range j.PortMappings { + mappings = append(mappings, PortMapping{ + ContainerPort: iacTypes.Int(jMapping.ContainerPort, metadata), + HostPort: iacTypes.Int(jMapping.HostPort, metadata), + }) + } + var envVars []EnvVar + for _, env := range j.EnvVars { + envVars = append(envVars, EnvVar(env)) + } + return ContainerDefinition{ + Metadata: metadata, + Name: iacTypes.String(j.Name, metadata), + Image: iacTypes.String(j.Image, metadata), + CPU: iacTypes.Int(j.CPU, metadata), + Memory: iacTypes.Int(j.Memory, metadata), + Essential: iacTypes.Bool(j.Essential, metadata), + PortMappings: mappings, + Environment: envVars, + Privileged: iacTypes.Bool(j.Privileged, metadata), + } +} + +type ContainerDefinition struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Image iacTypes.StringValue + CPU iacTypes.IntValue + Memory iacTypes.IntValue + Essential iacTypes.BoolValue + PortMappings []PortMapping + Environment []EnvVar + Privileged iacTypes.BoolValue +} + +type EnvVar struct { + Name string + Value string +} + +type PortMapping struct { + ContainerPort iacTypes.IntValue + HostPort iacTypes.IntValue +} + +type Volume struct { + Metadata iacTypes.Metadata + EFSVolumeConfiguration EFSVolumeConfiguration +} + +type EFSVolumeConfiguration struct { + Metadata iacTypes.Metadata + TransitEncryptionEnabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/efs/efs.go b/pkg/iac/providers/aws/efs/efs.go new file mode 100755 index 000000000000..4e9765b7d500 --- /dev/null +++ b/pkg/iac/providers/aws/efs/efs.go @@ -0,0 +1,14 @@ +package efs + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type EFS struct { + FileSystems []FileSystem +} + +type FileSystem struct { + Metadata iacTypes.Metadata + Encrypted iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/eks/eks.go b/pkg/iac/providers/aws/eks/eks.go new file mode 100755 index 000000000000..9eab8b563f65 --- /dev/null +++ b/pkg/iac/providers/aws/eks/eks.go @@ -0,0 +1,32 @@ +package eks + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type EKS struct { + Clusters []Cluster +} + +type Cluster struct { + Metadata iacTypes.Metadata + Logging Logging + Encryption Encryption + PublicAccessEnabled iacTypes.BoolValue + PublicAccessCIDRs []iacTypes.StringValue +} + +type Logging struct { + Metadata iacTypes.Metadata + API iacTypes.BoolValue + Audit iacTypes.BoolValue + Authenticator iacTypes.BoolValue + ControllerManager iacTypes.BoolValue + Scheduler iacTypes.BoolValue +} + +type Encryption struct { + Metadata iacTypes.Metadata + Secrets iacTypes.BoolValue + KMSKeyID iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/elasticache/elasticache.go b/pkg/iac/providers/aws/elasticache/elasticache.go new file mode 100755 index 000000000000..4069601b3193 --- /dev/null +++ b/pkg/iac/providers/aws/elasticache/elasticache.go @@ -0,0 +1,29 @@ +package elasticache + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type ElastiCache struct { + Clusters []Cluster + ReplicationGroups []ReplicationGroup + SecurityGroups []SecurityGroup +} + +type Cluster struct { + Metadata iacTypes.Metadata + Engine iacTypes.StringValue + NodeType iacTypes.StringValue + SnapshotRetentionLimit iacTypes.IntValue // days +} + +type ReplicationGroup struct { + Metadata iacTypes.Metadata + TransitEncryptionEnabled iacTypes.BoolValue + AtRestEncryptionEnabled iacTypes.BoolValue +} + +type SecurityGroup struct { + Metadata iacTypes.Metadata + Description iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/elasticsearch/elasticsearch.go b/pkg/iac/providers/aws/elasticsearch/elasticsearch.go new file mode 100755 index 000000000000..4f3cb0583681 --- /dev/null +++ b/pkg/iac/providers/aws/elasticsearch/elasticsearch.go @@ -0,0 +1,53 @@ +package elasticsearch + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Elasticsearch struct { + Domains []Domain +} + +type Domain struct { + Metadata iacTypes.Metadata + DomainName iacTypes.StringValue + AccessPolicies iacTypes.StringValue + DedicatedMasterEnabled iacTypes.BoolValue + VpcId iacTypes.StringValue + LogPublishing LogPublishing + TransitEncryption TransitEncryption + AtRestEncryption AtRestEncryption + ServiceSoftwareOptions ServiceSoftwareOptions + Endpoint Endpoint +} + +type ServiceSoftwareOptions struct { + Metadata iacTypes.Metadata + CurrentVersion iacTypes.StringValue + NewVersion iacTypes.StringValue + UpdateAvailable iacTypes.BoolValue + UpdateStatus iacTypes.StringValue +} + +type Endpoint struct { + Metadata iacTypes.Metadata + EnforceHTTPS iacTypes.BoolValue + TLSPolicy iacTypes.StringValue +} + +type LogPublishing struct { + Metadata iacTypes.Metadata + AuditEnabled iacTypes.BoolValue + CloudWatchLogGroupArn iacTypes.StringValue +} + +type TransitEncryption struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} + +type AtRestEncryption struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + KmsKeyId iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/elb/elb.go b/pkg/iac/providers/aws/elb/elb.go new file mode 100755 index 000000000000..04803fd26380 --- /dev/null +++ b/pkg/iac/providers/aws/elb/elb.go @@ -0,0 +1,36 @@ +package elb + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type ELB struct { + LoadBalancers []LoadBalancer +} + +const ( + TypeApplication = "application" + TypeGateway = "gateway" + TypeNetwork = "network" + TypeClassic = "classic" +) + +type LoadBalancer struct { + Metadata iacTypes.Metadata + Type iacTypes.StringValue + DropInvalidHeaderFields iacTypes.BoolValue + Internal iacTypes.BoolValue + Listeners []Listener +} + +type Listener struct { + Metadata iacTypes.Metadata + Protocol iacTypes.StringValue + TLSPolicy iacTypes.StringValue + DefaultActions []Action +} + +type Action struct { + Metadata iacTypes.Metadata + Type iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/emr/emr.go b/pkg/iac/providers/aws/emr/emr.go new file mode 100644 index 000000000000..1d00618a0345 --- /dev/null +++ b/pkg/iac/providers/aws/emr/emr.go @@ -0,0 +1,28 @@ +package emr + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type EMR struct { + Clusters []Cluster + SecurityConfiguration []SecurityConfiguration +} + +type Cluster struct { + Metadata iacTypes.Metadata + Settings ClusterSettings +} + +type ClusterSettings struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + ReleaseLabel iacTypes.StringValue + ServiceRole iacTypes.StringValue +} + +type SecurityConfiguration struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Configuration iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/iam/actions.go b/pkg/iac/providers/aws/iam/actions.go new file mode 100644 index 000000000000..125d32c521da --- /dev/null +++ b/pkg/iac/providers/aws/iam/actions.go @@ -0,0 +1,5180 @@ +// Code generated by mage genallowedactions DO NOT EDIT. + +package iam + +var allowedActionsForResourceWildcardsMap = map[string]struct{}{ + "a2c:GetContainerizationJobDetails": {}, + "a2c:GetDeploymentJobDetails": {}, + "a2c:StartContainerizationJob": {}, + "a2c:StartDeploymentJob": {}, + "a4b:ApproveSkill": {}, + "a4b:AssociateSkillWithUsers": {}, + "a4b:CompleteRegistration": {}, + "a4b:CreateAddressBook": {}, + "a4b:CreateBusinessReportSchedule": {}, + "a4b:CreateConferenceProvider": {}, + "a4b:CreateContact": {}, + "a4b:CreateGatewayGroup": {}, + "a4b:CreateNetworkProfile": {}, + "a4b:CreateProfile": {}, + "a4b:CreateSkillGroup": {}, + "a4b:GetConferencePreference": {}, + "a4b:GetInvitationConfiguration": {}, + "a4b:ListBusinessReportSchedules": {}, + "a4b:ListConferenceProviders": {}, + "a4b:ListGatewayGroups": {}, + "a4b:ListSkills": {}, + "a4b:ListSkillsStoreCategories": {}, + "a4b:ListSkillsStoreSkillsByCategory": {}, + "a4b:PutConferencePreference": {}, + "a4b:PutDeviceSetupEvents": {}, + "a4b:PutInvitationConfiguration": {}, + "a4b:RegisterAVSDevice": {}, + "a4b:RegisterDevice": {}, + "a4b:RejectSkill": {}, + "a4b:ResolveRoom": {}, + "a4b:SearchAddressBooks": {}, + "a4b:SearchContacts": {}, + "a4b:SearchDevices": {}, + "a4b:SearchNetworkProfiles": {}, + "a4b:SearchProfiles": {}, + "a4b:SearchRooms": {}, + "a4b:SearchSkillGroups": {}, + "a4b:SearchUsers": {}, + "a4b:SendAnnouncement": {}, + "a4b:StartDeviceSync": {}, + "access-analyzer:CancelPolicyGeneration": {}, + "access-analyzer:CheckAccessNotGranted": {}, + "access-analyzer:CheckNoNewAccess": {}, + "access-analyzer:GetGeneratedPolicy": {}, + "access-analyzer:ListAnalyzers": {}, + "access-analyzer:ListPolicyGenerations": {}, + "access-analyzer:StartPolicyGeneration": {}, + "access-analyzer:ValidatePolicy": {}, + "acm-pca:CreateCertificateAuthority": {}, + "acm-pca:ListCertificateAuthorities": {}, + "acm:GetAccountConfiguration": {}, + "acm:ListCertificates": {}, + "acm:PutAccountConfiguration": {}, + "acm:RequestCertificate": {}, + "activate:CreateForm": {}, + "activate:GetAccountContact": {}, + "activate:GetContentInfo": {}, + "activate:GetCosts": {}, + "activate:GetCredits": {}, + "activate:GetMemberInfo": {}, + "activate:GetProgram": {}, + "activate:PutMemberInfo": {}, + "airflow:ListEnvironments": {}, + "amplify:ListApps": {}, + "amplifybackend:ListS3Buckets": {}, + "amplifyuibuilder:CreateComponent": {}, + "amplifyuibuilder:CreateForm": {}, + "amplifyuibuilder:CreateTheme": {}, + "amplifyuibuilder:ExchangeCodeForToken": {}, + "amplifyuibuilder:ExportComponents": {}, + "amplifyuibuilder:ExportForms": {}, + "amplifyuibuilder:ExportThemes": {}, + "amplifyuibuilder:GetMetadata": {}, + "amplifyuibuilder:ListCodegenJobs": {}, + "amplifyuibuilder:ListComponents": {}, + "amplifyuibuilder:ListForms": {}, + "amplifyuibuilder:ListThemes": {}, + "amplifyuibuilder:PutMetadataFlag": {}, + "amplifyuibuilder:RefreshToken": {}, + "amplifyuibuilder:ResetMetadataFlag": {}, + "amplifyuibuilder:StartCodegenJob": {}, + "aoss:BatchGetCollection": {}, + "aoss:BatchGetEffectiveLifecyclePolicy": {}, + "aoss:BatchGetLifecyclePolicy": {}, + "aoss:BatchGetVpcEndpoint": {}, + "aoss:CreateAccessPolicy": {}, + "aoss:CreateCollection": {}, + "aoss:CreateLifecyclePolicy": {}, + "aoss:CreateSecurityConfig": {}, + "aoss:CreateSecurityPolicy": {}, + "aoss:CreateVpcEndpoint": {}, + "aoss:DeleteAccessPolicy": {}, + "aoss:DeleteLifecyclePolicy": {}, + "aoss:DeleteSecurityConfig": {}, + "aoss:DeleteSecurityPolicy": {}, + "aoss:DeleteVpcEndpoint": {}, + "aoss:GetAccessPolicy": {}, + "aoss:GetAccountSettings": {}, + "aoss:GetPoliciesStats": {}, + "aoss:GetSecurityConfig": {}, + "aoss:GetSecurityPolicy": {}, + "aoss:ListAccessPolicies": {}, + "aoss:ListCollections": {}, + "aoss:ListLifecyclePolicies": {}, + "aoss:ListSecurityConfigs": {}, + "aoss:ListSecurityPolicies": {}, + "aoss:ListTagsForResource": {}, + "aoss:ListVpcEndpoints": {}, + "aoss:TagResource": {}, + "aoss:UntagResource": {}, + "aoss:UpdateAccessPolicy": {}, + "aoss:UpdateAccountSettings": {}, + "aoss:UpdateLifecyclePolicy": {}, + "aoss:UpdateSecurityConfig": {}, + "aoss:UpdateSecurityPolicy": {}, + "aoss:UpdateVpcEndpoint": {}, + "app-integrations:ListApplicationAssociations": {}, + "app-integrations:ListApplications": {}, + "app-integrations:ListDataIntegrationAssociations": {}, + "app-integrations:ListDataIntegrations": {}, + "app-integrations:ListEventIntegrationAssociations": {}, + "app-integrations:ListEventIntegrations": {}, + "appconfig:CreateApplication": {}, + "appconfig:CreateDeploymentStrategy": {}, + "appconfig:CreateExtension": {}, + "appconfig:CreateExtensionAssociation": {}, + "appconfig:ListApplications": {}, + "appconfig:ListDeploymentStrategies": {}, + "appconfig:ListExtensionAssociations": {}, + "appconfig:ListExtensions": {}, + "appfabric:ListAppBundles": {}, + "appflow:CreateConnectorProfile": {}, + "appflow:CreateFlow": {}, + "appflow:DescribeConnectorProfiles": {}, + "appflow:DescribeConnectors": {}, + "appflow:DescribeFlows": {}, + "appflow:RegisterConnector": {}, + "application-autoscaling:DescribeScalableTargets": {}, + "application-autoscaling:DescribeScalingActivities": {}, + "application-autoscaling:DescribeScalingPolicies": {}, + "application-autoscaling:DescribeScheduledActions": {}, + "application-cost-profiler:DeleteReportDefinition": {}, + "application-cost-profiler:GetReportDefinition": {}, + "application-cost-profiler:ImportApplicationUsage": {}, + "application-cost-profiler:ListReportDefinitions": {}, + "application-cost-profiler:PutReportDefinition": {}, + "application-cost-profiler:UpdateReportDefinition": {}, + "application-transformation:GetContainerization": {}, + "application-transformation:GetDeployment": {}, + "application-transformation:GetGroupingAssessment": {}, + "application-transformation:GetPortingCompatibilityAssessment": {}, + "application-transformation:GetPortingRecommendationAssessment": {}, + "application-transformation:GetRuntimeAssessment": {}, + "application-transformation:PutLogData": {}, + "application-transformation:PutMetricData": {}, + "application-transformation:StartContainerization": {}, + "application-transformation:StartDeployment": {}, + "application-transformation:StartGroupingAssessment": {}, + "application-transformation:StartPortingCompatibilityAssessment": {}, + "application-transformation:StartPortingRecommendationAssessment": {}, + "application-transformation:StartRuntimeAssessment": {}, + "applicationinsights:AddWorkload": {}, + "applicationinsights:CreateApplication": {}, + "applicationinsights:CreateComponent": {}, + "applicationinsights:CreateLogPattern": {}, + "applicationinsights:DeleteApplication": {}, + "applicationinsights:DeleteComponent": {}, + "applicationinsights:DeleteLogPattern": {}, + "applicationinsights:DescribeApplication": {}, + "applicationinsights:DescribeComponent": {}, + "applicationinsights:DescribeComponentConfiguration": {}, + "applicationinsights:DescribeComponentConfigurationRecommendation": {}, + "applicationinsights:DescribeLogPattern": {}, + "applicationinsights:DescribeObservation": {}, + "applicationinsights:DescribeProblem": {}, + "applicationinsights:DescribeProblemObservations": {}, + "applicationinsights:DescribeWorkload": {}, + "applicationinsights:Link": {}, + "applicationinsights:ListApplications": {}, + "applicationinsights:ListComponents": {}, + "applicationinsights:ListConfigurationHistory": {}, + "applicationinsights:ListLogPatternSets": {}, + "applicationinsights:ListLogPatterns": {}, + "applicationinsights:ListProblems": {}, + "applicationinsights:ListTagsForResource": {}, + "applicationinsights:ListWorkloads": {}, + "applicationinsights:RemoveWorkload": {}, + "applicationinsights:TagResource": {}, + "applicationinsights:UntagResource": {}, + "applicationinsights:UpdateApplication": {}, + "applicationinsights:UpdateComponent": {}, + "applicationinsights:UpdateComponentConfiguration": {}, + "applicationinsights:UpdateLogPattern": {}, + "applicationinsights:UpdateProblem": {}, + "applicationinsights:UpdateWorkload": {}, + "appmesh-preview:ListMeshes": {}, + "appmesh:ListMeshes": {}, + "apprunner:ListAutoScalingConfigurations": {}, + "apprunner:ListConnections": {}, + "apprunner:ListObservabilityConfigurations": {}, + "apprunner:ListServices": {}, + "apprunner:ListVpcConnectors": {}, + "apprunner:ListVpcIngressConnections": {}, + "appstream:CreateAppBlock": {}, + "appstream:CreateDirectoryConfig": {}, + "appstream:CreateUsageReportSubscription": {}, + "appstream:CreateUser": {}, + "appstream:DeleteDirectoryConfig": {}, + "appstream:DeleteUsageReportSubscription": {}, + "appstream:DeleteUser": {}, + "appstream:DescribeDirectoryConfigs": {}, + "appstream:DescribeUsageReportSubscriptions": {}, + "appstream:DescribeUsers": {}, + "appstream:DisableUser": {}, + "appstream:EnableUser": {}, + "appstream:ExpireSession": {}, + "appstream:ListTagsForResource": {}, + "appstream:UpdateDirectoryConfig": {}, + "appsync:CreateApiCache": {}, + "appsync:CreateApiKey": {}, + "appsync:CreateDataSource": {}, + "appsync:CreateDomainName": {}, + "appsync:CreateFunction": {}, + "appsync:CreateGraphqlApi": {}, + "appsync:CreateResolver": {}, + "appsync:CreateType": {}, + "appsync:DeleteApiCache": {}, + "appsync:DeleteApiKey": {}, + "appsync:DeleteDataSource": {}, + "appsync:DeleteFunction": {}, + "appsync:DeleteResolver": {}, + "appsync:DeleteResourcePolicy": {}, + "appsync:DeleteType": {}, + "appsync:EvaluateCode": {}, + "appsync:EvaluateMappingTemplate": {}, + "appsync:FlushApiCache": {}, + "appsync:GetApiCache": {}, + "appsync:GetDataSource": {}, + "appsync:GetDataSourceIntrospection": {}, + "appsync:GetFunction": {}, + "appsync:GetGraphqlApiEnvironmentVariables": {}, + "appsync:GetIntrospectionSchema": {}, + "appsync:GetResolver": {}, + "appsync:GetResourcePolicy": {}, + "appsync:GetSchemaCreationStatus": {}, + "appsync:GetType": {}, + "appsync:ListApiKeys": {}, + "appsync:ListDataSources": {}, + "appsync:ListDomainNames": {}, + "appsync:ListFunctions": {}, + "appsync:ListGraphqlApis": {}, + "appsync:ListResolvers": {}, + "appsync:ListResolversByFunction": {}, + "appsync:ListSourceApiAssociations": {}, + "appsync:ListTypes": {}, + "appsync:ListTypesByAssociation": {}, + "appsync:PutGraphqlApiEnvironmentVariables": {}, + "appsync:PutResourcePolicy": {}, + "appsync:SetWebACL": {}, + "appsync:StartDataSourceIntrospection": {}, + "appsync:StartSchemaCreation": {}, + "appsync:UpdateApiCache": {}, + "appsync:UpdateApiKey": {}, + "appsync:UpdateDataSource": {}, + "appsync:UpdateFunction": {}, + "appsync:UpdateResolver": {}, + "appsync:UpdateType": {}, + "aps:CreateWorkspace": {}, + "aps:GetDefaultScraperConfiguration": {}, + "aps:ListScrapers": {}, + "aps:ListWorkspaces": {}, + "arc-zonal-shift:ListAutoshifts": {}, + "arc-zonal-shift:ListManagedResources": {}, + "arc-zonal-shift:ListZonalShifts": {}, + "arsenal:RegisterOnPremisesAgent": {}, + "artifact:GetAccountSettings": {}, + "artifact:ListReports": {}, + "artifact:PutAccountSettings": {}, + "athena:GetCatalogs": {}, + "athena:GetExecutionEngine": {}, + "athena:GetExecutionEngines": {}, + "athena:GetNamespace": {}, + "athena:GetNamespaces": {}, + "athena:GetQueryExecutions": {}, + "athena:GetTable": {}, + "athena:GetTables": {}, + "athena:ListApplicationDPUSizes": {}, + "athena:ListCapacityReservations": {}, + "athena:ListDataCatalogs": {}, + "athena:ListEngineVersions": {}, + "athena:ListExecutors": {}, + "athena:ListWorkGroups": {}, + "athena:RunQuery": {}, + "auditmanager:CreateAssessment": {}, + "auditmanager:CreateAssessmentFramework": {}, + "auditmanager:CreateControl": {}, + "auditmanager:DeleteAssessmentFrameworkShare": {}, + "auditmanager:DeregisterAccount": {}, + "auditmanager:DeregisterOrganizationAdminAccount": {}, + "auditmanager:GetAccountStatus": {}, + "auditmanager:GetDelegations": {}, + "auditmanager:GetEvidenceFileUploadUrl": {}, + "auditmanager:GetInsights": {}, + "auditmanager:GetInsightsByAssessment": {}, + "auditmanager:GetOrganizationAdminAccount": {}, + "auditmanager:GetServicesInScope": {}, + "auditmanager:GetSettings": {}, + "auditmanager:ListAssessmentControlInsightsByControlDomain": {}, + "auditmanager:ListAssessmentFrameworkShareRequests": {}, + "auditmanager:ListAssessmentFrameworks": {}, + "auditmanager:ListAssessmentReports": {}, + "auditmanager:ListAssessments": {}, + "auditmanager:ListControlDomainInsights": {}, + "auditmanager:ListControlDomainInsightsByAssessment": {}, + "auditmanager:ListControlInsightsByControlDomain": {}, + "auditmanager:ListControls": {}, + "auditmanager:ListKeywordsForDataSource": {}, + "auditmanager:ListNotifications": {}, + "auditmanager:RegisterAccount": {}, + "auditmanager:RegisterOrganizationAdminAccount": {}, + "auditmanager:UpdateAssessmentFrameworkShare": {}, + "auditmanager:UpdateSettings": {}, + "auditmanager:ValidateAssessmentReportIntegrity": {}, + "autoscaling-plans:CreateScalingPlan": {}, + "autoscaling-plans:DeleteScalingPlan": {}, + "autoscaling-plans:DescribeScalingPlanResources": {}, + "autoscaling-plans:DescribeScalingPlans": {}, + "autoscaling-plans:GetScalingPlanResourceForecastData": {}, + "autoscaling-plans:UpdateScalingPlan": {}, + "autoscaling:DescribeAccountLimits": {}, + "autoscaling:DescribeAdjustmentTypes": {}, + "autoscaling:DescribeAutoScalingGroups": {}, + "autoscaling:DescribeAutoScalingInstances": {}, + "autoscaling:DescribeAutoScalingNotificationTypes": {}, + "autoscaling:DescribeInstanceRefreshes": {}, + "autoscaling:DescribeLaunchConfigurations": {}, + "autoscaling:DescribeLifecycleHookTypes": {}, + "autoscaling:DescribeLifecycleHooks": {}, + "autoscaling:DescribeLoadBalancerTargetGroups": {}, + "autoscaling:DescribeLoadBalancers": {}, + "autoscaling:DescribeMetricCollectionTypes": {}, + "autoscaling:DescribeNotificationConfigurations": {}, + "autoscaling:DescribePolicies": {}, + "autoscaling:DescribeScalingActivities": {}, + "autoscaling:DescribeScalingProcessTypes": {}, + "autoscaling:DescribeScheduledActions": {}, + "autoscaling:DescribeTags": {}, + "autoscaling:DescribeTerminationPolicyTypes": {}, + "autoscaling:DescribeTrafficSources": {}, + "autoscaling:DescribeWarmPool": {}, + "autoscaling:GetPredictiveScalingForecast": {}, + "aws-marketplace-management:GetAdditionalSellerNotificationRecipients": {}, + "aws-marketplace-management:GetBankAccountVerificationDetails": {}, + "aws-marketplace-management:GetSecondaryUserVerificationDetails": {}, + "aws-marketplace-management:GetSellerVerificationDetails": {}, + "aws-marketplace-management:PutAdditionalSellerNotificationRecipients": {}, + "aws-marketplace-management:PutBankAccountVerificationDetails": {}, + "aws-marketplace-management:PutSecondaryUserVerificationDetails": {}, + "aws-marketplace-management:PutSellerVerificationDetails": {}, + "aws-marketplace-management:uploadFiles": {}, + "aws-marketplace-management:viewMarketing": {}, + "aws-marketplace-management:viewReports": {}, + "aws-marketplace-management:viewSettings": {}, + "aws-marketplace-management:viewSupport": {}, + "aws-marketplace:AcceptAgreementApprovalRequest": {}, + "aws-marketplace:AcceptAgreementRequest": {}, + "aws-marketplace:AssociateProductsWithPrivateMarketplace": {}, + "aws-marketplace:BatchMeterUsage": {}, + "aws-marketplace:CancelAgreement": {}, + "aws-marketplace:CancelAgreementRequest": {}, + "aws-marketplace:CompleteTask": {}, + "aws-marketplace:CreateAgreementRequest": {}, + "aws-marketplace:CreatePrivateMarketplaceRequests": {}, + "aws-marketplace:DescribeAgreement": {}, + "aws-marketplace:DescribeBuilds": {}, + "aws-marketplace:DescribePrivateMarketplaceRequests": {}, + "aws-marketplace:DescribeProcurementSystemConfiguration": {}, + "aws-marketplace:DescribeTask": {}, + "aws-marketplace:DisassociateProductsFromPrivateMarketplace": {}, + "aws-marketplace:GetAgreementApprovalRequest": {}, + "aws-marketplace:GetAgreementRequest": {}, + "aws-marketplace:GetAgreementTerms": {}, + "aws-marketplace:ListAgreementApprovalRequests": {}, + "aws-marketplace:ListAgreementRequests": {}, + "aws-marketplace:ListBuilds": {}, + "aws-marketplace:ListChangeSets": {}, + "aws-marketplace:ListEntities": {}, + "aws-marketplace:ListEntitlementDetails": {}, + "aws-marketplace:ListPrivateListings": {}, + "aws-marketplace:ListPrivateMarketplaceRequests": {}, + "aws-marketplace:ListTasks": {}, + "aws-marketplace:MeterUsage": {}, + "aws-marketplace:PutProcurementSystemConfiguration": {}, + "aws-marketplace:RegisterUsage": {}, + "aws-marketplace:RejectAgreementApprovalRequest": {}, + "aws-marketplace:ResolveCustomer": {}, + "aws-marketplace:SearchAgreements": {}, + "aws-marketplace:StartBuild": {}, + "aws-marketplace:Subscribe": {}, + "aws-marketplace:Unsubscribe": {}, + "aws-marketplace:UpdateAgreementApprovalRequest": {}, + "aws-marketplace:UpdateTask": {}, + "aws-marketplace:ViewSubscriptions": {}, + "aws-portal:GetConsoleActionSetEnforced": {}, + "aws-portal:ModifyAccount": {}, + "aws-portal:ModifyBilling": {}, + "aws-portal:ModifyPaymentMethods": {}, + "aws-portal:UpdateConsoleActionSetEnforced": {}, + "aws-portal:ViewAccount": {}, + "aws-portal:ViewBilling": {}, + "aws-portal:ViewPaymentMethods": {}, + "aws-portal:ViewUsage": {}, + "awsconnector:GetConnectorHealth": {}, + "awsconnector:RegisterConnector": {}, + "awsconnector:ValidateConnectorId": {}, + "b2bi:CreateProfile": {}, + "b2bi:CreateTransformer": {}, + "b2bi:ListCapabilities": {}, + "b2bi:ListPartnerships": {}, + "b2bi:ListProfiles": {}, + "b2bi:ListTransformers": {}, + "backup-gateway:CreateGateway": {}, + "backup-gateway:ImportHypervisorConfiguration": {}, + "backup-gateway:ListGateways": {}, + "backup-gateway:ListHypervisors": {}, + "backup-gateway:ListVirtualMachines": {}, + "backup-storage:CommitBackupJob": {}, + "backup-storage:DeleteObjects": {}, + "backup-storage:DescribeBackupJob": {}, + "backup-storage:GetBaseBackup": {}, + "backup-storage:GetChunk": {}, + "backup-storage:GetIncrementalBaseBackup": {}, + "backup-storage:GetObjectMetadata": {}, + "backup-storage:ListChunks": {}, + "backup-storage:ListObjects": {}, + "backup-storage:MountCapsule": {}, + "backup-storage:NotifyObjectComplete": {}, + "backup-storage:PutChunk": {}, + "backup-storage:PutObject": {}, + "backup-storage:StartObject": {}, + "backup-storage:UpdateObjectComplete": {}, + "backup:DescribeBackupJob": {}, + "backup:DescribeCopyJob": {}, + "backup:DescribeGlobalSettings": {}, + "backup:DescribeProtectedResource": {}, + "backup:DescribeRegionSettings": {}, + "backup:DescribeReportJob": {}, + "backup:DescribeRestoreJob": {}, + "backup:ExportBackupPlanTemplate": {}, + "backup:GetBackupPlanFromJSON": {}, + "backup:GetBackupPlanFromTemplate": {}, + "backup:GetRestoreJobMetadata": {}, + "backup:GetRestoreTestingInferredMetadata": {}, + "backup:GetSupportedResourceTypes": {}, + "backup:ListBackupJobSummaries": {}, + "backup:ListBackupJobs": {}, + "backup:ListBackupPlanTemplates": {}, + "backup:ListBackupPlans": {}, + "backup:ListBackupVaults": {}, + "backup:ListCopyJobSummaries": {}, + "backup:ListCopyJobs": {}, + "backup:ListFrameworks": {}, + "backup:ListLegalHolds": {}, + "backup:ListProtectedResources": {}, + "backup:ListRecoveryPointsByResource": {}, + "backup:ListReportJobs": {}, + "backup:ListReportPlans": {}, + "backup:ListRestoreJobSummaries": {}, + "backup:ListRestoreJobs": {}, + "backup:ListRestoreJobsByProtectedResource": {}, + "backup:ListRestoreTestingPlans": {}, + "backup:PutRestoreValidationResult": {}, + "backup:StopBackupJob": {}, + "backup:UpdateGlobalSettings": {}, + "backup:UpdateRegionSettings": {}, + "batch:DescribeComputeEnvironments": {}, + "batch:DescribeJobDefinitions": {}, + "batch:DescribeJobQueues": {}, + "batch:DescribeJobs": {}, + "batch:DescribeSchedulingPolicies": {}, + "batch:ListJobs": {}, + "batch:ListSchedulingPolicies": {}, + "bcm-data-exports:ListExports": {}, + "bcm-data-exports:ListTables": {}, + "bedrock:AssociateThirdPartyKnowledgeBase": {}, + "bedrock:CreateAgent": {}, + "bedrock:CreateFoundationModelAgreement": {}, + "bedrock:CreateGuardrail": {}, + "bedrock:CreateKnowledgeBase": {}, + "bedrock:DeleteFoundationModelAgreement": {}, + "bedrock:DeleteModelInvocationLoggingConfiguration": {}, + "bedrock:GetFoundationModelAvailability": {}, + "bedrock:GetModelInvocationLoggingConfiguration": {}, + "bedrock:GetUseCaseForModelAccess": {}, + "bedrock:ListAgents": {}, + "bedrock:ListCustomModels": {}, + "bedrock:ListFoundationModelAgreementOffers": {}, + "bedrock:ListFoundationModels": {}, + "bedrock:ListKnowledgeBases": {}, + "bedrock:ListModelCustomizationJobs": {}, + "bedrock:ListModelEvaluationJobs": {}, + "bedrock:ListModelInvocationJobs": {}, + "bedrock:ListProvisionedModelThroughputs": {}, + "bedrock:PutFoundationModelEntitlement": {}, + "bedrock:PutModelInvocationLoggingConfiguration": {}, + "bedrock:PutUseCaseForModelAccess": {}, + "bedrock:RetrieveAndGenerate": {}, + "billing:GetBillingData": {}, + "billing:GetBillingDetails": {}, + "billing:GetBillingNotifications": {}, + "billing:GetBillingPreferences": {}, + "billing:GetContractInformation": {}, + "billing:GetCredits": {}, + "billing:GetIAMAccessPreference": {}, + "billing:GetSellerOfRecord": {}, + "billing:ListBillingViews": {}, + "billing:PutContractInformation": {}, + "billing:RedeemCredits": {}, + "billing:UpdateBillingPreferences": {}, + "billing:UpdateIAMAccessPreference": {}, + "billingconductor:CreatePricingRule": {}, + "billingconductor:ListAccountAssociations": {}, + "billingconductor:ListBillingGroupCostReports": {}, + "billingconductor:ListBillingGroups": {}, + "billingconductor:ListCustomLineItems": {}, + "billingconductor:ListPricingPlans": {}, + "billingconductor:ListPricingRules": {}, + "braket:AcceptUserAgreement": {}, + "braket:AccessBraketFeature": {}, + "braket:CreateJob": {}, + "braket:CreateQuantumTask": {}, + "braket:GetDevice": {}, + "braket:GetServiceLinkedRoleStatus": {}, + "braket:GetUserAgreementStatus": {}, + "braket:SearchDevices": {}, + "braket:SearchJobs": {}, + "braket:SearchQuantumTasks": {}, + "budgets:DescribeBudgetActionsForAccount": {}, + "bugbust:CreateEvent": {}, + "bugbust:ListEvents": {}, + "cases:CreateDomain": {}, + "cases:ListDomains": {}, + "cases:ListTagsForResource": {}, + "ce:CreateAnomalyMonitor": {}, + "ce:CreateAnomalySubscription": {}, + "ce:CreateCostCategoryDefinition": {}, + "ce:CreateNotificationSubscription": {}, + "ce:CreateReport": {}, + "ce:DeleteNotificationSubscription": {}, + "ce:DeleteReport": {}, + "ce:DescribeNotificationSubscription": {}, + "ce:DescribeReport": {}, + "ce:GetApproximateUsageRecords": {}, + "ce:GetConsoleActionSetEnforced": {}, + "ce:GetCostAndUsage": {}, + "ce:GetCostAndUsageWithResources": {}, + "ce:GetCostCategories": {}, + "ce:GetCostForecast": {}, + "ce:GetDimensionValues": {}, + "ce:GetPreferences": {}, + "ce:GetReservationCoverage": {}, + "ce:GetReservationPurchaseRecommendation": {}, + "ce:GetReservationUtilization": {}, + "ce:GetRightsizingRecommendation": {}, + "ce:GetSavingsPlanPurchaseRecommendationDetails": {}, + "ce:GetSavingsPlansCoverage": {}, + "ce:GetSavingsPlansPurchaseRecommendation": {}, + "ce:GetSavingsPlansUtilization": {}, + "ce:GetSavingsPlansUtilizationDetails": {}, + "ce:GetTags": {}, + "ce:GetUsageForecast": {}, + "ce:ListCostAllocationTags": {}, + "ce:ListCostCategoryDefinitions": {}, + "ce:ListSavingsPlansPurchaseRecommendationGeneration": {}, + "ce:ProvideAnomalyFeedback": {}, + "ce:StartSavingsPlansPurchaseRecommendationGeneration": {}, + "ce:UpdateConsoleActionSetEnforced": {}, + "ce:UpdateCostAllocationTagsStatus": {}, + "ce:UpdateNotificationSubscription": {}, + "ce:UpdatePreferences": {}, + "ce:UpdateReport": {}, + "chatbot:CreateChimeWebhookConfiguration": {}, + "chatbot:CreateMicrosoftTeamsChannelConfiguration": {}, + "chatbot:CreateSlackChannelConfiguration": {}, + "chatbot:DeleteMicrosoftTeamsChannelConfiguration": {}, + "chatbot:DeleteMicrosoftTeamsConfiguredTeam": {}, + "chatbot:DeleteMicrosoftTeamsUserIdentity": {}, + "chatbot:DeleteSlackUserIdentity": {}, + "chatbot:DeleteSlackWorkspaceAuthorization": {}, + "chatbot:DescribeChimeWebhookConfigurations": {}, + "chatbot:DescribeSlackChannelConfigurations": {}, + "chatbot:DescribeSlackChannels": {}, + "chatbot:DescribeSlackUserIdentities": {}, + "chatbot:DescribeSlackWorkspaces": {}, + "chatbot:GetAccountPreferences": {}, + "chatbot:GetMicrosoftTeamsChannelConfiguration": {}, + "chatbot:GetMicrosoftTeamsOauthParameters": {}, + "chatbot:GetSlackOauthParameters": {}, + "chatbot:ListMicrosoftTeamsChannelConfigurations": {}, + "chatbot:ListMicrosoftTeamsConfiguredTeams": {}, + "chatbot:ListMicrosoftTeamsUserIdentities": {}, + "chatbot:RedeemMicrosoftTeamsOauthCode": {}, + "chatbot:RedeemSlackOauthCode": {}, + "chatbot:UpdateAccountPreferences": {}, + "chatbot:UpdateMicrosoftTeamsChannelConfiguration": {}, + "chime:AcceptDelegate": {}, + "chime:ActivateUsers": {}, + "chime:AddDomain": {}, + "chime:AddOrUpdateGroups": {}, + "chime:AssociatePhoneNumberWithUser": {}, + "chime:AssociatePhoneNumbersWithVoiceConnectorGroup": {}, + "chime:AssociateSigninDelegateGroupsWithAccount": {}, + "chime:AuthorizeDirectory": {}, + "chime:BatchCreateRoomMembership": {}, + "chime:BatchDeletePhoneNumber": {}, + "chime:BatchSuspendUser": {}, + "chime:BatchUnsuspendUser": {}, + "chime:BatchUpdatePhoneNumber": {}, + "chime:BatchUpdateUser": {}, + "chime:ConnectDirectory": {}, + "chime:CreateAccount": {}, + "chime:CreateApiKey": {}, + "chime:CreateAppInstance": {}, + "chime:CreateAppInstanceBot": {}, + "chime:CreateAppInstanceUser": {}, + "chime:CreateBot": {}, + "chime:CreateCDRBucket": {}, + "chime:CreateMediaCapturePipeline": {}, + "chime:CreateMediaConcatenationPipeline": {}, + "chime:CreateMediaInsightsPipelineConfiguration": {}, + "chime:CreateMediaLiveConnectorPipeline": {}, + "chime:CreateMediaPipelineKinesisVideoStreamPool": {}, + "chime:CreateMeeting": {}, + "chime:CreateMeetingWithAttendees": {}, + "chime:CreatePhoneNumberOrder": {}, + "chime:CreateRoom": {}, + "chime:CreateRoomMembership": {}, + "chime:CreateSipMediaApplication": {}, + "chime:CreateUser": {}, + "chime:CreateVoiceConnector": {}, + "chime:CreateVoiceProfile": {}, + "chime:CreateVoiceProfileDomain": {}, + "chime:DeleteAccount": {}, + "chime:DeleteAccountOpenIdConfig": {}, + "chime:DeleteApiKey": {}, + "chime:DeleteCDRBucket": {}, + "chime:DeleteDelegate": {}, + "chime:DeleteDomain": {}, + "chime:DeleteEventsConfiguration": {}, + "chime:DeleteGroups": {}, + "chime:DeletePhoneNumber": {}, + "chime:DeleteRoom": {}, + "chime:DeleteRoomMembership": {}, + "chime:DeleteSipRule": {}, + "chime:DeleteVoiceConnectorGroup": {}, + "chime:DisassociatePhoneNumberFromUser": {}, + "chime:DisassociatePhoneNumbersFromVoiceConnectorGroup": {}, + "chime:DisassociateSigninDelegateGroupsFromAccount": {}, + "chime:DisconnectDirectory": {}, + "chime:GetAccount": {}, + "chime:GetAccountResource": {}, + "chime:GetAccountSettings": {}, + "chime:GetAccountWithOpenIdConfig": {}, + "chime:GetBot": {}, + "chime:GetCDRBucket": {}, + "chime:GetDomain": {}, + "chime:GetEventsConfiguration": {}, + "chime:GetGlobalSettings": {}, + "chime:GetMeetingDetail": {}, + "chime:GetMessagingSessionEndpoint": {}, + "chime:GetPhoneNumber": {}, + "chime:GetPhoneNumberOrder": {}, + "chime:GetPhoneNumberSettings": {}, + "chime:GetRetentionSettings": {}, + "chime:GetRoom": {}, + "chime:GetSipRule": {}, + "chime:GetTelephonyLimits": {}, + "chime:GetUser": {}, + "chime:GetUserActivityReportData": {}, + "chime:GetUserByEmail": {}, + "chime:GetUserSettings": {}, + "chime:GetVoiceConnectorGroup": {}, + "chime:InviteDelegate": {}, + "chime:InviteUsers": {}, + "chime:InviteUsersFromProvider": {}, + "chime:ListAccountUsageReportData": {}, + "chime:ListAccounts": {}, + "chime:ListApiKeys": {}, + "chime:ListAvailableVoiceConnectorRegions": {}, + "chime:ListBots": {}, + "chime:ListCDRBucket": {}, + "chime:ListCallingRegions": {}, + "chime:ListDelegates": {}, + "chime:ListDirectories": {}, + "chime:ListDomains": {}, + "chime:ListGroups": {}, + "chime:ListMediaCapturePipelines": {}, + "chime:ListMediaInsightsPipelineConfigurations": {}, + "chime:ListMediaPipelineKinesisVideoStreamPools": {}, + "chime:ListMediaPipelines": {}, + "chime:ListMeetingEvents": {}, + "chime:ListMeetings": {}, + "chime:ListMeetingsReportData": {}, + "chime:ListPhoneNumberOrders": {}, + "chime:ListPhoneNumbers": {}, + "chime:ListRoomMemberships": {}, + "chime:ListRooms": {}, + "chime:ListSipMediaApplications": {}, + "chime:ListSupportedPhoneNumberCountries": {}, + "chime:ListUsers": {}, + "chime:ListVoiceConnectorGroups": {}, + "chime:ListVoiceConnectors": {}, + "chime:ListVoiceProfileDomains": {}, + "chime:LogoutUser": {}, + "chime:PutEventsConfiguration": {}, + "chime:PutRetentionSettings": {}, + "chime:RedactConversationMessage": {}, + "chime:RedactRoomMessage": {}, + "chime:RegenerateSecurityToken": {}, + "chime:RenameAccount": {}, + "chime:RenewDelegate": {}, + "chime:ResetAccountResource": {}, + "chime:ResetPersonalPIN": {}, + "chime:RestorePhoneNumber": {}, + "chime:RetrieveDataExports": {}, + "chime:SearchAvailablePhoneNumbers": {}, + "chime:StartDataExport": {}, + "chime:StartMeetingTranscription": {}, + "chime:StopMeetingTranscription": {}, + "chime:SubmitSupportRequest": {}, + "chime:SuspendUsers": {}, + "chime:UnauthorizeDirectory": {}, + "chime:UpdateAccount": {}, + "chime:UpdateAccountOpenIdConfig": {}, + "chime:UpdateAccountResource": {}, + "chime:UpdateAccountSettings": {}, + "chime:UpdateBot": {}, + "chime:UpdateCDRSettings": {}, + "chime:UpdateGlobalSettings": {}, + "chime:UpdatePhoneNumber": {}, + "chime:UpdatePhoneNumberSettings": {}, + "chime:UpdateRoom": {}, + "chime:UpdateRoomMembership": {}, + "chime:UpdateSupportedLicenses": {}, + "chime:UpdateUser": {}, + "chime:UpdateUserLicenses": {}, + "chime:UpdateUserSettings": {}, + "chime:ValidateAccountResource": {}, + "chime:ValidateE911Address": {}, + "cleanrooms-ml:CreateTrainingDataset": {}, + "cleanrooms-ml:ListAudienceModels": {}, + "cleanrooms-ml:ListConfiguredAudienceModels": {}, + "cleanrooms-ml:ListTrainingDatasets": {}, + "cleanrooms:ListCollaborations": {}, + "cleanrooms:ListConfiguredTables": {}, + "cleanrooms:ListMemberships": {}, + "cloud9:CreateEnvironmentEC2": {}, + "cloud9:CreateEnvironmentSSH": {}, + "cloud9:GetMigrationExperiences": {}, + "cloud9:GetUserPublicKey": {}, + "cloud9:GetUserSettings": {}, + "cloud9:ListEnvironments": {}, + "cloud9:UpdateUserSettings": {}, + "cloud9:ValidateEnvironmentName": {}, + "clouddirectory:CreateSchema": {}, + "clouddirectory:ListDevelopmentSchemaArns": {}, + "clouddirectory:ListDirectories": {}, + "clouddirectory:ListManagedSchemaArns": {}, + "clouddirectory:ListPublishedSchemaArns": {}, + "clouddirectory:PutSchemaFromJson": {}, + "cloudformation:ActivateOrganizationsAccess": {}, + "cloudformation:ActivateType": {}, + "cloudformation:BatchDescribeTypeConfigurations": {}, + "cloudformation:CancelResourceRequest": {}, + "cloudformation:CreateGeneratedTemplate": {}, + "cloudformation:CreateResource": {}, + "cloudformation:CreateStackSet": {}, + "cloudformation:CreateUploadBucket": {}, + "cloudformation:DeactivateOrganizationsAccess": {}, + "cloudformation:DeactivateType": {}, + "cloudformation:DeleteGeneratedTemplate": {}, + "cloudformation:DeleteResource": {}, + "cloudformation:DeregisterType": {}, + "cloudformation:DescribeAccountLimits": {}, + "cloudformation:DescribeGeneratedTemplate": {}, + "cloudformation:DescribeOrganizationsAccess": {}, + "cloudformation:DescribePublisher": {}, + "cloudformation:DescribeResourceScan": {}, + "cloudformation:DescribeStackDriftDetectionStatus": {}, + "cloudformation:DescribeType": {}, + "cloudformation:DescribeTypeRegistration": {}, + "cloudformation:EstimateTemplateCost": {}, + "cloudformation:GetGeneratedTemplate": {}, + "cloudformation:GetResource": {}, + "cloudformation:GetResourceRequestStatus": {}, + "cloudformation:ListExports": {}, + "cloudformation:ListGeneratedTemplates": {}, + "cloudformation:ListImports": {}, + "cloudformation:ListResourceRequests": {}, + "cloudformation:ListResourceScanRelatedResources": {}, + "cloudformation:ListResourceScanResources": {}, + "cloudformation:ListResourceScans": {}, + "cloudformation:ListResources": {}, + "cloudformation:ListStackSets": {}, + "cloudformation:ListStacks": {}, + "cloudformation:ListTypeRegistrations": {}, + "cloudformation:ListTypeVersions": {}, + "cloudformation:ListTypes": {}, + "cloudformation:PublishType": {}, + "cloudformation:RegisterPublisher": {}, + "cloudformation:RegisterType": {}, + "cloudformation:SetTypeConfiguration": {}, + "cloudformation:SetTypeDefaultVersion": {}, + "cloudformation:StartResourceScan": {}, + "cloudformation:TestType": {}, + "cloudformation:UpdateGeneratedTemplate": {}, + "cloudformation:UpdateResource": {}, + "cloudformation:ValidateTemplate": {}, + "cloudfront:CreateFieldLevelEncryptionConfig": {}, + "cloudfront:CreateFieldLevelEncryptionProfile": {}, + "cloudfront:CreateKeyGroup": {}, + "cloudfront:CreateMonitoringSubscription": {}, + "cloudfront:CreateOriginAccessControl": {}, + "cloudfront:CreatePublicKey": {}, + "cloudfront:CreateSavingsPlan": {}, + "cloudfront:DeleteKeyGroup": {}, + "cloudfront:DeleteMonitoringSubscription": {}, + "cloudfront:DeletePublicKey": {}, + "cloudfront:GetKeyGroup": {}, + "cloudfront:GetKeyGroupConfig": {}, + "cloudfront:GetMonitoringSubscription": {}, + "cloudfront:GetPublicKey": {}, + "cloudfront:GetPublicKeyConfig": {}, + "cloudfront:GetSavingsPlan": {}, + "cloudfront:ListCachePolicies": {}, + "cloudfront:ListCloudFrontOriginAccessIdentities": {}, + "cloudfront:ListContinuousDeploymentPolicies": {}, + "cloudfront:ListDistributions": {}, + "cloudfront:ListDistributionsByCachePolicyId": {}, + "cloudfront:ListDistributionsByKeyGroup": {}, + "cloudfront:ListDistributionsByLambdaFunction": {}, + "cloudfront:ListDistributionsByOriginRequestPolicyId": {}, + "cloudfront:ListDistributionsByRealtimeLogConfig": {}, + "cloudfront:ListDistributionsByResponseHeadersPolicyId": {}, + "cloudfront:ListDistributionsByWebACLId": {}, + "cloudfront:ListFieldLevelEncryptionConfigs": {}, + "cloudfront:ListFieldLevelEncryptionProfiles": {}, + "cloudfront:ListFunctions": {}, + "cloudfront:ListKeyGroups": {}, + "cloudfront:ListKeyValueStores": {}, + "cloudfront:ListOriginAccessControls": {}, + "cloudfront:ListOriginRequestPolicies": {}, + "cloudfront:ListPublicKeys": {}, + "cloudfront:ListRateCards": {}, + "cloudfront:ListRealtimeLogConfigs": {}, + "cloudfront:ListResponseHeadersPolicies": {}, + "cloudfront:ListSavingsPlans": {}, + "cloudfront:ListStreamingDistributions": {}, + "cloudfront:ListUsages": {}, + "cloudfront:UpdateFieldLevelEncryptionConfig": {}, + "cloudfront:UpdateKeyGroup": {}, + "cloudfront:UpdatePublicKey": {}, + "cloudfront:UpdateSavingsPlan": {}, + "cloudhsm:AddTagsToResource": {}, + "cloudhsm:CreateHapg": {}, + "cloudhsm:CreateLunaClient": {}, + "cloudhsm:DeleteHapg": {}, + "cloudhsm:DeleteHsm": {}, + "cloudhsm:DeleteLunaClient": {}, + "cloudhsm:DescribeBackups": {}, + "cloudhsm:DescribeClusters": {}, + "cloudhsm:DescribeHapg": {}, + "cloudhsm:DescribeHsm": {}, + "cloudhsm:DescribeLunaClient": {}, + "cloudhsm:GetConfig": {}, + "cloudhsm:ListAvailableZones": {}, + "cloudhsm:ListHapgs": {}, + "cloudhsm:ListHsms": {}, + "cloudhsm:ListLunaClients": {}, + "cloudhsm:ListTagsForResource": {}, + "cloudhsm:ModifyHapg": {}, + "cloudhsm:ModifyHsm": {}, + "cloudhsm:ModifyLunaClient": {}, + "cloudhsm:RemoveTagsFromResource": {}, + "cloudshell:CreateEnvironment": {}, + "cloudtrail:DeregisterOrganizationDelegatedAdmin": {}, + "cloudtrail:DescribeTrails": {}, + "cloudtrail:GetImport": {}, + "cloudtrail:ListChannels": {}, + "cloudtrail:ListEventDataStores": {}, + "cloudtrail:ListImportFailures": {}, + "cloudtrail:ListImports": {}, + "cloudtrail:ListPublicKeys": {}, + "cloudtrail:ListServiceLinkedChannels": {}, + "cloudtrail:ListTrails": {}, + "cloudtrail:LookupEvents": {}, + "cloudtrail:RegisterOrganizationDelegatedAdmin": {}, + "cloudtrail:StartImport": {}, + "cloudtrail:StopImport": {}, + "cloudwatch:BatchGetServiceLevelIndicatorReport": {}, + "cloudwatch:CreateServiceLevelObjective": {}, + "cloudwatch:DeleteAnomalyDetector": {}, + "cloudwatch:DescribeAlarmsForMetric": {}, + "cloudwatch:DescribeAnomalyDetectors": {}, + "cloudwatch:DescribeInsightRules": {}, + "cloudwatch:EnableTopologyDiscovery": {}, + "cloudwatch:GenerateQuery": {}, + "cloudwatch:GetMetricData": {}, + "cloudwatch:GetMetricStatistics": {}, + "cloudwatch:GetMetricWidgetImage": {}, + "cloudwatch:GetTopologyDiscoveryStatus": {}, + "cloudwatch:GetTopologyMap": {}, + "cloudwatch:Link": {}, + "cloudwatch:ListDashboards": {}, + "cloudwatch:ListManagedInsightRules": {}, + "cloudwatch:ListMetricStreams": {}, + "cloudwatch:ListMetrics": {}, + "cloudwatch:ListServiceLevelObjectives": {}, + "cloudwatch:ListServices": {}, + "cloudwatch:PutAnomalyDetector": {}, + "cloudwatch:PutManagedInsightRules": {}, + "cloudwatch:PutMetricData": {}, + "codeartifact:CreateDomain": {}, + "codeartifact:CreateRepository": {}, + "codeartifact:ListDomains": {}, + "codeartifact:ListRepositories": {}, + "codebuild:DeleteOAuthToken": {}, + "codebuild:DeleteSourceCredentials": {}, + "codebuild:ImportSourceCredentials": {}, + "codebuild:ListBuildBatches": {}, + "codebuild:ListBuilds": {}, + "codebuild:ListConnectedOAuthAccounts": {}, + "codebuild:ListCuratedEnvironmentImages": {}, + "codebuild:ListFleets": {}, + "codebuild:ListProjects": {}, + "codebuild:ListReportGroups": {}, + "codebuild:ListReports": {}, + "codebuild:ListRepositories": {}, + "codebuild:ListSharedProjects": {}, + "codebuild:ListSharedReportGroups": {}, + "codebuild:ListSourceCredentials": {}, + "codebuild:PersistOAuthToken": {}, + "codecatalyst:AcceptConnection": {}, + "codecatalyst:CreateIdentityCenterApplication": {}, + "codecatalyst:CreateSpace": {}, + "codecatalyst:GetPendingConnection": {}, + "codecatalyst:ListConnections": {}, + "codecatalyst:ListIdentityCenterApplications": {}, + "codecatalyst:ListIdentityCenterApplicationsForSpace": {}, + "codecatalyst:RejectConnection": {}, + "codecommit:CreateApprovalRuleTemplate": {}, + "codecommit:DeleteApprovalRuleTemplate": {}, + "codecommit:GetApprovalRuleTemplate": {}, + "codecommit:ListApprovalRuleTemplates": {}, + "codecommit:ListRepositories": {}, + "codecommit:ListRepositoriesForApprovalRuleTemplate": {}, + "codecommit:UpdateApprovalRuleTemplateContent": {}, + "codecommit:UpdateApprovalRuleTemplateDescription": {}, + "codecommit:UpdateApprovalRuleTemplateName": {}, + "codedeploy-commands-secure:GetDeploymentSpecification": {}, + "codedeploy-commands-secure:PollHostCommand": {}, + "codedeploy-commands-secure:PutHostCommandAcknowledgement": {}, + "codedeploy-commands-secure:PutHostCommandComplete": {}, + "codedeploy:BatchGetDeploymentTargets": {}, + "codedeploy:ContinueDeployment": {}, + "codedeploy:DeleteGitHubAccountToken": {}, + "codedeploy:DeleteResourcesByExternalId": {}, + "codedeploy:GetDeploymentTarget": {}, + "codedeploy:ListApplications": {}, + "codedeploy:ListDeploymentConfigs": {}, + "codedeploy:ListDeploymentTargets": {}, + "codedeploy:ListGitHubAccountTokenNames": {}, + "codedeploy:ListOnPremisesInstances": {}, + "codedeploy:PutLifecycleEventHookExecutionStatus": {}, + "codedeploy:SkipWaitTimeForInstanceTermination": {}, + "codedeploy:StopDeployment": {}, + "codeguru-profiler:CreateProfilingGroup": {}, + "codeguru-profiler:GetFindingsReportAccountSummary": {}, + "codeguru-profiler:ListProfilingGroups": {}, + "codeguru-reviewer:AssociateRepository": {}, + "codeguru-reviewer:CreateConnectionToken": {}, + "codeguru-reviewer:GetMetricsData": {}, + "codeguru-reviewer:ListCodeReviews": {}, + "codeguru-reviewer:ListRepositoryAssociations": {}, + "codeguru-reviewer:ListThirdPartyRepositories": {}, + "codeguru-security:DeleteScansByCategory": {}, + "codeguru-security:GetAccountConfiguration": {}, + "codeguru-security:GetMetricsSummary": {}, + "codeguru-security:ListFindings": {}, + "codeguru-security:ListFindingsMetrics": {}, + "codeguru-security:ListScans": {}, + "codeguru-security:UpdateAccountConfiguration": {}, + "codeguru:GetCodeGuruFreeTrialSummary": {}, + "codepipeline:AcknowledgeJob": {}, + "codepipeline:AcknowledgeThirdPartyJob": {}, + "codepipeline:GetActionType": {}, + "codepipeline:GetJobDetails": {}, + "codepipeline:GetThirdPartyJobDetails": {}, + "codepipeline:ListActionTypes": {}, + "codepipeline:ListPipelines": {}, + "codepipeline:PollForThirdPartyJobs": {}, + "codepipeline:PutJobFailureResult": {}, + "codepipeline:PutJobSuccessResult": {}, + "codepipeline:PutThirdPartyJobFailureResult": {}, + "codepipeline:PutThirdPartyJobSuccessResult": {}, + "codestar-connections:CreateConnection": {}, + "codestar-connections:CreateHost": {}, + "codestar-connections:DeleteSyncConfiguration": {}, + "codestar-connections:GetIndividualAccessToken": {}, + "codestar-connections:GetInstallationUrl": {}, + "codestar-connections:GetResourceSyncStatus": {}, + "codestar-connections:GetSyncBlockerSummary": {}, + "codestar-connections:GetSyncConfiguration": {}, + "codestar-connections:ListHosts": {}, + "codestar-connections:ListInstallationTargets": {}, + "codestar-connections:ListRepositoryLinks": {}, + "codestar-connections:ListRepositorySyncDefinitions": {}, + "codestar-connections:ListSyncConfigurations": {}, + "codestar-connections:RegisterAppCode": {}, + "codestar-connections:StartAppRegistrationHandshake": {}, + "codestar-connections:StartOAuthHandshake": {}, + "codestar-connections:UpdateSyncBlocker": {}, + "codestar-connections:UpdateSyncConfiguration": {}, + "codestar-notifications:DeleteTarget": {}, + "codestar-notifications:ListEventTypes": {}, + "codestar-notifications:ListNotificationRules": {}, + "codestar-notifications:ListTargets": {}, + "codestar:CreateProject": {}, + "codestar:DescribeUserProfile": {}, + "codestar:ListProjects": {}, + "codestar:ListUserProfiles": {}, + "codewhisperer:GenerateRecommendations": {}, + "codewhisperer:ListProfiles": {}, + "cognito-identity:CreateIdentityPool": {}, + "cognito-identity:DeleteIdentities": {}, + "cognito-identity:DescribeIdentity": {}, + "cognito-identity:GetCredentialsForIdentity": {}, + "cognito-identity:GetId": {}, + "cognito-identity:GetOpenIdToken": {}, + "cognito-identity:ListIdentityPools": {}, + "cognito-identity:SetIdentityPoolRoles": {}, + "cognito-identity:SetPrincipalTagAttributeMap": {}, + "cognito-identity:UnlinkIdentity": {}, + "cognito-idp:AssociateSoftwareToken": {}, + "cognito-idp:ChangePassword": {}, + "cognito-idp:ConfirmDevice": {}, + "cognito-idp:ConfirmForgotPassword": {}, + "cognito-idp:ConfirmSignUp": {}, + "cognito-idp:CreateUserPool": {}, + "cognito-idp:DeleteUser": {}, + "cognito-idp:DeleteUserAttributes": {}, + "cognito-idp:DescribeUserPoolDomain": {}, + "cognito-idp:ForgetDevice": {}, + "cognito-idp:ForgotPassword": {}, + "cognito-idp:GetDevice": {}, + "cognito-idp:GetUser": {}, + "cognito-idp:GetUserAttributeVerificationCode": {}, + "cognito-idp:GlobalSignOut": {}, + "cognito-idp:InitiateAuth": {}, + "cognito-idp:ListDevices": {}, + "cognito-idp:ListUserPools": {}, + "cognito-idp:ResendConfirmationCode": {}, + "cognito-idp:RespondToAuthChallenge": {}, + "cognito-idp:RevokeToken": {}, + "cognito-idp:SetUserMFAPreference": {}, + "cognito-idp:SetUserSettings": {}, + "cognito-idp:SignUp": {}, + "cognito-idp:UpdateDeviceStatus": {}, + "cognito-idp:UpdateUserAttributes": {}, + "cognito-idp:VerifySoftwareToken": {}, + "cognito-idp:VerifyUserAttribute": {}, + "comprehend:BatchDetectDominantLanguage": {}, + "comprehend:BatchDetectEntities": {}, + "comprehend:BatchDetectKeyPhrases": {}, + "comprehend:BatchDetectSentiment": {}, + "comprehend:BatchDetectSyntax": {}, + "comprehend:BatchDetectTargetedSentiment": {}, + "comprehend:ContainsPiiEntities": {}, + "comprehend:DetectDominantLanguage": {}, + "comprehend:DetectKeyPhrases": {}, + "comprehend:DetectPiiEntities": {}, + "comprehend:DetectSentiment": {}, + "comprehend:DetectSyntax": {}, + "comprehend:DetectTargetedSentiment": {}, + "comprehend:DetectToxicContent": {}, + "comprehend:ListDocumentClassificationJobs": {}, + "comprehend:ListDocumentClassifierSummaries": {}, + "comprehend:ListDocumentClassifiers": {}, + "comprehend:ListDominantLanguageDetectionJobs": {}, + "comprehend:ListEndpoints": {}, + "comprehend:ListEntitiesDetectionJobs": {}, + "comprehend:ListEntityRecognizerSummaries": {}, + "comprehend:ListEntityRecognizers": {}, + "comprehend:ListEventsDetectionJobs": {}, + "comprehend:ListFlywheels": {}, + "comprehend:ListKeyPhrasesDetectionJobs": {}, + "comprehend:ListPiiEntitiesDetectionJobs": {}, + "comprehend:ListSentimentDetectionJobs": {}, + "comprehend:ListTargetedSentimentDetectionJobs": {}, + "comprehend:ListTopicsDetectionJobs": {}, + "comprehendmedical:DescribeEntitiesDetectionV2Job": {}, + "comprehendmedical:DescribeICD10CMInferenceJob": {}, + "comprehendmedical:DescribePHIDetectionJob": {}, + "comprehendmedical:DescribeRxNormInferenceJob": {}, + "comprehendmedical:DescribeSNOMEDCTInferenceJob": {}, + "comprehendmedical:DetectEntitiesV2": {}, + "comprehendmedical:DetectPHI": {}, + "comprehendmedical:InferICD10CM": {}, + "comprehendmedical:InferRxNorm": {}, + "comprehendmedical:InferSNOMEDCT": {}, + "comprehendmedical:ListEntitiesDetectionV2Jobs": {}, + "comprehendmedical:ListICD10CMInferenceJobs": {}, + "comprehendmedical:ListPHIDetectionJobs": {}, + "comprehendmedical:ListRxNormInferenceJobs": {}, + "comprehendmedical:ListSNOMEDCTInferenceJobs": {}, + "comprehendmedical:StartEntitiesDetectionV2Job": {}, + "comprehendmedical:StartICD10CMInferenceJob": {}, + "comprehendmedical:StartPHIDetectionJob": {}, + "comprehendmedical:StartRxNormInferenceJob": {}, + "comprehendmedical:StartSNOMEDCTInferenceJob": {}, + "comprehendmedical:StopEntitiesDetectionV2Job": {}, + "comprehendmedical:StopICD10CMInferenceJob": {}, + "comprehendmedical:StopPHIDetectionJob": {}, + "comprehendmedical:StopRxNormInferenceJob": {}, + "comprehendmedical:StopSNOMEDCTInferenceJob": {}, + "compute-optimizer:DeleteRecommendationPreferences": {}, + "compute-optimizer:DescribeRecommendationExportJobs": {}, + "compute-optimizer:ExportAutoScalingGroupRecommendations": {}, + "compute-optimizer:ExportEBSVolumeRecommendations": {}, + "compute-optimizer:ExportEC2InstanceRecommendations": {}, + "compute-optimizer:ExportECSServiceRecommendations": {}, + "compute-optimizer:ExportLambdaFunctionRecommendations": {}, + "compute-optimizer:ExportLicenseRecommendations": {}, + "compute-optimizer:GetAutoScalingGroupRecommendations": {}, + "compute-optimizer:GetEBSVolumeRecommendations": {}, + "compute-optimizer:GetEC2InstanceRecommendations": {}, + "compute-optimizer:GetEC2RecommendationProjectedMetrics": {}, + "compute-optimizer:GetECSServiceRecommendationProjectedMetrics": {}, + "compute-optimizer:GetECSServiceRecommendations": {}, + "compute-optimizer:GetEffectiveRecommendationPreferences": {}, + "compute-optimizer:GetEnrollmentStatus": {}, + "compute-optimizer:GetEnrollmentStatusesForOrganization": {}, + "compute-optimizer:GetLambdaFunctionRecommendations": {}, + "compute-optimizer:GetLicenseRecommendations": {}, + "compute-optimizer:GetRecommendationPreferences": {}, + "compute-optimizer:GetRecommendationSummaries": {}, + "compute-optimizer:PutRecommendationPreferences": {}, + "compute-optimizer:UpdateEnrollmentStatus": {}, + "config:BatchGetResourceConfig": {}, + "config:DeleteConfigurationRecorder": {}, + "config:DeleteDeliveryChannel": {}, + "config:DeletePendingAggregationRequest": {}, + "config:DeleteRemediationExceptions": {}, + "config:DeleteResourceConfig": {}, + "config:DeleteRetentionConfiguration": {}, + "config:DeliverConfigSnapshot": {}, + "config:DescribeAggregationAuthorizations": {}, + "config:DescribeComplianceByConfigRule": {}, + "config:DescribeComplianceByResource": {}, + "config:DescribeConfigRuleEvaluationStatus": {}, + "config:DescribeConfigRules": {}, + "config:DescribeConfigurationAggregators": {}, + "config:DescribeConfigurationRecorderStatus": {}, + "config:DescribeConfigurationRecorders": {}, + "config:DescribeConformancePackStatus": {}, + "config:DescribeConformancePacks": {}, + "config:DescribeDeliveryChannelStatus": {}, + "config:DescribeDeliveryChannels": {}, + "config:DescribeOrganizationConfigRuleStatuses": {}, + "config:DescribeOrganizationConfigRules": {}, + "config:DescribeOrganizationConformancePackStatuses": {}, + "config:DescribeOrganizationConformancePacks": {}, + "config:DescribePendingAggregationRequests": {}, + "config:DescribeRemediationExceptions": {}, + "config:DescribeRetentionConfigurations": {}, + "config:GetComplianceDetailsByResource": {}, + "config:GetComplianceSummaryByConfigRule": {}, + "config:GetComplianceSummaryByResourceType": {}, + "config:GetDiscoveredResourceCounts": {}, + "config:GetResourceConfigHistory": {}, + "config:GetResourceEvaluationSummary": {}, + "config:ListConformancePackComplianceScores": {}, + "config:ListDiscoveredResources": {}, + "config:ListResourceEvaluations": {}, + "config:ListStoredQueries": {}, + "config:PutConfigurationRecorder": {}, + "config:PutDeliveryChannel": {}, + "config:PutEvaluations": {}, + "config:PutRemediationExceptions": {}, + "config:PutResourceConfig": {}, + "config:PutRetentionConfiguration": {}, + "config:SelectResourceConfig": {}, + "config:StartConfigurationRecorder": {}, + "config:StartRemediationExecution": {}, + "config:StartResourceEvaluation": {}, + "config:StopConfigurationRecorder": {}, + "connect-campaigns:DeleteConnectInstanceConfig": {}, + "connect-campaigns:DeleteInstanceOnboardingJob": {}, + "connect-campaigns:GetConnectInstanceConfig": {}, + "connect-campaigns:GetInstanceOnboardingJobStatus": {}, + "connect-campaigns:ListCampaigns": {}, + "connect-campaigns:StartInstanceOnboardingJob": {}, + "connect:CreateInstance": {}, + "connect:ListInstances": {}, + "connect:SendChatIntegrationEvent": {}, + "consoleapp:ListDeviceIdentities": {}, + "consolidatedbilling:GetAccountBillingRole": {}, + "consolidatedbilling:ListLinkedAccounts": {}, + "controltower:CreateLandingZone": {}, + "controltower:CreateManagedAccount": {}, + "controltower:DeregisterManagedAccount": {}, + "controltower:DeregisterOrganizationalUnit": {}, + "controltower:DescribeAccountFactoryConfig": {}, + "controltower:DescribeCoreService": {}, + "controltower:DescribeGuardrail": {}, + "controltower:DescribeGuardrailForTarget": {}, + "controltower:DescribeLandingZoneConfiguration": {}, + "controltower:DescribeManagedAccount": {}, + "controltower:DescribeManagedOrganizationalUnit": {}, + "controltower:DescribeRegisterOrganizationalUnitOperation": {}, + "controltower:DescribeSingleSignOn": {}, + "controltower:DisableGuardrail": {}, + "controltower:EnableGuardrail": {}, + "controltower:GetAccountInfo": {}, + "controltower:GetAvailableUpdates": {}, + "controltower:GetControlOperation": {}, + "controltower:GetGuardrailComplianceStatus": {}, + "controltower:GetHomeRegion": {}, + "controltower:GetLandingZoneDriftStatus": {}, + "controltower:GetLandingZoneOperation": {}, + "controltower:GetLandingZoneStatus": {}, + "controltower:ListDirectoryGroups": {}, + "controltower:ListDriftDetails": {}, + "controltower:ListEnabledControls": {}, + "controltower:ListEnabledGuardrails": {}, + "controltower:ListExtendGovernancePrecheckDetails": {}, + "controltower:ListExternalConfigRuleCompliance": {}, + "controltower:ListGuardrailViolations": {}, + "controltower:ListGuardrails": {}, + "controltower:ListGuardrailsForTarget": {}, + "controltower:ListLandingZones": {}, + "controltower:ListManagedAccounts": {}, + "controltower:ListManagedAccountsForGuardrail": {}, + "controltower:ListManagedAccountsForParent": {}, + "controltower:ListManagedOrganizationalUnits": {}, + "controltower:ListManagedOrganizationalUnitsForGuardrail": {}, + "controltower:ManageOrganizationalUnit": {}, + "controltower:PerformPreLaunchChecks": {}, + "controltower:SetupLandingZone": {}, + "controltower:UpdateAccountFactoryConfig": {}, + "cost-optimization-hub:GetPreferences": {}, + "cost-optimization-hub:GetRecommendation": {}, + "cost-optimization-hub:ListEnrollmentStatuses": {}, + "cost-optimization-hub:ListRecommendationSummaries": {}, + "cost-optimization-hub:ListRecommendations": {}, + "cost-optimization-hub:UpdateEnrollmentStatus": {}, + "cost-optimization-hub:UpdatePreferences": {}, + "cur:DescribeReportDefinitions": {}, + "cur:GetClassicReport": {}, + "cur:GetClassicReportPreferences": {}, + "cur:GetUsageReport": {}, + "cur:PutClassicReportPreferences": {}, + "cur:ValidateReportDestination": {}, + "customer-verification:CreateCustomerVerificationDetails": {}, + "customer-verification:GetCustomerVerificationDetails": {}, + "customer-verification:GetCustomerVerificationEligibility": {}, + "customer-verification:UpdateCustomerVerificationDetails": {}, + "databrew:CreateDataset": {}, + "databrew:CreateProfileJob": {}, + "databrew:CreateProject": {}, + "databrew:CreateRecipe": {}, + "databrew:CreateRecipeJob": {}, + "databrew:CreateRuleset": {}, + "databrew:CreateSchedule": {}, + "databrew:ListDatasets": {}, + "databrew:ListJobs": {}, + "databrew:ListProjects": {}, + "databrew:ListRecipes": {}, + "databrew:ListRulesets": {}, + "databrew:ListSchedules": {}, + "dataexchange:CreateDataSet": {}, + "dataexchange:CreateEventAction": {}, + "dataexchange:CreateJob": {}, + "dataexchange:ListDataSets": {}, + "dataexchange:ListEventActions": {}, + "dataexchange:ListJobs": {}, + "datapipeline:CreatePipeline": {}, + "datapipeline:GetAccountLimits": {}, + "datapipeline:ListPipelines": {}, + "datapipeline:PollForTask": {}, + "datapipeline:PutAccountLimits": {}, + "datapipeline:ReportTaskRunnerHeartbeat": {}, + "datasync:CreateAgent": {}, + "datasync:CreateLocationAzureBlob": {}, + "datasync:CreateLocationEfs": {}, + "datasync:CreateLocationFsxLustre": {}, + "datasync:CreateLocationFsxOntap": {}, + "datasync:CreateLocationFsxOpenZfs": {}, + "datasync:CreateLocationFsxWindows": {}, + "datasync:CreateLocationHdfs": {}, + "datasync:CreateLocationNfs": {}, + "datasync:CreateLocationObjectStorage": {}, + "datasync:CreateLocationS3": {}, + "datasync:CreateLocationSmb": {}, + "datasync:ListAgents": {}, + "datasync:ListDiscoveryJobs": {}, + "datasync:ListLocations": {}, + "datasync:ListStorageSystems": {}, + "datasync:ListTaskExecutions": {}, + "datasync:ListTasks": {}, + "datazone:AcceptPredictions": {}, + "datazone:AcceptSubscriptionRequest": {}, + "datazone:CancelSubscription": {}, + "datazone:CreateAsset": {}, + "datazone:CreateAssetRevision": {}, + "datazone:CreateAssetType": {}, + "datazone:CreateDataSource": {}, + "datazone:CreateDomain": {}, + "datazone:CreateEnvironment": {}, + "datazone:CreateEnvironmentBlueprint": {}, + "datazone:CreateEnvironmentProfile": {}, + "datazone:CreateFormType": {}, + "datazone:CreateGlossary": {}, + "datazone:CreateGlossaryTerm": {}, + "datazone:CreateGroupProfile": {}, + "datazone:CreateListingChangeSet": {}, + "datazone:CreateProject": {}, + "datazone:CreateProjectMembership": {}, + "datazone:CreateSubscriptionGrant": {}, + "datazone:CreateSubscriptionRequest": {}, + "datazone:CreateSubscriptionTarget": {}, + "datazone:CreateUserProfile": {}, + "datazone:DeleteAsset": {}, + "datazone:DeleteAssetType": {}, + "datazone:DeleteDataSource": {}, + "datazone:DeleteDomainSharingPolicy": {}, + "datazone:DeleteEnvironment": {}, + "datazone:DeleteEnvironmentBlueprint": {}, + "datazone:DeleteEnvironmentBlueprintConfiguration": {}, + "datazone:DeleteEnvironmentProfile": {}, + "datazone:DeleteFormType": {}, + "datazone:DeleteGlossary": {}, + "datazone:DeleteGlossaryTerm": {}, + "datazone:DeleteListing": {}, + "datazone:DeleteProject": {}, + "datazone:DeleteProjectMembership": {}, + "datazone:DeleteSubscriptionGrant": {}, + "datazone:DeleteSubscriptionRequest": {}, + "datazone:DeleteSubscriptionTarget": {}, + "datazone:GetAsset": {}, + "datazone:GetAssetType": {}, + "datazone:GetDataSource": {}, + "datazone:GetDataSourceRun": {}, + "datazone:GetDomainSharingPolicy": {}, + "datazone:GetEnvironment": {}, + "datazone:GetEnvironmentActionLink": {}, + "datazone:GetEnvironmentBlueprint": {}, + "datazone:GetEnvironmentBlueprintConfiguration": {}, + "datazone:GetEnvironmentCredentials": {}, + "datazone:GetEnvironmentProfile": {}, + "datazone:GetFormType": {}, + "datazone:GetGlossary": {}, + "datazone:GetGlossaryTerm": {}, + "datazone:GetGroupProfile": {}, + "datazone:GetIamPortalLoginUrl": {}, + "datazone:GetListing": {}, + "datazone:GetMetadataGenerationRun": {}, + "datazone:GetProject": {}, + "datazone:GetSubscription": {}, + "datazone:GetSubscriptionEligibility": {}, + "datazone:GetSubscriptionGrant": {}, + "datazone:GetSubscriptionRequestDetails": {}, + "datazone:GetSubscriptionTarget": {}, + "datazone:GetUserProfile": {}, + "datazone:ListAccountEnvironments": {}, + "datazone:ListAssetRevisions": {}, + "datazone:ListDataSourceRunActivities": {}, + "datazone:ListDataSourceRuns": {}, + "datazone:ListDataSources": {}, + "datazone:ListDomains": {}, + "datazone:ListEnvironmentBlueprintConfigurationSummaries": {}, + "datazone:ListEnvironmentBlueprintConfigurations": {}, + "datazone:ListEnvironmentBlueprints": {}, + "datazone:ListEnvironmentProfiles": {}, + "datazone:ListEnvironments": {}, + "datazone:ListGroupsForUser": {}, + "datazone:ListMetadataGenerationRuns": {}, + "datazone:ListNotifications": {}, + "datazone:ListProjectMemberships": {}, + "datazone:ListProjects": {}, + "datazone:ListSubscriptionGrants": {}, + "datazone:ListSubscriptionRequests": {}, + "datazone:ListSubscriptionTargets": {}, + "datazone:ListSubscriptions": {}, + "datazone:ListWarehouseMetadata": {}, + "datazone:ProvisionDomain": {}, + "datazone:PutDomainSharingPolicy": {}, + "datazone:PutEnvironmentBlueprintConfiguration": {}, + "datazone:RefreshToken": {}, + "datazone:RejectPredictions": {}, + "datazone:RejectSubscriptionRequest": {}, + "datazone:RevokeSubscription": {}, + "datazone:Search": {}, + "datazone:SearchGroupProfiles": {}, + "datazone:SearchListings": {}, + "datazone:SearchTypes": {}, + "datazone:SearchUserProfiles": {}, + "datazone:SsoLogin": {}, + "datazone:SsoLogout": {}, + "datazone:StartDataSourceRun": {}, + "datazone:StartMetadataGenerationRun": {}, + "datazone:StopMetadataGenerationRun": {}, + "datazone:UpdateDataSource": {}, + "datazone:UpdateEnvironment": {}, + "datazone:UpdateEnvironmentBlueprint": {}, + "datazone:UpdateEnvironmentConfiguration": {}, + "datazone:UpdateEnvironmentDeploymentStatus": {}, + "datazone:UpdateEnvironmentProfile": {}, + "datazone:UpdateGlossary": {}, + "datazone:UpdateGlossaryTerm": {}, + "datazone:UpdateGroupProfile": {}, + "datazone:UpdateProject": {}, + "datazone:UpdateSubscriptionGrantStatus": {}, + "datazone:UpdateSubscriptionRequest": {}, + "datazone:UpdateSubscriptionTarget": {}, + "datazone:UpdateUserProfile": {}, + "datazone:ValidatePassRole": {}, + "dax:CreateParameterGroup": {}, + "dax:CreateSubnetGroup": {}, + "dax:DeleteParameterGroup": {}, + "dax:DeleteSubnetGroup": {}, + "dax:DescribeDefaultParameters": {}, + "dax:DescribeEvents": {}, + "dax:DescribeParameterGroups": {}, + "dax:DescribeParameters": {}, + "dax:DescribeSubnetGroups": {}, + "dax:UpdateParameterGroup": {}, + "dax:UpdateSubnetGroup": {}, + "dbqms:CreateFavoriteQuery": {}, + "dbqms:CreateTab": {}, + "dbqms:DeleteFavoriteQueries": {}, + "dbqms:DeleteQueryHistory": {}, + "dbqms:DeleteTab": {}, + "dbqms:DescribeFavoriteQueries": {}, + "dbqms:DescribeQueryHistory": {}, + "dbqms:DescribeTabs": {}, + "dbqms:GetQueryString": {}, + "dbqms:UpdateFavoriteQuery": {}, + "dbqms:UpdateQueryHistory": {}, + "dbqms:UpdateTab": {}, + "deepcomposer:AssociateCoupon": {}, + "deepracer:AdminGetAccountConfig": {}, + "deepracer:AdminListAssociatedResources": {}, + "deepracer:AdminListAssociatedUsers": {}, + "deepracer:AdminManageUser": {}, + "deepracer:AdminSetAccountConfig": {}, + "deepracer:CreateCar": {}, + "deepracer:CreateLeaderboard": {}, + "deepracer:GetAccountConfig": {}, + "deepracer:GetAlias": {}, + "deepracer:GetCars": {}, + "deepracer:ImportModel": {}, + "deepracer:ListLeaderboards": {}, + "deepracer:ListModels": {}, + "deepracer:ListPrivateLeaderboards": {}, + "deepracer:ListSubscribedPrivateLeaderboards": {}, + "deepracer:ListTracks": {}, + "deepracer:MigrateModels": {}, + "deepracer:SetAlias": {}, + "deepracer:TestRewardFunction": {}, + "detective:AcceptInvitation": {}, + "detective:BatchGetMembershipDatasources": {}, + "detective:CreateGraph": {}, + "detective:DisableOrganizationAdminAccount": {}, + "detective:DisassociateMembership": {}, + "detective:EnableOrganizationAdminAccount": {}, + "detective:GetPricingInformation": {}, + "detective:ListGraphs": {}, + "detective:ListInvitations": {}, + "detective:ListOrganizationAdminAccount": {}, + "detective:RejectInvitation": {}, + "devicefarm:CreateInstanceProfile": {}, + "devicefarm:CreateProject": {}, + "devicefarm:CreateTestGridProject": {}, + "devicefarm:CreateVPCEConfiguration": {}, + "devicefarm:GetAccountSettings": {}, + "devicefarm:GetOfferingStatus": {}, + "devicefarm:ListDeviceInstances": {}, + "devicefarm:ListDevices": {}, + "devicefarm:ListInstanceProfiles": {}, + "devicefarm:ListOfferingPromotions": {}, + "devicefarm:ListOfferingTransactions": {}, + "devicefarm:ListOfferings": {}, + "devicefarm:ListProjects": {}, + "devicefarm:ListTestGridProjects": {}, + "devicefarm:ListVPCEConfigurations": {}, + "devicefarm:PurchaseOffering": {}, + "devicefarm:RenewOffering": {}, + "devops-guru:DeleteInsight": {}, + "devops-guru:DescribeAccountHealth": {}, + "devops-guru:DescribeAccountOverview": {}, + "devops-guru:DescribeAnomaly": {}, + "devops-guru:DescribeEventSourcesConfig": {}, + "devops-guru:DescribeFeedback": {}, + "devops-guru:DescribeInsight": {}, + "devops-guru:DescribeOrganizationHealth": {}, + "devops-guru:DescribeOrganizationOverview": {}, + "devops-guru:DescribeOrganizationResourceCollectionHealth": {}, + "devops-guru:DescribeResourceCollectionHealth": {}, + "devops-guru:DescribeServiceIntegration": {}, + "devops-guru:GetCostEstimation": {}, + "devops-guru:GetResourceCollection": {}, + "devops-guru:ListAnomaliesForInsight": {}, + "devops-guru:ListAnomalousLogGroups": {}, + "devops-guru:ListEvents": {}, + "devops-guru:ListInsights": {}, + "devops-guru:ListMonitoredResources": {}, + "devops-guru:ListNotificationChannels": {}, + "devops-guru:ListOrganizationInsights": {}, + "devops-guru:ListRecommendations": {}, + "devops-guru:PutFeedback": {}, + "devops-guru:SearchInsights": {}, + "devops-guru:SearchOrganizationInsights": {}, + "devops-guru:StartCostEstimation": {}, + "devops-guru:UpdateEventSourcesConfig": {}, + "devops-guru:UpdateResourceCollection": {}, + "devops-guru:UpdateServiceIntegration": {}, + "directconnect:ConfirmCustomerAgreement": {}, + "directconnect:CreateDirectConnectGateway": {}, + "directconnect:DeleteDirectConnectGatewayAssociationProposal": {}, + "directconnect:DescribeCustomerMetadata": {}, + "directconnect:DescribeLocations": {}, + "directconnect:DescribeVirtualGateways": {}, + "directconnect:UpdateDirectConnectGatewayAssociation": {}, + "discovery:AssociateConfigurationItemsToApplication": {}, + "discovery:BatchDeleteAgents": {}, + "discovery:BatchDeleteImportData": {}, + "discovery:CreateApplication": {}, + "discovery:CreateTags": {}, + "discovery:DeleteApplications": {}, + "discovery:DeleteTags": {}, + "discovery:DescribeAgents": {}, + "discovery:DescribeBatchDeleteConfigurationTask": {}, + "discovery:DescribeConfigurations": {}, + "discovery:DescribeContinuousExports": {}, + "discovery:DescribeExportConfigurations": {}, + "discovery:DescribeExportTasks": {}, + "discovery:DescribeImportTasks": {}, + "discovery:DescribeTags": {}, + "discovery:DisassociateConfigurationItemsFromApplication": {}, + "discovery:ExportConfigurations": {}, + "discovery:GetDiscoverySummary": {}, + "discovery:GetNetworkConnectionGraph": {}, + "discovery:ListConfigurations": {}, + "discovery:ListServerNeighbors": {}, + "discovery:StartBatchDeleteConfigurationTask": {}, + "discovery:StartContinuousExport": {}, + "discovery:StartDataCollectionByAgentIds": {}, + "discovery:StartExportTask": {}, + "discovery:StartImportTask": {}, + "discovery:StopContinuousExport": {}, + "discovery:StopDataCollectionByAgentIds": {}, + "discovery:UpdateApplication": {}, + "dlm:CreateLifecyclePolicy": {}, + "dlm:GetLifecyclePolicies": {}, + "dms:BatchStartRecommendations": {}, + "dms:CreateDataProvider": {}, + "dms:CreateEndpoint": {}, + "dms:CreateEventSubscription": {}, + "dms:CreateFleetAdvisorCollector": {}, + "dms:CreateInstanceProfile": {}, + "dms:CreateReplicationInstance": {}, + "dms:CreateReplicationSubnetGroup": {}, + "dms:DeleteFleetAdvisorCollector": {}, + "dms:DeleteFleetAdvisorDatabases": {}, + "dms:DescribeAccountAttributes": {}, + "dms:DescribeCertificates": {}, + "dms:DescribeConnections": {}, + "dms:DescribeDataMigrations": {}, + "dms:DescribeEndpointSettings": {}, + "dms:DescribeEndpointTypes": {}, + "dms:DescribeEndpoints": {}, + "dms:DescribeEngineVersions": {}, + "dms:DescribeEventCategories": {}, + "dms:DescribeEventSubscriptions": {}, + "dms:DescribeEvents": {}, + "dms:DescribeFleetAdvisorCollectors": {}, + "dms:DescribeFleetAdvisorDatabases": {}, + "dms:DescribeFleetAdvisorLsaAnalysis": {}, + "dms:DescribeFleetAdvisorSchemaObjectSummary": {}, + "dms:DescribeFleetAdvisorSchemas": {}, + "dms:DescribeOrderableReplicationInstances": {}, + "dms:DescribePendingMaintenanceActions": {}, + "dms:DescribeRecommendationLimitations": {}, + "dms:DescribeRecommendations": {}, + "dms:DescribeReplicationConfigs": {}, + "dms:DescribeReplicationInstances": {}, + "dms:DescribeReplicationSubnetGroups": {}, + "dms:DescribeReplicationTasks": {}, + "dms:DescribeReplications": {}, + "dms:ImportCertificate": {}, + "dms:ModifyEventSubscription": {}, + "dms:ModifyFleetAdvisorCollector": {}, + "dms:ModifyFleetAdvisorCollectorStatuses": {}, + "dms:ModifyReplicationSubnetGroup": {}, + "dms:RunFleetAdvisorLsaAnalysis": {}, + "dms:StartRecommendations": {}, + "dms:UpdateSubscriptionsToEventBridge": {}, + "dms:UploadFileMetadataList": {}, + "docdb-elastic:CreateCluster": {}, + "docdb-elastic:ListClusterSnapshots": {}, + "docdb-elastic:ListClusters": {}, + "drs:BatchDeleteSnapshotRequestForDrs": {}, + "drs:CreateExtendedSourceServer": {}, + "drs:CreateLaunchConfigurationTemplate": {}, + "drs:CreateReplicationConfigurationTemplate": {}, + "drs:CreateSourceNetwork": {}, + "drs:CreateSourceServerForDrs": {}, + "drs:DescribeJobs": {}, + "drs:DescribeLaunchConfigurationTemplates": {}, + "drs:DescribeRecoveryInstances": {}, + "drs:DescribeReplicationConfigurationTemplates": {}, + "drs:DescribeReplicationServerAssociationsForDrs": {}, + "drs:DescribeSnapshotRequestsForDrs": {}, + "drs:DescribeSourceNetworks": {}, + "drs:DescribeSourceServers": {}, + "drs:GetAgentInstallationAssetsForDrs": {}, + "drs:GetChannelCommandsForDrs": {}, + "drs:InitializeService": {}, + "drs:ListExtensibleSourceServers": {}, + "drs:ListStagingAccounts": {}, + "drs:ListTagsForResource": {}, + "drs:SendChannelCommandResultForDrs": {}, + "drs:SendClientLogsForDrs": {}, + "drs:SendClientMetricsForDrs": {}, + "ds:CheckAlias": {}, + "ds:ConnectDirectory": {}, + "ds:CreateDirectory": {}, + "ds:CreateIdentityPoolDirectory": {}, + "ds:CreateMicrosoftAD": {}, + "ds:DescribeDirectories": {}, + "ds:DescribeSnapshots": {}, + "ds:DescribeTrusts": {}, + "ds:GetDirectoryLimits": {}, + "ds:ListLogSubscriptions": {}, + "dynamodb:DescribeEndpoints": {}, + "dynamodb:DescribeLimits": {}, + "dynamodb:DescribeReservedCapacity": {}, + "dynamodb:DescribeReservedCapacityOfferings": {}, + "dynamodb:ListBackups": {}, + "dynamodb:ListContributorInsights": {}, + "dynamodb:ListExports": {}, + "dynamodb:ListGlobalTables": {}, + "dynamodb:ListImports": {}, + "dynamodb:ListStreams": {}, + "dynamodb:ListTables": {}, + "dynamodb:PurchaseReservedCapacityOfferings": {}, + "ec2:AcceptReservedInstancesExchangeQuote": {}, + "ec2:AdvertiseByoipCidr": {}, + "ec2:AssociateIpamByoasn": {}, + "ec2:AssociateTrunkInterface": {}, + "ec2:BundleInstance": {}, + "ec2:CancelBundleTask": {}, + "ec2:CancelConversionTask": {}, + "ec2:CancelReservedInstancesListing": {}, + "ec2:ConfirmProductInstance": {}, + "ec2:CreateDefaultSubnet": {}, + "ec2:CreateDefaultVpc": {}, + "ec2:CreateReservedInstancesListing": {}, + "ec2:CreateSpotDatafeedSubscription": {}, + "ec2:CreateSubnetCidrReservation": {}, + "ec2:DeleteQueuedReservedInstances": {}, + "ec2:DeleteSpotDatafeedSubscription": {}, + "ec2:DeleteSubnetCidrReservation": {}, + "ec2:DeprovisionByoipCidr": {}, + "ec2:DeregisterInstanceEventNotificationAttributes": {}, + "ec2:DescribeAccountAttributes": {}, + "ec2:DescribeAddressTransfers": {}, + "ec2:DescribeAddresses": {}, + "ec2:DescribeAggregateIdFormat": {}, + "ec2:DescribeAvailabilityZones": {}, + "ec2:DescribeAwsNetworkPerformanceMetricSubscriptions": {}, + "ec2:DescribeBundleTasks": {}, + "ec2:DescribeByoipCidrs": {}, + "ec2:DescribeCapacityBlockOfferings": {}, + "ec2:DescribeCapacityReservationFleets": {}, + "ec2:DescribeCapacityReservations": {}, + "ec2:DescribeCarrierGateways": {}, + "ec2:DescribeClassicLinkInstances": {}, + "ec2:DescribeCoipPools": {}, + "ec2:DescribeConversionTasks": {}, + "ec2:DescribeCustomerGateways": {}, + "ec2:DescribeDhcpOptions": {}, + "ec2:DescribeEgressOnlyInternetGateways": {}, + "ec2:DescribeElasticGpus": {}, + "ec2:DescribeExportImageTasks": {}, + "ec2:DescribeExportTasks": {}, + "ec2:DescribeFastLaunchImages": {}, + "ec2:DescribeFastSnapshotRestores": {}, + "ec2:DescribeFleets": {}, + "ec2:DescribeFlowLogs": {}, + "ec2:DescribeFpgaImages": {}, + "ec2:DescribeHostReservationOfferings": {}, + "ec2:DescribeHostReservations": {}, + "ec2:DescribeHosts": {}, + "ec2:DescribeIamInstanceProfileAssociations": {}, + "ec2:DescribeIdFormat": {}, + "ec2:DescribeIdentityIdFormat": {}, + "ec2:DescribeImages": {}, + "ec2:DescribeImportImageTasks": {}, + "ec2:DescribeImportSnapshotTasks": {}, + "ec2:DescribeInstanceConnectEndpoints": {}, + "ec2:DescribeInstanceCreditSpecifications": {}, + "ec2:DescribeInstanceEventNotificationAttributes": {}, + "ec2:DescribeInstanceEventWindows": {}, + "ec2:DescribeInstanceStatus": {}, + "ec2:DescribeInstanceTopology": {}, + "ec2:DescribeInstanceTypeOfferings": {}, + "ec2:DescribeInstanceTypes": {}, + "ec2:DescribeInstances": {}, + "ec2:DescribeInternetGateways": {}, + "ec2:DescribeIpamByoasn": {}, + "ec2:DescribeIpamPools": {}, + "ec2:DescribeIpamResourceDiscoveries": {}, + "ec2:DescribeIpamResourceDiscoveryAssociations": {}, + "ec2:DescribeIpamScopes": {}, + "ec2:DescribeIpams": {}, + "ec2:DescribeIpv6Pools": {}, + "ec2:DescribeKeyPairs": {}, + "ec2:DescribeLaunchTemplateVersions": {}, + "ec2:DescribeLaunchTemplates": {}, + "ec2:DescribeLocalGatewayRouteTablePermissions": {}, + "ec2:DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations": {}, + "ec2:DescribeLocalGatewayRouteTableVpcAssociations": {}, + "ec2:DescribeLocalGatewayRouteTables": {}, + "ec2:DescribeLocalGatewayVirtualInterfaceGroups": {}, + "ec2:DescribeLocalGatewayVirtualInterfaces": {}, + "ec2:DescribeLocalGateways": {}, + "ec2:DescribeLockedSnapshots": {}, + "ec2:DescribeManagedPrefixLists": {}, + "ec2:DescribeMovingAddresses": {}, + "ec2:DescribeNatGateways": {}, + "ec2:DescribeNetworkAcls": {}, + "ec2:DescribeNetworkInsightsAccessScopeAnalyses": {}, + "ec2:DescribeNetworkInsightsAccessScopes": {}, + "ec2:DescribeNetworkInsightsAnalyses": {}, + "ec2:DescribeNetworkInsightsPaths": {}, + "ec2:DescribeNetworkInterfaceAttribute": {}, + "ec2:DescribeNetworkInterfacePermissions": {}, + "ec2:DescribeNetworkInterfaces": {}, + "ec2:DescribePlacementGroups": {}, + "ec2:DescribePrefixLists": {}, + "ec2:DescribePrincipalIdFormat": {}, + "ec2:DescribePublicIpv4Pools": {}, + "ec2:DescribeRegions": {}, + "ec2:DescribeReplaceRootVolumeTasks": {}, + "ec2:DescribeReservedInstances": {}, + "ec2:DescribeReservedInstancesListings": {}, + "ec2:DescribeReservedInstancesModifications": {}, + "ec2:DescribeReservedInstancesOfferings": {}, + "ec2:DescribeRouteTables": {}, + "ec2:DescribeScheduledInstanceAvailability": {}, + "ec2:DescribeScheduledInstances": {}, + "ec2:DescribeSecurityGroupReferences": {}, + "ec2:DescribeSecurityGroupRules": {}, + "ec2:DescribeSecurityGroups": {}, + "ec2:DescribeSnapshotTierStatus": {}, + "ec2:DescribeSnapshots": {}, + "ec2:DescribeSpotDatafeedSubscription": {}, + "ec2:DescribeSpotFleetRequests": {}, + "ec2:DescribeSpotInstanceRequests": {}, + "ec2:DescribeSpotPriceHistory": {}, + "ec2:DescribeStaleSecurityGroups": {}, + "ec2:DescribeStoreImageTasks": {}, + "ec2:DescribeSubnets": {}, + "ec2:DescribeTags": {}, + "ec2:DescribeTrafficMirrorFilters": {}, + "ec2:DescribeTrafficMirrorSessions": {}, + "ec2:DescribeTrafficMirrorTargets": {}, + "ec2:DescribeTransitGatewayAttachments": {}, + "ec2:DescribeTransitGatewayConnectPeers": {}, + "ec2:DescribeTransitGatewayConnects": {}, + "ec2:DescribeTransitGatewayMulticastDomains": {}, + "ec2:DescribeTransitGatewayPeeringAttachments": {}, + "ec2:DescribeTransitGatewayPolicyTables": {}, + "ec2:DescribeTransitGatewayRouteTableAnnouncements": {}, + "ec2:DescribeTransitGatewayRouteTables": {}, + "ec2:DescribeTransitGatewayVpcAttachments": {}, + "ec2:DescribeTransitGateways": {}, + "ec2:DescribeTrunkInterfaceAssociations": {}, + "ec2:DescribeVerifiedAccessEndpoints": {}, + "ec2:DescribeVerifiedAccessGroups": {}, + "ec2:DescribeVerifiedAccessInstanceLoggingConfigurations": {}, + "ec2:DescribeVerifiedAccessInstanceWebAclAssociations": {}, + "ec2:DescribeVerifiedAccessInstances": {}, + "ec2:DescribeVerifiedAccessTrustProviders": {}, + "ec2:DescribeVolumeStatus": {}, + "ec2:DescribeVolumes": {}, + "ec2:DescribeVolumesModifications": {}, + "ec2:DescribeVpcClassicLink": {}, + "ec2:DescribeVpcClassicLinkDnsSupport": {}, + "ec2:DescribeVpcEndpointConnectionNotifications": {}, + "ec2:DescribeVpcEndpointConnections": {}, + "ec2:DescribeVpcEndpointServiceConfigurations": {}, + "ec2:DescribeVpcEndpointServices": {}, + "ec2:DescribeVpcEndpoints": {}, + "ec2:DescribeVpcPeeringConnections": {}, + "ec2:DescribeVpcs": {}, + "ec2:DescribeVpnConnections": {}, + "ec2:DescribeVpnGateways": {}, + "ec2:DisableAwsNetworkPerformanceMetricSubscription": {}, + "ec2:DisableEbsEncryptionByDefault": {}, + "ec2:DisableImageBlockPublicAccess": {}, + "ec2:DisableIpamOrganizationAdminAccount": {}, + "ec2:DisableSerialConsoleAccess": {}, + "ec2:DisableSnapshotBlockPublicAccess": {}, + "ec2:DisassociateIpamByoasn": {}, + "ec2:DisassociateTrunkInterface": {}, + "ec2:EnableAwsNetworkPerformanceMetricSubscription": {}, + "ec2:EnableEbsEncryptionByDefault": {}, + "ec2:EnableImageBlockPublicAccess": {}, + "ec2:EnableIpamOrganizationAdminAccount": {}, + "ec2:EnableReachabilityAnalyzerOrganizationSharing": {}, + "ec2:EnableSerialConsoleAccess": {}, + "ec2:EnableSnapshotBlockPublicAccess": {}, + "ec2:ExportTransitGatewayRoutes": {}, + "ec2:GetAssociatedIpv6PoolCidrs": {}, + "ec2:GetAwsNetworkPerformanceData": {}, + "ec2:GetDefaultCreditSpecification": {}, + "ec2:GetEbsDefaultKmsKeyId": {}, + "ec2:GetEbsEncryptionByDefault": {}, + "ec2:GetHostReservationPurchasePreview": {}, + "ec2:GetImageBlockPublicAccessState": {}, + "ec2:GetInstanceTypesFromInstanceRequirements": {}, + "ec2:GetReservedInstancesExchangeQuote": {}, + "ec2:GetSerialConsoleAccessStatus": {}, + "ec2:GetSnapshotBlockPublicAccessState": {}, + "ec2:GetSpotPlacementScores": {}, + "ec2:GetSubnetCidrReservations": {}, + "ec2:GetTransitGatewayAttachmentPropagations": {}, + "ec2:GetTransitGatewayPrefixListReferences": {}, + "ec2:GetTransitGatewayRouteTableAssociations": {}, + "ec2:GetTransitGatewayRouteTablePropagations": {}, + "ec2:GetVpnConnectionDeviceTypes": {}, + "ec2:InjectApiError": {}, + "ec2:ListImagesInRecycleBin": {}, + "ec2:ListSnapshotsInRecycleBin": {}, + "ec2:ModifyAvailabilityZoneGroup": {}, + "ec2:ModifyDefaultCreditSpecification": {}, + "ec2:ModifyEbsDefaultKmsKeyId": {}, + "ec2:ModifyIdFormat": {}, + "ec2:ModifyIdentityIdFormat": {}, + "ec2:MoveAddressToVpc": {}, + "ec2:ProvisionByoipCidr": {}, + "ec2:PurchaseReservedInstancesOffering": {}, + "ec2:PurchaseScheduledInstances": {}, + "ec2:RegisterInstanceEventNotificationAttributes": {}, + "ec2:ReportInstanceStatus": {}, + "ec2:ResetEbsDefaultKmsKeyId": {}, + "ec2:RestoreAddressToClassic": {}, + "ec2:RunScheduledInstances": {}, + "ec2:WithdrawByoipCidr": {}, + "ec2messages:AcknowledgeMessage": {}, + "ec2messages:DeleteMessage": {}, + "ec2messages:FailMessage": {}, + "ec2messages:GetEndpoint": {}, + "ec2messages:GetMessages": {}, + "ec2messages:SendReply": {}, + "ecr-public:GetAuthorizationToken": {}, + "ecr:BatchImportUpstreamImage": {}, + "ecr:CreatePullThroughCacheRule": {}, + "ecr:CreateRepository": {}, + "ecr:CreateRepositoryCreationTemplate": {}, + "ecr:DeletePullThroughCacheRule": {}, + "ecr:DeleteRegistryPolicy": {}, + "ecr:DeleteRepositoryCreationTemplate": {}, + "ecr:DescribePullThroughCacheRules": {}, + "ecr:DescribeRegistry": {}, + "ecr:DescribeRepositoryCreationTemplate": {}, + "ecr:GetAuthorizationToken": {}, + "ecr:GetRegistryPolicy": {}, + "ecr:GetRegistryScanningConfiguration": {}, + "ecr:PutRegistryPolicy": {}, + "ecr:PutRegistryScanningConfiguration": {}, + "ecr:PutReplicationConfiguration": {}, + "ecr:UpdatePullThroughCacheRule": {}, + "ecr:ValidatePullThroughCacheRule": {}, + "ecs:CreateCapacityProvider": {}, + "ecs:CreateCluster": {}, + "ecs:CreateTaskSet": {}, + "ecs:DeleteAccountSetting": {}, + "ecs:DeregisterTaskDefinition": {}, + "ecs:DescribeTaskDefinition": {}, + "ecs:DiscoverPollEndpoint": {}, + "ecs:ListAccountSettings": {}, + "ecs:ListClusters": {}, + "ecs:ListServices": {}, + "ecs:ListServicesByNamespace": {}, + "ecs:ListTaskDefinitionFamilies": {}, + "ecs:ListTaskDefinitions": {}, + "ecs:PutAccountSetting": {}, + "ecs:PutAccountSettingDefault": {}, + "ecs:RegisterTaskDefinition": {}, + "eks:CreateCluster": {}, + "eks:CreateEksAnywhereSubscription": {}, + "eks:DescribeAddonConfiguration": {}, + "eks:DescribeAddonVersions": {}, + "eks:ListAccessPolicies": {}, + "eks:ListClusters": {}, + "eks:ListEksAnywhereSubscriptions": {}, + "eks:RegisterCluster": {}, + "elasticache:DescribeCacheEngineVersions": {}, + "elasticache:DescribeEngineDefaultParameters": {}, + "elasticache:DescribeEvents": {}, + "elasticache:DescribeReservedCacheNodesOfferings": {}, + "elasticache:DescribeServiceUpdates": {}, + "elasticbeanstalk:CheckDNSAvailability": {}, + "elasticbeanstalk:CreateStorageLocation": {}, + "elasticbeanstalk:DescribeAccountAttributes": {}, + "elasticbeanstalk:ListPlatformBranches": {}, + "elasticfilesystem:CreateFileSystem": {}, + "elasticfilesystem:DescribeAccountPreferences": {}, + "elasticfilesystem:PutAccountPreferences": {}, + "elasticloadbalancing:DescribeAccountLimits": {}, + "elasticloadbalancing:DescribeInstanceHealth": {}, + "elasticloadbalancing:DescribeListenerCertificates": {}, + "elasticloadbalancing:DescribeListeners": {}, + "elasticloadbalancing:DescribeLoadBalancerAttributes": {}, + "elasticloadbalancing:DescribeLoadBalancerPolicies": {}, + "elasticloadbalancing:DescribeLoadBalancerPolicyTypes": {}, + "elasticloadbalancing:DescribeLoadBalancers": {}, + "elasticloadbalancing:DescribeRules": {}, + "elasticloadbalancing:DescribeSSLPolicies": {}, + "elasticloadbalancing:DescribeTags": {}, + "elasticloadbalancing:DescribeTargetGroupAttributes": {}, + "elasticloadbalancing:DescribeTargetGroups": {}, + "elasticloadbalancing:DescribeTargetHealth": {}, + "elasticloadbalancing:DescribeTrustStoreAssociations": {}, + "elasticloadbalancing:DescribeTrustStoreRevocations": {}, + "elasticloadbalancing:DescribeTrustStores": {}, + "elasticloadbalancing:SetWebAcl": {}, + "elasticmapreduce:CreateRepository": {}, + "elasticmapreduce:CreateSecurityConfiguration": {}, + "elasticmapreduce:CreateStudio": {}, + "elasticmapreduce:DeleteRepository": {}, + "elasticmapreduce:DeleteSecurityConfiguration": {}, + "elasticmapreduce:DescribeReleaseLabel": {}, + "elasticmapreduce:DescribeRepository": {}, + "elasticmapreduce:DescribeSecurityConfiguration": {}, + "elasticmapreduce:GetBlockPublicAccessConfiguration": {}, + "elasticmapreduce:LinkRepository": {}, + "elasticmapreduce:ListClusters": {}, + "elasticmapreduce:ListEditors": {}, + "elasticmapreduce:ListNotebookExecutions": {}, + "elasticmapreduce:ListReleaseLabels": {}, + "elasticmapreduce:ListRepositories": {}, + "elasticmapreduce:ListSecurityConfigurations": {}, + "elasticmapreduce:ListStudioSessionMappings": {}, + "elasticmapreduce:ListStudios": {}, + "elasticmapreduce:ListSupportedInstanceTypes": {}, + "elasticmapreduce:PutBlockPublicAccessConfiguration": {}, + "elasticmapreduce:RunJobFlow": {}, + "elasticmapreduce:UnlinkRepository": {}, + "elasticmapreduce:UpdateRepository": {}, + "elasticmapreduce:ViewEventsFromAllClustersInConsole": {}, + "elastictranscoder:CreatePipeline": {}, + "elastictranscoder:CreatePreset": {}, + "elastictranscoder:ListJobsByStatus": {}, + "elastictranscoder:ListPipelines": {}, + "elastictranscoder:ListPresets": {}, + "elastictranscoder:TestRole": {}, + "elemental-activations:CompleteAccountRegistration": {}, + "elemental-activations:CompleteFileUpload": {}, + "elemental-activations:DownloadSoftware": {}, + "elemental-activations:GenerateLicenses": {}, + "elemental-activations:StartAccountRegistration": {}, + "elemental-activations:StartFileUpload": {}, + "elemental-appliances-software:CompleteUpload": {}, + "elemental-appliances-software:CreateOrderV1": {}, + "elemental-appliances-software:GetAvsCorrectAddress": {}, + "elemental-appliances-software:GetBillingAddresses": {}, + "elemental-appliances-software:GetDeliveryAddressesV2": {}, + "elemental-appliances-software:GetOrder": {}, + "elemental-appliances-software:GetOrdersV2": {}, + "elemental-appliances-software:GetTaxes": {}, + "elemental-appliances-software:ListQuotes": {}, + "elemental-appliances-software:StartUpload": {}, + "elemental-appliances-software:SubmitOrderV1": {}, + "elemental-support-cases:CheckCasePermission": {}, + "elemental-support-cases:CreateCase": {}, + "elemental-support-cases:GetCase": {}, + "elemental-support-cases:GetCases": {}, + "elemental-support-cases:UpdateCase": {}, + "elemental-support-content:Query": {}, + "emr-containers:CreateJobTemplate": {}, + "emr-containers:CreateVirtualCluster": {}, + "emr-containers:ListJobTemplates": {}, + "emr-containers:ListVirtualClusters": {}, + "emr-serverless:CreateApplication": {}, + "emr-serverless:ListApplications": {}, + "entityresolution:CreateIdMappingWorkflow": {}, + "entityresolution:CreateMatchingWorkflow": {}, + "entityresolution:CreateSchemaMapping": {}, + "entityresolution:ListIdMappingWorkflows": {}, + "entityresolution:ListMatchingWorkflows": {}, + "entityresolution:ListSchemaMappings": {}, + "entityresolution:ListTagsForResource": {}, + "entityresolution:TagResource": {}, + "entityresolution:UntagResource": {}, + "es:AcceptInboundConnection": {}, + "es:AcceptInboundCrossClusterSearchConnection": {}, + "es:AuthorizeVpcEndpointAccess": {}, + "es:CreateElasticsearchServiceRole": {}, + "es:CreatePackage": {}, + "es:CreateServiceRole": {}, + "es:CreateVpcEndpoint": {}, + "es:DeleteElasticsearchServiceRole": {}, + "es:DeleteInboundConnection": {}, + "es:DeleteInboundCrossClusterSearchConnection": {}, + "es:DeleteOutboundConnection": {}, + "es:DeleteOutboundCrossClusterSearchConnection": {}, + "es:DeletePackage": {}, + "es:DeleteVpcEndpoint": {}, + "es:DescribeElasticsearchInstanceTypeLimits": {}, + "es:DescribeInboundConnections": {}, + "es:DescribeInboundCrossClusterSearchConnections": {}, + "es:DescribeInstanceTypeLimits": {}, + "es:DescribeOutboundConnections": {}, + "es:DescribeOutboundCrossClusterSearchConnections": {}, + "es:DescribePackages": {}, + "es:DescribeReservedElasticsearchInstanceOfferings": {}, + "es:DescribeReservedElasticsearchInstances": {}, + "es:DescribeReservedInstanceOfferings": {}, + "es:DescribeReservedInstances": {}, + "es:DescribeVpcEndpoints": {}, + "es:GetPackageVersionHistory": {}, + "es:ListDomainNames": {}, + "es:ListDomainsForPackage": {}, + "es:ListElasticsearchInstanceTypeDetails": {}, + "es:ListElasticsearchInstanceTypes": {}, + "es:ListElasticsearchVersions": {}, + "es:ListInstanceTypeDetails": {}, + "es:ListVersions": {}, + "es:ListVpcEndpointAccess": {}, + "es:ListVpcEndpoints": {}, + "es:ListVpcEndpointsForDomain": {}, + "es:PurchaseReservedElasticsearchInstanceOffering": {}, + "es:PurchaseReservedInstanceOffering": {}, + "es:RejectInboundConnection": {}, + "es:RejectInboundCrossClusterSearchConnection": {}, + "es:RevokeVpcEndpointAccess": {}, + "es:UpdatePackage": {}, + "es:UpdateVpcEndpoint": {}, + "events:ListApiDestinations": {}, + "events:ListArchives": {}, + "events:ListConnections": {}, + "events:ListEndpoints": {}, + "events:ListEventBuses": {}, + "events:ListEventSources": {}, + "events:ListPartnerEventSources": {}, + "events:ListReplays": {}, + "events:ListRuleNamesByTarget": {}, + "events:ListRules": {}, + "events:PutPartnerEvents": {}, + "events:PutPermission": {}, + "events:RemovePermission": {}, + "events:TestEventPattern": {}, + "evidently:CreateExperiment": {}, + "evidently:CreateFeature": {}, + "evidently:CreateLaunch": {}, + "evidently:CreateProject": {}, + "evidently:CreateSegment": {}, + "evidently:ListExperiments": {}, + "evidently:ListFeatures": {}, + "evidently:ListLaunches": {}, + "evidently:ListProjects": {}, + "evidently:ListSegmentReferences": {}, + "evidently:ListSegments": {}, + "evidently:ListTagsForResource": {}, + "evidently:TestSegmentPattern": {}, + "finspace:CreateKxEnvironment": {}, + "finspace:ListKxEnvironments": {}, + "firehose:ListDeliveryStreams": {}, + "fis:GetTargetResourceType": {}, + "fis:ListActions": {}, + "fis:ListExperimentTemplates": {}, + "fis:ListExperiments": {}, + "fis:ListTargetResourceTypes": {}, + "fms:AssociateAdminAccount": {}, + "fms:AssociateThirdPartyFirewall": {}, + "fms:DeleteNotificationChannel": {}, + "fms:DisassociateAdminAccount": {}, + "fms:DisassociateThirdPartyFirewall": {}, + "fms:GetAdminAccount": {}, + "fms:GetAdminScope": {}, + "fms:GetNotificationChannel": {}, + "fms:GetThirdPartyFirewallAssociationStatus": {}, + "fms:ListAdminAccountsForOrganization": {}, + "fms:ListAdminsManagingAccount": {}, + "fms:ListAppsLists": {}, + "fms:ListDiscoveredResources": {}, + "fms:ListMemberAccounts": {}, + "fms:ListPolicies": {}, + "fms:ListProtocolsLists": {}, + "fms:ListResourceSets": {}, + "fms:ListThirdPartyFirewallFirewallPolicies": {}, + "fms:PutAdminAccount": {}, + "fms:PutNotificationChannel": {}, + "forecast:CreateAutoPredictor": {}, + "forecast:ListDatasetGroups": {}, + "forecast:ListDatasetImportJobs": {}, + "forecast:ListDatasets": {}, + "forecast:ListExplainabilities": {}, + "forecast:ListExplainabilityExports": {}, + "forecast:ListForecastExportJobs": {}, + "forecast:ListForecasts": {}, + "forecast:ListMonitors": {}, + "forecast:ListPredictorBacktestExportJobs": {}, + "forecast:ListPredictors": {}, + "forecast:ListWhatIfAnalyses": {}, + "forecast:ListWhatIfForecastExports": {}, + "forecast:ListWhatIfForecasts": {}, + "frauddetector:BatchCreateVariable": {}, + "frauddetector:CreateList": {}, + "frauddetector:CreateVariable": {}, + "frauddetector:GetKMSEncryptionKey": {}, + "frauddetector:PutKMSEncryptionKey": {}, + "freertos:CreateSubscription": {}, + "freertos:DescribeHardwarePlatform": {}, + "freertos:GetEmpPatchUrl": {}, + "freertos:GetSoftwareURL": {}, + "freertos:GetSoftwareURLForConfiguration": {}, + "freertos:GetSubscriptionBillingAmount": {}, + "freertos:ListFreeRTOSVersions": {}, + "freertos:ListHardwarePlatforms": {}, + "freertos:ListHardwareVendors": {}, + "freertos:ListSoftwareConfigurations": {}, + "freertos:ListSoftwarePatches": {}, + "freertos:ListSubscriptionEmails": {}, + "freertos:ListSubscriptions": {}, + "freertos:UpdateEmailRecipients": {}, + "freertos:VerifyEmail": {}, + "freetier:GetFreeTierAlertPreference": {}, + "freetier:GetFreeTierUsage": {}, + "freetier:PutFreeTierAlertPreference": {}, + "fsx:DescribeBackups": {}, + "fsx:DescribeDataRepositoryAssociations": {}, + "fsx:DescribeDataRepositoryTasks": {}, + "fsx:DescribeFileCaches": {}, + "fsx:DescribeFileSystems": {}, + "fsx:DescribeSharedVpcConfiguration": {}, + "fsx:DescribeSnapshots": {}, + "fsx:DescribeStorageVirtualMachines": {}, + "fsx:DescribeVolumes": {}, + "fsx:UpdateSharedVpcConfiguration": {}, + "gamelift:AcceptMatch": {}, + "gamelift:CreateAlias": {}, + "gamelift:CreateBuild": {}, + "gamelift:CreateFleet": {}, + "gamelift:CreateGameServerGroup": {}, + "gamelift:CreateGameSession": {}, + "gamelift:CreateGameSessionQueue": {}, + "gamelift:CreateLocation": {}, + "gamelift:CreateMatchmakingConfiguration": {}, + "gamelift:CreateMatchmakingRuleSet": {}, + "gamelift:CreatePlayerSession": {}, + "gamelift:CreatePlayerSessions": {}, + "gamelift:CreateScript": {}, + "gamelift:CreateVpcPeeringAuthorization": {}, + "gamelift:CreateVpcPeeringConnection": {}, + "gamelift:DeleteVpcPeeringAuthorization": {}, + "gamelift:DeleteVpcPeeringConnection": {}, + "gamelift:DescribeEC2InstanceLimits": {}, + "gamelift:DescribeFleetAttributes": {}, + "gamelift:DescribeFleetCapacity": {}, + "gamelift:DescribeFleetUtilization": {}, + "gamelift:DescribeGameSessionDetails": {}, + "gamelift:DescribeGameSessionPlacement": {}, + "gamelift:DescribeGameSessionQueues": {}, + "gamelift:DescribeGameSessions": {}, + "gamelift:DescribeMatchmaking": {}, + "gamelift:DescribeMatchmakingConfigurations": {}, + "gamelift:DescribeMatchmakingRuleSets": {}, + "gamelift:DescribePlayerSessions": {}, + "gamelift:DescribeVpcPeeringAuthorizations": {}, + "gamelift:DescribeVpcPeeringConnections": {}, + "gamelift:GetGameSessionLogUrl": {}, + "gamelift:ListAliases": {}, + "gamelift:ListBuilds": {}, + "gamelift:ListFleets": {}, + "gamelift:ListGameServerGroups": {}, + "gamelift:ListLocations": {}, + "gamelift:ListScripts": {}, + "gamelift:SearchGameSessions": {}, + "gamelift:StartMatchBackfill": {}, + "gamelift:StartMatchmaking": {}, + "gamelift:StopGameSessionPlacement": {}, + "gamelift:StopMatchmaking": {}, + "gamelift:UpdateGameSession": {}, + "gamelift:ValidateMatchmakingRuleSet": {}, + "glacier:GetDataRetrievalPolicy": {}, + "glacier:ListProvisionedCapacity": {}, + "glacier:ListVaults": {}, + "glacier:PurchaseProvisionedCapacity": {}, + "glacier:SetDataRetrievalPolicy": {}, + "globalaccelerator:AdvertiseByoipCidr": {}, + "globalaccelerator:CreateAccelerator": {}, + "globalaccelerator:CreateCrossAccountAttachment": {}, + "globalaccelerator:CreateCustomRoutingAccelerator": {}, + "globalaccelerator:DeprovisionByoipCidr": {}, + "globalaccelerator:ListAccelerators": {}, + "globalaccelerator:ListByoipCidrs": {}, + "globalaccelerator:ListCrossAccountAttachments": {}, + "globalaccelerator:ListCrossAccountResourceAccounts": {}, + "globalaccelerator:ListCrossAccountResources": {}, + "globalaccelerator:ListCustomRoutingAccelerators": {}, + "globalaccelerator:ListCustomRoutingPortMappingsByDestination": {}, + "globalaccelerator:ProvisionByoipCidr": {}, + "globalaccelerator:WithdrawByoipCidr": {}, + "glue:CheckSchemaVersionValidity": {}, + "glue:CreateClassifier": {}, + "glue:CreateCrawler": {}, + "glue:CreateCustomEntityType": {}, + "glue:CreateDataQualityRuleset": {}, + "glue:CreateDevEndpoint": {}, + "glue:CreateMLTransform": {}, + "glue:CreateScript": {}, + "glue:CreateSecurityConfiguration": {}, + "glue:CreateSession": {}, + "glue:DeleteClassifier": {}, + "glue:DeleteSecurityConfiguration": {}, + "glue:DeregisterDataPreview": {}, + "glue:GetClassifier": {}, + "glue:GetClassifiers": {}, + "glue:GetColumnStatisticsTaskRun": {}, + "glue:GetColumnStatisticsTaskRuns": {}, + "glue:GetCrawlerMetrics": {}, + "glue:GetCrawlers": {}, + "glue:GetDataPreviewStatement": {}, + "glue:GetDataflowGraph": {}, + "glue:GetDevEndpoints": {}, + "glue:GetJobBookmark": {}, + "glue:GetJobs": {}, + "glue:GetMapping": {}, + "glue:GetNotebookInstanceStatus": {}, + "glue:GetPlan": {}, + "glue:GetSecurityConfiguration": {}, + "glue:GetSecurityConfigurations": {}, + "glue:GetTriggers": {}, + "glue:GlueNotebookAuthorize": {}, + "glue:GlueNotebookRefreshCredentials": {}, + "glue:ListBlueprints": {}, + "glue:ListColumnStatisticsTaskRuns": {}, + "glue:ListCrawlers": {}, + "glue:ListCrawls": {}, + "glue:ListCustomEntityTypes": {}, + "glue:ListDevEndpoints": {}, + "glue:ListJobs": {}, + "glue:ListRegistries": {}, + "glue:ListSessions": {}, + "glue:ListTriggers": {}, + "glue:ListWorkflows": {}, + "glue:ResetJobBookmark": {}, + "glue:RunDataPreviewStatement": {}, + "glue:SendFeedback": {}, + "glue:StartCompletion": {}, + "glue:StartCrawlerSchedule": {}, + "glue:StartNotebook": {}, + "glue:StopCrawlerSchedule": {}, + "glue:TerminateNotebook": {}, + "glue:TestConnection": {}, + "glue:UpdateClassifier": {}, + "glue:UpdateCrawlerSchedule": {}, + "glue:UseGlueStudio": {}, + "grafana:CreateWorkspace": {}, + "grafana:ListWorkspaces": {}, + "greengrass:AssociateServiceRoleToAccount": {}, + "greengrass:CreateConnectorDefinition": {}, + "greengrass:CreateCoreDefinition": {}, + "greengrass:CreateDeployment": {}, + "greengrass:CreateDeviceDefinition": {}, + "greengrass:CreateFunctionDefinition": {}, + "greengrass:CreateGroup": {}, + "greengrass:CreateLoggerDefinition": {}, + "greengrass:CreateResourceDefinition": {}, + "greengrass:CreateSoftwareUpdateJob": {}, + "greengrass:CreateSubscriptionDefinition": {}, + "greengrass:DisassociateServiceRoleFromAccount": {}, + "greengrass:GetServiceRoleForAccount": {}, + "greengrass:ListBulkDeployments": {}, + "greengrass:ListComponents": {}, + "greengrass:ListConnectorDefinitions": {}, + "greengrass:ListCoreDefinitions": {}, + "greengrass:ListCoreDevices": {}, + "greengrass:ListDeployments": {}, + "greengrass:ListDeviceDefinitions": {}, + "greengrass:ListFunctionDefinitions": {}, + "greengrass:ListGroups": {}, + "greengrass:ListLoggerDefinitions": {}, + "greengrass:ListResourceDefinitions": {}, + "greengrass:ListSubscriptionDefinitions": {}, + "greengrass:StartBulkDeployment": {}, + "groundstation:CreateConfig": {}, + "groundstation:CreateDataflowEndpointGroup": {}, + "groundstation:CreateEphemeris": {}, + "groundstation:CreateMissionProfile": {}, + "groundstation:GetMinuteUsage": {}, + "groundstation:ListConfigs": {}, + "groundstation:ListContacts": {}, + "groundstation:ListDataflowEndpointGroups": {}, + "groundstation:ListEphemerides": {}, + "groundstation:ListGroundStations": {}, + "groundstation:ListMissionProfiles": {}, + "groundstation:ListSatellites": {}, + "groundstation:RegisterAgent": {}, + "groundstation:ReserveContact": {}, + "groundtruthlabeling:AssociatePatchToManifestJob": {}, + "groundtruthlabeling:DescribeConsoleJob": {}, + "groundtruthlabeling:ListDatasetObjects": {}, + "groundtruthlabeling:RunFilterOrSampleDatasetJob": {}, + "groundtruthlabeling:RunGenerateManifestByCrawlingJob": {}, + "guardduty:AcceptAdministratorInvitation": {}, + "guardduty:AcceptInvitation": {}, + "guardduty:ArchiveFindings": {}, + "guardduty:CreateDetector": {}, + "guardduty:CreateIPSet": {}, + "guardduty:CreateMembers": {}, + "guardduty:CreatePublishingDestination": {}, + "guardduty:CreateSampleFindings": {}, + "guardduty:CreateThreatIntelSet": {}, + "guardduty:DeclineInvitations": {}, + "guardduty:DeleteInvitations": {}, + "guardduty:DeleteMembers": {}, + "guardduty:DescribeMalwareScans": {}, + "guardduty:DescribeOrganizationConfiguration": {}, + "guardduty:DisableOrganizationAdminAccount": {}, + "guardduty:DisassociateFromAdministratorAccount": {}, + "guardduty:DisassociateFromMasterAccount": {}, + "guardduty:DisassociateMembers": {}, + "guardduty:EnableOrganizationAdminAccount": {}, + "guardduty:GetAdministratorAccount": {}, + "guardduty:GetFindings": {}, + "guardduty:GetFindingsStatistics": {}, + "guardduty:GetInvitationsCount": {}, + "guardduty:GetMalwareScanSettings": {}, + "guardduty:GetMasterAccount": {}, + "guardduty:GetMemberDetectors": {}, + "guardduty:GetMembers": {}, + "guardduty:GetOrganizationStatistics": {}, + "guardduty:GetRemainingFreeTrialDays": {}, + "guardduty:GetUsageStatistics": {}, + "guardduty:InviteMembers": {}, + "guardduty:ListDetectors": {}, + "guardduty:ListFilters": {}, + "guardduty:ListFindings": {}, + "guardduty:ListIPSets": {}, + "guardduty:ListInvitations": {}, + "guardduty:ListMembers": {}, + "guardduty:ListOrganizationAdminAccounts": {}, + "guardduty:ListPublishingDestinations": {}, + "guardduty:ListThreatIntelSets": {}, + "guardduty:SendSecurityTelemetry": {}, + "guardduty:StartMalwareScan": {}, + "guardduty:StartMonitoringMembers": {}, + "guardduty:StopMonitoringMembers": {}, + "guardduty:UnarchiveFindings": {}, + "guardduty:UpdateFindingsFeedback": {}, + "guardduty:UpdateMalwareScanSettings": {}, + "guardduty:UpdateMemberDetectors": {}, + "guardduty:UpdateOrganizationConfiguration": {}, + "health:DescribeAffectedAccountsForOrganization": {}, + "health:DescribeAffectedEntitiesForOrganization": {}, + "health:DescribeEntityAggregates": {}, + "health:DescribeEntityAggregatesForOrganization": {}, + "health:DescribeEventAggregates": {}, + "health:DescribeEventDetailsForOrganization": {}, + "health:DescribeEventTypes": {}, + "health:DescribeEvents": {}, + "health:DescribeEventsForOrganization": {}, + "health:DescribeHealthServiceStatusForOrganization": {}, + "health:DisableHealthServiceAccessForOrganization": {}, + "health:EnableHealthServiceAccessForOrganization": {}, + "healthlake:CreateFHIRDatastore": {}, + "healthlake:ListFHIRDatastores": {}, + "honeycode:ApproveTeamAssociation": {}, + "honeycode:CreateTeam": {}, + "honeycode:CreateTenant": {}, + "honeycode:DeleteDomains": {}, + "honeycode:DeregisterGroups": {}, + "honeycode:DescribeTeam": {}, + "honeycode:ListDomains": {}, + "honeycode:ListGroups": {}, + "honeycode:ListTagsForResource": {}, + "honeycode:ListTeamAssociations": {}, + "honeycode:ListTenants": {}, + "honeycode:RegisterDomainForVerification": {}, + "honeycode:RegisterGroups": {}, + "honeycode:RejectTeamAssociation": {}, + "honeycode:RestartDomainVerification": {}, + "honeycode:TagResource": {}, + "honeycode:UntagResource": {}, + "honeycode:UpdateTeam": {}, + "iam:CreateAccountAlias": {}, + "iam:DeleteAccountAlias": {}, + "iam:DeleteAccountPasswordPolicy": {}, + "iam:DeleteCloudFrontPublicKey": {}, + "iam:GenerateCredentialReport": {}, + "iam:GetAccountAuthorizationDetails": {}, + "iam:GetAccountEmailAddress": {}, + "iam:GetAccountName": {}, + "iam:GetAccountPasswordPolicy": {}, + "iam:GetAccountSummary": {}, + "iam:GetCloudFrontPublicKey": {}, + "iam:GetContextKeysForCustomPolicy": {}, + "iam:GetCredentialReport": {}, + "iam:GetOrganizationsAccessReport": {}, + "iam:GetServiceLastAccessedDetails": {}, + "iam:GetServiceLastAccessedDetailsWithEntities": {}, + "iam:ListAccountAliases": {}, + "iam:ListCloudFrontPublicKeys": {}, + "iam:ListGroups": {}, + "iam:ListInstanceProfiles": {}, + "iam:ListOpenIDConnectProviders": {}, + "iam:ListPolicies": {}, + "iam:ListRoles": {}, + "iam:ListSAMLProviders": {}, + "iam:ListSTSRegionalEndpointsStatus": {}, + "iam:ListServerCertificates": {}, + "iam:ListUsers": {}, + "iam:ListVirtualMFADevices": {}, + "iam:SetSTSRegionalEndpointStatus": {}, + "iam:SetSecurityTokenServicePreferences": {}, + "iam:SimulateCustomPolicy": {}, + "iam:UpdateAccountEmailAddress": {}, + "iam:UpdateAccountName": {}, + "iam:UpdateAccountPasswordPolicy": {}, + "iam:UpdateCloudFrontPublicKey": {}, + "iam:UploadCloudFrontPublicKey": {}, + "identity-sync:CreateSyncProfile": {}, + "identitystore-auth:BatchDeleteSession": {}, + "identitystore-auth:BatchGetSession": {}, + "identitystore-auth:ListSessions": {}, + "imagebuilder:ListComponents": {}, + "imagebuilder:ListContainerRecipes": {}, + "imagebuilder:ListDistributionConfigurations": {}, + "imagebuilder:ListImagePipelines": {}, + "imagebuilder:ListImageRecipes": {}, + "imagebuilder:ListImages": {}, + "imagebuilder:ListInfrastructureConfigurations": {}, + "imagebuilder:ListLifecyclePolicies": {}, + "imagebuilder:ListWaitingWorkflowSteps": {}, + "imagebuilder:ListWorkflows": {}, + "importexport:CancelJob": {}, + "importexport:CreateJob": {}, + "importexport:GetShippingLabel": {}, + "importexport:GetStatus": {}, + "importexport:ListJobs": {}, + "importexport:UpdateJob": {}, + "inspector-scan:ScanSbom": {}, + "inspector2:AssociateMember": {}, + "inspector2:BatchGetAccountStatus": {}, + "inspector2:BatchGetCodeSnippet": {}, + "inspector2:BatchGetFindingDetails": {}, + "inspector2:BatchGetFreeTrialInfo": {}, + "inspector2:BatchGetMemberEc2DeepInspectionStatus": {}, + "inspector2:BatchUpdateMemberEc2DeepInspectionStatus": {}, + "inspector2:CancelFindingsReport": {}, + "inspector2:CancelSbomExport": {}, + "inspector2:CreateFindingsReport": {}, + "inspector2:CreateSbomExport": {}, + "inspector2:DescribeOrganizationConfiguration": {}, + "inspector2:Disable": {}, + "inspector2:DisableDelegatedAdminAccount": {}, + "inspector2:DisassociateMember": {}, + "inspector2:Enable": {}, + "inspector2:EnableDelegatedAdminAccount": {}, + "inspector2:GetCisScanReport": {}, + "inspector2:GetCisScanResultDetails": {}, + "inspector2:GetConfiguration": {}, + "inspector2:GetDelegatedAdminAccount": {}, + "inspector2:GetEc2DeepInspectionConfiguration": {}, + "inspector2:GetEncryptionKey": {}, + "inspector2:GetFindingsReportStatus": {}, + "inspector2:GetMember": {}, + "inspector2:GetSbomExport": {}, + "inspector2:ListAccountPermissions": {}, + "inspector2:ListCisScanConfigurations": {}, + "inspector2:ListCisScanResultsAggregatedByChecks": {}, + "inspector2:ListCisScanResultsAggregatedByTargetResource": {}, + "inspector2:ListCisScans": {}, + "inspector2:ListCoverage": {}, + "inspector2:ListCoverageStatistics": {}, + "inspector2:ListDelegatedAdminAccounts": {}, + "inspector2:ListFilters": {}, + "inspector2:ListFindingAggregations": {}, + "inspector2:ListFindings": {}, + "inspector2:ListMembers": {}, + "inspector2:ListTagsForResource": {}, + "inspector2:ListUsageTotals": {}, + "inspector2:ResetEncryptionKey": {}, + "inspector2:SearchVulnerabilities": {}, + "inspector2:SendCisSessionHealth": {}, + "inspector2:SendCisSessionTelemetry": {}, + "inspector2:StartCisSession": {}, + "inspector2:StopCisSession": {}, + "inspector2:UpdateConfiguration": {}, + "inspector2:UpdateEc2DeepInspectionConfiguration": {}, + "inspector2:UpdateEncryptionKey": {}, + "inspector2:UpdateOrgEc2DeepInspectionConfiguration": {}, + "inspector2:UpdateOrganizationConfiguration": {}, + "inspector:AddAttributesToFindings": {}, + "inspector:CreateAssessmentTarget": {}, + "inspector:CreateAssessmentTemplate": {}, + "inspector:CreateExclusionsPreview": {}, + "inspector:CreateResourceGroup": {}, + "inspector:DeleteAssessmentRun": {}, + "inspector:DeleteAssessmentTarget": {}, + "inspector:DeleteAssessmentTemplate": {}, + "inspector:DescribeAssessmentRuns": {}, + "inspector:DescribeAssessmentTargets": {}, + "inspector:DescribeAssessmentTemplates": {}, + "inspector:DescribeCrossAccountAccessRole": {}, + "inspector:DescribeExclusions": {}, + "inspector:DescribeFindings": {}, + "inspector:DescribeResourceGroups": {}, + "inspector:DescribeRulesPackages": {}, + "inspector:GetAssessmentReport": {}, + "inspector:GetExclusionsPreview": {}, + "inspector:GetTelemetryMetadata": {}, + "inspector:ListAssessmentRunAgents": {}, + "inspector:ListAssessmentRuns": {}, + "inspector:ListAssessmentTargets": {}, + "inspector:ListAssessmentTemplates": {}, + "inspector:ListEventSubscriptions": {}, + "inspector:ListExclusions": {}, + "inspector:ListFindings": {}, + "inspector:ListRulesPackages": {}, + "inspector:ListTagsForResource": {}, + "inspector:PreviewAgents": {}, + "inspector:RegisterCrossAccountAccessRole": {}, + "inspector:RemoveAttributesFromFindings": {}, + "inspector:SetTagsForResource": {}, + "inspector:StartAssessmentRun": {}, + "inspector:StopAssessmentRun": {}, + "inspector:SubscribeToEvent": {}, + "inspector:UnsubscribeFromEvent": {}, + "inspector:UpdateAssessmentTarget": {}, + "internetmonitor:ListMonitors": {}, + "invoicing:GetInvoiceEmailDeliveryPreferences": {}, + "invoicing:GetInvoicePDF": {}, + "invoicing:ListInvoiceSummaries": {}, + "invoicing:PutInvoiceEmailDeliveryPreferences": {}, + "iot-device-tester:CheckVersion": {}, + "iot-device-tester:DownloadTestSuite": {}, + "iot-device-tester:LatestIdt": {}, + "iot-device-tester:SendMetrics": {}, + "iot-device-tester:SupportedVersion": {}, + "iot1click:ClaimDevicesByClaimCode": {}, + "iot1click:ListDevices": {}, + "iot1click:ListProjects": {}, + "iot:AttachThingPrincipal": {}, + "iot:CancelAuditMitigationActionsTask": {}, + "iot:CancelAuditTask": {}, + "iot:CancelDetectMitigationActionsTask": {}, + "iot:ClearDefaultAuthorizer": {}, + "iot:CreateAuditSuppression": {}, + "iot:CreateCertificateFromCsr": {}, + "iot:CreateKeysAndCertificate": {}, + "iot:DeleteAccountAuditConfiguration": {}, + "iot:DeleteAuditSuppression": {}, + "iot:DeleteRegistrationCode": {}, + "iot:DeleteV2LoggingLevel": {}, + "iot:DescribeAccountAuditConfiguration": {}, + "iot:DescribeAuditFinding": {}, + "iot:DescribeAuditMitigationActionsTask": {}, + "iot:DescribeAuditSuppression": {}, + "iot:DescribeAuditTask": {}, + "iot:DescribeDefaultAuthorizer": {}, + "iot:DescribeDetectMitigationActionsTask": {}, + "iot:DescribeEndpoint": {}, + "iot:DescribeEventConfigurations": {}, + "iot:DescribeThingRegistrationTask": {}, + "iot:DetachThingPrincipal": {}, + "iot:GetIndexingConfiguration": {}, + "iot:GetLoggingOptions": {}, + "iot:GetPackageConfiguration": {}, + "iot:GetRegistrationCode": {}, + "iot:GetV2LoggingOptions": {}, + "iot:ListAttachedPolicies": {}, + "iot:ListAuditFindings": {}, + "iot:ListAuditMitigationActionsExecutions": {}, + "iot:ListAuditMitigationActionsTasks": {}, + "iot:ListAuditSuppressions": {}, + "iot:ListAuditTasks": {}, + "iot:ListAuthorizers": {}, + "iot:ListBillingGroups": {}, + "iot:ListCACertificates": {}, + "iot:ListCertificateProviders": {}, + "iot:ListCertificates": {}, + "iot:ListCertificatesByCA": {}, + "iot:ListCustomMetrics": {}, + "iot:ListDetectMitigationActionsTasks": {}, + "iot:ListDimensions": {}, + "iot:ListDomainConfigurations": {}, + "iot:ListFleetMetrics": {}, + "iot:ListIndices": {}, + "iot:ListJobTemplates": {}, + "iot:ListJobs": {}, + "iot:ListManagedJobTemplates": {}, + "iot:ListMitigationActions": {}, + "iot:ListOTAUpdates": {}, + "iot:ListOutgoingCertificates": {}, + "iot:ListPackageVersions": {}, + "iot:ListPackages": {}, + "iot:ListPolicies": {}, + "iot:ListPolicyPrincipals": {}, + "iot:ListPrincipalPolicies": {}, + "iot:ListPrincipalThings": {}, + "iot:ListProvisioningTemplates": {}, + "iot:ListRelatedResourcesForAuditFinding": {}, + "iot:ListRetainedMessages": {}, + "iot:ListRoleAliases": {}, + "iot:ListScheduledAudits": {}, + "iot:ListStreams": {}, + "iot:ListThingGroups": {}, + "iot:ListThingPrincipals": {}, + "iot:ListThingRegistrationTaskReports": {}, + "iot:ListThingRegistrationTasks": {}, + "iot:ListThingTypes": {}, + "iot:ListThings": {}, + "iot:ListTopicRuleDestinations": {}, + "iot:ListTopicRules": {}, + "iot:ListTunnels": {}, + "iot:ListV2LoggingLevels": {}, + "iot:OpenTunnel": {}, + "iot:PutVerificationStateOnViolation": {}, + "iot:RegisterCACertificate": {}, + "iot:RegisterCertificate": {}, + "iot:RegisterCertificateWithoutCA": {}, + "iot:RegisterThing": {}, + "iot:SetLoggingOptions": {}, + "iot:SetV2LoggingLevel": {}, + "iot:SetV2LoggingOptions": {}, + "iot:StartAuditMitigationActionsTask": {}, + "iot:StartOnDemandAuditTask": {}, + "iot:StartThingRegistrationTask": {}, + "iot:StopThingRegistrationTask": {}, + "iot:UpdateAccountAuditConfiguration": {}, + "iot:UpdateAuditSuppression": {}, + "iot:UpdateEventConfigurations": {}, + "iot:UpdateIndexingConfiguration": {}, + "iot:UpdatePackageConfiguration": {}, + "iot:ValidateSecurityProfileBehaviors": {}, + "iotanalytics:DescribeLoggingOptions": {}, + "iotanalytics:ListChannels": {}, + "iotanalytics:ListDatasets": {}, + "iotanalytics:ListDatastores": {}, + "iotanalytics:ListPipelines": {}, + "iotanalytics:PutLoggingOptions": {}, + "iotanalytics:RunPipelineActivity": {}, + "iotdeviceadvisor:CreateSuiteDefinition": {}, + "iotdeviceadvisor:GetEndpoint": {}, + "iotdeviceadvisor:ListSuiteDefinitions": {}, + "iotdeviceadvisor:StartSuiteRun": {}, + "iotevents:DescribeDetectorModelAnalysis": {}, + "iotevents:DescribeLoggingOptions": {}, + "iotevents:GetDetectorModelAnalysisResults": {}, + "iotevents:ListAlarmModels": {}, + "iotevents:ListDetectorModels": {}, + "iotevents:ListInputRoutings": {}, + "iotevents:ListInputs": {}, + "iotevents:PutLoggingOptions": {}, + "iotevents:StartDetectorModelAnalysis": {}, + "iotfleethub:CreateApplication": {}, + "iotfleethub:ListApplications": {}, + "iotfleetwise:GetEncryptionConfiguration": {}, + "iotfleetwise:GetLoggingOptions": {}, + "iotfleetwise:GetRegisterAccountStatus": {}, + "iotfleetwise:ListCampaigns": {}, + "iotfleetwise:ListDecoderManifests": {}, + "iotfleetwise:ListFleets": {}, + "iotfleetwise:ListModelManifests": {}, + "iotfleetwise:ListSignalCatalogs": {}, + "iotfleetwise:ListVehicles": {}, + "iotfleetwise:PutEncryptionConfiguration": {}, + "iotfleetwise:PutLoggingOptions": {}, + "iotfleetwise:RegisterAccount": {}, + "iotroborunner:CreateSite": {}, + "iotroborunner:ListSites": {}, + "iotsitewise:CreateAssetModel": {}, + "iotsitewise:CreateBulkImportJob": {}, + "iotsitewise:CreateGateway": {}, + "iotsitewise:CreatePortal": {}, + "iotsitewise:DescribeBulkImportJob": {}, + "iotsitewise:DescribeDefaultEncryptionConfiguration": {}, + "iotsitewise:DescribeLoggingOptions": {}, + "iotsitewise:DescribeStorageConfiguration": {}, + "iotsitewise:EnableSiteWiseIntegration": {}, + "iotsitewise:ExecuteQuery": {}, + "iotsitewise:ListAssetModels": {}, + "iotsitewise:ListBulkImportJobs": {}, + "iotsitewise:ListGateways": {}, + "iotsitewise:ListPortals": {}, + "iotsitewise:PutDefaultEncryptionConfiguration": {}, + "iotsitewise:PutLoggingOptions": {}, + "iotsitewise:PutStorageConfiguration": {}, + "iottwinmaker:CreateMetadataTransferJob": {}, + "iottwinmaker:CreateWorkspace": {}, + "iottwinmaker:GetPricingPlan": {}, + "iottwinmaker:ListMetadataTransferJobs": {}, + "iottwinmaker:ListWorkspaces": {}, + "iottwinmaker:UpdatePricingPlan": {}, + "iotwireless:AssociateAwsAccountWithPartnerAccount": {}, + "iotwireless:CreateDestination": {}, + "iotwireless:CreateDeviceProfile": {}, + "iotwireless:CreateFuotaTask": {}, + "iotwireless:CreateMulticastGroup": {}, + "iotwireless:CreateServiceProfile": {}, + "iotwireless:CreateWirelessDevice": {}, + "iotwireless:CreateWirelessGateway": {}, + "iotwireless:CreateWirelessGatewayTaskDefinition": {}, + "iotwireless:DeleteQueuedMessages": {}, + "iotwireless:GetEventConfigurationByResourceTypes": {}, + "iotwireless:GetLogLevelsByResourceTypes": {}, + "iotwireless:GetPositionEstimate": {}, + "iotwireless:GetServiceEndpoint": {}, + "iotwireless:ListDestinations": {}, + "iotwireless:ListDeviceProfiles": {}, + "iotwireless:ListEventConfigurations": {}, + "iotwireless:ListFuotaTasks": {}, + "iotwireless:ListMulticastGroups": {}, + "iotwireless:ListNetworkAnalyzerConfigurations": {}, + "iotwireless:ListPartnerAccounts": {}, + "iotwireless:ListPositionConfigurations": {}, + "iotwireless:ListQueuedMessages": {}, + "iotwireless:ListServiceProfiles": {}, + "iotwireless:ListWirelessDeviceImportTasks": {}, + "iotwireless:ListWirelessDevices": {}, + "iotwireless:ListWirelessGatewayTaskDefinitions": {}, + "iotwireless:ListWirelessGateways": {}, + "iotwireless:ResetAllResourceLogLevels": {}, + "iotwireless:StartSingleWirelessDeviceImportTask": {}, + "iotwireless:UpdateEventConfigurationByResourceTypes": {}, + "iotwireless:UpdateLogLevelsByResourceTypes": {}, + "iq:span": {}, + "ivs:ListEncoderConfigurations": {}, + "ivs:ListPlaybackRestrictionPolicies": {}, + "ivs:ListStorageConfigurations": {}, + "kafka:DescribeClusterOperation": {}, + "kafka:DescribeClusterOperationV2": {}, + "kafka:GetBootstrapBrokers": {}, + "kafka:GetCompatibleKafkaVersions": {}, + "kafka:ListClusters": {}, + "kafka:ListClustersV2": {}, + "kafka:ListConfigurations": {}, + "kafka:ListKafkaVersions": {}, + "kafka:ListReplicators": {}, + "kafka:ListVpcConnections": {}, + "kafkaconnect:CreateConnector": {}, + "kafkaconnect:CreateCustomPlugin": {}, + "kafkaconnect:CreateWorkerConfiguration": {}, + "kafkaconnect:DeleteConnector": {}, + "kafkaconnect:DeleteCustomPlugin": {}, + "kafkaconnect:ListConnectors": {}, + "kafkaconnect:ListCustomPlugins": {}, + "kafkaconnect:ListWorkerConfigurations": {}, + "kafkaconnect:UpdateConnector": {}, + "kendra-ranking:CreateRescoreExecutionPlan": {}, + "kendra-ranking:ListRescoreExecutionPlans": {}, + "kendra:CreateIndex": {}, + "kendra:ListIndices": {}, + "kinesis:DescribeLimits": {}, + "kinesis:DisableEnhancedMonitoring": {}, + "kinesis:EnableEnhancedMonitoring": {}, + "kinesis:ListStreams": {}, + "kinesis:UpdateShardCount": {}, + "kinesis:UpdateStreamMode": {}, + "kinesisanalytics:CreateApplication": {}, + "kinesisanalytics:DiscoverInputSchema": {}, + "kinesisanalytics:ListApplications": {}, + "kinesisvideo:ListEdgeAgentConfigurations": {}, + "kinesisvideo:ListSignalingChannels": {}, + "kinesisvideo:ListStreams": {}, + "kms:ConnectCustomKeyStore": {}, + "kms:CreateCustomKeyStore": {}, + "kms:CreateKey": {}, + "kms:DeleteCustomKeyStore": {}, + "kms:DescribeCustomKeyStores": {}, + "kms:DisconnectCustomKeyStore": {}, + "kms:GenerateRandom": {}, + "kms:ListAliases": {}, + "kms:ListKeys": {}, + "kms:ListRetirableGrants": {}, + "kms:UpdateCustomKeyStore": {}, + "lakeformation:AddLFTagsToResource": {}, + "lakeformation:BatchGrantPermissions": {}, + "lakeformation:BatchRevokePermissions": {}, + "lakeformation:CancelTransaction": {}, + "lakeformation:CommitTransaction": {}, + "lakeformation:CreateDataCellsFilter": {}, + "lakeformation:CreateLFTag": {}, + "lakeformation:CreateLakeFormationIdentityCenterConfiguration": {}, + "lakeformation:CreateLakeFormationOptIn": {}, + "lakeformation:DeleteDataCellsFilter": {}, + "lakeformation:DeleteLFTag": {}, + "lakeformation:DeleteLakeFormationIdentityCenterConfiguration": {}, + "lakeformation:DeleteLakeFormationOptIn": {}, + "lakeformation:DeleteObjectsOnCancel": {}, + "lakeformation:DeregisterResource": {}, + "lakeformation:DescribeLakeFormationIdentityCenterConfiguration": {}, + "lakeformation:DescribeResource": {}, + "lakeformation:DescribeTransaction": {}, + "lakeformation:ExtendTransaction": {}, + "lakeformation:GetDataAccess": {}, + "lakeformation:GetDataCellsFilter": {}, + "lakeformation:GetDataLakeSettings": {}, + "lakeformation:GetEffectivePermissionsForPath": {}, + "lakeformation:GetLFTag": {}, + "lakeformation:GetQueryState": {}, + "lakeformation:GetQueryStatistics": {}, + "lakeformation:GetResourceLFTags": {}, + "lakeformation:GetTableObjects": {}, + "lakeformation:GetWorkUnitResults": {}, + "lakeformation:GetWorkUnits": {}, + "lakeformation:GrantPermissions": {}, + "lakeformation:ListDataCellsFilter": {}, + "lakeformation:ListLFTags": {}, + "lakeformation:ListLakeFormationOptIns": {}, + "lakeformation:ListPermissions": {}, + "lakeformation:ListResources": {}, + "lakeformation:ListTableStorageOptimizers": {}, + "lakeformation:ListTransactions": {}, + "lakeformation:PutDataLakeSettings": {}, + "lakeformation:RegisterResource": {}, + "lakeformation:RemoveLFTagsFromResource": {}, + "lakeformation:RevokePermissions": {}, + "lakeformation:SearchDatabasesByLFTags": {}, + "lakeformation:SearchTablesByLFTags": {}, + "lakeformation:StartQueryPlanning": {}, + "lakeformation:StartTransaction": {}, + "lakeformation:UpdateDataCellsFilter": {}, + "lakeformation:UpdateLFTag": {}, + "lakeformation:UpdateLakeFormationIdentityCenterConfiguration": {}, + "lakeformation:UpdateResource": {}, + "lakeformation:UpdateTableObjects": {}, + "lakeformation:UpdateTableStorageOptimizer": {}, + "lambda:CreateCodeSigningConfig": {}, + "lambda:CreateEventSourceMapping": {}, + "lambda:GetAccountSettings": {}, + "lambda:ListCodeSigningConfigs": {}, + "lambda:ListEventSourceMappings": {}, + "lambda:ListFunctions": {}, + "lambda:ListLayerVersions": {}, + "lambda:ListLayers": {}, + "launchwizard:CreateAdditionalNode": {}, + "launchwizard:CreateDeployment": {}, + "launchwizard:CreateSettingsSet": {}, + "launchwizard:DeleteAdditionalNode": {}, + "launchwizard:DeleteApp": {}, + "launchwizard:DeleteDeployment": {}, + "launchwizard:DeleteSettingsSet": {}, + "launchwizard:DescribeAdditionalNode": {}, + "launchwizard:DescribeProvisionedApp": {}, + "launchwizard:DescribeProvisioningEvents": {}, + "launchwizard:DescribeSettingsSet": {}, + "launchwizard:GetDeployment": {}, + "launchwizard:GetInfrastructureSuggestion": {}, + "launchwizard:GetIpAddress": {}, + "launchwizard:GetResourceCostEstimate": {}, + "launchwizard:GetResourceRecommendation": {}, + "launchwizard:GetSettingsSet": {}, + "launchwizard:GetWorkload": {}, + "launchwizard:GetWorkloadAsset": {}, + "launchwizard:GetWorkloadAssets": {}, + "launchwizard:ListAdditionalNodes": {}, + "launchwizard:ListAllowedResources": {}, + "launchwizard:ListDeploymentEvents": {}, + "launchwizard:ListDeployments": {}, + "launchwizard:ListProvisionedApps": {}, + "launchwizard:ListResourceCostEstimates": {}, + "launchwizard:ListSettingsSets": {}, + "launchwizard:ListWorkloadDeploymentOptions": {}, + "launchwizard:ListWorkloadDeploymentPatterns": {}, + "launchwizard:ListWorkloads": {}, + "launchwizard:PutSettingsSet": {}, + "launchwizard:StartProvisioning": {}, + "launchwizard:UpdateSettingsSet": {}, + "lex:CreateTestSet": {}, + "lex:CreateUploadUrl": {}, + "lex:GetBotAliases": {}, + "lex:GetBots": {}, + "lex:GetBuiltinIntent": {}, + "lex:GetBuiltinIntents": {}, + "lex:GetBuiltinSlotTypes": {}, + "lex:GetImport": {}, + "lex:GetIntents": {}, + "lex:GetMigration": {}, + "lex:GetMigrations": {}, + "lex:GetSlotTypes": {}, + "lex:ListBots": {}, + "lex:ListBuiltInIntents": {}, + "lex:ListBuiltInSlotTypes": {}, + "lex:ListExports": {}, + "lex:ListImports": {}, + "lex:ListTestExecutions": {}, + "lex:ListTestSets": {}, + "lex:StartImport": {}, + "license-manager-linux-subscriptions:GetServiceSettings": {}, + "license-manager-linux-subscriptions:ListLinuxSubscriptionInstances": {}, + "license-manager-linux-subscriptions:ListLinuxSubscriptions": {}, + "license-manager-linux-subscriptions:UpdateServiceSettings": {}, + "license-manager-user-subscriptions:AssociateUser": {}, + "license-manager-user-subscriptions:DeregisterIdentityProvider": {}, + "license-manager-user-subscriptions:DisassociateUser": {}, + "license-manager-user-subscriptions:ListIdentityProviders": {}, + "license-manager-user-subscriptions:ListInstances": {}, + "license-manager-user-subscriptions:ListProductSubscriptions": {}, + "license-manager-user-subscriptions:ListUserAssociations": {}, + "license-manager-user-subscriptions:RegisterIdentityProvider": {}, + "license-manager-user-subscriptions:StartProductSubscription": {}, + "license-manager-user-subscriptions:StopProductSubscription": {}, + "license-manager-user-subscriptions:UpdateIdentityProviderSettings": {}, + "license-manager:CheckInLicense": {}, + "license-manager:CheckoutLicense": {}, + "license-manager:CreateLicense": {}, + "license-manager:CreateLicenseConfiguration": {}, + "license-manager:CreateLicenseConversionTaskForResource": {}, + "license-manager:CreateLicenseManagerReportGenerator": {}, + "license-manager:DeleteToken": {}, + "license-manager:ExtendLicenseConsumption": {}, + "license-manager:GetAccessToken": {}, + "license-manager:GetLicenseConversionTask": {}, + "license-manager:GetServiceSettings": {}, + "license-manager:ListDistributedGrants": {}, + "license-manager:ListLicenseConfigurations": {}, + "license-manager:ListLicenseConversionTasks": {}, + "license-manager:ListLicenseSpecificationsForResource": {}, + "license-manager:ListLicenses": {}, + "license-manager:ListReceivedGrants": {}, + "license-manager:ListReceivedGrantsForOrganization": {}, + "license-manager:ListReceivedLicenses": {}, + "license-manager:ListReceivedLicensesForOrganization": {}, + "license-manager:ListResourceInventory": {}, + "license-manager:ListTokens": {}, + "license-manager:UpdateServiceSettings": {}, + "lightsail:AllocateStaticIp": {}, + "lightsail:CopySnapshot": {}, + "lightsail:CreateBucket": {}, + "lightsail:CreateCertificate": {}, + "lightsail:CreateCloudFormationStack": {}, + "lightsail:CreateContactMethod": {}, + "lightsail:CreateContainerService": {}, + "lightsail:CreateContainerServiceRegistryLogin": {}, + "lightsail:CreateDisk": {}, + "lightsail:CreateDistribution": {}, + "lightsail:CreateDomain": {}, + "lightsail:CreateInstances": {}, + "lightsail:CreateKeyPair": {}, + "lightsail:CreateLoadBalancer": {}, + "lightsail:CreateRelationalDatabase": {}, + "lightsail:CreateRelationalDatabaseSnapshot": {}, + "lightsail:DeleteAutoSnapshot": {}, + "lightsail:DeleteContactMethod": {}, + "lightsail:DisableAddOn": {}, + "lightsail:DownloadDefaultKeyPair": {}, + "lightsail:EnableAddOn": {}, + "lightsail:GetActiveNames": {}, + "lightsail:GetAlarms": {}, + "lightsail:GetAutoSnapshots": {}, + "lightsail:GetBlueprints": {}, + "lightsail:GetBucketAccessKeys": {}, + "lightsail:GetBucketBundles": {}, + "lightsail:GetBucketMetricData": {}, + "lightsail:GetBuckets": {}, + "lightsail:GetBundles": {}, + "lightsail:GetCertificates": {}, + "lightsail:GetCloudFormationStackRecords": {}, + "lightsail:GetContactMethods": {}, + "lightsail:GetContainerAPIMetadata": {}, + "lightsail:GetContainerImages": {}, + "lightsail:GetContainerLog": {}, + "lightsail:GetContainerServiceDeployments": {}, + "lightsail:GetContainerServiceMetricData": {}, + "lightsail:GetContainerServicePowers": {}, + "lightsail:GetContainerServices": {}, + "lightsail:GetDisk": {}, + "lightsail:GetDiskSnapshot": {}, + "lightsail:GetDiskSnapshots": {}, + "lightsail:GetDisks": {}, + "lightsail:GetDistributionBundles": {}, + "lightsail:GetDistributionLatestCacheReset": {}, + "lightsail:GetDistributionMetricData": {}, + "lightsail:GetDistributions": {}, + "lightsail:GetDomain": {}, + "lightsail:GetDomains": {}, + "lightsail:GetExportSnapshotRecords": {}, + "lightsail:GetInstance": {}, + "lightsail:GetInstanceMetricData": {}, + "lightsail:GetInstancePortStates": {}, + "lightsail:GetInstanceSnapshot": {}, + "lightsail:GetInstanceSnapshots": {}, + "lightsail:GetInstanceState": {}, + "lightsail:GetInstances": {}, + "lightsail:GetKeyPair": {}, + "lightsail:GetKeyPairs": {}, + "lightsail:GetLoadBalancer": {}, + "lightsail:GetLoadBalancerMetricData": {}, + "lightsail:GetLoadBalancerTlsCertificates": {}, + "lightsail:GetLoadBalancerTlsPolicies": {}, + "lightsail:GetLoadBalancers": {}, + "lightsail:GetOperation": {}, + "lightsail:GetOperations": {}, + "lightsail:GetOperationsForResource": {}, + "lightsail:GetRegions": {}, + "lightsail:GetRelationalDatabase": {}, + "lightsail:GetRelationalDatabaseBlueprints": {}, + "lightsail:GetRelationalDatabaseBundles": {}, + "lightsail:GetRelationalDatabaseEvents": {}, + "lightsail:GetRelationalDatabaseLogEvents": {}, + "lightsail:GetRelationalDatabaseLogStreams": {}, + "lightsail:GetRelationalDatabaseMetricData": {}, + "lightsail:GetRelationalDatabaseParameters": {}, + "lightsail:GetRelationalDatabaseSnapshot": {}, + "lightsail:GetRelationalDatabaseSnapshots": {}, + "lightsail:GetRelationalDatabases": {}, + "lightsail:GetStaticIp": {}, + "lightsail:GetStaticIps": {}, + "lightsail:ImportKeyPair": {}, + "lightsail:IsVpcPeered": {}, + "lightsail:PeerVpc": {}, + "lightsail:SendContactMethodVerification": {}, + "lightsail:UnpeerVpc": {}, + "logs:CancelExportTask": {}, + "logs:CreateLogDelivery": {}, + "logs:DeleteAccountPolicy": {}, + "logs:DeleteLogDelivery": {}, + "logs:DeleteQueryDefinition": {}, + "logs:DeleteResourcePolicy": {}, + "logs:DescribeAccountPolicies": {}, + "logs:DescribeDeliveries": {}, + "logs:DescribeDeliveryDestinations": {}, + "logs:DescribeDeliverySources": {}, + "logs:DescribeDestinations": {}, + "logs:DescribeExportTasks": {}, + "logs:DescribeLogGroups": {}, + "logs:DescribeQueries": {}, + "logs:DescribeQueryDefinitions": {}, + "logs:DescribeResourcePolicies": {}, + "logs:GetLogDelivery": {}, + "logs:Link": {}, + "logs:ListLogDeliveries": {}, + "logs:PutAccountPolicy": {}, + "logs:PutQueryDefinition": {}, + "logs:PutResourcePolicy": {}, + "logs:StopLiveTail": {}, + "logs:StopQuery": {}, + "logs:TestMetricFilter": {}, + "logs:UpdateLogDelivery": {}, + "lookoutequipment:DescribeDataIngestionJob": {}, + "lookoutequipment:ListDatasets": {}, + "lookoutequipment:ListInferenceSchedulers": {}, + "lookoutequipment:ListModels": {}, + "lookoutequipment:ListRetrainingSchedulers": {}, + "lookoutmetrics:GetSampleData": {}, + "lookoutmetrics:ListAnomalyDetectors": {}, + "lookoutvision:CreateDataset": {}, + "lookoutvision:DeleteDataset": {}, + "lookoutvision:DescribeDataset": {}, + "lookoutvision:DescribeModelPackagingJob": {}, + "lookoutvision:DescribeTrialDetection": {}, + "lookoutvision:ListDatasetEntries": {}, + "lookoutvision:ListModelPackagingJobs": {}, + "lookoutvision:ListModels": {}, + "lookoutvision:ListProjects": {}, + "lookoutvision:ListTrialDetections": {}, + "lookoutvision:StartTrialDetection": {}, + "lookoutvision:UpdateDatasetEntries": {}, + "m2:CreateApplication": {}, + "m2:CreateEnvironment": {}, + "m2:GetSignedBluinsightsUrl": {}, + "m2:ListApplications": {}, + "m2:ListEngineVersions": {}, + "m2:ListEnvironments": {}, + "m2:ListTagsForResource": {}, + "machinelearning:DescribeBatchPredictions": {}, + "machinelearning:DescribeDataSources": {}, + "machinelearning:DescribeEvaluations": {}, + "machinelearning:DescribeMLModels": {}, + "macie2:AcceptInvitation": {}, + "macie2:CreateAllowList": {}, + "macie2:CreateInvitations": {}, + "macie2:CreateSampleFindings": {}, + "macie2:DeclineInvitations": {}, + "macie2:DeleteInvitations": {}, + "macie2:DescribeBuckets": {}, + "macie2:DescribeOrganizationConfiguration": {}, + "macie2:DisableMacie": {}, + "macie2:DisableOrganizationAdminAccount": {}, + "macie2:DisassociateFromAdministratorAccount": {}, + "macie2:DisassociateFromMasterAccount": {}, + "macie2:EnableMacie": {}, + "macie2:EnableOrganizationAdminAccount": {}, + "macie2:GetAdministratorAccount": {}, + "macie2:GetAutomatedDiscoveryConfiguration": {}, + "macie2:GetBucketStatistics": {}, + "macie2:GetClassificationExportConfiguration": {}, + "macie2:GetClassificationScope": {}, + "macie2:GetFindingStatistics": {}, + "macie2:GetFindings": {}, + "macie2:GetFindingsPublicationConfiguration": {}, + "macie2:GetInvitationsCount": {}, + "macie2:GetMacieSession": {}, + "macie2:GetMasterAccount": {}, + "macie2:GetResourceProfile": {}, + "macie2:GetRevealConfiguration": {}, + "macie2:GetSensitiveDataOccurrences": {}, + "macie2:GetSensitiveDataOccurrencesAvailability": {}, + "macie2:GetSensitivityInspectionTemplate": {}, + "macie2:GetUsageStatistics": {}, + "macie2:GetUsageTotals": {}, + "macie2:ListAllowLists": {}, + "macie2:ListClassificationJobs": {}, + "macie2:ListClassificationScopes": {}, + "macie2:ListCustomDataIdentifiers": {}, + "macie2:ListFindings": {}, + "macie2:ListFindingsFilters": {}, + "macie2:ListInvitations": {}, + "macie2:ListManagedDataIdentifiers": {}, + "macie2:ListMembers": {}, + "macie2:ListOrganizationAdminAccounts": {}, + "macie2:ListResourceProfileArtifacts": {}, + "macie2:ListResourceProfileDetections": {}, + "macie2:ListSensitivityInspectionTemplates": {}, + "macie2:PutClassificationExportConfiguration": {}, + "macie2:PutFindingsPublicationConfiguration": {}, + "macie2:SearchResources": {}, + "macie2:TestCustomDataIdentifier": {}, + "macie2:UpdateAutomatedDiscoveryConfiguration": {}, + "macie2:UpdateClassificationScope": {}, + "macie2:UpdateMacieSession": {}, + "macie2:UpdateMemberSession": {}, + "macie2:UpdateOrganizationConfiguration": {}, + "macie2:UpdateResourceProfile": {}, + "macie2:UpdateResourceProfileDetections": {}, + "macie2:UpdateRevealConfiguration": {}, + "macie2:UpdateSensitivityInspectionTemplate": {}, + "managedblockchain-query:BatchGetTokenBalance": {}, + "managedblockchain-query:GetAssetContract": {}, + "managedblockchain-query:GetTokenBalance": {}, + "managedblockchain-query:GetTransaction": {}, + "managedblockchain-query:ListAssetContracts": {}, + "managedblockchain-query:ListTokenBalances": {}, + "managedblockchain-query:ListTransactionEvents": {}, + "managedblockchain-query:ListTransactions": {}, + "managedblockchain:CreateAccessor": {}, + "managedblockchain:CreateNetwork": {}, + "managedblockchain:GET": {}, + "managedblockchain:Invoke": {}, + "managedblockchain:InvokeRpcBitcoinMainnet": {}, + "managedblockchain:InvokeRpcBitcoinTestnet": {}, + "managedblockchain:InvokeRpcPolygonMainnet": {}, + "managedblockchain:InvokeRpcPolygonMumbaiTestnet": {}, + "managedblockchain:ListAccessors": {}, + "managedblockchain:ListInvitations": {}, + "managedblockchain:ListNetworks": {}, + "managedblockchain:POST": {}, + "mechanicalturk:AcceptQualificationRequest": {}, + "mechanicalturk:ApproveAssignment": {}, + "mechanicalturk:AssociateQualificationWithWorker": {}, + "mechanicalturk:CreateAdditionalAssignmentsForHIT": {}, + "mechanicalturk:CreateHIT": {}, + "mechanicalturk:CreateHITType": {}, + "mechanicalturk:CreateHITWithHITType": {}, + "mechanicalturk:CreateQualificationType": {}, + "mechanicalturk:CreateWorkerBlock": {}, + "mechanicalturk:DeleteHIT": {}, + "mechanicalturk:DeleteQualificationType": {}, + "mechanicalturk:DeleteWorkerBlock": {}, + "mechanicalturk:DisassociateQualificationFromWorker": {}, + "mechanicalturk:GetAccountBalance": {}, + "mechanicalturk:GetAssignment": {}, + "mechanicalturk:GetFileUploadURL": {}, + "mechanicalturk:GetHIT": {}, + "mechanicalturk:GetQualificationScore": {}, + "mechanicalturk:GetQualificationType": {}, + "mechanicalturk:ListAssignmentsForHIT": {}, + "mechanicalturk:ListBonusPayments": {}, + "mechanicalturk:ListHITs": {}, + "mechanicalturk:ListHITsForQualificationType": {}, + "mechanicalturk:ListQualificationRequests": {}, + "mechanicalturk:ListQualificationTypes": {}, + "mechanicalturk:ListReviewPolicyResultsForHIT": {}, + "mechanicalturk:ListReviewableHITs": {}, + "mechanicalturk:ListWorkerBlocks": {}, + "mechanicalturk:ListWorkersWithQualificationType": {}, + "mechanicalturk:NotifyWorkers": {}, + "mechanicalturk:RejectAssignment": {}, + "mechanicalturk:RejectQualificationRequest": {}, + "mechanicalturk:SendBonus": {}, + "mechanicalturk:SendTestEventNotification": {}, + "mechanicalturk:UpdateExpirationForHIT": {}, + "mechanicalturk:UpdateHITReviewStatus": {}, + "mechanicalturk:UpdateHITTypeOfHIT": {}, + "mechanicalturk:UpdateNotificationSettings": {}, + "mechanicalturk:UpdateQualificationType": {}, + "mediaconnect:AddFlowMediaStreams": {}, + "mediaconnect:AddFlowOutputs": {}, + "mediaconnect:AddFlowSources": {}, + "mediaconnect:AddFlowVpcInterfaces": {}, + "mediaconnect:CreateFlow": {}, + "mediaconnect:DeleteFlow": {}, + "mediaconnect:DescribeFlow": {}, + "mediaconnect:DescribeFlowSourceMetadata": {}, + "mediaconnect:DescribeOffering": {}, + "mediaconnect:DescribeReservation": {}, + "mediaconnect:DiscoverGatewayPollEndpoint": {}, + "mediaconnect:GrantFlowEntitlements": {}, + "mediaconnect:ListEntitlements": {}, + "mediaconnect:ListFlows": {}, + "mediaconnect:ListGateways": {}, + "mediaconnect:ListOfferings": {}, + "mediaconnect:ListReservations": {}, + "mediaconnect:ListTagsForResource": {}, + "mediaconnect:PollGateway": {}, + "mediaconnect:PurchaseOffering": {}, + "mediaconnect:RemoveFlowMediaStream": {}, + "mediaconnect:RemoveFlowOutput": {}, + "mediaconnect:RemoveFlowSource": {}, + "mediaconnect:RemoveFlowVpcInterface": {}, + "mediaconnect:RevokeFlowEntitlement": {}, + "mediaconnect:StartFlow": {}, + "mediaconnect:StopFlow": {}, + "mediaconnect:SubmitGatewayStateChange": {}, + "mediaconnect:TagResource": {}, + "mediaconnect:UntagResource": {}, + "mediaconnect:UpdateFlow": {}, + "mediaconnect:UpdateFlowEntitlement": {}, + "mediaconnect:UpdateFlowMediaStream": {}, + "mediaconnect:UpdateFlowOutput": {}, + "mediaconnect:UpdateFlowSource": {}, + "mediaconvert:AssociateCertificate": {}, + "mediaconvert:CreatePreset": {}, + "mediaconvert:CreateQueue": {}, + "mediaconvert:DeletePolicy": {}, + "mediaconvert:DescribeEndpoints": {}, + "mediaconvert:DisassociateCertificate": {}, + "mediaconvert:GetPolicy": {}, + "mediaconvert:ListJobTemplates": {}, + "mediaconvert:ListPresets": {}, + "mediaconvert:ListQueues": {}, + "mediaconvert:PutPolicy": {}, + "mediaimport:CreateDatabaseBinarySnapshot": {}, + "medialive:BatchDelete": {}, + "medialive:BatchStart": {}, + "medialive:BatchStop": {}, + "medialive:DescribeAccountConfiguration": {}, + "medialive:ListChannels": {}, + "medialive:ListInputDeviceTransfers": {}, + "medialive:ListInputDevices": {}, + "medialive:ListInputSecurityGroups": {}, + "medialive:ListInputs": {}, + "medialive:ListMultiplexPrograms": {}, + "medialive:ListMultiplexes": {}, + "medialive:ListOfferings": {}, + "medialive:ListReservations": {}, + "medialive:UpdateAccountConfiguration": {}, + "mediapackage-vod:CreateAsset": {}, + "mediapackage-vod:CreatePackagingConfiguration": {}, + "mediapackage-vod:CreatePackagingGroup": {}, + "mediapackage-vod:ListAssets": {}, + "mediapackage-vod:ListPackagingConfigurations": {}, + "mediapackage-vod:ListPackagingGroups": {}, + "mediapackage:CreateChannel": {}, + "mediapackage:CreateHarvestJob": {}, + "mediapackage:CreateOriginEndpoint": {}, + "mediapackage:ListChannels": {}, + "mediapackage:ListHarvestJobs": {}, + "mediapackage:ListOriginEndpoints": {}, + "mediapackagev2:ListChannelGroups": {}, + "mediastore:CreateContainer": {}, + "mediastore:ListContainers": {}, + "mediatailor:CreateChannel": {}, + "mediatailor:CreateLiveSource": {}, + "mediatailor:CreateProgram": {}, + "mediatailor:CreateSourceLocation": {}, + "mediatailor:CreateVodSource": {}, + "mediatailor:ListAlerts": {}, + "mediatailor:ListChannels": {}, + "mediatailor:ListLiveSources": {}, + "mediatailor:ListPlaybackConfigurations": {}, + "mediatailor:ListSourceLocations": {}, + "mediatailor:ListVodSources": {}, + "mediatailor:PutPlaybackConfiguration": {}, + "medical-imaging:CreateDatastore": {}, + "medical-imaging:ListDatastores": {}, + "memorydb:CreateParameterGroup": {}, + "memorydb:CreateSubnetGroup": {}, + "memorydb:CreateUser": {}, + "memorydb:DescribeEngineVersions": {}, + "memorydb:DescribeEvents": {}, + "memorydb:DescribeReservedNodesOfferings": {}, + "memorydb:DescribeServiceUpdates": {}, + "mgh:CreateHomeRegionControl": {}, + "mgh:DeleteHomeRegionControl": {}, + "mgh:DescribeApplicationState": {}, + "mgh:DescribeHomeRegionControls": {}, + "mgh:GetHomeRegion": {}, + "mgh:ListApplicationStates": {}, + "mgh:ListMigrationTasks": {}, + "mgh:ListProgressUpdateStreams": {}, + "mgh:NotifyApplicationState": {}, + "mgn:BatchDeleteSnapshotRequestForMgn": {}, + "mgn:CreateApplication": {}, + "mgn:CreateConnector": {}, + "mgn:CreateLaunchConfigurationTemplate": {}, + "mgn:CreateReplicationConfigurationTemplate": {}, + "mgn:CreateVcenterClientForMgn": {}, + "mgn:CreateWave": {}, + "mgn:DescribeJobs": {}, + "mgn:DescribeLaunchConfigurationTemplates": {}, + "mgn:DescribeReplicationConfigurationTemplates": {}, + "mgn:DescribeReplicationServerAssociationsForMgn": {}, + "mgn:DescribeSnapshotRequestsForMgn": {}, + "mgn:DescribeSourceServers": {}, + "mgn:DescribeVcenterClients": {}, + "mgn:GetAgentInstallationAssetsForMgn": {}, + "mgn:GetChannelCommandsForMgn": {}, + "mgn:InitializeService": {}, + "mgn:ListApplications": {}, + "mgn:ListConnectors": {}, + "mgn:ListExports": {}, + "mgn:ListImports": {}, + "mgn:ListManagedAccounts": {}, + "mgn:ListTagsForResource": {}, + "mgn:ListWaves": {}, + "mgn:RegisterAgentForMgn": {}, + "mgn:SendChannelCommandResultForMgn": {}, + "mgn:SendClientLogsForMgn": {}, + "mgn:SendClientMetricsForMgn": {}, + "mgn:StartExport": {}, + "mgn:StartImport": {}, + "mgn:VerifyClientRoleForMgn": {}, + "migrationhub-orchestrator:CreateWorkflow": {}, + "migrationhub-orchestrator:GetMessage": {}, + "migrationhub-orchestrator:GetTemplate": {}, + "migrationhub-orchestrator:GetTemplateStep": {}, + "migrationhub-orchestrator:GetTemplateStepGroup": {}, + "migrationhub-orchestrator:ListPlugins": {}, + "migrationhub-orchestrator:ListTemplateStepGroups": {}, + "migrationhub-orchestrator:ListTemplateSteps": {}, + "migrationhub-orchestrator:ListTemplates": {}, + "migrationhub-orchestrator:ListWorkflows": {}, + "migrationhub-orchestrator:RegisterPlugin": {}, + "migrationhub-orchestrator:SendMessage": {}, + "migrationhub-strategy:GetAntiPattern": {}, + "migrationhub-strategy:GetApplicationComponentDetails": {}, + "migrationhub-strategy:GetApplicationComponentStrategies": {}, + "migrationhub-strategy:GetAssessment": {}, + "migrationhub-strategy:GetImportFileTask": {}, + "migrationhub-strategy:GetLatestAssessmentId": {}, + "migrationhub-strategy:GetMessage": {}, + "migrationhub-strategy:GetPortfolioPreferences": {}, + "migrationhub-strategy:GetPortfolioSummary": {}, + "migrationhub-strategy:GetRecommendationReportDetails": {}, + "migrationhub-strategy:GetServerDetails": {}, + "migrationhub-strategy:GetServerStrategies": {}, + "migrationhub-strategy:ListAnalyzableServers": {}, + "migrationhub-strategy:ListAntiPatterns": {}, + "migrationhub-strategy:ListApplicationComponents": {}, + "migrationhub-strategy:ListCollectors": {}, + "migrationhub-strategy:ListImportFileTask": {}, + "migrationhub-strategy:ListJarArtifacts": {}, + "migrationhub-strategy:ListServers": {}, + "migrationhub-strategy:PutPortfolioPreferences": {}, + "migrationhub-strategy:RegisterCollector": {}, + "migrationhub-strategy:SendMessage": {}, + "migrationhub-strategy:StartAssessment": {}, + "migrationhub-strategy:StartImportFileTask": {}, + "migrationhub-strategy:StartRecommendationReportGeneration": {}, + "migrationhub-strategy:StopAssessment": {}, + "migrationhub-strategy:UpdateApplicationComponentConfig": {}, + "migrationhub-strategy:UpdateCollectorConfiguration": {}, + "migrationhub-strategy:UpdateServerConfig": {}, + "mobileanalytics:PutEvents": {}, + "monitron:CreateProject": {}, + "monitron:ListProjects": {}, + "mq:CreateBroker": {}, + "mq:CreateConfiguration": {}, + "mq:DescribeBrokerEngineTypes": {}, + "mq:DescribeBrokerInstanceOptions": {}, + "mq:ListBrokers": {}, + "mq:ListConfigurations": {}, + "network-firewall:ListRuleGroups": {}, + "networkmanager-chat:CancelMessageResponse": {}, + "networkmanager-chat:CreateConversation": {}, + "networkmanager-chat:DeleteConversation": {}, + "networkmanager-chat:ListConversationMessages": {}, + "networkmanager-chat:ListConversations": {}, + "networkmanager-chat:NotifyConversationIsActive": {}, + "networkmanager-chat:SendConversationMessage": {}, + "networkmanager:CreateGlobalNetwork": {}, + "networkmanager:ListCoreNetworks": {}, + "networkmanager:ListOrganizationServiceAccessStatus": {}, + "networkmanager:ListPeerings": {}, + "networkmanager:StartOrganizationServiceAccessUpdate": {}, + "networkmonitor:CreateProbe": {}, + "networkmonitor:ListMonitors": {}, + "nimble:GetFeatureMap": {}, + "nimble:ListStudios": {}, + "notifications-contacts:CreateEmailContact": {}, + "notifications-contacts:ListEmailContacts": {}, + "notifications-contacts:ListTagsForResource": {}, + "notifications:CreateEventRule": {}, + "notifications:CreateNotificationConfiguration": {}, + "notifications:DeregisterNotificationHub": {}, + "notifications:ListChannels": {}, + "notifications:ListEventRules": {}, + "notifications:ListNotificationConfigurations": {}, + "notifications:ListNotificationEvents": {}, + "notifications:ListNotificationHubs": {}, + "notifications:ListTagsForResource": {}, + "notifications:RegisterNotificationHub": {}, + "oam:CreateSink": {}, + "oam:ListLinks": {}, + "oam:ListSinks": {}, + "omics:AcceptShare": {}, + "omics:CreateAnnotationStore": {}, + "omics:CreateReferenceStore": {}, + "omics:CreateRunGroup": {}, + "omics:CreateSequenceStore": {}, + "omics:CreateShare": {}, + "omics:CreateVariantStore": {}, + "omics:CreateWorkflow": {}, + "omics:DeleteShare": {}, + "omics:GetShare": {}, + "omics:ListAnnotationImportJobs": {}, + "omics:ListAnnotationStores": {}, + "omics:ListReferenceStores": {}, + "omics:ListRunGroups": {}, + "omics:ListRuns": {}, + "omics:ListSequenceStores": {}, + "omics:ListShares": {}, + "omics:ListTagsForResource": {}, + "omics:ListVariantImportJobs": {}, + "omics:ListVariantStores": {}, + "omics:ListWorkflows": {}, + "omics:StartAnnotationImportJob": {}, + "omics:StartRun": {}, + "omics:StartVariantImportJob": {}, + "one:CreateDeviceConfigurationTemplate": {}, + "one:CreateDeviceInstance": {}, + "one:CreateSite": {}, + "one:ListDeviceConfigurationTemplates": {}, + "one:ListDeviceInstances": {}, + "one:ListSites": {}, + "one:ListUsers": {}, + "opsworks-cm:AssociateNode": {}, + "opsworks-cm:CreateBackup": {}, + "opsworks-cm:CreateServer": {}, + "opsworks-cm:DeleteBackup": {}, + "opsworks-cm:DeleteServer": {}, + "opsworks-cm:DescribeAccountAttributes": {}, + "opsworks-cm:DescribeBackups": {}, + "opsworks-cm:DescribeEvents": {}, + "opsworks-cm:DescribeNodeAssociationStatus": {}, + "opsworks-cm:DescribeServers": {}, + "opsworks-cm:DisassociateNode": {}, + "opsworks-cm:ExportServerEngineAttribute": {}, + "opsworks-cm:ListTagsForResource": {}, + "opsworks-cm:RestoreServer": {}, + "opsworks-cm:StartMaintenance": {}, + "opsworks-cm:TagResource": {}, + "opsworks-cm:UntagResource": {}, + "opsworks-cm:UpdateServer": {}, + "opsworks-cm:UpdateServerEngineAttributes": {}, + "opsworks:CreateStack": {}, + "opsworks:CreateUserProfile": {}, + "opsworks:DeleteUserProfile": {}, + "opsworks:DescribeMyUserProfile": {}, + "opsworks:DescribeOperatingSystems": {}, + "opsworks:DescribeUserProfiles": {}, + "opsworks:UpdateMyUserProfile": {}, + "opsworks:UpdateUserProfile": {}, + "organizations:CreateAccount": {}, + "organizations:CreateGovCloudAccount": {}, + "organizations:CreateOrganization": {}, + "organizations:CreatePolicy": {}, + "organizations:DeleteOrganization": {}, + "organizations:DeleteResourcePolicy": {}, + "organizations:DescribeCreateAccountStatus": {}, + "organizations:DescribeOrganization": {}, + "organizations:DescribeResourcePolicy": {}, + "organizations:DisableAWSServiceAccess": {}, + "organizations:EnableAWSServiceAccess": {}, + "organizations:EnableAllFeatures": {}, + "organizations:LeaveOrganization": {}, + "organizations:ListAWSServiceAccessForOrganization": {}, + "organizations:ListAccounts": {}, + "organizations:ListCreateAccountStatus": {}, + "organizations:ListDelegatedAdministrators": {}, + "organizations:ListHandshakesForAccount": {}, + "organizations:ListHandshakesForOrganization": {}, + "organizations:ListPolicies": {}, + "organizations:ListRoots": {}, + "osis:CreatePipeline": {}, + "osis:ListPipelineBlueprints": {}, + "osis:ListPipelines": {}, + "osis:ValidatePipeline": {}, + "outposts:CancelOrder": {}, + "outposts:CreatePrivateConnectivityConfig": {}, + "outposts:CreateSite": {}, + "outposts:GetCatalogItem": {}, + "outposts:GetConnection": {}, + "outposts:GetOrder": {}, + "outposts:GetPrivateConnectivityConfig": {}, + "outposts:ListAssets": {}, + "outposts:ListCatalogItems": {}, + "outposts:ListOrders": {}, + "outposts:ListOutposts": {}, + "outposts:ListSites": {}, + "outposts:ListTagsForResource": {}, + "outposts:StartConnection": {}, + "panorama:CreateApplicationInstance": {}, + "panorama:CreateJobForDevices": {}, + "panorama:CreateNodeFromTemplateJob": {}, + "panorama:CreatePackage": {}, + "panorama:CreatePackageImportJob": {}, + "panorama:DescribeDeviceJob": {}, + "panorama:DescribeNode": {}, + "panorama:DescribeNodeFromTemplateJob": {}, + "panorama:DescribePackageImportJob": {}, + "panorama:DescribeSoftware": {}, + "panorama:GetWebSocketURL": {}, + "panorama:ListDevices": {}, + "panorama:ListNodeFromTemplateJobs": {}, + "panorama:ListNodes": {}, + "panorama:ListPackageImportJobs": {}, + "panorama:ListPackages": {}, + "panorama:ProvisionDevice": {}, + "partnercentral-account-management:AssociatePartnerAccount": {}, + "partnercentral-account-management:AssociatePartnerUser": {}, + "partnercentral-account-management:DisassociatePartnerUser": {}, + "payment-cryptography:CreateKey": {}, + "payment-cryptography:DecryptData": {}, + "payment-cryptography:EncryptData": {}, + "payment-cryptography:GenerateCardValidationData": {}, + "payment-cryptography:GenerateMac": {}, + "payment-cryptography:GeneratePinData": {}, + "payment-cryptography:GetParametersForExport": {}, + "payment-cryptography:GetParametersForImport": {}, + "payment-cryptography:ImportKey": {}, + "payment-cryptography:ListAliases": {}, + "payment-cryptography:ListKeys": {}, + "payment-cryptography:ReEncryptData": {}, + "payment-cryptography:TranslatePinData": {}, + "payment-cryptography:VerifyAuthRequestCryptogram": {}, + "payment-cryptography:VerifyCardValidationData": {}, + "payment-cryptography:VerifyMac": {}, + "payment-cryptography:VerifyPinData": {}, + "payments:CreatePaymentInstrument": {}, + "payments:DeletePaymentInstrument": {}, + "payments:GetPaymentInstrument": {}, + "payments:GetPaymentStatus": {}, + "payments:ListPaymentPreferences": {}, + "payments:MakePayment": {}, + "payments:UpdatePaymentPreferences": {}, + "pca-connector-ad:CreateConnector": {}, + "pca-connector-ad:CreateDirectoryRegistration": {}, + "pca-connector-ad:ListConnectors": {}, + "pca-connector-ad:ListDirectoryRegistrations": {}, + "pca-connector-ad:ListTagsForResource": {}, + "personalize:ListBatchInferenceJobs": {}, + "personalize:ListBatchSegmentJobs": {}, + "personalize:ListCampaigns": {}, + "personalize:ListDataInsightsJobs": {}, + "personalize:ListDatasetExportJobs": {}, + "personalize:ListDatasetGroups": {}, + "personalize:ListDatasetImportJobs": {}, + "personalize:ListDatasets": {}, + "personalize:ListEventTrackers": {}, + "personalize:ListFilters": {}, + "personalize:ListMetricAttributionMetrics": {}, + "personalize:ListMetricAttributions": {}, + "personalize:ListRecipes": {}, + "personalize:ListRecommenders": {}, + "personalize:ListSchemas": {}, + "personalize:ListSolutionVersions": {}, + "personalize:ListSolutions": {}, + "personalize:ListTagsForResource": {}, + "personalize:PutActionInteractions": {}, + "personalize:PutEvents": {}, + "personalize:TagResource": {}, + "personalize:UntagResource": {}, + "pipes:ListPipes": {}, + "polly:DescribeVoices": {}, + "polly:GetSpeechSynthesisTask": {}, + "polly:ListLexicons": {}, + "polly:ListSpeechSynthesisTasks": {}, + "pricing:DescribeServices": {}, + "pricing:GetAttributeValues": {}, + "pricing:GetPriceListFileUrl": {}, + "pricing:GetProducts": {}, + "pricing:ListPriceLists": {}, + "private-networks:ListNetworks": {}, + "private-networks:ListTagsForResource": {}, + "private-networks:Ping": {}, + "profile:GetProfileObjectTypeTemplate": {}, + "profile:ListAccountIntegrations": {}, + "profile:ListDomains": {}, + "profile:ListProfileObjectTypeTemplates": {}, + "proton:CreateEnvironmentAccountConnection": {}, + "proton:CreateServiceSyncConfig": {}, + "proton:CreateTemplateSyncConfig": {}, + "proton:DeleteAccountRoles": {}, + "proton:DeleteServiceSyncConfig": {}, + "proton:DeleteTemplateSyncConfig": {}, + "proton:GetAccountRoles": {}, + "proton:GetAccountSettings": {}, + "proton:GetRepositorySyncStatus": {}, + "proton:GetResourceTemplateVersionStatusCounts": {}, + "proton:GetResourcesSummary": {}, + "proton:GetServiceInstanceSyncStatus": {}, + "proton:GetServiceSyncBlockerSummary": {}, + "proton:GetServiceSyncConfig": {}, + "proton:GetTemplateSyncConfig": {}, + "proton:GetTemplateSyncStatus": {}, + "proton:ListDeployments": {}, + "proton:ListEnvironmentAccountConnections": {}, + "proton:ListEnvironmentTemplates": {}, + "proton:ListEnvironments": {}, + "proton:ListRepositories": {}, + "proton:ListRepositorySyncDefinitions": {}, + "proton:ListServiceInstances": {}, + "proton:ListServiceTemplates": {}, + "proton:ListServices": {}, + "proton:UpdateAccountRoles": {}, + "proton:UpdateAccountSettings": {}, + "proton:UpdateServiceSyncBlocker": {}, + "proton:UpdateServiceSyncConfig": {}, + "proton:UpdateTemplateSyncConfig": {}, + "purchase-orders:GetConsoleActionSetEnforced": {}, + "purchase-orders:ListPurchaseOrders": {}, + "purchase-orders:UpdateConsoleActionSetEnforced": {}, + "q:GetConversation": {}, + "q:GetTroubleshootingResults": {}, + "q:SendMessage": {}, + "q:StartConversation": {}, + "q:StartTroubleshootingAnalysis": {}, + "q:StartTroubleshootingResolutionExplanation": {}, + "qbusiness:AddUserLicenses": {}, + "qbusiness:CreateApplication": {}, + "qbusiness:CreateLicense": {}, + "qbusiness:ListApplications": {}, + "qbusiness:ListUserLicenses": {}, + "qbusiness:RemoveUserLicenses": {}, + "qldb:ListJournalS3Exports": {}, + "qldb:ListLedgers": {}, + "quicksight:AccountConfigurations": {}, + "quicksight:CreateAccountCustomization": {}, + "quicksight:CreateAccountSubscription": {}, + "quicksight:CreateCustomPermissions": {}, + "quicksight:CreateDataSource": {}, + "quicksight:CreateRoleMembership": {}, + "quicksight:CreateVPCConnection": {}, + "quicksight:DeleteCustomPermissions": {}, + "quicksight:DeleteIdentityPropagationConfig": {}, + "quicksight:DeleteRoleCustomPermission": {}, + "quicksight:DeleteRoleMembership": {}, + "quicksight:DescribeAccountSettings": {}, + "quicksight:DescribeCustomPermissions": {}, + "quicksight:DescribeIpRestriction": {}, + "quicksight:DescribeRoleCustomPermission": {}, + "quicksight:GetAnonymousUserEmbedUrl": {}, + "quicksight:GetGroupMapping": {}, + "quicksight:GetSessionEmbedUrl": {}, + "quicksight:ListCustomPermissions": {}, + "quicksight:ListCustomerManagedKeys": {}, + "quicksight:ListDataSets": {}, + "quicksight:ListDataSources": {}, + "quicksight:ListIdentityPropagationConfigs": {}, + "quicksight:ListIngestions": {}, + "quicksight:ListKMSKeysForUser": {}, + "quicksight:ListNamespaces": {}, + "quicksight:ListRefreshSchedules": {}, + "quicksight:ListRoleMemberships": {}, + "quicksight:ListTopicRefreshSchedules": {}, + "quicksight:ListTopics": {}, + "quicksight:ListVPCConnections": {}, + "quicksight:RegisterCustomerManagedKey": {}, + "quicksight:RemoveCustomerManagedKey": {}, + "quicksight:ScopeDownPolicy": {}, + "quicksight:SearchDirectoryGroups": {}, + "quicksight:SetGroupMapping": {}, + "quicksight:Subscribe": {}, + "quicksight:Unsubscribe": {}, + "quicksight:UpdateAccountSettings": {}, + "quicksight:UpdateCustomPermissions": {}, + "quicksight:UpdateIdentityPropagationConfig": {}, + "quicksight:UpdateIpRestriction": {}, + "quicksight:UpdatePublicSharingSettings": {}, + "quicksight:UpdateResourcePermissions": {}, + "quicksight:UpdateRoleCustomPermission": {}, + "ram:CreatePermission": {}, + "ram:CreateResourceShare": {}, + "ram:EnableSharingWithAwsOrganization": {}, + "ram:GetResourcePolicies": {}, + "ram:GetResourceShareAssociations": {}, + "ram:GetResourceShareInvitations": {}, + "ram:GetResourceShares": {}, + "ram:ListPermissionVersions": {}, + "ram:ListPermissions": {}, + "ram:ListPrincipals": {}, + "ram:ListReplacePermissionAssociationsWork": {}, + "ram:ListResourceTypes": {}, + "ram:ListResources": {}, + "rbin:ListRules": {}, + "rds:CancelExportTask": {}, + "rds:CreateDBProxy": {}, + "rds:CrossRegionCommunication": {}, + "rds:DescribeAccountAttributes": {}, + "rds:DescribeCertificates": {}, + "rds:DescribeDBEngineVersions": {}, + "rds:DescribeDBRecommendations": {}, + "rds:DescribeEngineDefaultClusterParameters": {}, + "rds:DescribeEngineDefaultParameters": {}, + "rds:DescribeEventCategories": {}, + "rds:DescribeEvents": {}, + "rds:DescribeExportTasks": {}, + "rds:DescribeOrderableDBInstanceOptions": {}, + "rds:DescribeRecommendationGroups": {}, + "rds:DescribeRecommendations": {}, + "rds:DescribeReservedDBInstancesOfferings": {}, + "rds:DescribeSourceRegions": {}, + "rds:ModifyCertificates": {}, + "rds:ModifyDBRecommendation": {}, + "rds:ModifyRecommendation": {}, + "rds:StartExportTask": {}, + "redshift-data:CancelStatement": {}, + "redshift-data:DescribeStatement": {}, + "redshift-data:GetStatementResult": {}, + "redshift-data:ListStatements": {}, + "redshift-serverless:CreateUsageLimit": {}, + "redshift-serverless:DeleteResourcePolicy": {}, + "redshift-serverless:DeleteScheduledAction": {}, + "redshift-serverless:DeleteSnapshotCopyConfiguration": {}, + "redshift-serverless:DeleteUsageLimit": {}, + "redshift-serverless:GetResourcePolicy": {}, + "redshift-serverless:GetScheduledAction": {}, + "redshift-serverless:GetTableRestoreStatus": {}, + "redshift-serverless:GetUsageLimit": {}, + "redshift-serverless:ListCustomDomainAssociations": {}, + "redshift-serverless:ListNamespaces": {}, + "redshift-serverless:ListScheduledActions": {}, + "redshift-serverless:ListTableRestoreStatus": {}, + "redshift-serverless:ListUsageLimits": {}, + "redshift-serverless:ListWorkgroups": {}, + "redshift-serverless:PutResourcePolicy": {}, + "redshift-serverless:UpdateScheduledAction": {}, + "redshift-serverless:UpdateSnapshotCopyConfiguration": {}, + "redshift-serverless:UpdateUsageLimit": {}, + "redshift-serverless:span": {}, + "redshift:AcceptReservedNodeExchange": {}, + "redshift:AddPartner": {}, + "redshift:AuthorizeEndpointAccess": {}, + "redshift:CancelQuery": {}, + "redshift:CancelQuerySession": {}, + "redshift:CreateAuthenticationProfile": {}, + "redshift:CreateEndpointAccess": {}, + "redshift:CreateRedshiftIdcApplication": {}, + "redshift:CreateSavedQuery": {}, + "redshift:CreateScheduledAction": {}, + "redshift:DeleteAuthenticationProfile": {}, + "redshift:DeleteEndpointAccess": {}, + "redshift:DeletePartner": {}, + "redshift:DeleteSavedQueries": {}, + "redshift:DeleteScheduledAction": {}, + "redshift:DescribeAccountAttributes": {}, + "redshift:DescribeAuthenticationProfiles": {}, + "redshift:DescribeClusterDbRevisions": {}, + "redshift:DescribeClusterParameterGroups": {}, + "redshift:DescribeClusterSecurityGroups": {}, + "redshift:DescribeClusterSnapshots": {}, + "redshift:DescribeClusterSubnetGroups": {}, + "redshift:DescribeClusterTracks": {}, + "redshift:DescribeClusterVersions": {}, + "redshift:DescribeClusters": {}, + "redshift:DescribeCustomDomainAssociations": {}, + "redshift:DescribeDataShares": {}, + "redshift:DescribeDataSharesForConsumer": {}, + "redshift:DescribeDataSharesForProducer": {}, + "redshift:DescribeDefaultClusterParameters": {}, + "redshift:DescribeEndpointAccess": {}, + "redshift:DescribeEndpointAuthorization": {}, + "redshift:DescribeEventCategories": {}, + "redshift:DescribeEventSubscriptions": {}, + "redshift:DescribeEvents": {}, + "redshift:DescribeHsmClientCertificates": {}, + "redshift:DescribeHsmConfigurations": {}, + "redshift:DescribeInboundIntegrations": {}, + "redshift:DescribeNodeConfigurationOptions": {}, + "redshift:DescribeOrderableClusterOptions": {}, + "redshift:DescribePartners": {}, + "redshift:DescribeQuery": {}, + "redshift:DescribeReservedNodeExchangeStatus": {}, + "redshift:DescribeReservedNodeOfferings": {}, + "redshift:DescribeReservedNodes": {}, + "redshift:DescribeSavedQueries": {}, + "redshift:DescribeScheduledActions": {}, + "redshift:DescribeSnapshotCopyGrants": {}, + "redshift:DescribeStorage": {}, + "redshift:DescribeTable": {}, + "redshift:DescribeTableRestoreStatus": {}, + "redshift:ExecuteQuery": {}, + "redshift:FetchResults": {}, + "redshift:GetReservedNodeExchangeConfigurationOptions": {}, + "redshift:GetReservedNodeExchangeOfferings": {}, + "redshift:ListDatabases": {}, + "redshift:ListRecommendations": {}, + "redshift:ListSavedQueries": {}, + "redshift:ListSchemas": {}, + "redshift:ListTables": {}, + "redshift:ModifyAuthenticationProfile": {}, + "redshift:ModifyClusterMaintenance": {}, + "redshift:ModifyEndpointAccess": {}, + "redshift:ModifySavedQuery": {}, + "redshift:ModifyScheduledAction": {}, + "redshift:PurchaseReservedNodeOffering": {}, + "redshift:RevokeEndpointAccess": {}, + "redshift:UpdatePartnerStatus": {}, + "redshift:ViewQueriesFromConsole": {}, + "redshift:ViewQueriesInConsole": {}, + "refactor-spaces:CreateApplication": {}, + "refactor-spaces:CreateEnvironment": {}, + "refactor-spaces:CreateRoute": {}, + "refactor-spaces:CreateService": {}, + "refactor-spaces:DeleteResourcePolicy": {}, + "refactor-spaces:GetResourcePolicy": {}, + "refactor-spaces:ListEnvironments": {}, + "refactor-spaces:ListTagsForResource": {}, + "refactor-spaces:PutResourcePolicy": {}, + "rekognition:CompareFaces": {}, + "rekognition:CreateFaceLivenessSession": {}, + "rekognition:DescribeProjects": {}, + "rekognition:DetectFaces": {}, + "rekognition:DetectLabels": {}, + "rekognition:DetectProtectiveEquipment": {}, + "rekognition:DetectText": {}, + "rekognition:GetCelebrityInfo": {}, + "rekognition:GetCelebrityRecognition": {}, + "rekognition:GetContentModeration": {}, + "rekognition:GetFaceDetection": {}, + "rekognition:GetFaceLivenessSessionResults": {}, + "rekognition:GetFaceSearch": {}, + "rekognition:GetLabelDetection": {}, + "rekognition:GetMediaAnalysisJob": {}, + "rekognition:GetPersonTracking": {}, + "rekognition:GetSegmentDetection": {}, + "rekognition:GetTextDetection": {}, + "rekognition:ListCollections": {}, + "rekognition:ListMediaAnalysisJobs": {}, + "rekognition:RecognizeCelebrities": {}, + "rekognition:StartCelebrityRecognition": {}, + "rekognition:StartContentModeration": {}, + "rekognition:StartFaceDetection": {}, + "rekognition:StartFaceLivenessSession": {}, + "rekognition:StartLabelDetection": {}, + "rekognition:StartPersonTracking": {}, + "rekognition:StartSegmentDetection": {}, + "rekognition:StartTextDetection": {}, + "repostspace:CreateSpace": {}, + "repostspace:ListSpaces": {}, + "resiliencehub:CreateApp": {}, + "resiliencehub:CreateResiliencyPolicy": {}, + "resiliencehub:ListAppAssessments": {}, + "resiliencehub:ListApps": {}, + "resiliencehub:ListResiliencyPolicies": {}, + "resiliencehub:ListSuggestedResiliencyPolicies": {}, + "resiliencehub:ListTagsForResource": {}, + "resource-explorer-2:BatchGetView": {}, + "resource-explorer-2:CreateIndex": {}, + "resource-explorer-2:CreateView": {}, + "resource-explorer-2:DisassociateDefaultView": {}, + "resource-explorer-2:GetAccountLevelServiceConfiguration": {}, + "resource-explorer-2:GetDefaultView": {}, + "resource-explorer-2:GetIndex": {}, + "resource-explorer-2:ListIndexes": {}, + "resource-explorer-2:ListIndexesForMembers": {}, + "resource-explorer-2:ListSupportedResourceTypes": {}, + "resource-explorer-2:ListViews": {}, + "resource-explorer:ListResourceTypes": {}, + "resource-explorer:ListResources": {}, + "resource-explorer:ListTags": {}, + "resource-groups:CreateGroup": {}, + "resource-groups:GetAccountSettings": {}, + "resource-groups:ListGroups": {}, + "resource-groups:SearchResources": {}, + "resource-groups:UpdateAccountSettings": {}, + "rhelkb:GetRhelURL": {}, + "robomaker:BatchDeleteWorlds": {}, + "robomaker:BatchDescribeSimulationJob": {}, + "robomaker:CreateDeploymentJob": {}, + "robomaker:CreateFleet": {}, + "robomaker:CreateRobot": {}, + "robomaker:CreateRobotApplication": {}, + "robomaker:CreateSimulationApplication": {}, + "robomaker:CreateSimulationJob": {}, + "robomaker:CreateWorldTemplate": {}, + "robomaker:ListDeploymentJobs": {}, + "robomaker:ListFleets": {}, + "robomaker:ListRobotApplications": {}, + "robomaker:ListRobots": {}, + "robomaker:ListSimulationApplications": {}, + "robomaker:ListSimulationJobBatches": {}, + "robomaker:ListSimulationJobs": {}, + "robomaker:ListWorldExportJobs": {}, + "robomaker:ListWorldGenerationJobs": {}, + "robomaker:ListWorldTemplates": {}, + "robomaker:ListWorlds": {}, + "robomaker:StartSimulationJobBatch": {}, + "rolesanywhere:CreateProfile": {}, + "rolesanywhere:CreateTrustAnchor": {}, + "rolesanywhere:ImportCrl": {}, + "rolesanywhere:ListCrls": {}, + "rolesanywhere:ListProfiles": {}, + "rolesanywhere:ListSubjects": {}, + "rolesanywhere:ListTagsForResource": {}, + "rolesanywhere:ListTrustAnchors": {}, + "route53-recovery-cluster:ListRoutingControls": {}, + "route53-recovery-control-config:ListAssociatedRoute53HealthChecks": {}, + "route53-recovery-control-config:ListClusters": {}, + "route53-recovery-control-config:ListControlPanels": {}, + "route53-recovery-control-config:ListRoutingControls": {}, + "route53-recovery-control-config:ListTagsForResource": {}, + "route53-recovery-readiness:CreateCrossAccountAuthorization": {}, + "route53-recovery-readiness:DeleteCrossAccountAuthorization": {}, + "route53-recovery-readiness:ListCells": {}, + "route53-recovery-readiness:ListCrossAccountAuthorizations": {}, + "route53-recovery-readiness:ListReadinessChecks": {}, + "route53-recovery-readiness:ListRecoveryGroups": {}, + "route53-recovery-readiness:ListResourceSets": {}, + "route53-recovery-readiness:ListRules": {}, + "route53-recovery-readiness:ListTagsForResources": {}, + "route53:CreateCidrCollection": {}, + "route53:CreateHealthCheck": {}, + "route53:CreateHostedZone": {}, + "route53:CreateReusableDelegationSet": {}, + "route53:CreateTrafficPolicy": {}, + "route53:GetAccountLimit": {}, + "route53:GetCheckerIpRanges": {}, + "route53:GetGeoLocation": {}, + "route53:GetHealthCheckCount": {}, + "route53:GetHostedZoneCount": {}, + "route53:GetTrafficPolicyInstanceCount": {}, + "route53:ListCidrCollections": {}, + "route53:ListGeoLocations": {}, + "route53:ListHealthChecks": {}, + "route53:ListHostedZones": {}, + "route53:ListHostedZonesByName": {}, + "route53:ListHostedZonesByVPC": {}, + "route53:ListReusableDelegationSets": {}, + "route53:ListTrafficPolicies": {}, + "route53:ListTrafficPolicyInstances": {}, + "route53:TestDNSAnswer": {}, + "route53domains:AcceptDomainTransferFromAnotherAwsAccount": {}, + "route53domains:AssociateDelegationSignerToDomain": {}, + "route53domains:CancelDomainTransferToAnotherAwsAccount": {}, + "route53domains:CheckDomainAvailability": {}, + "route53domains:CheckDomainTransferability": {}, + "route53domains:DeleteDomain": {}, + "route53domains:DeleteTagsForDomain": {}, + "route53domains:DisableDomainAutoRenew": {}, + "route53domains:DisableDomainTransferLock": {}, + "route53domains:DisassociateDelegationSignerFromDomain": {}, + "route53domains:EnableDomainAutoRenew": {}, + "route53domains:EnableDomainTransferLock": {}, + "route53domains:GetContactReachabilityStatus": {}, + "route53domains:GetDomainDetail": {}, + "route53domains:GetDomainSuggestions": {}, + "route53domains:GetOperationDetail": {}, + "route53domains:ListDomains": {}, + "route53domains:ListOperations": {}, + "route53domains:ListPrices": {}, + "route53domains:ListTagsForDomain": {}, + "route53domains:PushDomain": {}, + "route53domains:RegisterDomain": {}, + "route53domains:RejectDomainTransferFromAnotherAwsAccount": {}, + "route53domains:RenewDomain": {}, + "route53domains:ResendContactReachabilityEmail": {}, + "route53domains:ResendOperationAuthorization": {}, + "route53domains:RetrieveDomainAuthCode": {}, + "route53domains:TransferDomain": {}, + "route53domains:TransferDomainToAnotherAwsAccount": {}, + "route53domains:UpdateDomainContact": {}, + "route53domains:UpdateDomainContactPrivacy": {}, + "route53domains:UpdateDomainNameservers": {}, + "route53domains:UpdateTagsForDomain": {}, + "route53domains:ViewBilling": {}, + "route53resolver:CreateResolverQueryLogConfig": {}, + "route53resolver:GetResolverQueryLogConfigAssociation": {}, + "route53resolver:ListFirewallConfigs": {}, + "route53resolver:ListFirewallDomainLists": {}, + "route53resolver:ListFirewallRuleGroupAssociations": {}, + "route53resolver:ListFirewallRuleGroups": {}, + "route53resolver:ListOutpostResolvers": {}, + "route53resolver:ListResolverEndpoints": {}, + "route53resolver:ListResolverQueryLogConfigAssociations": {}, + "route53resolver:ListResolverQueryLogConfigs": {}, + "route53resolver:ListResolverRuleAssociations": {}, + "route53resolver:ListResolverRules": {}, + "rum:ListAppMonitors": {}, + "rum:ListTagsForResource": {}, + "s3-outposts:GetAccessPoint": {}, + "s3-outposts:ListAccessPoints": {}, + "s3-outposts:ListEndpoints": {}, + "s3-outposts:ListOutpostsWithS3": {}, + "s3-outposts:ListRegionalBuckets": {}, + "s3-outposts:ListSharedEndpoints": {}, + "s3:CreateJob": {}, + "s3:CreateStorageLensGroup": {}, + "s3:GetAccessPoint": {}, + "s3:GetAccountPublicAccessBlock": {}, + "s3:ListAccessGrantsInstances": {}, + "s3:ListAccessPoints": {}, + "s3:ListAccessPointsForObjectLambda": {}, + "s3:ListAllMyBuckets": {}, + "s3:ListJobs": {}, + "s3:ListMultiRegionAccessPoints": {}, + "s3:ListStorageLensConfigurations": {}, + "s3:ListStorageLensGroups": {}, + "s3:PutAccessPointPublicAccessBlock": {}, + "s3:PutAccountPublicAccessBlock": {}, + "s3:PutStorageLensConfiguration": {}, + "s3express:ListAllMyDirectoryBuckets": {}, + "sagemaker-geospatial:ListEarthObservationJobs": {}, + "sagemaker-geospatial:ListRasterDataCollections": {}, + "sagemaker-geospatial:ListVectorEnrichmentJobs": {}, + "sagemaker-geospatial:SearchRasterDataCollection": {}, + "sagemaker-groundtruth-synthetic:CreateProject": {}, + "sagemaker-groundtruth-synthetic:DeleteProject": {}, + "sagemaker-groundtruth-synthetic:GetAccountDetails": {}, + "sagemaker-groundtruth-synthetic:GetBatch": {}, + "sagemaker-groundtruth-synthetic:GetProject": {}, + "sagemaker-groundtruth-synthetic:ListBatchDataTransfers": {}, + "sagemaker-groundtruth-synthetic:ListBatchSummaries": {}, + "sagemaker-groundtruth-synthetic:ListProjectDataTransfers": {}, + "sagemaker-groundtruth-synthetic:ListProjectSummaries": {}, + "sagemaker-groundtruth-synthetic:StartBatchDataTransfer": {}, + "sagemaker-groundtruth-synthetic:StartProjectDataTransfer": {}, + "sagemaker-groundtruth-synthetic:UpdateBatch": {}, + "sagemaker:CreateLineageGroupPolicy": {}, + "sagemaker:DeleteLineageGroupPolicy": {}, + "sagemaker:DescribeLineageGroup": {}, + "sagemaker:DisableSagemakerServicecatalogPortfolio": {}, + "sagemaker:EnableSagemakerServicecatalogPortfolio": {}, + "sagemaker:GetLineageGroupPolicy": {}, + "sagemaker:GetSagemakerServicecatalogPortfolioStatus": {}, + "sagemaker:GetSearchSuggestions": {}, + "sagemaker:ListActions": {}, + "sagemaker:ListAlgorithms": {}, + "sagemaker:ListAppImageConfigs": {}, + "sagemaker:ListApps": {}, + "sagemaker:ListArtifacts": {}, + "sagemaker:ListAssociations": {}, + "sagemaker:ListAutoMLJobs": {}, + "sagemaker:ListCandidatesForAutoMLJob": {}, + "sagemaker:ListClusters": {}, + "sagemaker:ListCodeRepositories": {}, + "sagemaker:ListCompilationJobs": {}, + "sagemaker:ListContexts": {}, + "sagemaker:ListDataQualityJobDefinitions": {}, + "sagemaker:ListDeviceFleets": {}, + "sagemaker:ListDevices": {}, + "sagemaker:ListDomains": {}, + "sagemaker:ListEdgeDeploymentPlans": {}, + "sagemaker:ListEdgePackagingJobs": {}, + "sagemaker:ListEndpointConfigs": {}, + "sagemaker:ListEndpoints": {}, + "sagemaker:ListExperiments": {}, + "sagemaker:ListFeatureGroups": {}, + "sagemaker:ListFlowDefinitions": {}, + "sagemaker:ListHubs": {}, + "sagemaker:ListHumanLoops": {}, + "sagemaker:ListHumanTaskUis": {}, + "sagemaker:ListHyperParameterTuningJobs": {}, + "sagemaker:ListImages": {}, + "sagemaker:ListInferenceComponents": {}, + "sagemaker:ListInferenceExperiments": {}, + "sagemaker:ListInferenceRecommendationsJobSteps": {}, + "sagemaker:ListInferenceRecommendationsJobs": {}, + "sagemaker:ListLabelingJobs": {}, + "sagemaker:ListLineageGroups": {}, + "sagemaker:ListModelBiasJobDefinitions": {}, + "sagemaker:ListModelCards": {}, + "sagemaker:ListModelExplainabilityJobDefinitions": {}, + "sagemaker:ListModelMetadata": {}, + "sagemaker:ListModelPackageGroups": {}, + "sagemaker:ListModelQualityJobDefinitions": {}, + "sagemaker:ListModels": {}, + "sagemaker:ListMonitoringAlertHistory": {}, + "sagemaker:ListMonitoringAlerts": {}, + "sagemaker:ListMonitoringExecutions": {}, + "sagemaker:ListMonitoringSchedules": {}, + "sagemaker:ListNotebookInstanceLifecycleConfigs": {}, + "sagemaker:ListNotebookInstances": {}, + "sagemaker:ListPipelines": {}, + "sagemaker:ListProcessingJobs": {}, + "sagemaker:ListProjects": {}, + "sagemaker:ListResourceCatalogs": {}, + "sagemaker:ListSharedModelEvents": {}, + "sagemaker:ListSharedModels": {}, + "sagemaker:ListSpaces": {}, + "sagemaker:ListStageDevices": {}, + "sagemaker:ListStudioLifecycleConfigs": {}, + "sagemaker:ListSubscribedWorkteams": {}, + "sagemaker:ListTrainingJobs": {}, + "sagemaker:ListTransformJobs": {}, + "sagemaker:ListTrialComponents": {}, + "sagemaker:ListTrials": {}, + "sagemaker:ListUserProfiles": {}, + "sagemaker:ListWorkforces": {}, + "sagemaker:ListWorkteams": {}, + "sagemaker:PutLineageGroupPolicy": {}, + "sagemaker:QueryLineage": {}, + "sagemaker:RenderUiTemplate": {}, + "sagemaker:Search": {}, + "savingsplans:CreateSavingsPlan": {}, + "savingsplans:DescribeSavingsPlansOfferingRates": {}, + "savingsplans:DescribeSavingsPlansOfferings": {}, + "scheduler:ListScheduleGroups": {}, + "scheduler:ListSchedules": {}, + "schemas:CreateDiscoverer": {}, + "schemas:GetDiscoveredSchema": {}, + "sdb:ListDomains": {}, + "secretsmanager:BatchGetSecretValue": {}, + "secretsmanager:GetRandomPassword": {}, + "secretsmanager:ListSecrets": {}, + "securityhub:BatchGetConfigurationPolicyAssociations": {}, + "securityhub:BatchGetSecurityControls": {}, + "securityhub:BatchGetStandardsControlAssociations": {}, + "securityhub:BatchUpdateStandardsControlAssociations": {}, + "securityhub:CreateAutomationRule": {}, + "securityhub:CreateConfigurationPolicy": {}, + "securityhub:CreateFindingAggregator": {}, + "securityhub:GetConfigurationPolicyAssociation": {}, + "securityhub:GetSecurityControlDefinition": {}, + "securityhub:ListAutomationRules": {}, + "securityhub:ListConfigurationPolicies": {}, + "securityhub:ListConfigurationPolicyAssociations": {}, + "securityhub:ListFindingAggregators": {}, + "securityhub:ListSecurityControlDefinitions": {}, + "securityhub:ListStandardsControlAssociations": {}, + "securityhub:UpdateSecurityControl": {}, + "securitylake:CreateDataLakeExceptionSubscription": {}, + "securitylake:CreateSubscriber": {}, + "securitylake:DeleteDataLakeExceptionSubscription": {}, + "securitylake:DeregisterDataLakeDelegatedAdministrator": {}, + "securitylake:GetDataLakeExceptionSubscription": {}, + "securitylake:ListDataLakeExceptions": {}, + "securitylake:ListDataLakes": {}, + "securitylake:ListLogSources": {}, + "securitylake:ListSubscribers": {}, + "securitylake:RegisterDataLakeDelegatedAdministrator": {}, + "securitylake:UpdateDataLakeExceptionSubscription": {}, + "serverlessrepo:CreateApplication": {}, + "serverlessrepo:ListApplications": {}, + "serverlessrepo:SearchApplications": {}, + "servicecatalog:AssociateBudgetWithResource": {}, + "servicecatalog:AssociateProductWithPortfolio": {}, + "servicecatalog:BatchAssociateServiceActionWithProvisioningArtifact": {}, + "servicecatalog:BatchDisassociateServiceActionFromProvisioningArtifact": {}, + "servicecatalog:CopyProduct": {}, + "servicecatalog:CreateProvisionedProductPlan": {}, + "servicecatalog:CreateServiceAction": {}, + "servicecatalog:CreateTagOption": {}, + "servicecatalog:DeleteConstraint": {}, + "servicecatalog:DeleteProvisionedProductPlan": {}, + "servicecatalog:DeleteServiceAction": {}, + "servicecatalog:DeleteTagOption": {}, + "servicecatalog:DescribeConstraint": {}, + "servicecatalog:DescribeCopyProductStatus": {}, + "servicecatalog:DescribePortfolioShareStatus": {}, + "servicecatalog:DescribeProductView": {}, + "servicecatalog:DescribeProvisionedProduct": {}, + "servicecatalog:DescribeProvisionedProductPlan": {}, + "servicecatalog:DescribeRecord": {}, + "servicecatalog:DescribeServiceAction": {}, + "servicecatalog:DescribeServiceActionExecutionParameters": {}, + "servicecatalog:DescribeTagOption": {}, + "servicecatalog:DisableAWSOrganizationsAccess": {}, + "servicecatalog:DisassociateBudgetFromResource": {}, + "servicecatalog:DisassociateProductFromPortfolio": {}, + "servicecatalog:EnableAWSOrganizationsAccess": {}, + "servicecatalog:ExecuteProvisionedProductPlan": {}, + "servicecatalog:ExecuteProvisionedProductServiceAction": {}, + "servicecatalog:GetAWSOrganizationsAccessStatus": {}, + "servicecatalog:GetConfiguration": {}, + "servicecatalog:GetProvisionedProductOutputs": {}, + "servicecatalog:ListAcceptedPortfolioShares": {}, + "servicecatalog:ListApplications": {}, + "servicecatalog:ListAttributeGroups": {}, + "servicecatalog:ListBudgetsForResource": {}, + "servicecatalog:ListConstraintsForPortfolio": {}, + "servicecatalog:ListOrganizationPortfolioAccess": {}, + "servicecatalog:ListPortfolios": {}, + "servicecatalog:ListProvisionedProductPlans": {}, + "servicecatalog:ListProvisioningArtifactsForServiceAction": {}, + "servicecatalog:ListRecordHistory": {}, + "servicecatalog:ListResourcesForTagOption": {}, + "servicecatalog:ListServiceActions": {}, + "servicecatalog:ListStackInstancesForProvisionedProduct": {}, + "servicecatalog:ListTagOptions": {}, + "servicecatalog:NotifyProvisionProductEngineWorkflowResult": {}, + "servicecatalog:NotifyTerminateProvisionedProductEngineWorkflowResult": {}, + "servicecatalog:NotifyUpdateProvisionedProductEngineWorkflowResult": {}, + "servicecatalog:PutConfiguration": {}, + "servicecatalog:ScanProvisionedProducts": {}, + "servicecatalog:SearchProducts": {}, + "servicecatalog:SearchProductsAsAdmin": {}, + "servicecatalog:SearchProvisionedProducts": {}, + "servicecatalog:SyncResource": {}, + "servicecatalog:TerminateProvisionedProduct": {}, + "servicecatalog:UpdateConstraint": {}, + "servicecatalog:UpdateProvisionedProduct": {}, + "servicecatalog:UpdateProvisionedProductProperties": {}, + "servicecatalog:UpdateServiceAction": {}, + "servicecatalog:UpdateTagOption": {}, + "servicediscovery:CreateHttpNamespace": {}, + "servicediscovery:CreatePrivateDnsNamespace": {}, + "servicediscovery:CreatePublicDnsNamespace": {}, + "servicediscovery:DiscoverInstances": {}, + "servicediscovery:DiscoverInstancesRevision": {}, + "servicediscovery:GetInstance": {}, + "servicediscovery:GetInstancesHealthStatus": {}, + "servicediscovery:GetOperation": {}, + "servicediscovery:ListInstances": {}, + "servicediscovery:ListNamespaces": {}, + "servicediscovery:ListOperations": {}, + "servicediscovery:ListServices": {}, + "servicediscovery:ListTagsForResource": {}, + "servicediscovery:TagResource": {}, + "servicediscovery:UntagResource": {}, + "servicediscovery:UpdateInstanceCustomHealthStatus": {}, + "serviceextract:GetConfig": {}, + "servicequotas:AssociateServiceQuotaTemplate": {}, + "servicequotas:DeleteServiceQuotaIncreaseRequestFromTemplate": {}, + "servicequotas:DisassociateServiceQuotaTemplate": {}, + "servicequotas:GetAWSDefaultServiceQuota": {}, + "servicequotas:GetAssociationForServiceQuotaTemplate": {}, + "servicequotas:GetRequestedServiceQuotaChange": {}, + "servicequotas:GetServiceQuota": {}, + "servicequotas:GetServiceQuotaIncreaseRequestFromTemplate": {}, + "servicequotas:ListAWSDefaultServiceQuotas": {}, + "servicequotas:ListRequestedServiceQuotaChangeHistory": {}, + "servicequotas:ListRequestedServiceQuotaChangeHistoryByQuota": {}, + "servicequotas:ListServiceQuotaIncreaseRequestsInTemplate": {}, + "servicequotas:ListServiceQuotas": {}, + "servicequotas:ListServices": {}, + "servicequotas:ListTagsForResource": {}, + "servicequotas:TagResource": {}, + "servicequotas:UntagResource": {}, + "ses:CloneReceiptRuleSet": {}, + "ses:CreateConfigurationSet": {}, + "ses:CreateConfigurationSetEventDestination": {}, + "ses:CreateConfigurationSetTrackingOptions": {}, + "ses:CreateCustomVerificationEmailTemplate": {}, + "ses:CreateDedicatedIpPool": {}, + "ses:CreateEmailIdentity": {}, + "ses:CreateExportJob": {}, + "ses:CreateImportJob": {}, + "ses:CreateReceiptFilter": {}, + "ses:CreateReceiptRule": {}, + "ses:CreateReceiptRuleSet": {}, + "ses:CreateTemplate": {}, + "ses:DeleteConfigurationSet": {}, + "ses:DeleteConfigurationSetEventDestination": {}, + "ses:DeleteConfigurationSetTrackingOptions": {}, + "ses:DeleteCustomVerificationEmailTemplate": {}, + "ses:DeleteIdentity": {}, + "ses:DeleteIdentityPolicy": {}, + "ses:DeleteReceiptFilter": {}, + "ses:DeleteReceiptRule": {}, + "ses:DeleteReceiptRuleSet": {}, + "ses:DeleteSuppressedDestination": {}, + "ses:DeleteTemplate": {}, + "ses:DeleteVerifiedEmailAddress": {}, + "ses:DescribeActiveReceiptRuleSet": {}, + "ses:DescribeConfigurationSet": {}, + "ses:DescribeReceiptRule": {}, + "ses:DescribeReceiptRuleSet": {}, + "ses:GetAccount": {}, + "ses:GetAccountSendingEnabled": {}, + "ses:GetBlacklistReports": {}, + "ses:GetCustomVerificationEmailTemplate": {}, + "ses:GetDedicatedIp": {}, + "ses:GetDeliverabilityDashboardOptions": {}, + "ses:GetDomainDeliverabilityCampaign": {}, + "ses:GetIdentityDkimAttributes": {}, + "ses:GetIdentityMailFromDomainAttributes": {}, + "ses:GetIdentityNotificationAttributes": {}, + "ses:GetIdentityPolicies": {}, + "ses:GetIdentityVerificationAttributes": {}, + "ses:GetMessageInsights": {}, + "ses:GetSendQuota": {}, + "ses:GetSendStatistics": {}, + "ses:GetSuppressedDestination": {}, + "ses:GetTemplate": {}, + "ses:ListConfigurationSets": {}, + "ses:ListContactLists": {}, + "ses:ListCustomVerificationEmailTemplates": {}, + "ses:ListDedicatedIpPools": {}, + "ses:ListDeliverabilityTestReports": {}, + "ses:ListDomainDeliverabilityCampaigns": {}, + "ses:ListEmailIdentities": {}, + "ses:ListEmailTemplates": {}, + "ses:ListExportJobs": {}, + "ses:ListIdentities": {}, + "ses:ListIdentityPolicies": {}, + "ses:ListImportJobs": {}, + "ses:ListReceiptFilters": {}, + "ses:ListReceiptRuleSets": {}, + "ses:ListSuppressedDestinations": {}, + "ses:ListTemplates": {}, + "ses:ListVerifiedEmailAddresses": {}, + "ses:PutAccountDedicatedIpWarmupAttributes": {}, + "ses:PutAccountDetails": {}, + "ses:PutAccountSendingAttributes": {}, + "ses:PutAccountSuppressionAttributes": {}, + "ses:PutAccountVdmAttributes": {}, + "ses:PutConfigurationSetDeliveryOptions": {}, + "ses:PutDedicatedIpWarmupAttributes": {}, + "ses:PutDeliverabilityDashboardOption": {}, + "ses:PutIdentityPolicy": {}, + "ses:PutSuppressedDestination": {}, + "ses:ReorderReceiptRuleSet": {}, + "ses:SetActiveReceiptRuleSet": {}, + "ses:SetIdentityDkimEnabled": {}, + "ses:SetIdentityFeedbackForwardingEnabled": {}, + "ses:SetIdentityHeadersInNotificationsEnabled": {}, + "ses:SetIdentityMailFromDomain": {}, + "ses:SetIdentityNotificationTopic": {}, + "ses:SetReceiptRulePosition": {}, + "ses:TestRenderTemplate": {}, + "ses:UpdateAccountSendingEnabled": {}, + "ses:UpdateConfigurationSetEventDestination": {}, + "ses:UpdateConfigurationSetReputationMetricsEnabled": {}, + "ses:UpdateConfigurationSetSendingEnabled": {}, + "ses:UpdateConfigurationSetTrackingOptions": {}, + "ses:UpdateCustomVerificationEmailTemplate": {}, + "ses:UpdateReceiptRule": {}, + "ses:UpdateTemplate": {}, + "ses:VerifyDomainDkim": {}, + "ses:VerifyDomainIdentity": {}, + "ses:VerifyEmailAddress": {}, + "ses:VerifyEmailIdentity": {}, + "shield:AssociateDRTLogBucket": {}, + "shield:AssociateDRTRole": {}, + "shield:AssociateProactiveEngagementDetails": {}, + "shield:CreateProtection": {}, + "shield:CreateProtectionGroup": {}, + "shield:CreateSubscription": {}, + "shield:DeleteSubscription": {}, + "shield:DescribeAttackStatistics": {}, + "shield:DescribeDRTAccess": {}, + "shield:DescribeEmergencyContactSettings": {}, + "shield:DescribeSubscription": {}, + "shield:DisableApplicationLayerAutomaticResponse": {}, + "shield:DisableProactiveEngagement": {}, + "shield:DisassociateDRTLogBucket": {}, + "shield:DisassociateDRTRole": {}, + "shield:EnableApplicationLayerAutomaticResponse": {}, + "shield:EnableProactiveEngagement": {}, + "shield:GetSubscriptionState": {}, + "shield:ListAttacks": {}, + "shield:ListProtectionGroups": {}, + "shield:ListProtections": {}, + "shield:UpdateApplicationLayerAutomaticResponse": {}, + "shield:UpdateEmergencyContactSettings": {}, + "shield:UpdateSubscription": {}, + "signer:GetSigningPlatform": {}, + "signer:ListSigningJobs": {}, + "signer:ListSigningPlatforms": {}, + "signer:ListSigningProfiles": {}, + "signer:PutSigningProfile": {}, + "simspaceweaver:ListSimulations": {}, + "simspaceweaver:ListTagsForResource": {}, + "simspaceweaver:StartSimulation": {}, + "sms-voice:CreateConfigurationSet": {}, + "sms-voice:CreateConfigurationSetEventDestination": {}, + "sms-voice:CreateOptOutList": {}, + "sms-voice:CreateRegistration": {}, + "sms-voice:CreateRegistrationAttachment": {}, + "sms-voice:CreateVerifiedDestinationNumber": {}, + "sms-voice:DeleteConfigurationSet": {}, + "sms-voice:DeleteConfigurationSetEventDestination": {}, + "sms-voice:DeleteTextMessageSpendLimitOverride": {}, + "sms-voice:DeleteVoiceMessageSpendLimitOverride": {}, + "sms-voice:DescribeAccountAttributes": {}, + "sms-voice:DescribeAccountLimits": {}, + "sms-voice:DescribeRegistrationFieldDefinitions": {}, + "sms-voice:DescribeRegistrationSectionDefinitions": {}, + "sms-voice:DescribeRegistrationTypeDefinitions": {}, + "sms-voice:DescribeSpendLimits": {}, + "sms-voice:GetConfigurationSetEventDestinations": {}, + "sms-voice:ListConfigurationSets": {}, + "sms-voice:RequestSenderId": {}, + "sms-voice:SendVoiceMessage": {}, + "sms-voice:SetTextMessageSpendLimitOverride": {}, + "sms-voice:SetVoiceMessageSpendLimitOverride": {}, + "sms-voice:UpdateConfigurationSetEventDestination": {}, + "sms:CreateApp": {}, + "sms:CreateReplicationJob": {}, + "sms:DeleteApp": {}, + "sms:DeleteAppLaunchConfiguration": {}, + "sms:DeleteAppReplicationConfiguration": {}, + "sms:DeleteAppValidationConfiguration": {}, + "sms:DeleteReplicationJob": {}, + "sms:DeleteServerCatalog": {}, + "sms:DisassociateConnector": {}, + "sms:GenerateChangeSet": {}, + "sms:GenerateTemplate": {}, + "sms:GetApp": {}, + "sms:GetAppLaunchConfiguration": {}, + "sms:GetAppReplicationConfiguration": {}, + "sms:GetAppValidationConfiguration": {}, + "sms:GetAppValidationOutput": {}, + "sms:GetConnectors": {}, + "sms:GetReplicationJobs": {}, + "sms:GetReplicationRuns": {}, + "sms:GetServers": {}, + "sms:ImportAppCatalog": {}, + "sms:ImportServerCatalog": {}, + "sms:LaunchApp": {}, + "sms:ListApps": {}, + "sms:NotifyAppValidationOutput": {}, + "sms:PutAppLaunchConfiguration": {}, + "sms:PutAppReplicationConfiguration": {}, + "sms:PutAppValidationConfiguration": {}, + "sms:StartAppReplication": {}, + "sms:StartOnDemandAppReplication": {}, + "sms:StartOnDemandReplicationRun": {}, + "sms:StopAppReplication": {}, + "sms:TerminateApp": {}, + "sms:UpdateApp": {}, + "sms:UpdateReplicationJob": {}, + "snow-device-management:CreateTask": {}, + "snow-device-management:DescribeExecution": {}, + "snow-device-management:ListDevices": {}, + "snow-device-management:ListExecutions": {}, + "snow-device-management:ListTagsForResource": {}, + "snow-device-management:ListTasks": {}, + "snowball:CancelCluster": {}, + "snowball:CancelJob": {}, + "snowball:CreateAddress": {}, + "snowball:CreateCluster": {}, + "snowball:CreateJob": {}, + "snowball:CreateLongTermPricing": {}, + "snowball:CreateReturnShippingLabel": {}, + "snowball:DescribeAddress": {}, + "snowball:DescribeAddresses": {}, + "snowball:DescribeCluster": {}, + "snowball:DescribeJob": {}, + "snowball:DescribeReturnShippingLabel": {}, + "snowball:GetJobManifest": {}, + "snowball:GetJobUnlockCode": {}, + "snowball:GetSnowballUsage": {}, + "snowball:GetSoftwareUpdates": {}, + "snowball:ListClusterJobs": {}, + "snowball:ListClusters": {}, + "snowball:ListCompatibleImages": {}, + "snowball:ListJobs": {}, + "snowball:ListLongTermPricing": {}, + "snowball:ListPickupLocations": {}, + "snowball:ListServiceVersions": {}, + "snowball:UpdateCluster": {}, + "snowball:UpdateJob": {}, + "snowball:UpdateJobShipmentState": {}, + "snowball:UpdateLongTermPricing": {}, + "sns:CheckIfPhoneNumberIsOptedOut": {}, + "sns:CreatePlatformApplication": {}, + "sns:CreatePlatformEndpoint": {}, + "sns:CreateSMSSandboxPhoneNumber": {}, + "sns:DeleteEndpoint": {}, + "sns:DeletePlatformApplication": {}, + "sns:DeleteSMSSandboxPhoneNumber": {}, + "sns:GetEndpointAttributes": {}, + "sns:GetPlatformApplicationAttributes": {}, + "sns:GetSMSAttributes": {}, + "sns:GetSMSSandboxAccountStatus": {}, + "sns:GetSubscriptionAttributes": {}, + "sns:ListEndpointsByPlatformApplication": {}, + "sns:ListOriginationNumbers": {}, + "sns:ListPhoneNumbersOptedOut": {}, + "sns:ListPlatformApplications": {}, + "sns:ListSMSSandboxPhoneNumbers": {}, + "sns:ListSubscriptions": {}, + "sns:ListTopics": {}, + "sns:OptInPhoneNumber": {}, + "sns:SetEndpointAttributes": {}, + "sns:SetPlatformApplicationAttributes": {}, + "sns:SetSMSAttributes": {}, + "sns:SetSubscriptionAttributes": {}, + "sns:Unsubscribe": {}, + "sns:VerifySMSSandboxPhoneNumber": {}, + "sqlworkbench:BatchDeleteFolder": {}, + "sqlworkbench:CreateAccount": {}, + "sqlworkbench:CreateFolder": {}, + "sqlworkbench:DeleteTab": {}, + "sqlworkbench:GenerateSession": {}, + "sqlworkbench:GetAccountInfo": {}, + "sqlworkbench:GetAccountSettings": {}, + "sqlworkbench:GetAutocompletionMetadata": {}, + "sqlworkbench:GetAutocompletionResource": {}, + "sqlworkbench:GetQSqlRecommendations": {}, + "sqlworkbench:GetQueryExecutionHistory": {}, + "sqlworkbench:GetSchemaInference": {}, + "sqlworkbench:GetUserInfo": {}, + "sqlworkbench:GetUserWorkspaceSettings": {}, + "sqlworkbench:ListConnections": {}, + "sqlworkbench:ListDatabases": {}, + "sqlworkbench:ListFiles": {}, + "sqlworkbench:ListNotebooks": {}, + "sqlworkbench:ListQueryExecutionHistory": {}, + "sqlworkbench:ListRedshiftClusters": {}, + "sqlworkbench:ListSampleDatabases": {}, + "sqlworkbench:ListTabs": {}, + "sqlworkbench:ListTaggedResources": {}, + "sqlworkbench:PutTab": {}, + "sqlworkbench:PutUserWorkspaceSettings": {}, + "sqlworkbench:UpdateAccountConnectionSettings": {}, + "sqlworkbench:UpdateAccountExportSettings": {}, + "sqlworkbench:UpdateAccountGeneralSettings": {}, + "sqlworkbench:UpdateAccountQSqlSettings": {}, + "sqlworkbench:UpdateFolder": {}, + "sqs:ListQueues": {}, + "ssm-contacts:ListContacts": {}, + "ssm-contacts:ListEngagements": {}, + "ssm-contacts:ListRotations": {}, + "ssm-guiconnect:CancelConnection": {}, + "ssm-guiconnect:GetConnection": {}, + "ssm-guiconnect:StartConnection": {}, + "ssm-incidents:CreateReplicationSet": {}, + "ssm-incidents:CreateResponsePlan": {}, + "ssm-incidents:ListIncidentRecords": {}, + "ssm-incidents:ListReplicationSets": {}, + "ssm-incidents:ListResponsePlans": {}, + "ssm-sap:BackupDatabase": {}, + "ssm-sap:DeleteResourcePermission": {}, + "ssm-sap:GetApplication": {}, + "ssm-sap:GetDatabase": {}, + "ssm-sap:GetOperation": {}, + "ssm-sap:GetResourcePermission": {}, + "ssm-sap:ListApplications": {}, + "ssm-sap:ListDatabases": {}, + "ssm-sap:ListOperations": {}, + "ssm-sap:ListTagsForResource": {}, + "ssm-sap:PutResourcePermission": {}, + "ssm-sap:RegisterApplication": {}, + "ssm-sap:RestoreDatabase": {}, + "ssm-sap:UpdateHANABackupSettings": {}, + "ssm:CancelCommand": {}, + "ssm:CreateActivation": {}, + "ssm:CreateMaintenanceWindow": {}, + "ssm:CreateOpsItem": {}, + "ssm:CreateOpsMetadata": {}, + "ssm:CreatePatchBaseline": {}, + "ssm:DeleteActivation": {}, + "ssm:DeleteInventory": {}, + "ssm:DescribeActivations": {}, + "ssm:DescribeAutomationExecutions": {}, + "ssm:DescribeAvailablePatches": {}, + "ssm:DescribeInstanceInformation": {}, + "ssm:DescribeInstancePatchStates": {}, + "ssm:DescribeInstancePatchStatesForPatchGroup": {}, + "ssm:DescribeInstancePatches": {}, + "ssm:DescribeInstanceProperties": {}, + "ssm:DescribeInventoryDeletions": {}, + "ssm:DescribeMaintenanceWindowExecutionTaskInvocations": {}, + "ssm:DescribeMaintenanceWindowSchedule": {}, + "ssm:DescribeMaintenanceWindows": {}, + "ssm:DescribeMaintenanceWindowsForTarget": {}, + "ssm:DescribeOpsItems": {}, + "ssm:DescribeParameters": {}, + "ssm:DescribePatchBaselines": {}, + "ssm:DescribePatchGroupState": {}, + "ssm:DescribePatchGroups": {}, + "ssm:DescribePatchProperties": {}, + "ssm:DescribeSessions": {}, + "ssm:GetCommandInvocation": {}, + "ssm:GetDeployablePatchSnapshotForInstance": {}, + "ssm:GetInventory": {}, + "ssm:GetInventorySchema": {}, + "ssm:GetMaintenanceWindowExecution": {}, + "ssm:GetMaintenanceWindowExecutionTask": {}, + "ssm:GetMaintenanceWindowExecutionTaskInvocation": {}, + "ssm:GetManifest": {}, + "ssm:ListAssociations": {}, + "ssm:ListCommandInvocations": {}, + "ssm:ListCommands": {}, + "ssm:ListComplianceItems": {}, + "ssm:ListComplianceSummaries": {}, + "ssm:ListDocuments": {}, + "ssm:ListInventoryEntries": {}, + "ssm:ListOpsItemEvents": {}, + "ssm:ListOpsItemRelatedItems": {}, + "ssm:ListOpsMetadata": {}, + "ssm:ListResourceComplianceSummaries": {}, + "ssm:ListResourceDataSync": {}, + "ssm:PutConfigurePackageResult": {}, + "ssm:PutInventory": {}, + "ssm:RegisterManagedInstance": {}, + "ssmmessages:CreateControlChannel": {}, + "ssmmessages:CreateDataChannel": {}, + "ssmmessages:OpenControlChannel": {}, + "ssmmessages:OpenDataChannel": {}, + "sso-directory:AddMemberToGroup": {}, + "sso-directory:CompleteVirtualMfaDeviceRegistration": {}, + "sso-directory:CompleteWebAuthnDeviceRegistration": {}, + "sso-directory:CreateAlias": {}, + "sso-directory:CreateBearerToken": {}, + "sso-directory:CreateExternalIdPConfigurationForDirectory": {}, + "sso-directory:CreateGroup": {}, + "sso-directory:CreateProvisioningTenant": {}, + "sso-directory:CreateUser": {}, + "sso-directory:DeleteBearerToken": {}, + "sso-directory:DeleteExternalIdPCertificate": {}, + "sso-directory:DeleteExternalIdPConfigurationForDirectory": {}, + "sso-directory:DeleteGroup": {}, + "sso-directory:DeleteMfaDeviceForUser": {}, + "sso-directory:DeleteProvisioningTenant": {}, + "sso-directory:DeleteUser": {}, + "sso-directory:DescribeDirectory": {}, + "sso-directory:DescribeGroup": {}, + "sso-directory:DescribeGroups": {}, + "sso-directory:DescribeProvisioningTenant": {}, + "sso-directory:DescribeUser": {}, + "sso-directory:DescribeUserByUniqueAttribute": {}, + "sso-directory:DescribeUsers": {}, + "sso-directory:DisableExternalIdPConfigurationForDirectory": {}, + "sso-directory:DisableUser": {}, + "sso-directory:EnableExternalIdPConfigurationForDirectory": {}, + "sso-directory:EnableUser": {}, + "sso-directory:GetAWSSPConfigurationForDirectory": {}, + "sso-directory:GetUserPoolInfo": {}, + "sso-directory:ImportExternalIdPCertificate": {}, + "sso-directory:IsMemberInGroup": {}, + "sso-directory:ListBearerTokens": {}, + "sso-directory:ListExternalIdPCertificates": {}, + "sso-directory:ListExternalIdPConfigurationsForDirectory": {}, + "sso-directory:ListGroupsForMember": {}, + "sso-directory:ListGroupsForUser": {}, + "sso-directory:ListMembersInGroup": {}, + "sso-directory:ListMfaDevicesForUser": {}, + "sso-directory:ListProvisioningTenants": {}, + "sso-directory:RemoveMemberFromGroup": {}, + "sso-directory:SearchGroups": {}, + "sso-directory:SearchUsers": {}, + "sso-directory:StartVirtualMfaDeviceRegistration": {}, + "sso-directory:StartWebAuthnDeviceRegistration": {}, + "sso-directory:UpdateExternalIdPConfigurationForDirectory": {}, + "sso-directory:UpdateGroup": {}, + "sso-directory:UpdateGroupDisplayName": {}, + "sso-directory:UpdateMfaDeviceForUser": {}, + "sso-directory:UpdatePassword": {}, + "sso-directory:UpdateUser": {}, + "sso-directory:UpdateUserName": {}, + "sso-directory:VerifyEmail": {}, + "sso:AssociateDirectory": {}, + "sso:AssociateProfile": {}, + "sso:CreateApplicationInstance": {}, + "sso:CreateApplicationInstanceCertificate": {}, + "sso:CreateManagedApplicationInstance": {}, + "sso:CreateProfile": {}, + "sso:CreateTrust": {}, + "sso:DeleteApplicationInstance": {}, + "sso:DeleteApplicationInstanceCertificate": {}, + "sso:DeleteManagedApplicationInstance": {}, + "sso:DeletePermissionsPolicy": {}, + "sso:DeleteProfile": {}, + "sso:DescribeDirectories": {}, + "sso:DescribePermissionsPolicies": {}, + "sso:DescribeRegisteredRegions": {}, + "sso:DescribeTrusts": {}, + "sso:DisassociateDirectory": {}, + "sso:DisassociateProfile": {}, + "sso:GetApplicationInstance": {}, + "sso:GetApplicationTemplate": {}, + "sso:GetManagedApplicationInstance": {}, + "sso:GetMfaDeviceManagementForDirectory": {}, + "sso:GetPermissionSet": {}, + "sso:GetPermissionsPolicy": {}, + "sso:GetProfile": {}, + "sso:GetSSOStatus": {}, + "sso:GetSharedSsoConfiguration": {}, + "sso:GetSsoConfiguration": {}, + "sso:GetTrust": {}, + "sso:ImportApplicationInstanceServiceProviderMetadata": {}, + "sso:ListApplicationInstanceCertificates": {}, + "sso:ListApplicationInstances": {}, + "sso:ListApplicationTemplates": {}, + "sso:ListApplications": {}, + "sso:ListDirectoryAssociations": {}, + "sso:ListInstances": {}, + "sso:ListProfileAssociations": {}, + "sso:ListProfiles": {}, + "sso:PutMfaDeviceManagementForDirectory": {}, + "sso:PutPermissionsPolicy": {}, + "sso:SearchGroups": {}, + "sso:SearchUsers": {}, + "sso:StartSSO": {}, + "sso:UpdateApplicationInstanceActiveCertificate": {}, + "sso:UpdateApplicationInstanceDisplayData": {}, + "sso:UpdateApplicationInstanceResponseConfiguration": {}, + "sso:UpdateApplicationInstanceResponseSchemaConfiguration": {}, + "sso:UpdateApplicationInstanceSecurityConfiguration": {}, + "sso:UpdateApplicationInstanceServiceProviderConfiguration": {}, + "sso:UpdateApplicationInstanceStatus": {}, + "sso:UpdateDirectoryAssociation": {}, + "sso:UpdateManagedApplicationInstanceStatus": {}, + "sso:UpdateProfile": {}, + "sso:UpdateSSOConfiguration": {}, + "sso:UpdateTrust": {}, + "states:InvokeHTTPEndpoint": {}, + "states:ListActivities": {}, + "states:ListStateMachines": {}, + "states:RevealSecrets": {}, + "states:SendTaskFailure": {}, + "states:SendTaskHeartbeat": {}, + "states:SendTaskSuccess": {}, + "states:TestState": {}, + "storagegateway:ActivateGateway": {}, + "storagegateway:CreateTapePool": {}, + "storagegateway:DeleteTapeArchive": {}, + "storagegateway:DescribeTapeArchives": {}, + "storagegateway:ListAutomaticTapeCreationPolicies": {}, + "storagegateway:ListFileShares": {}, + "storagegateway:ListFileSystemAssociations": {}, + "storagegateway:ListGateways": {}, + "storagegateway:ListTapePools": {}, + "storagegateway:ListTapes": {}, + "storagegateway:ListVolumes": {}, + "sts:DecodeAuthorizationMessage": {}, + "sts:GetAccessKeyInfo": {}, + "sts:GetCallerIdentity": {}, + "sts:GetServiceBearerToken": {}, + "sts:GetSessionToken": {}, + "support:AddAttachmentsToSet": {}, + "support:AddCommunicationToCase": {}, + "support:CreateCase": {}, + "support:DescribeAttachment": {}, + "support:DescribeCaseAttributes": {}, + "support:DescribeCases": {}, + "support:DescribeCommunication": {}, + "support:DescribeCommunications": {}, + "support:DescribeCreateCaseOptions": {}, + "support:DescribeIssueTypes": {}, + "support:DescribeServices": {}, + "support:DescribeSeverityLevels": {}, + "support:DescribeSupportLevel": {}, + "support:DescribeSupportedLanguages": {}, + "support:DescribeTrustedAdvisorCheckRefreshStatuses": {}, + "support:DescribeTrustedAdvisorCheckResult": {}, + "support:DescribeTrustedAdvisorCheckSummaries": {}, + "support:DescribeTrustedAdvisorChecks": {}, + "support:InitiateCallForCase": {}, + "support:InitiateChatForCase": {}, + "support:PutCaseAttributes": {}, + "support:RateCaseCommunication": {}, + "support:RefreshTrustedAdvisorCheck": {}, + "support:ResolveCase": {}, + "support:SearchForCases": {}, + "supportapp:CreateSlackChannelConfiguration": {}, + "supportapp:DeleteAccountAlias": {}, + "supportapp:DeleteSlackChannelConfiguration": {}, + "supportapp:DeleteSlackWorkspaceConfiguration": {}, + "supportapp:DescribeSlackChannels": {}, + "supportapp:GetAccountAlias": {}, + "supportapp:GetSlackOauthParameters": {}, + "supportapp:ListSlackChannelConfigurations": {}, + "supportapp:ListSlackWorkspaceConfigurations": {}, + "supportapp:PutAccountAlias": {}, + "supportapp:RedeemSlackOauthCode": {}, + "supportapp:RegisterSlackWorkspaceForOrganization": {}, + "supportapp:UpdateSlackChannelConfiguration": {}, + "supportplans:CreateSupportPlanSchedule": {}, + "supportplans:GetSupportPlan": {}, + "supportplans:GetSupportPlanUpdateStatus": {}, + "supportplans:StartSupportPlanUpdate": {}, + "sustainability:GetCarbonFootprintSummary": {}, + "swf:ListDomains": {}, + "swf:RegisterDomain": {}, + "synthetics:CreateCanary": {}, + "synthetics:CreateGroup": {}, + "synthetics:DescribeCanaries": {}, + "synthetics:DescribeCanariesLastRun": {}, + "synthetics:DescribeRuntimeVersions": {}, + "synthetics:ListGroups": {}, + "tag:DescribeReportCreation": {}, + "tag:GetComplianceSummary": {}, + "tag:GetResources": {}, + "tag:GetTagKeys": {}, + "tag:GetTagValues": {}, + "tag:StartReportCreation": {}, + "tag:TagResources": {}, + "tag:UntagResources": {}, + "tax:BatchPutTaxRegistration": {}, + "tax:DeleteTaxRegistration": {}, + "tax:GetExemptions": {}, + "tax:GetTaxInfoReportingDocument": {}, + "tax:GetTaxInheritance": {}, + "tax:GetTaxInterview": {}, + "tax:GetTaxRegistration": {}, + "tax:GetTaxRegistrationDocument": {}, + "tax:ListTaxRegistrations": {}, + "tax:PutTaxInheritance": {}, + "tax:PutTaxInterview": {}, + "tax:PutTaxRegistration": {}, + "tax:UpdateExemptions": {}, + "textract:AnalyzeDocument": {}, + "textract:AnalyzeExpense": {}, + "textract:AnalyzeID": {}, + "textract:CreateAdapter": {}, + "textract:DetectDocumentText": {}, + "textract:GetDocumentAnalysis": {}, + "textract:GetDocumentTextDetection": {}, + "textract:GetExpenseAnalysis": {}, + "textract:GetLendingAnalysis": {}, + "textract:GetLendingAnalysisSummary": {}, + "textract:ListAdapterVersions": {}, + "textract:ListAdapters": {}, + "textract:StartDocumentAnalysis": {}, + "textract:StartDocumentTextDetection": {}, + "textract:StartExpenseAnalysis": {}, + "textract:StartLendingAnalysis": {}, + "thinclient:CreateEnvironment": {}, + "thinclient:ListDeviceSessions": {}, + "thinclient:ListDevices": {}, + "thinclient:ListEnvironments": {}, + "thinclient:ListSoftwareSets": {}, + "thinclient:ListTagsForResource": {}, + "timestream:CancelQuery": {}, + "timestream:CreateScheduledQuery": {}, + "timestream:DescribeBatchLoadTask": {}, + "timestream:DescribeEndpoints": {}, + "timestream:GetAwsBackupStatus": {}, + "timestream:GetAwsRestoreStatus": {}, + "timestream:ListBatchLoadTasks": {}, + "timestream:ListDatabases": {}, + "timestream:ListScheduledQueries": {}, + "timestream:ResumeBatchLoadTask": {}, + "timestream:SelectValues": {}, + "tiros:CreateQuery": {}, + "tiros:ExtendQuery": {}, + "tiros:GetQueryAnswer": {}, + "tiros:GetQueryExplanation": {}, + "tiros:GetQueryExtensionAccounts": {}, + "tnb:ListTagsForResource": {}, + "transcribe:CreateCallAnalyticsCategory": {}, + "transcribe:CreateLanguageModel": {}, + "transcribe:CreateMedicalVocabulary": {}, + "transcribe:CreateVocabulary": {}, + "transcribe:CreateVocabularyFilter": {}, + "transcribe:DeleteCallAnalyticsCategory": {}, + "transcribe:DeleteCallAnalyticsJob": {}, + "transcribe:GetCallAnalyticsCategory": {}, + "transcribe:GetCallAnalyticsJob": {}, + "transcribe:ListCallAnalyticsCategories": {}, + "transcribe:ListCallAnalyticsJobs": {}, + "transcribe:ListLanguageModels": {}, + "transcribe:ListMedicalScribeJobs": {}, + "transcribe:ListMedicalTranscriptionJobs": {}, + "transcribe:ListMedicalVocabularies": {}, + "transcribe:ListTagsForResource": {}, + "transcribe:ListTranscriptionJobs": {}, + "transcribe:ListVocabularies": {}, + "transcribe:ListVocabularyFilters": {}, + "transcribe:StartCallAnalyticsJob": {}, + "transcribe:StartCallAnalyticsStreamTranscription": {}, + "transcribe:StartCallAnalyticsStreamTranscriptionWebSocket": {}, + "transcribe:StartMedicalScribeJob": {}, + "transcribe:StartMedicalStreamTranscription": {}, + "transcribe:StartMedicalStreamTranscriptionWebSocket": {}, + "transcribe:StartMedicalTranscriptionJob": {}, + "transcribe:StartStreamTranscription": {}, + "transcribe:StartStreamTranscriptionWebSocket": {}, + "transcribe:StartTranscriptionJob": {}, + "transcribe:TagResource": {}, + "transcribe:UntagResource": {}, + "transcribe:UpdateCallAnalyticsCategory": {}, + "transfer:CreateConnector": {}, + "transfer:CreateProfile": {}, + "transfer:CreateServer": {}, + "transfer:CreateWorkflow": {}, + "transfer:DescribeSecurityPolicy": {}, + "transfer:ImportCertificate": {}, + "transfer:ListCertificates": {}, + "transfer:ListConnectors": {}, + "transfer:ListProfiles": {}, + "transfer:ListSecurityPolicies": {}, + "transfer:ListServers": {}, + "transfer:ListWorkflows": {}, + "transfer:UpdateAccess": {}, + "translate:DescribeTextTranslationJob": {}, + "translate:ListLanguages": {}, + "translate:ListParallelData": {}, + "translate:ListTerminologies": {}, + "translate:ListTextTranslationJobs": {}, + "translate:StopTextTranslationJob": {}, + "trustedadvisor:CreateEngagement": {}, + "trustedadvisor:CreateEngagementAttachment": {}, + "trustedadvisor:CreateEngagementCommunication": {}, + "trustedadvisor:DeleteNotificationConfigurationForDelegatedAdmin": {}, + "trustedadvisor:DescribeAccount": {}, + "trustedadvisor:DescribeAccountAccess": {}, + "trustedadvisor:DescribeChecks": {}, + "trustedadvisor:DescribeNotificationConfigurations": {}, + "trustedadvisor:DescribeNotificationPreferences": {}, + "trustedadvisor:DescribeOrganization": {}, + "trustedadvisor:DescribeOrganizationAccounts": {}, + "trustedadvisor:DescribeReports": {}, + "trustedadvisor:DescribeRisk": {}, + "trustedadvisor:DescribeRiskResources": {}, + "trustedadvisor:DescribeRisks": {}, + "trustedadvisor:DescribeServiceMetadata": {}, + "trustedadvisor:DownloadRisk": {}, + "trustedadvisor:GenerateReport": {}, + "trustedadvisor:GetEngagement": {}, + "trustedadvisor:GetEngagementAttachment": {}, + "trustedadvisor:GetEngagementType": {}, + "trustedadvisor:GetOrganizationRecommendation": {}, + "trustedadvisor:GetRecommendation": {}, + "trustedadvisor:ListAccountsForParent": {}, + "trustedadvisor:ListChecks": {}, + "trustedadvisor:ListEngagementCommunications": {}, + "trustedadvisor:ListEngagementTypes": {}, + "trustedadvisor:ListEngagements": {}, + "trustedadvisor:ListOrganizationRecommendationAccounts": {}, + "trustedadvisor:ListOrganizationRecommendationResources": {}, + "trustedadvisor:ListOrganizationRecommendations": {}, + "trustedadvisor:ListOrganizationalUnitsForParent": {}, + "trustedadvisor:ListRecommendationResources": {}, + "trustedadvisor:ListRecommendations": {}, + "trustedadvisor:ListRoots": {}, + "trustedadvisor:SetAccountAccess": {}, + "trustedadvisor:SetOrganizationAccess": {}, + "trustedadvisor:UpdateEngagement": {}, + "trustedadvisor:UpdateEngagementStatus": {}, + "trustedadvisor:UpdateNotificationConfigurations": {}, + "trustedadvisor:UpdateNotificationPreferences": {}, + "trustedadvisor:UpdateOrganizationRecommendationLifecycle": {}, + "trustedadvisor:UpdateRecommendationLifecycle": {}, + "trustedadvisor:UpdateRiskStatus": {}, + "ts:ListExecutions": {}, + "ts:ListTools": {}, + "ts:StartExecution": {}, + "vendor-insights:CreateDataSource": {}, + "vendor-insights:CreateSecurityProfile": {}, + "vendor-insights:GetProfileAccessTerms": {}, + "vendor-insights:ListDataSources": {}, + "vendor-insights:ListEntitledSecurityProfiles": {}, + "vendor-insights:ListSecurityProfiles": {}, + "verified-access:AllowVerifiedAccess": {}, + "verifiedpermissions:CreatePolicyStore": {}, + "verifiedpermissions:ListPolicyStores": {}, + "voiceid:CreateDomain": {}, + "voiceid:DescribeComplianceConsent": {}, + "voiceid:ListDomains": {}, + "voiceid:RegisterComplianceConsent": {}, + "vpc-lattice:ListAccessLogSubscriptions": {}, + "vpc-lattice:ListListeners": {}, + "vpc-lattice:ListRules": {}, + "vpc-lattice:ListServiceNetworkServiceAssociations": {}, + "vpc-lattice:ListServiceNetworkVpcAssociations": {}, + "vpc-lattice:ListServiceNetworks": {}, + "vpc-lattice:ListServices": {}, + "vpc-lattice:ListTagsForResource": {}, + "vpc-lattice:ListTargetGroups": {}, + "waf-regional:GetChangeToken": {}, + "waf-regional:GetChangeTokenStatus": {}, + "waf-regional:ListActivatedRulesInRuleGroup": {}, + "waf-regional:ListByteMatchSets": {}, + "waf-regional:ListGeoMatchSets": {}, + "waf-regional:ListIPSets": {}, + "waf-regional:ListLoggingConfigurations": {}, + "waf-regional:ListRateBasedRules": {}, + "waf-regional:ListRegexMatchSets": {}, + "waf-regional:ListRegexPatternSets": {}, + "waf-regional:ListRuleGroups": {}, + "waf-regional:ListRules": {}, + "waf-regional:ListSizeConstraintSets": {}, + "waf-regional:ListSqlInjectionMatchSets": {}, + "waf-regional:ListSubscribedRuleGroups": {}, + "waf-regional:ListWebACLs": {}, + "waf-regional:ListXssMatchSets": {}, + "waf:GetChangeToken": {}, + "waf:GetChangeTokenStatus": {}, + "waf:ListActivatedRulesInRuleGroup": {}, + "waf:ListByteMatchSets": {}, + "waf:ListGeoMatchSets": {}, + "waf:ListIPSets": {}, + "waf:ListLoggingConfigurations": {}, + "waf:ListRateBasedRules": {}, + "waf:ListRegexMatchSets": {}, + "waf:ListRegexPatternSets": {}, + "waf:ListRuleGroups": {}, + "waf:ListRules": {}, + "waf:ListSizeConstraintSets": {}, + "waf:ListSqlInjectionMatchSets": {}, + "waf:ListSubscribedRuleGroups": {}, + "waf:ListWebACLs": {}, + "waf:ListXssMatchSets": {}, + "wafv2:CheckCapacity": {}, + "wafv2:CreateAPIKey": {}, + "wafv2:DescribeAllManagedProducts": {}, + "wafv2:DescribeManagedProductsByVendor": {}, + "wafv2:DescribeManagedRuleGroup": {}, + "wafv2:GenerateMobileSdkReleaseUrl": {}, + "wafv2:GetDecryptedAPIKey": {}, + "wafv2:GetMobileSdkRelease": {}, + "wafv2:ListAPIKeys": {}, + "wafv2:ListAvailableManagedRuleGroupVersions": {}, + "wafv2:ListAvailableManagedRuleGroups": {}, + "wafv2:ListIPSets": {}, + "wafv2:ListLoggingConfigurations": {}, + "wafv2:ListManagedRuleSets": {}, + "wafv2:ListMobileSdkReleases": {}, + "wafv2:ListRegexPatternSets": {}, + "wafv2:ListRuleGroups": {}, + "wafv2:ListWebACLs": {}, + "wam:AuthenticatePackager": {}, + "wellarchitected:CreateProfile": {}, + "wellarchitected:CreateReviewTemplate": {}, + "wellarchitected:CreateWorkload": {}, + "wellarchitected:GetConsolidatedReport": {}, + "wellarchitected:GetProfileTemplate": {}, + "wellarchitected:ImportLens": {}, + "wellarchitected:ListLenses": {}, + "wellarchitected:ListNotifications": {}, + "wellarchitected:ListProfileNotifications": {}, + "wellarchitected:ListProfiles": {}, + "wellarchitected:ListReviewTemplates": {}, + "wellarchitected:ListShareInvitations": {}, + "wellarchitected:ListWorkloads": {}, + "wellarchitected:UpdateGlobalSettings": {}, + "wellarchitected:UpdateShareInvitation": {}, + "wickr:CreateNetwork": {}, + "wickr:ListNetworks": {}, + "wickr:ListTagsForResource": {}, + "wisdom:CreateAssistant": {}, + "wisdom:CreateKnowledgeBase": {}, + "wisdom:ListAssistants": {}, + "wisdom:ListKnowledgeBases": {}, + "wisdom:ListTagsForResource": {}, + "workdocs:AbortDocumentVersionUpload": {}, + "workdocs:ActivateUser": {}, + "workdocs:AddNotificationPermissions": {}, + "workdocs:AddResourcePermissions": {}, + "workdocs:AddUserToGroup": {}, + "workdocs:CheckAlias": {}, + "workdocs:CreateComment": {}, + "workdocs:CreateCustomMetadata": {}, + "workdocs:CreateFolder": {}, + "workdocs:CreateInstance": {}, + "workdocs:CreateLabels": {}, + "workdocs:CreateNotificationSubscription": {}, + "workdocs:CreateUser": {}, + "workdocs:DeactivateUser": {}, + "workdocs:DeleteComment": {}, + "workdocs:DeleteCustomMetadata": {}, + "workdocs:DeleteDocument": {}, + "workdocs:DeleteDocumentVersion": {}, + "workdocs:DeleteFolder": {}, + "workdocs:DeleteFolderContents": {}, + "workdocs:DeleteInstance": {}, + "workdocs:DeleteLabels": {}, + "workdocs:DeleteNotificationPermissions": {}, + "workdocs:DeleteNotificationSubscription": {}, + "workdocs:DeleteUser": {}, + "workdocs:DeregisterDirectory": {}, + "workdocs:DescribeActivities": {}, + "workdocs:DescribeAvailableDirectories": {}, + "workdocs:DescribeComments": {}, + "workdocs:DescribeDocumentVersions": {}, + "workdocs:DescribeFolderContents": {}, + "workdocs:DescribeGroups": {}, + "workdocs:DescribeInstances": {}, + "workdocs:DescribeNotificationPermissions": {}, + "workdocs:DescribeNotificationSubscriptions": {}, + "workdocs:DescribeResourcePermissions": {}, + "workdocs:DescribeRootFolders": {}, + "workdocs:DescribeUsers": {}, + "workdocs:DownloadDocumentVersion": {}, + "workdocs:GetCurrentUser": {}, + "workdocs:GetDocument": {}, + "workdocs:GetDocumentPath": {}, + "workdocs:GetDocumentVersion": {}, + "workdocs:GetFolder": {}, + "workdocs:GetFolderPath": {}, + "workdocs:GetGroup": {}, + "workdocs:GetResources": {}, + "workdocs:InitiateDocumentVersionUpload": {}, + "workdocs:RegisterDirectory": {}, + "workdocs:RemoveAllResourcePermissions": {}, + "workdocs:RemoveResourcePermission": {}, + "workdocs:RestoreDocumentVersions": {}, + "workdocs:SearchResources": {}, + "workdocs:UpdateDocument": {}, + "workdocs:UpdateDocumentVersion": {}, + "workdocs:UpdateFolder": {}, + "workdocs:UpdateInstanceAlias": {}, + "workdocs:UpdateUser": {}, + "workdocs:UpdateUserAdministrativeSettings": {}, + "worklink:CreateFleet": {}, + "worklink:ListFleets": {}, + "workmail:CreateOrganization": {}, + "workmail:DescribeDirectories": {}, + "workmail:DescribeKmsKeys": {}, + "workmail:DescribeOrganizations": {}, + "workmail:ListOrganizations": {}, + "workspaces-web:CreateBrowserSettings": {}, + "workspaces-web:CreateIpAccessSettings": {}, + "workspaces-web:CreateNetworkSettings": {}, + "workspaces-web:CreatePortal": {}, + "workspaces-web:CreateTrustStore": {}, + "workspaces-web:CreateUserAccessLoggingSettings": {}, + "workspaces-web:CreateUserSettings": {}, + "workspaces-web:ListBrowserSettings": {}, + "workspaces-web:ListIpAccessSettings": {}, + "workspaces-web:ListNetworkSettings": {}, + "workspaces-web:ListPortals": {}, + "workspaces-web:ListTagsForResource": {}, + "workspaces-web:ListTrustStoreCertificates": {}, + "workspaces-web:ListTrustStores": {}, + "workspaces-web:ListUserAccessLoggingSettings": {}, + "workspaces-web:ListUserSettings": {}, + "workspaces:CreateConnectionAlias": {}, + "workspaces:CreateIpGroup": {}, + "workspaces:CreateTags": {}, + "workspaces:DeleteTags": {}, + "workspaces:DescribeAccount": {}, + "workspaces:DescribeAccountModifications": {}, + "workspaces:DescribeApplications": {}, + "workspaces:DescribeConnectionAliases": {}, + "workspaces:DescribeTags": {}, + "workspaces:DescribeWorkspaceBundles": {}, + "workspaces:DescribeWorkspaceDirectories": {}, + "workspaces:DescribeWorkspaceImages": {}, + "workspaces:DescribeWorkspaces": {}, + "workspaces:DescribeWorkspacesConnectionStatus": {}, + "workspaces:ImportWorkspaceImage": {}, + "workspaces:ListAvailableManagementCidrRanges": {}, + "workspaces:ModifyAccount": {}, + "xray:BatchGetTraceSummaryById": {}, + "xray:BatchGetTraces": {}, + "xray:DeleteResourcePolicy": {}, + "xray:GetDistinctTraceGraphs": {}, + "xray:GetEncryptionConfig": {}, + "xray:GetGroups": {}, + "xray:GetInsight": {}, + "xray:GetInsightEvents": {}, + "xray:GetInsightImpactGraph": {}, + "xray:GetInsightSummaries": {}, + "xray:GetSamplingRules": {}, + "xray:GetSamplingStatisticSummaries": {}, + "xray:GetSamplingTargets": {}, + "xray:GetServiceGraph": {}, + "xray:GetTimeSeriesServiceStatistics": {}, + "xray:GetTraceGraph": {}, + "xray:GetTraceSummaries": {}, + "xray:Link": {}, + "xray:ListResourcePolicies": {}, + "xray:PutEncryptionConfig": {}, + "xray:PutResourcePolicy": {}, + "xray:PutTelemetryRecords": {}, + "xray:PutTraceSegments": {}, +} \ No newline at end of file diff --git a/pkg/iac/providers/aws/iam/iam.go b/pkg/iac/providers/aws/iam/iam.go new file mode 100644 index 000000000000..f12a5eae845f --- /dev/null +++ b/pkg/iac/providers/aws/iam/iam.go @@ -0,0 +1,120 @@ +package iam + +import ( + "github.com/liamg/iamgo" + + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type IAM struct { + PasswordPolicy PasswordPolicy + Policies []Policy + Groups []Group + Users []User + Roles []Role + ServerCertificates []ServerCertificate +} + +type ServerCertificate struct { + Metadata iacTypes.Metadata + Expiration iacTypes.TimeValue +} + +type Policy struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Document Document + Builtin iacTypes.BoolValue +} + +type Document struct { + Metadata iacTypes.Metadata + Parsed iamgo.Document + IsOffset bool + HasRefs bool +} + +func (d Document) ToRego() interface{} { + m := d.Metadata + doc, _ := d.Parsed.MarshalJSON() + input := map[string]interface{}{ + "filepath": m.Range().GetFilename(), + "startline": m.Range().GetStartLine(), + "endline": m.Range().GetEndLine(), + "managed": m.IsManaged(), + "explicit": m.IsExplicit(), + "value": string(doc), + "sourceprefix": m.Range().GetSourcePrefix(), + "fskey": iacTypes.CreateFSKey(m.Range().GetFS()), + "resource": m.Reference(), + } + + if m.Parent() != nil { + input["parent"] = m.Parent().ToRego() + } + + return input +} + +type Group struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Users []User + Policies []Policy +} + +type User struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Groups []Group + Policies []Policy + AccessKeys []AccessKey + MFADevices []MFADevice + LastAccess iacTypes.TimeValue +} + +func (u *User) HasLoggedIn() bool { + return u.LastAccess.GetMetadata().IsResolvable() && !u.LastAccess.IsNever() +} + +type MFADevice struct { + Metadata iacTypes.Metadata + IsVirtual iacTypes.BoolValue +} + +type AccessKey struct { + Metadata iacTypes.Metadata + AccessKeyId iacTypes.StringValue + Active iacTypes.BoolValue + CreationDate iacTypes.TimeValue + LastAccess iacTypes.TimeValue +} + +type Role struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Policies []Policy +} + +func (d Document) MetadataFromIamGo(r ...iamgo.Range) iacTypes.Metadata { + m := d.Metadata + if d.HasRefs { + return m + } + newRange := m.Range() + var start int + if !d.IsOffset { + start = newRange.GetStartLine() + } + for _, rng := range r { + newRange := iacTypes.NewRange( + newRange.GetLocalFilename(), + start+rng.StartLine, + start+rng.EndLine, + newRange.GetSourcePrefix(), + newRange.GetFS(), + ) + m = iacTypes.NewMetadata(newRange, m.Reference()).WithParent(m) + } + return m +} diff --git a/pkg/iac/providers/aws/iam/passwords.go b/pkg/iac/providers/aws/iam/passwords.go new file mode 100755 index 000000000000..09632ba029e1 --- /dev/null +++ b/pkg/iac/providers/aws/iam/passwords.go @@ -0,0 +1,16 @@ +package iam + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type PasswordPolicy struct { + Metadata iacTypes.Metadata + ReusePreventionCount iacTypes.IntValue + RequireLowercase iacTypes.BoolValue + RequireUppercase iacTypes.BoolValue + RequireNumbers iacTypes.BoolValue + RequireSymbols iacTypes.BoolValue + MaxAgeDays iacTypes.IntValue + MinimumLength iacTypes.IntValue +} diff --git a/pkg/iac/providers/aws/iam/wildcards.go b/pkg/iac/providers/aws/iam/wildcards.go new file mode 100755 index 000000000000..bee5c4e9637c --- /dev/null +++ b/pkg/iac/providers/aws/iam/wildcards.go @@ -0,0 +1,10 @@ +package iam + +func IsWildcardAllowed(actions ...string) (bool, string) { + for _, action := range actions { + if _, exist := allowedActionsForResourceWildcardsMap[action]; !exist { + return false, action + } + } + return true, "" +} diff --git a/pkg/iac/providers/aws/kinesis/kinesis.go b/pkg/iac/providers/aws/kinesis/kinesis.go new file mode 100755 index 000000000000..53e6c9d75f02 --- /dev/null +++ b/pkg/iac/providers/aws/kinesis/kinesis.go @@ -0,0 +1,24 @@ +package kinesis + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Kinesis struct { + Streams []Stream +} + +type Stream struct { + Metadata iacTypes.Metadata + Encryption Encryption +} + +const ( + EncryptionTypeKMS = "KMS" +) + +type Encryption struct { + Metadata iacTypes.Metadata + Type iacTypes.StringValue + KMSKeyID iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/kms/kms.go b/pkg/iac/providers/aws/kms/kms.go new file mode 100755 index 000000000000..a0ef986fd086 --- /dev/null +++ b/pkg/iac/providers/aws/kms/kms.go @@ -0,0 +1,19 @@ +package kms + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type KMS struct { + Keys []Key +} + +const ( + KeyUsageSignAndVerify = "SIGN_VERIFY" +) + +type Key struct { + Metadata iacTypes.Metadata + Usage iacTypes.StringValue + RotationEnabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/lambda/lambda.go b/pkg/iac/providers/aws/lambda/lambda.go new file mode 100755 index 000000000000..1d4bb483747d --- /dev/null +++ b/pkg/iac/providers/aws/lambda/lambda.go @@ -0,0 +1,31 @@ +package lambda + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Lambda struct { + Functions []Function +} + +type Function struct { + Metadata iacTypes.Metadata + Tracing Tracing + Permissions []Permission +} + +const ( + TracingModePassThrough = "PassThrough" + TracingModeActive = "Active" +) + +type Tracing struct { + Metadata iacTypes.Metadata + Mode iacTypes.StringValue +} + +type Permission struct { + Metadata iacTypes.Metadata + Principal iacTypes.StringValue + SourceARN iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/mq/mq.go b/pkg/iac/providers/aws/mq/mq.go new file mode 100755 index 000000000000..a0e383de6dc4 --- /dev/null +++ b/pkg/iac/providers/aws/mq/mq.go @@ -0,0 +1,21 @@ +package mq + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type MQ struct { + Brokers []Broker +} + +type Broker struct { + Metadata iacTypes.Metadata + PublicAccess iacTypes.BoolValue + Logging Logging +} + +type Logging struct { + Metadata iacTypes.Metadata + General iacTypes.BoolValue + Audit iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/msk/msk.go b/pkg/iac/providers/aws/msk/msk.go new file mode 100755 index 000000000000..25d398167ef3 --- /dev/null +++ b/pkg/iac/providers/aws/msk/msk.go @@ -0,0 +1,60 @@ +package msk + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type MSK struct { + Clusters []Cluster +} + +type Cluster struct { + Metadata iacTypes.Metadata + EncryptionInTransit EncryptionInTransit + EncryptionAtRest EncryptionAtRest + Logging Logging +} + +const ( + ClientBrokerEncryptionTLS = "TLS" + ClientBrokerEncryptionPlaintext = "PLAINTEXT" + ClientBrokerEncryptionTLSOrPlaintext = "TLS_PLAINTEXT" +) + +type EncryptionInTransit struct { + Metadata iacTypes.Metadata + ClientBroker iacTypes.StringValue +} + +type EncryptionAtRest struct { + Metadata iacTypes.Metadata + KMSKeyARN iacTypes.StringValue + Enabled iacTypes.BoolValue +} + +type Logging struct { + Metadata iacTypes.Metadata + Broker BrokerLogging +} + +type BrokerLogging struct { + Metadata iacTypes.Metadata + S3 S3Logging + Cloudwatch CloudwatchLogging + Firehose FirehoseLogging +} + +type S3Logging struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} + +type CloudwatchLogging struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} + +type FirehoseLogging struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/neptune/neptune.go b/pkg/iac/providers/aws/neptune/neptune.go new file mode 100755 index 000000000000..15966afe4d47 --- /dev/null +++ b/pkg/iac/providers/aws/neptune/neptune.go @@ -0,0 +1,21 @@ +package neptune + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Neptune struct { + Clusters []Cluster +} + +type Cluster struct { + Metadata iacTypes.Metadata + Logging Logging + StorageEncrypted iacTypes.BoolValue + KMSKeyID iacTypes.StringValue +} + +type Logging struct { + Metadata iacTypes.Metadata + Audit iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/provider.go b/pkg/iac/providers/aws/provider.go new file mode 100644 index 000000000000..475d1bd0691e --- /dev/null +++ b/pkg/iac/providers/aws/provider.go @@ -0,0 +1,77 @@ +package aws + +import "github.com/aquasecurity/trivy/pkg/iac/types" + +type TerraformProvider struct { + Metadata types.Metadata + // generic fields + Alias types.StringValue + Version types.StringValue + + // provider specific fields + AccessKey types.StringValue + AllowedAccountsIDs types.StringValueList + AssumeRole AssumeRole + AssumeRoleWithWebIdentity AssumeRoleWithWebIdentity + CustomCABundle types.StringValue + DefaultTags DefaultTags + EC2MetadataServiceEndpoint types.StringValue + EC2MetadataServiceEndpointMode types.StringValue + Endpoints types.MapValue + ForbiddenAccountIDs types.StringValueList + HttpProxy types.StringValue + IgnoreTags IgnoreTags + Insecure types.BoolValue + MaxRetries types.IntValue + Profile types.StringValue + Region types.StringValue + RetryMode types.StringValue + S3UsePathStyle types.BoolValue + S3USEast1RegionalEndpoint types.StringValue + SecretKey types.StringValue + SharedConfigFiles types.StringValueList + SharedCredentialsFiles types.StringValueList + SkipCredentialsValidation types.BoolValue + SkipMetadataAPICheck types.BoolValue + SkipRegionValidation types.BoolValue + SkipRequestingAccountID types.BoolValue + STSRegion types.StringValue + Token types.StringValue + UseDualstackEndpoint types.BoolValue + UseFIPSEndpoint types.BoolValue +} + +type AssumeRole struct { + Metadata types.Metadata + Duration types.StringValue + ExternalID types.StringValue + Policy types.StringValue + PolicyARNs types.StringValueList + RoleARN types.StringValue + SessionName types.StringValue + SourceIdentity types.StringValue + Tags types.MapValue + TransitiveTagKeys types.StringValueList +} + +type AssumeRoleWithWebIdentity struct { + Metadata types.Metadata + Duration types.StringValue + Policy types.StringValue + PolicyARNs types.StringValueList + RoleARN types.StringValue + SessionName types.StringValue + WebIdentityToken types.StringValue + WebIdentityTokenFile types.StringValue +} + +type IgnoreTags struct { + Metadata types.Metadata + Keys types.StringValueList + KeyPrefixes types.StringValueList +} + +type DefaultTags struct { + Metadata types.Metadata + Tags types.MapValue +} diff --git a/pkg/iac/providers/aws/rds/classic.go b/pkg/iac/providers/aws/rds/classic.go new file mode 100755 index 000000000000..41be09b743ef --- /dev/null +++ b/pkg/iac/providers/aws/rds/classic.go @@ -0,0 +1,13 @@ +package rds + +import ( + "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Classic struct { + DBSecurityGroups []DBSecurityGroup +} + +type DBSecurityGroup struct { + Metadata types.Metadata +} diff --git a/pkg/iac/providers/aws/rds/rds.go b/pkg/iac/providers/aws/rds/rds.go new file mode 100755 index 000000000000..d5a55b188e63 --- /dev/null +++ b/pkg/iac/providers/aws/rds/rds.go @@ -0,0 +1,127 @@ +package rds + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type RDS struct { + Instances []Instance + Clusters []Cluster + Classic Classic + Snapshots []Snapshots + ParameterGroups []ParameterGroups +} + +type Instance struct { + Metadata iacTypes.Metadata + BackupRetentionPeriodDays iacTypes.IntValue + ReplicationSourceARN iacTypes.StringValue + PerformanceInsights PerformanceInsights + Encryption Encryption + PublicAccess iacTypes.BoolValue + Engine iacTypes.StringValue + IAMAuthEnabled iacTypes.BoolValue + DeletionProtection iacTypes.BoolValue + DBInstanceArn iacTypes.StringValue + StorageEncrypted iacTypes.BoolValue + DBInstanceIdentifier iacTypes.StringValue + DBParameterGroups []DBParameterGroupsList + TagList []TagList + EnabledCloudwatchLogsExports []iacTypes.StringValue + EngineVersion iacTypes.StringValue + AutoMinorVersionUpgrade iacTypes.BoolValue + MultiAZ iacTypes.BoolValue + PubliclyAccessible iacTypes.BoolValue + LatestRestorableTime iacTypes.TimeValue + ReadReplicaDBInstanceIdentifiers []iacTypes.StringValue +} + +type Cluster struct { + Metadata iacTypes.Metadata + BackupRetentionPeriodDays iacTypes.IntValue + ReplicationSourceARN iacTypes.StringValue + PerformanceInsights PerformanceInsights + Instances []ClusterInstance + Encryption Encryption + PublicAccess iacTypes.BoolValue + Engine iacTypes.StringValue + LatestRestorableTime iacTypes.TimeValue + AvailabilityZones []iacTypes.StringValue + DeletionProtection iacTypes.BoolValue + SkipFinalSnapshot iacTypes.BoolValue +} + +type Snapshots struct { + Metadata iacTypes.Metadata + DBSnapshotIdentifier iacTypes.StringValue + DBSnapshotArn iacTypes.StringValue + Encrypted iacTypes.BoolValue + KmsKeyId iacTypes.StringValue + SnapshotAttributes []DBSnapshotAttributes +} + +type Parameters struct { + Metadata iacTypes.Metadata + ParameterName iacTypes.StringValue + ParameterValue iacTypes.StringValue +} + +type ParameterGroups struct { + Metadata iacTypes.Metadata + DBParameterGroupName iacTypes.StringValue + DBParameterGroupFamily iacTypes.StringValue + Parameters []Parameters +} + +type DBSnapshotAttributes struct { + Metadata iacTypes.Metadata + AttributeValues []iacTypes.StringValue +} + +const ( + EngineAurora = "aurora" + EngineAuroraMysql = "aurora-mysql" + EngineAuroraPostgresql = "aurora-postgresql" + EngineMySQL = "mysql" + EnginePostgres = "postgres" + EngineCustomOracleEE = "custom-oracle-ee" + EngineOracleEE = "oracle-ee" + EngineOracleEECDB = "oracle-ee-cdb" + EngineOracleSE2 = "oracle-se2" + EngineOracleSE2CDB = "oracle-se2-cdb" + EngineSQLServerEE = "sqlserver-ee" + EngineSQLServerSE = "sqlserver-se" + EngineSQLServerEX = "sqlserver-ex" + EngineSQLServerWEB = "sqlserver-web" + EngineMariaDB = "mariadb" + EngineCustomSQLServerEE = "custom-sqlserver-ee" + EngineCustomSQLServerSE = "custom-sqlserver-se" + EngineCustomSQLServerWEB = "custom-sqlserver-web" +) + +type Encryption struct { + Metadata iacTypes.Metadata + EncryptStorage iacTypes.BoolValue + KMSKeyID iacTypes.StringValue +} + +type ClusterInstance struct { + Instance + ClusterIdentifier iacTypes.StringValue +} + +type PerformanceInsights struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + KMSKeyID iacTypes.StringValue +} + +type DBParameterGroupsList struct { + Metadata iacTypes.Metadata + DBParameterGroupName iacTypes.StringValue + KMSKeyID iacTypes.StringValue +} + +type TagList struct { + Metadata iacTypes.Metadata +} diff --git a/pkg/iac/providers/aws/redshift/redshift.go b/pkg/iac/providers/aws/redshift/redshift.go new file mode 100755 index 000000000000..cdafaa290525 --- /dev/null +++ b/pkg/iac/providers/aws/redshift/redshift.go @@ -0,0 +1,55 @@ +package redshift + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Redshift struct { + Clusters []Cluster + ReservedNodes []ReservedNode + ClusterParameters []ClusterParameter + SecurityGroups []SecurityGroup +} + +type SecurityGroup struct { + Metadata iacTypes.Metadata + Description iacTypes.StringValue +} + +type ReservedNode struct { + Metadata iacTypes.Metadata + NodeType iacTypes.StringValue +} + +type ClusterParameter struct { + Metadata iacTypes.Metadata + ParameterName iacTypes.StringValue + ParameterValue iacTypes.StringValue +} + +type Cluster struct { + Metadata iacTypes.Metadata + ClusterIdentifier iacTypes.StringValue + NodeType iacTypes.StringValue + VpcId iacTypes.StringValue + NumberOfNodes iacTypes.IntValue + PubliclyAccessible iacTypes.BoolValue + AllowVersionUpgrade iacTypes.BoolValue + MasterUsername iacTypes.StringValue + AutomatedSnapshotRetentionPeriod iacTypes.IntValue + LoggingEnabled iacTypes.BoolValue + EndPoint EndPoint + Encryption Encryption + SubnetGroupName iacTypes.StringValue +} + +type EndPoint struct { + Metadata iacTypes.Metadata + Port iacTypes.IntValue +} + +type Encryption struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + KMSKeyID iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/s3/bucket.go b/pkg/iac/providers/aws/s3/bucket.go new file mode 100755 index 000000000000..e884bbd4a7ff --- /dev/null +++ b/pkg/iac/providers/aws/s3/bucket.go @@ -0,0 +1,67 @@ +package s3 + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Bucket struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + PublicAccessBlock *PublicAccessBlock + BucketPolicies []iam.Policy + Encryption Encryption + Versioning Versioning + Logging Logging + ACL iacTypes.StringValue + BucketLocation iacTypes.StringValue + AccelerateConfigurationStatus iacTypes.StringValue + LifecycleConfiguration []Rules + Objects []Contents + Website *Website +} + +func (b *Bucket) HasPublicExposureACL() bool { + for _, publicACL := range []string{"public-read", "public-read-write", "website", "authenticated-read"} { + if b.ACL.EqualTo(publicACL) { + // if there is a public access block, check the public ACL blocks + if b.PublicAccessBlock != nil && b.PublicAccessBlock.Metadata.IsManaged() { + return b.PublicAccessBlock.IgnorePublicACLs.IsFalse() && b.PublicAccessBlock.BlockPublicACLs.IsFalse() + } + return true + } + } + return false +} + +type Logging struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + TargetBucket iacTypes.StringValue +} + +type Versioning struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + MFADelete iacTypes.BoolValue +} + +type Encryption struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + Algorithm iacTypes.StringValue + KMSKeyId iacTypes.StringValue +} + +type Rules struct { + Metadata iacTypes.Metadata + Status iacTypes.StringValue +} + +type Contents struct { + Metadata iacTypes.Metadata +} + +type Website struct { + Metadata iacTypes.Metadata +} diff --git a/pkg/iac/providers/aws/s3/bucket_public_access_block.go b/pkg/iac/providers/aws/s3/bucket_public_access_block.go new file mode 100755 index 000000000000..573cf6a1c0f7 --- /dev/null +++ b/pkg/iac/providers/aws/s3/bucket_public_access_block.go @@ -0,0 +1,23 @@ +package s3 + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type PublicAccessBlock struct { + Metadata iacTypes.Metadata + BlockPublicACLs iacTypes.BoolValue + BlockPublicPolicy iacTypes.BoolValue + IgnorePublicACLs iacTypes.BoolValue + RestrictPublicBuckets iacTypes.BoolValue +} + +func NewPublicAccessBlock(metadata iacTypes.Metadata) PublicAccessBlock { + return PublicAccessBlock{ + Metadata: metadata, + BlockPublicPolicy: iacTypes.BoolDefault(false, metadata), + BlockPublicACLs: iacTypes.BoolDefault(false, metadata), + IgnorePublicACLs: iacTypes.BoolDefault(false, metadata), + RestrictPublicBuckets: iacTypes.BoolDefault(false, metadata), + } +} diff --git a/pkg/iac/providers/aws/s3/s3.go b/pkg/iac/providers/aws/s3/s3.go new file mode 100755 index 000000000000..230269a9e660 --- /dev/null +++ b/pkg/iac/providers/aws/s3/s3.go @@ -0,0 +1,5 @@ +package s3 + +type S3 struct { + Buckets []Bucket +} diff --git a/pkg/iac/providers/aws/sam/api.go b/pkg/iac/providers/aws/sam/api.go new file mode 100644 index 000000000000..ba716f3e4d92 --- /dev/null +++ b/pkg/iac/providers/aws/sam/api.go @@ -0,0 +1,38 @@ +package sam + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type API struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + TracingEnabled iacTypes.BoolValue + DomainConfiguration DomainConfiguration + AccessLogging AccessLogging + RESTMethodSettings RESTMethodSettings +} + +type ApiAuth struct { + Metadata iacTypes.Metadata + ApiKeyRequired iacTypes.BoolValue +} + +type AccessLogging struct { + Metadata iacTypes.Metadata + CloudwatchLogGroupARN iacTypes.StringValue +} + +type DomainConfiguration struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + SecurityPolicy iacTypes.StringValue +} + +type RESTMethodSettings struct { + Metadata iacTypes.Metadata + CacheDataEncrypted iacTypes.BoolValue + LoggingEnabled iacTypes.BoolValue + DataTraceEnabled iacTypes.BoolValue + MetricsEnabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/sam/application.go b/pkg/iac/providers/aws/sam/application.go new file mode 100644 index 000000000000..99fb7b7cac5b --- /dev/null +++ b/pkg/iac/providers/aws/sam/application.go @@ -0,0 +1,17 @@ +package sam + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Application struct { + Metadata iacTypes.Metadata + LocationPath iacTypes.StringValue + Location Location +} + +type Location struct { + Metadata iacTypes.Metadata + ApplicationID iacTypes.StringValue + SemanticVersion iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/sam/function.go b/pkg/iac/providers/aws/sam/function.go new file mode 100644 index 000000000000..5fb47afd2b66 --- /dev/null +++ b/pkg/iac/providers/aws/sam/function.go @@ -0,0 +1,25 @@ +package sam + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Function struct { + Metadata iacTypes.Metadata + FunctionName iacTypes.StringValue + Tracing iacTypes.StringValue + ManagedPolicies []iacTypes.StringValue + Policies []iam.Policy +} + +const ( + TracingModePassThrough = "PassThrough" + TracingModeActive = "Active" +) + +type Permission struct { + Metadata iacTypes.Metadata + Principal iacTypes.StringValue + SourceARN iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/sam/http_api.go b/pkg/iac/providers/aws/sam/http_api.go new file mode 100644 index 000000000000..eb1b488bc1bb --- /dev/null +++ b/pkg/iac/providers/aws/sam/http_api.go @@ -0,0 +1,20 @@ +package sam + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type HttpAPI struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + AccessLogging AccessLogging + DefaultRouteSettings RouteSettings + DomainConfiguration DomainConfiguration +} + +type RouteSettings struct { + Metadata iacTypes.Metadata + LoggingEnabled iacTypes.BoolValue + DataTraceEnabled iacTypes.BoolValue + DetailedMetricsEnabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/sam/sam.go b/pkg/iac/providers/aws/sam/sam.go new file mode 100644 index 000000000000..ed75777d8053 --- /dev/null +++ b/pkg/iac/providers/aws/sam/sam.go @@ -0,0 +1,10 @@ +package sam + +type SAM struct { + APIs []API + Applications []Application + Functions []Function + HttpAPIs []HttpAPI + SimpleTables []SimpleTable + StateMachines []StateMachine +} diff --git a/pkg/iac/providers/aws/sam/state_machine.go b/pkg/iac/providers/aws/sam/state_machine.go new file mode 100644 index 000000000000..caee979436de --- /dev/null +++ b/pkg/iac/providers/aws/sam/state_machine.go @@ -0,0 +1,25 @@ +package sam + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type StateMachine struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + LoggingConfiguration LoggingConfiguration + ManagedPolicies []iacTypes.StringValue + Policies []iam.Policy + Tracing TracingConfiguration +} + +type LoggingConfiguration struct { + Metadata iacTypes.Metadata + LoggingEnabled iacTypes.BoolValue +} + +type TracingConfiguration struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/sam/table.go b/pkg/iac/providers/aws/sam/table.go new file mode 100644 index 000000000000..33179771ee66 --- /dev/null +++ b/pkg/iac/providers/aws/sam/table.go @@ -0,0 +1,18 @@ +package sam + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type SimpleTable struct { + Metadata iacTypes.Metadata + TableName iacTypes.StringValue + SSESpecification SSESpecification +} + +type SSESpecification struct { + Metadata iacTypes.Metadata + + Enabled iacTypes.BoolValue + KMSMasterKeyID iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/sns/sns.go b/pkg/iac/providers/aws/sns/sns.go new file mode 100755 index 000000000000..49c2d370d56f --- /dev/null +++ b/pkg/iac/providers/aws/sns/sns.go @@ -0,0 +1,31 @@ +package sns + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type SNS struct { + Topics []Topic +} + +func NewTopic(arn string, metadata iacTypes.Metadata) *Topic { + return &Topic{ + Metadata: metadata, + ARN: iacTypes.String(arn, metadata), + Encryption: Encryption{ + Metadata: metadata, + KMSKeyID: iacTypes.StringDefault("", metadata), + }, + } +} + +type Topic struct { + Metadata iacTypes.Metadata + ARN iacTypes.StringValue + Encryption Encryption +} + +type Encryption struct { + Metadata iacTypes.Metadata + KMSKeyID iacTypes.StringValue +} diff --git a/pkg/iac/providers/aws/sqs/sqs.go b/pkg/iac/providers/aws/sqs/sqs.go new file mode 100755 index 000000000000..edafcb888a22 --- /dev/null +++ b/pkg/iac/providers/aws/sqs/sqs.go @@ -0,0 +1,23 @@ +package sqs + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/iam" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type SQS struct { + Queues []Queue +} + +type Queue struct { + Metadata iacTypes.Metadata + QueueURL iacTypes.StringValue + Encryption Encryption + Policies []iam.Policy +} + +type Encryption struct { + Metadata iacTypes.Metadata + KMSKeyID iacTypes.StringValue + ManagedEncryption iacTypes.BoolValue +} diff --git a/pkg/iac/providers/aws/ssm/ssm.go b/pkg/iac/providers/aws/ssm/ssm.go new file mode 100755 index 000000000000..725e099f2b8d --- /dev/null +++ b/pkg/iac/providers/aws/ssm/ssm.go @@ -0,0 +1,16 @@ +package ssm + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type SSM struct { + Secrets []Secret +} + +type Secret struct { + Metadata iacTypes.Metadata + KMSKeyID iacTypes.StringValue +} + +const DefaultKMSKeyID = "alias/aws/secretsmanager" diff --git a/pkg/iac/providers/aws/workspaces/workspaces.go b/pkg/iac/providers/aws/workspaces/workspaces.go new file mode 100755 index 000000000000..beaf56eef645 --- /dev/null +++ b/pkg/iac/providers/aws/workspaces/workspaces.go @@ -0,0 +1,25 @@ +package workspaces + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type WorkSpaces struct { + WorkSpaces []WorkSpace +} + +type WorkSpace struct { + Metadata iacTypes.Metadata + RootVolume Volume + UserVolume Volume +} + +type Volume struct { + Metadata iacTypes.Metadata + Encryption Encryption +} + +type Encryption struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/azure/appservice/appservice.go b/pkg/iac/providers/azure/appservice/appservice.go new file mode 100755 index 000000000000..990adf98183a --- /dev/null +++ b/pkg/iac/providers/azure/appservice/appservice.go @@ -0,0 +1,30 @@ +package appservice + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type AppService struct { + Services []Service + FunctionApps []FunctionApp +} + +type Service struct { + Metadata iacTypes.Metadata + EnableClientCert iacTypes.BoolValue + Identity struct { + Type iacTypes.StringValue + } + Authentication struct { + Enabled iacTypes.BoolValue + } + Site struct { + EnableHTTP2 iacTypes.BoolValue + MinimumTLSVersion iacTypes.StringValue + } +} + +type FunctionApp struct { + Metadata iacTypes.Metadata + HTTPSOnly iacTypes.BoolValue +} diff --git a/pkg/iac/providers/azure/authorization/authorization.go b/pkg/iac/providers/azure/authorization/authorization.go new file mode 100755 index 000000000000..fee924724d3c --- /dev/null +++ b/pkg/iac/providers/azure/authorization/authorization.go @@ -0,0 +1,20 @@ +package authorization + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Authorization struct { + RoleDefinitions []RoleDefinition +} + +type RoleDefinition struct { + Metadata iacTypes.Metadata + Permissions []Permission + AssignableScopes []iacTypes.StringValue +} + +type Permission struct { + Metadata iacTypes.Metadata + Actions []iacTypes.StringValue +} diff --git a/pkg/iac/providers/azure/azure.go b/pkg/iac/providers/azure/azure.go new file mode 100755 index 000000000000..07774647a454 --- /dev/null +++ b/pkg/iac/providers/azure/azure.go @@ -0,0 +1,33 @@ +package azure + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/appservice" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/authorization" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/container" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/database" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/datafactory" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/datalake" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/keyvault" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/monitor" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/network" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/securitycenter" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/storage" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure/synapse" +) + +type Azure struct { + AppService appservice.AppService + Authorization authorization.Authorization + Compute compute.Compute + Container container.Container + Database database.Database + DataFactory datafactory.DataFactory + DataLake datalake.DataLake + KeyVault keyvault.KeyVault + Monitor monitor.Monitor + Network network.Network + SecurityCenter securitycenter.SecurityCenter + Storage storage.Storage + Synapse synapse.Synapse +} diff --git a/pkg/iac/providers/azure/compute/compute.go b/pkg/iac/providers/azure/compute/compute.go new file mode 100755 index 000000000000..d45105985afa --- /dev/null +++ b/pkg/iac/providers/azure/compute/compute.go @@ -0,0 +1,42 @@ +package compute + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Compute struct { + LinuxVirtualMachines []LinuxVirtualMachine + WindowsVirtualMachines []WindowsVirtualMachine + ManagedDisks []ManagedDisk +} + +type VirtualMachine struct { + Metadata iacTypes.Metadata + CustomData iacTypes.StringValue // NOT base64 encoded +} + +type LinuxVirtualMachine struct { + Metadata iacTypes.Metadata + VirtualMachine + OSProfileLinuxConfig OSProfileLinuxConfig +} + +type WindowsVirtualMachine struct { + Metadata iacTypes.Metadata + VirtualMachine +} + +type OSProfileLinuxConfig struct { + Metadata iacTypes.Metadata + DisablePasswordAuthentication iacTypes.BoolValue +} + +type ManagedDisk struct { + Metadata iacTypes.Metadata + Encryption Encryption +} + +type Encryption struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/azure/container/container.go b/pkg/iac/providers/azure/container/container.go new file mode 100755 index 000000000000..0af940d4ebf7 --- /dev/null +++ b/pkg/iac/providers/azure/container/container.go @@ -0,0 +1,38 @@ +package container + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Container struct { + KubernetesClusters []KubernetesCluster +} + +type KubernetesCluster struct { + Metadata iacTypes.Metadata + NetworkProfile NetworkProfile + EnablePrivateCluster iacTypes.BoolValue + APIServerAuthorizedIPRanges []iacTypes.StringValue + AddonProfile AddonProfile + RoleBasedAccessControl RoleBasedAccessControl +} + +type RoleBasedAccessControl struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} + +type AddonProfile struct { + Metadata iacTypes.Metadata + OMSAgent OMSAgent +} + +type OMSAgent struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} + +type NetworkProfile struct { + Metadata iacTypes.Metadata + NetworkPolicy iacTypes.StringValue // "", "calico", "azure" +} diff --git a/pkg/iac/providers/azure/database/database.go b/pkg/iac/providers/azure/database/database.go new file mode 100755 index 000000000000..34ac63d8f129 --- /dev/null +++ b/pkg/iac/providers/azure/database/database.go @@ -0,0 +1,68 @@ +package database + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Database struct { + MSSQLServers []MSSQLServer + MariaDBServers []MariaDBServer + MySQLServers []MySQLServer + PostgreSQLServers []PostgreSQLServer +} + +type MariaDBServer struct { + Metadata iacTypes.Metadata + Server +} + +type MySQLServer struct { + Metadata iacTypes.Metadata + Server +} + +type PostgreSQLServer struct { + Metadata iacTypes.Metadata + Server + Config PostgresSQLConfig +} + +type PostgresSQLConfig struct { + Metadata iacTypes.Metadata + LogCheckpoints iacTypes.BoolValue + ConnectionThrottling iacTypes.BoolValue + LogConnections iacTypes.BoolValue +} + +type Server struct { + Metadata iacTypes.Metadata + EnableSSLEnforcement iacTypes.BoolValue + MinimumTLSVersion iacTypes.StringValue + EnablePublicNetworkAccess iacTypes.BoolValue + FirewallRules []FirewallRule +} + +type MSSQLServer struct { + Metadata iacTypes.Metadata + Server + ExtendedAuditingPolicies []ExtendedAuditingPolicy + SecurityAlertPolicies []SecurityAlertPolicy +} + +type SecurityAlertPolicy struct { + Metadata iacTypes.Metadata + EmailAddresses []iacTypes.StringValue + DisabledAlerts []iacTypes.StringValue + EmailAccountAdmins iacTypes.BoolValue +} + +type ExtendedAuditingPolicy struct { + Metadata iacTypes.Metadata + RetentionInDays iacTypes.IntValue +} + +type FirewallRule struct { + Metadata iacTypes.Metadata + StartIP iacTypes.StringValue + EndIP iacTypes.StringValue +} diff --git a/pkg/iac/providers/azure/datafactory/datafactory.go b/pkg/iac/providers/azure/datafactory/datafactory.go new file mode 100755 index 000000000000..c8f0e91d010b --- /dev/null +++ b/pkg/iac/providers/azure/datafactory/datafactory.go @@ -0,0 +1,14 @@ +package datafactory + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type DataFactory struct { + DataFactories []Factory +} + +type Factory struct { + Metadata iacTypes.Metadata + EnablePublicNetwork iacTypes.BoolValue +} diff --git a/pkg/iac/providers/azure/datalake/datalake.go b/pkg/iac/providers/azure/datalake/datalake.go new file mode 100755 index 000000000000..a36f9a12c94a --- /dev/null +++ b/pkg/iac/providers/azure/datalake/datalake.go @@ -0,0 +1,14 @@ +package datalake + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type DataLake struct { + Stores []Store +} + +type Store struct { + Metadata iacTypes.Metadata + EnableEncryption iacTypes.BoolValue +} diff --git a/pkg/iac/providers/azure/keyvault/keyvault.go b/pkg/iac/providers/azure/keyvault/keyvault.go new file mode 100755 index 000000000000..8c263fa413f2 --- /dev/null +++ b/pkg/iac/providers/azure/keyvault/keyvault.go @@ -0,0 +1,34 @@ +package keyvault + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type KeyVault struct { + Vaults []Vault +} + +type Vault struct { + Metadata iacTypes.Metadata + Secrets []Secret + Keys []Key + EnablePurgeProtection iacTypes.BoolValue + SoftDeleteRetentionDays iacTypes.IntValue + NetworkACLs NetworkACLs +} + +type NetworkACLs struct { + Metadata iacTypes.Metadata + DefaultAction iacTypes.StringValue +} + +type Key struct { + Metadata iacTypes.Metadata + ExpiryDate iacTypes.TimeValue +} + +type Secret struct { + Metadata iacTypes.Metadata + ContentType iacTypes.StringValue + ExpiryDate iacTypes.TimeValue +} diff --git a/pkg/iac/providers/azure/monitor/monitor.go b/pkg/iac/providers/azure/monitor/monitor.go new file mode 100755 index 000000000000..e8ba51e40338 --- /dev/null +++ b/pkg/iac/providers/azure/monitor/monitor.go @@ -0,0 +1,22 @@ +package monitor + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Monitor struct { + LogProfiles []LogProfile +} + +type LogProfile struct { + Metadata iacTypes.Metadata + RetentionPolicy RetentionPolicy + Categories []iacTypes.StringValue + Locations []iacTypes.StringValue +} + +type RetentionPolicy struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + Days iacTypes.IntValue +} diff --git a/pkg/iac/providers/azure/network/network.go b/pkg/iac/providers/azure/network/network.go new file mode 100755 index 000000000000..71c56b62b465 --- /dev/null +++ b/pkg/iac/providers/azure/network/network.go @@ -0,0 +1,47 @@ +package network + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Network struct { + SecurityGroups []SecurityGroup + NetworkWatcherFlowLogs []NetworkWatcherFlowLog +} + +type SecurityGroup struct { + Metadata iacTypes.Metadata + Rules []SecurityGroupRule +} + +type SecurityGroupRule struct { + Metadata iacTypes.Metadata + Outbound iacTypes.BoolValue + Allow iacTypes.BoolValue + SourceAddresses []iacTypes.StringValue + SourcePorts []PortRange + DestinationAddresses []iacTypes.StringValue + DestinationPorts []PortRange + Protocol iacTypes.StringValue +} + +type PortRange struct { + Metadata iacTypes.Metadata + Start int + End int +} + +func (r PortRange) Includes(port int) bool { + return port >= r.Start && port <= r.End +} + +type NetworkWatcherFlowLog struct { + Metadata iacTypes.Metadata + RetentionPolicy RetentionPolicy +} + +type RetentionPolicy struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + Days iacTypes.IntValue +} diff --git a/pkg/iac/providers/azure/securitycenter/securitycenter.go b/pkg/iac/providers/azure/securitycenter/securitycenter.go new file mode 100755 index 000000000000..49dcd95d1ef0 --- /dev/null +++ b/pkg/iac/providers/azure/securitycenter/securitycenter.go @@ -0,0 +1,26 @@ +package securitycenter + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type SecurityCenter struct { + Contacts []Contact + Subscriptions []SubscriptionPricing +} + +type Contact struct { + Metadata iacTypes.Metadata + EnableAlertNotifications iacTypes.BoolValue + Phone iacTypes.StringValue +} + +const ( + TierFree = "Free" + TierStandard = "Standard" +) + +type SubscriptionPricing struct { + Metadata iacTypes.Metadata + Tier iacTypes.StringValue +} diff --git a/pkg/iac/providers/azure/storage/storage.go b/pkg/iac/providers/azure/storage/storage.go new file mode 100755 index 000000000000..cccc5d55eda1 --- /dev/null +++ b/pkg/iac/providers/azure/storage/storage.go @@ -0,0 +1,46 @@ +package storage + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Storage struct { + Accounts []Account +} + +type Account struct { + Metadata iacTypes.Metadata + NetworkRules []NetworkRule + EnforceHTTPS iacTypes.BoolValue + Containers []Container + QueueProperties QueueProperties + MinimumTLSVersion iacTypes.StringValue + Queues []Queue +} + +type Queue struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue +} + +type QueueProperties struct { + Metadata iacTypes.Metadata + EnableLogging iacTypes.BoolValue +} + +type NetworkRule struct { + Metadata iacTypes.Metadata + Bypass []iacTypes.StringValue + AllowByDefault iacTypes.BoolValue +} + +const ( + PublicAccessOff = "off" + PublicAccessBlob = "blob" + PublicAccessContainer = "container" +) + +type Container struct { + Metadata iacTypes.Metadata + PublicAccess iacTypes.StringValue +} diff --git a/pkg/iac/providers/azure/synapse/synapse.go b/pkg/iac/providers/azure/synapse/synapse.go new file mode 100755 index 000000000000..dc72175d7106 --- /dev/null +++ b/pkg/iac/providers/azure/synapse/synapse.go @@ -0,0 +1,14 @@ +package synapse + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Synapse struct { + Workspaces []Workspace +} + +type Workspace struct { + Metadata iacTypes.Metadata + EnableManagedVirtualNetwork iacTypes.BoolValue +} diff --git a/pkg/iac/providers/cloudstack/cloudstack.go b/pkg/iac/providers/cloudstack/cloudstack.go new file mode 100755 index 000000000000..d514eae513a3 --- /dev/null +++ b/pkg/iac/providers/cloudstack/cloudstack.go @@ -0,0 +1,9 @@ +package cloudstack + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/cloudstack/compute" +) + +type CloudStack struct { + Compute compute.Compute +} diff --git a/pkg/iac/providers/cloudstack/compute/compute.go b/pkg/iac/providers/cloudstack/compute/compute.go new file mode 100755 index 000000000000..cbfa55ba63d4 --- /dev/null +++ b/pkg/iac/providers/cloudstack/compute/compute.go @@ -0,0 +1,14 @@ +package compute + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Compute struct { + Instances []Instance +} + +type Instance struct { + Metadata iacTypes.Metadata + UserData iacTypes.StringValue // not b64 encoded pls +} diff --git a/pkg/iac/providers/digitalocean/compute/compute.go b/pkg/iac/providers/digitalocean/compute/compute.go new file mode 100755 index 000000000000..a0b0fe24761a --- /dev/null +++ b/pkg/iac/providers/digitalocean/compute/compute.go @@ -0,0 +1,50 @@ +package compute + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Compute struct { + Firewalls []Firewall + LoadBalancers []LoadBalancer + Droplets []Droplet + KubernetesClusters []KubernetesCluster +} + +type Firewall struct { + Metadata iacTypes.Metadata + OutboundRules []OutboundFirewallRule + InboundRules []InboundFirewallRule +} + +type KubernetesCluster struct { + Metadata iacTypes.Metadata + SurgeUpgrade iacTypes.BoolValue + AutoUpgrade iacTypes.BoolValue +} + +type LoadBalancer struct { + Metadata iacTypes.Metadata + ForwardingRules []ForwardingRule + RedirectHttpToHttps iacTypes.BoolValue +} + +type ForwardingRule struct { + Metadata iacTypes.Metadata + EntryProtocol iacTypes.StringValue +} + +type OutboundFirewallRule struct { + Metadata iacTypes.Metadata + DestinationAddresses []iacTypes.StringValue +} + +type InboundFirewallRule struct { + Metadata iacTypes.Metadata + SourceAddresses []iacTypes.StringValue +} + +type Droplet struct { + Metadata iacTypes.Metadata + SSHKeys []iacTypes.StringValue +} diff --git a/pkg/iac/providers/digitalocean/digitalocean.go b/pkg/iac/providers/digitalocean/digitalocean.go new file mode 100755 index 000000000000..d56240646279 --- /dev/null +++ b/pkg/iac/providers/digitalocean/digitalocean.go @@ -0,0 +1,11 @@ +package digitalocean + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/digitalocean/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/digitalocean/spaces" +) + +type DigitalOcean struct { + Compute compute.Compute + Spaces spaces.Spaces +} diff --git a/pkg/iac/providers/digitalocean/spaces/spaces.go b/pkg/iac/providers/digitalocean/spaces/spaces.go new file mode 100755 index 000000000000..2936e469da12 --- /dev/null +++ b/pkg/iac/providers/digitalocean/spaces/spaces.go @@ -0,0 +1,28 @@ +package spaces + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Spaces struct { + Buckets []Bucket +} + +type Bucket struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Objects []Object + ACL iacTypes.StringValue + ForceDestroy iacTypes.BoolValue + Versioning Versioning +} + +type Versioning struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} + +type Object struct { + Metadata iacTypes.Metadata + ACL iacTypes.StringValue +} diff --git a/pkg/iac/providers/dockerfile/dockerfile.go b/pkg/iac/providers/dockerfile/dockerfile.go new file mode 100644 index 000000000000..aed723989632 --- /dev/null +++ b/pkg/iac/providers/dockerfile/dockerfile.go @@ -0,0 +1,61 @@ +package dockerfile + +import ( + "reflect" + + "github.com/aquasecurity/trivy/pkg/iac/rego/convert" +) + +// NOTE: we are currently preserving mixed case json here for backward compatibility + +// Dockerfile represents a parsed Dockerfile +type Dockerfile struct { + Stages []Stage +} + +type Stage struct { + Name string + Commands []Command +} + +func (d Dockerfile) ToRego() interface{} { + return map[string]interface{}{ + "Stages": convert.SliceToRego(reflect.ValueOf(d.Stages)), + } +} + +func (s Stage) ToRego() interface{} { + return map[string]interface{}{ + "Name": s.Name, + "Commands": convert.SliceToRego(reflect.ValueOf(s.Commands)), + } +} + +// Command is the struct for each dockerfile command +type Command struct { + Cmd string + SubCmd string + Flags []string + Value []string + Original string + JSON bool + Stage int + Path string + StartLine int + EndLine int +} + +func (c Command) ToRego() interface{} { + return map[string]interface{}{ + "Cmd": c.Cmd, + "SubCmd": c.SubCmd, + "Flags": c.Flags, + "Value": c.Value, + "Original": c.Original, + "JSON": c.JSON, + "Stage": c.Stage, + "Path": c.Path, + "StartLine": c.StartLine, + "EndLine": c.EndLine, + } +} diff --git a/pkg/iac/providers/github/actions.go b/pkg/iac/providers/github/actions.go new file mode 100644 index 000000000000..0b28269e0c80 --- /dev/null +++ b/pkg/iac/providers/github/actions.go @@ -0,0 +1,19 @@ +package github + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Action struct { + Metadata iacTypes.Metadata + EnvironmentSecrets []EnvironmentSecret +} + +type EnvironmentSecret struct { + Metadata iacTypes.Metadata + Repository iacTypes.StringValue + Environment iacTypes.StringValue + SecretName iacTypes.StringValue + PlainTextValue iacTypes.StringValue + EncryptedValue iacTypes.StringValue +} diff --git a/pkg/iac/providers/github/branch_protections.go b/pkg/iac/providers/github/branch_protections.go new file mode 100755 index 000000000000..5d9f59599457 --- /dev/null +++ b/pkg/iac/providers/github/branch_protections.go @@ -0,0 +1,14 @@ +package github + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type BranchProtection struct { + Metadata iacTypes.Metadata + RequireSignedCommits iacTypes.BoolValue +} + +func (b BranchProtection) RequiresSignedCommits() bool { + return b.RequireSignedCommits.IsTrue() +} diff --git a/pkg/iac/providers/github/github.go b/pkg/iac/providers/github/github.go new file mode 100755 index 000000000000..449f94cecc30 --- /dev/null +++ b/pkg/iac/providers/github/github.go @@ -0,0 +1,7 @@ +package github + +type GitHub struct { + Repositories []Repository + EnvironmentSecrets []EnvironmentSecret + BranchProtections []BranchProtection +} diff --git a/pkg/iac/providers/github/repositories.go b/pkg/iac/providers/github/repositories.go new file mode 100755 index 000000000000..0fc4c96080d2 --- /dev/null +++ b/pkg/iac/providers/github/repositories.go @@ -0,0 +1,16 @@ +package github + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Repository struct { + Metadata iacTypes.Metadata + Public iacTypes.BoolValue + VulnerabilityAlerts iacTypes.BoolValue + Archived iacTypes.BoolValue +} + +func (r Repository) IsArchived() bool { + return r.Archived.IsTrue() +} diff --git a/pkg/iac/providers/google/bigquery/bigquery.go b/pkg/iac/providers/google/bigquery/bigquery.go new file mode 100755 index 000000000000..9a9bfb054dde --- /dev/null +++ b/pkg/iac/providers/google/bigquery/bigquery.go @@ -0,0 +1,26 @@ +package bigquery + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type BigQuery struct { + Datasets []Dataset +} + +type Dataset struct { + Metadata iacTypes.Metadata + ID iacTypes.StringValue + AccessGrants []AccessGrant +} + +const ( + SpecialGroupAllAuthenticatedUsers = "allAuthenticatedUsers" +) + +type AccessGrant struct { + Metadata iacTypes.Metadata + Role iacTypes.StringValue + Domain iacTypes.StringValue + SpecialGroup iacTypes.StringValue +} diff --git a/pkg/iac/providers/google/compute/compute.go b/pkg/iac/providers/google/compute/compute.go new file mode 100755 index 000000000000..ffa9db257bad --- /dev/null +++ b/pkg/iac/providers/google/compute/compute.go @@ -0,0 +1,9 @@ +package compute + +type Compute struct { + Disks []Disk + Networks []Network + SSLPolicies []SSLPolicy + ProjectMetadata ProjectMetadata + Instances []Instance +} diff --git a/pkg/iac/providers/google/compute/disk.go b/pkg/iac/providers/google/compute/disk.go new file mode 100755 index 000000000000..b636cb135651 --- /dev/null +++ b/pkg/iac/providers/google/compute/disk.go @@ -0,0 +1,17 @@ +package compute + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Disk struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Encryption DiskEncryption +} + +type DiskEncryption struct { + Metadata iacTypes.Metadata + RawKey iacTypes.BytesValue + KMSKeyLink iacTypes.StringValue +} diff --git a/pkg/iac/providers/google/compute/firewall.go b/pkg/iac/providers/google/compute/firewall.go new file mode 100755 index 000000000000..c122369d9954 --- /dev/null +++ b/pkg/iac/providers/google/compute/firewall.go @@ -0,0 +1,34 @@ +package compute + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Firewall struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + IngressRules []IngressRule + EgressRules []EgressRule + SourceTags []iacTypes.StringValue + TargetTags []iacTypes.StringValue +} + +type FirewallRule struct { + Metadata iacTypes.Metadata + Enforced iacTypes.BoolValue + IsAllow iacTypes.BoolValue + Protocol iacTypes.StringValue + Ports []iacTypes.IntValue +} + +type IngressRule struct { + Metadata iacTypes.Metadata + FirewallRule + SourceRanges []iacTypes.StringValue +} + +type EgressRule struct { + Metadata iacTypes.Metadata + FirewallRule + DestinationRanges []iacTypes.StringValue +} diff --git a/pkg/iac/providers/google/compute/instance.go b/pkg/iac/providers/google/compute/instance.go new file mode 100755 index 000000000000..d5189945f3b6 --- /dev/null +++ b/pkg/iac/providers/google/compute/instance.go @@ -0,0 +1,41 @@ +package compute + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Instance struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + NetworkInterfaces []NetworkInterface + ShieldedVM ShieldedVMConfig + ServiceAccount ServiceAccount + CanIPForward iacTypes.BoolValue + OSLoginEnabled iacTypes.BoolValue + EnableProjectSSHKeyBlocking iacTypes.BoolValue + EnableSerialPort iacTypes.BoolValue + BootDisks []Disk + AttachedDisks []Disk +} + +type ServiceAccount struct { + Metadata iacTypes.Metadata + Email iacTypes.StringValue + IsDefault iacTypes.BoolValue + Scopes []iacTypes.StringValue +} + +type NetworkInterface struct { + Metadata iacTypes.Metadata + Network *Network + SubNetwork *SubNetwork + HasPublicIP iacTypes.BoolValue + NATIP iacTypes.StringValue +} + +type ShieldedVMConfig struct { + Metadata iacTypes.Metadata + SecureBootEnabled iacTypes.BoolValue + IntegrityMonitoringEnabled iacTypes.BoolValue + VTPMEnabled iacTypes.BoolValue +} diff --git a/pkg/iac/providers/google/compute/metadata.go b/pkg/iac/providers/google/compute/metadata.go new file mode 100755 index 000000000000..9083854ba2af --- /dev/null +++ b/pkg/iac/providers/google/compute/metadata.go @@ -0,0 +1,10 @@ +package compute + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type ProjectMetadata struct { + Metadata iacTypes.Metadata + EnableOSLogin iacTypes.BoolValue +} diff --git a/pkg/iac/providers/google/compute/network.go b/pkg/iac/providers/google/compute/network.go new file mode 100755 index 000000000000..c8e7d0b3d56c --- /dev/null +++ b/pkg/iac/providers/google/compute/network.go @@ -0,0 +1,11 @@ +package compute + +import ( + "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Network struct { + Metadata types.Metadata + Firewall *Firewall + Subnetworks []SubNetwork +} diff --git a/pkg/iac/providers/google/compute/ssl_policy.go b/pkg/iac/providers/google/compute/ssl_policy.go new file mode 100755 index 000000000000..38ee07c047f4 --- /dev/null +++ b/pkg/iac/providers/google/compute/ssl_policy.go @@ -0,0 +1,12 @@ +package compute + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type SSLPolicy struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Profile iacTypes.StringValue + MinimumTLSVersion iacTypes.StringValue +} diff --git a/pkg/iac/providers/google/compute/subnetwork.go b/pkg/iac/providers/google/compute/subnetwork.go new file mode 100755 index 000000000000..a0bd03d2a71c --- /dev/null +++ b/pkg/iac/providers/google/compute/subnetwork.go @@ -0,0 +1,12 @@ +package compute + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type SubNetwork struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Purpose iacTypes.StringValue + EnableFlowLogs iacTypes.BoolValue +} diff --git a/pkg/iac/providers/google/dns/dns.go b/pkg/iac/providers/google/dns/dns.go new file mode 100755 index 000000000000..93bc6fbb02c2 --- /dev/null +++ b/pkg/iac/providers/google/dns/dns.go @@ -0,0 +1,31 @@ +package dns + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type DNS struct { + ManagedZones []ManagedZone +} + +type ManagedZone struct { + Metadata iacTypes.Metadata + DNSSec DNSSec + Visibility iacTypes.StringValue +} + +func (m ManagedZone) IsPrivate() bool { + return m.Visibility.EqualTo("private", iacTypes.IgnoreCase) +} + +type DNSSec struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + DefaultKeySpecs []KeySpecs +} + +type KeySpecs struct { + Metadata iacTypes.Metadata + Algorithm iacTypes.StringValue + KeyType iacTypes.StringValue +} diff --git a/pkg/iac/providers/google/gke/gke.go b/pkg/iac/providers/google/gke/gke.go new file mode 100755 index 000000000000..3fe346f82f6e --- /dev/null +++ b/pkg/iac/providers/google/gke/gke.go @@ -0,0 +1,86 @@ +package gke + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type GKE struct { + Clusters []Cluster +} + +type Cluster struct { + Metadata iacTypes.Metadata + NodePools []NodePool + IPAllocationPolicy IPAllocationPolicy + MasterAuthorizedNetworks MasterAuthorizedNetworks + NetworkPolicy NetworkPolicy + PrivateCluster PrivateCluster + LoggingService iacTypes.StringValue + MonitoringService iacTypes.StringValue + MasterAuth MasterAuth + NodeConfig NodeConfig + EnableShieldedNodes iacTypes.BoolValue + EnableLegacyABAC iacTypes.BoolValue + ResourceLabels iacTypes.MapValue + RemoveDefaultNodePool iacTypes.BoolValue + EnableAutpilot iacTypes.BoolValue + DatapathProvider iacTypes.StringValue +} + +type NodeConfig struct { + Metadata iacTypes.Metadata + ImageType iacTypes.StringValue + WorkloadMetadataConfig WorkloadMetadataConfig + ServiceAccount iacTypes.StringValue + EnableLegacyEndpoints iacTypes.BoolValue +} + +type WorkloadMetadataConfig struct { + Metadata iacTypes.Metadata + NodeMetadata iacTypes.StringValue +} + +type MasterAuth struct { + Metadata iacTypes.Metadata + ClientCertificate ClientCertificate + Username iacTypes.StringValue + Password iacTypes.StringValue +} + +type ClientCertificate struct { + Metadata iacTypes.Metadata + IssueCertificate iacTypes.BoolValue +} + +type PrivateCluster struct { + Metadata iacTypes.Metadata + EnablePrivateNodes iacTypes.BoolValue +} + +type NetworkPolicy struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} + +type MasterAuthorizedNetworks struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue + CIDRs []iacTypes.StringValue +} + +type IPAllocationPolicy struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} + +type NodePool struct { + Metadata iacTypes.Metadata + Management Management + NodeConfig NodeConfig +} + +type Management struct { + Metadata iacTypes.Metadata + EnableAutoRepair iacTypes.BoolValue + EnableAutoUpgrade iacTypes.BoolValue +} diff --git a/pkg/iac/providers/google/google.go b/pkg/iac/providers/google/google.go new file mode 100755 index 000000000000..4616c9f0089d --- /dev/null +++ b/pkg/iac/providers/google/google.go @@ -0,0 +1,23 @@ +package google + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/google/bigquery" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/compute" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/dns" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/gke" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/kms" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/sql" + "github.com/aquasecurity/trivy/pkg/iac/providers/google/storage" +) + +type Google struct { + BigQuery bigquery.BigQuery + Compute compute.Compute + DNS dns.DNS + GKE gke.GKE + KMS kms.KMS + IAM iam.IAM + SQL sql.SQL + Storage storage.Storage +} diff --git a/pkg/iac/providers/google/iam/iam.go b/pkg/iac/providers/google/iam/iam.go new file mode 100755 index 000000000000..c48192e76b97 --- /dev/null +++ b/pkg/iac/providers/google/iam/iam.go @@ -0,0 +1,88 @@ +package iam + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type IAM struct { + Organizations []Organization + WorkloadIdentityPoolProviders []WorkloadIdentityPoolProvider +} + +type Organization struct { + Metadata iacTypes.Metadata + Folders []Folder + Projects []Project + Members []Member + Bindings []Binding +} + +type Folder struct { + Metadata iacTypes.Metadata + Folders []Folder + Projects []Project + Members []Member + Bindings []Binding +} + +type Project struct { + Metadata iacTypes.Metadata + AutoCreateNetwork iacTypes.BoolValue + Members []Member + Bindings []Binding +} + +type Binding struct { + Metadata iacTypes.Metadata + Members []iacTypes.StringValue + Role iacTypes.StringValue + IncludesDefaultServiceAccount iacTypes.BoolValue +} + +type Member struct { + Metadata iacTypes.Metadata + Member iacTypes.StringValue + Role iacTypes.StringValue + DefaultServiceAccount iacTypes.BoolValue +} + +type WorkloadIdentityPoolProvider struct { + Metadata iacTypes.Metadata + WorkloadIdentityPoolId iacTypes.StringValue + WorkloadIdentityPoolProviderId iacTypes.StringValue + AttributeCondition iacTypes.StringValue +} + +func (p *IAM) AllProjects() []Project { + var projects []Project + for _, org := range p.Organizations { + projects = append(projects, org.Projects...) + for _, folder := range org.Folders { + projects = append(projects, folder.Projects...) + for _, desc := range folder.AllFolders() { + projects = append(projects, desc.Projects...) + } + } + } + return projects +} + +func (p *IAM) AllFolders() []Folder { + var folders []Folder + for _, org := range p.Organizations { + folders = append(folders, org.Folders...) + for _, folder := range org.Folders { + folders = append(folders, folder.AllFolders()...) + } + } + return folders +} + +func (f *Folder) AllFolders() []Folder { + var folders []Folder + for _, folder := range f.Folders { + folders = append(folders, folder) + folders = append(folders, folder.AllFolders()...) + } + return folders +} diff --git a/pkg/iac/providers/google/kms/kms.go b/pkg/iac/providers/google/kms/kms.go new file mode 100755 index 000000000000..4247db119e13 --- /dev/null +++ b/pkg/iac/providers/google/kms/kms.go @@ -0,0 +1,19 @@ +package kms + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type KMS struct { + KeyRings []KeyRing +} + +type KeyRing struct { + Metadata iacTypes.Metadata + Keys []Key +} + +type Key struct { + Metadata iacTypes.Metadata + RotationPeriodSeconds iacTypes.IntValue +} diff --git a/pkg/iac/providers/google/sql/sql.go b/pkg/iac/providers/google/sql/sql.go new file mode 100755 index 000000000000..18778dd1daef --- /dev/null +++ b/pkg/iac/providers/google/sql/sql.go @@ -0,0 +1,78 @@ +package sql + +import ( + "strings" + + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type SQL struct { + Instances []DatabaseInstance +} + +const ( + DatabaseFamilyMySQL = "MYSQL" + DatabaseFamilyPostgres = "POSTGRES" + DatabaseFamilySQLServer = "SQLSERVER" +) + +const ( + DatabaseVersionMySQL_5_6 = "MYSQL_5_6" + DatabaseVersionMySQL_5_7 = "MYSQL_5_7" + DatabaseVersionMySQL_8_0 = "MYSQL_8_0" + DatabaseVersionPostgres_9_6 = "POSTGRES_9_6" + DatabaseVersionPostgres_10 = "POSTGRES_10" + DatabaseVersionPostgres_11 = "POSTGRES_11" + DatabaseVersionPostgres_12 = "POSTGRES_12" + DatabaseVersionPostgres_13 = "POSTGRES_13" + DatabaseVersionSQLServer_2017_STANDARD = "SQLSERVER_2017_STANDARD" + DatabaseVersionSQLServer_2017_ENTERPRISE = "SQLSERVER_2017_ENTERPRISE" + DatabaseVersionSQLServer_2017_EXPRESS = "SQLSERVER_2017_EXPRESS" + DatabaseVersionSQLServer_2017_WEB = "SQLSERVER_2017_WEB" +) + +type DatabaseInstance struct { + Metadata iacTypes.Metadata + DatabaseVersion iacTypes.StringValue + Settings Settings + IsReplica iacTypes.BoolValue +} + +type Settings struct { + Metadata iacTypes.Metadata + Flags Flags + Backups Backups + IPConfiguration IPConfiguration +} +type Flags struct { + Metadata iacTypes.Metadata + LogTempFileSize iacTypes.IntValue + LocalInFile iacTypes.BoolValue + ContainedDatabaseAuthentication iacTypes.BoolValue + CrossDBOwnershipChaining iacTypes.BoolValue + LogCheckpoints iacTypes.BoolValue + LogConnections iacTypes.BoolValue + LogDisconnections iacTypes.BoolValue + LogLockWaits iacTypes.BoolValue + LogMinMessages iacTypes.StringValue // FATAL, PANIC, LOG, ERROR, WARN + LogMinDurationStatement iacTypes.IntValue +} + +type Backups struct { + Metadata iacTypes.Metadata + Enabled iacTypes.BoolValue +} + +type IPConfiguration struct { + Metadata iacTypes.Metadata + RequireTLS iacTypes.BoolValue + EnableIPv4 iacTypes.BoolValue + AuthorizedNetworks []struct { + Name iacTypes.StringValue + CIDR iacTypes.StringValue + } +} + +func (i *DatabaseInstance) DatabaseFamily() string { + return strings.Split(i.DatabaseVersion.Value(), "_")[0] +} diff --git a/pkg/iac/providers/google/storage/storage.go b/pkg/iac/providers/google/storage/storage.go new file mode 100755 index 000000000000..7650474b8640 --- /dev/null +++ b/pkg/iac/providers/google/storage/storage.go @@ -0,0 +1,25 @@ +package storage + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/google/iam" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Storage struct { + Buckets []Bucket +} + +type Bucket struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Location iacTypes.StringValue + EnableUniformBucketLevelAccess iacTypes.BoolValue + Members []iam.Member + Bindings []iam.Binding + Encryption BucketEncryption +} + +type BucketEncryption struct { + Metadata iacTypes.Metadata + DefaultKMSKeyName iacTypes.StringValue +} diff --git a/pkg/iac/providers/kubernetes/kubernetes.go b/pkg/iac/providers/kubernetes/kubernetes.go new file mode 100755 index 000000000000..cf71291161a1 --- /dev/null +++ b/pkg/iac/providers/kubernetes/kubernetes.go @@ -0,0 +1,38 @@ +package kubernetes + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Kubernetes struct { + NetworkPolicies []NetworkPolicy +} + +type NetworkPolicy struct { + Metadata iacTypes.Metadata + Spec NetworkPolicySpec +} + +type NetworkPolicySpec struct { + Metadata iacTypes.Metadata + Egress Egress + Ingress Ingress +} + +type Egress struct { + Metadata iacTypes.Metadata + Ports []Port + DestinationCIDRs []iacTypes.StringValue +} + +type Ingress struct { + Metadata iacTypes.Metadata + Ports []Port + SourceCIDRs []iacTypes.StringValue +} + +type Port struct { + Metadata iacTypes.Metadata + Number iacTypes.StringValue // e.g. "http" or "80" + Protocol iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/computing/computing.go b/pkg/iac/providers/nifcloud/computing/computing.go new file mode 100755 index 000000000000..aaef2361bf98 --- /dev/null +++ b/pkg/iac/providers/nifcloud/computing/computing.go @@ -0,0 +1,6 @@ +package computing + +type Computing struct { + SecurityGroups []SecurityGroup + Instances []Instance +} diff --git a/pkg/iac/providers/nifcloud/computing/instance.go b/pkg/iac/providers/nifcloud/computing/instance.go new file mode 100644 index 000000000000..2b729920f37f --- /dev/null +++ b/pkg/iac/providers/nifcloud/computing/instance.go @@ -0,0 +1,16 @@ +package computing + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Instance struct { + Metadata iacTypes.Metadata + SecurityGroup iacTypes.StringValue + NetworkInterfaces []NetworkInterface +} + +type NetworkInterface struct { + Metadata iacTypes.Metadata + NetworkID iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/computing/security_group.go b/pkg/iac/providers/nifcloud/computing/security_group.go new file mode 100644 index 000000000000..f707d8a2825a --- /dev/null +++ b/pkg/iac/providers/nifcloud/computing/security_group.go @@ -0,0 +1,18 @@ +package computing + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type SecurityGroup struct { + Metadata iacTypes.Metadata + Description iacTypes.StringValue + IngressRules []SecurityGroupRule + EgressRules []SecurityGroupRule +} + +type SecurityGroupRule struct { + Metadata iacTypes.Metadata + Description iacTypes.StringValue + CIDR iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/dns/dns.go b/pkg/iac/providers/nifcloud/dns/dns.go new file mode 100755 index 000000000000..7351506d7f6f --- /dev/null +++ b/pkg/iac/providers/nifcloud/dns/dns.go @@ -0,0 +1,5 @@ +package dns + +type DNS struct { + Records []Record +} diff --git a/pkg/iac/providers/nifcloud/dns/record.go b/pkg/iac/providers/nifcloud/dns/record.go new file mode 100644 index 000000000000..44275dfb27d0 --- /dev/null +++ b/pkg/iac/providers/nifcloud/dns/record.go @@ -0,0 +1,13 @@ +package dns + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +const ZoneRegistrationAuthTxt = "nifty-dns-verify=" + +type Record struct { + Metadata iacTypes.Metadata + Type iacTypes.StringValue + Record iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/nas/nas.go b/pkg/iac/providers/nifcloud/nas/nas.go new file mode 100755 index 000000000000..e73a9c9efd70 --- /dev/null +++ b/pkg/iac/providers/nifcloud/nas/nas.go @@ -0,0 +1,6 @@ +package nas + +type NAS struct { + NASSecurityGroups []NASSecurityGroup + NASInstances []NASInstance +} diff --git a/pkg/iac/providers/nifcloud/nas/nas_instance.go b/pkg/iac/providers/nifcloud/nas/nas_instance.go new file mode 100644 index 000000000000..90567629ba09 --- /dev/null +++ b/pkg/iac/providers/nifcloud/nas/nas_instance.go @@ -0,0 +1,10 @@ +package nas + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type NASInstance struct { + Metadata iacTypes.Metadata + NetworkID iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/nas/nas_security_group.go b/pkg/iac/providers/nifcloud/nas/nas_security_group.go new file mode 100644 index 000000000000..f5351f7ab150 --- /dev/null +++ b/pkg/iac/providers/nifcloud/nas/nas_security_group.go @@ -0,0 +1,11 @@ +package nas + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type NASSecurityGroup struct { + Metadata iacTypes.Metadata + Description iacTypes.StringValue + CIDRs []iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/network/elastic_load_balancer.go b/pkg/iac/providers/nifcloud/network/elastic_load_balancer.go new file mode 100644 index 000000000000..82d977fcf8fa --- /dev/null +++ b/pkg/iac/providers/nifcloud/network/elastic_load_balancer.go @@ -0,0 +1,16 @@ +package network + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type ElasticLoadBalancer struct { + Metadata iacTypes.Metadata + NetworkInterfaces []NetworkInterface + Listeners []ElasticLoadBalancerListener +} + +type ElasticLoadBalancerListener struct { + Metadata iacTypes.Metadata + Protocol iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/network/load_balancer.go b/pkg/iac/providers/nifcloud/network/load_balancer.go new file mode 100644 index 000000000000..860a50614f8a --- /dev/null +++ b/pkg/iac/providers/nifcloud/network/load_balancer.go @@ -0,0 +1,16 @@ +package network + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type LoadBalancer struct { + Metadata iacTypes.Metadata + Listeners []LoadBalancerListener +} + +type LoadBalancerListener struct { + Metadata iacTypes.Metadata + Protocol iacTypes.StringValue + TLSPolicy iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/network/network.go b/pkg/iac/providers/nifcloud/network/network.go new file mode 100755 index 000000000000..dc337e0a2470 --- /dev/null +++ b/pkg/iac/providers/nifcloud/network/network.go @@ -0,0 +1,16 @@ +package network + +import iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" + +type Network struct { + ElasticLoadBalancers []ElasticLoadBalancer + LoadBalancers []LoadBalancer + Routers []Router + VpnGateways []VpnGateway +} + +type NetworkInterface struct { + Metadata iacTypes.Metadata + NetworkID iacTypes.StringValue + IsVipNetwork iacTypes.BoolValue +} diff --git a/pkg/iac/providers/nifcloud/network/router.go b/pkg/iac/providers/nifcloud/network/router.go new file mode 100644 index 000000000000..c26aa9115729 --- /dev/null +++ b/pkg/iac/providers/nifcloud/network/router.go @@ -0,0 +1,11 @@ +package network + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Router struct { + Metadata iacTypes.Metadata + SecurityGroup iacTypes.StringValue + NetworkInterfaces []NetworkInterface +} diff --git a/pkg/iac/providers/nifcloud/network/vpn_gateway.go b/pkg/iac/providers/nifcloud/network/vpn_gateway.go new file mode 100644 index 000000000000..54ff74aab3d4 --- /dev/null +++ b/pkg/iac/providers/nifcloud/network/vpn_gateway.go @@ -0,0 +1,10 @@ +package network + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type VpnGateway struct { + Metadata iacTypes.Metadata + SecurityGroup iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/nifcloud.go b/pkg/iac/providers/nifcloud/nifcloud.go new file mode 100755 index 000000000000..4126407925c6 --- /dev/null +++ b/pkg/iac/providers/nifcloud/nifcloud.go @@ -0,0 +1,19 @@ +package nifcloud + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/computing" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/dns" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/nas" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/network" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/rdb" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud/sslcertificate" +) + +type Nifcloud struct { + Computing computing.Computing + DNS dns.DNS + NAS nas.NAS + Network network.Network + RDB rdb.RDB + SSLCertificate sslcertificate.SSLCertificate +} diff --git a/pkg/iac/providers/nifcloud/rdb/db_instance.go b/pkg/iac/providers/nifcloud/rdb/db_instance.go new file mode 100644 index 000000000000..be888d09210e --- /dev/null +++ b/pkg/iac/providers/nifcloud/rdb/db_instance.go @@ -0,0 +1,14 @@ +package rdb + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type DBInstance struct { + Metadata iacTypes.Metadata + BackupRetentionPeriodDays iacTypes.IntValue + Engine iacTypes.StringValue + EngineVersion iacTypes.StringValue + NetworkID iacTypes.StringValue + PublicAccess iacTypes.BoolValue +} diff --git a/pkg/iac/providers/nifcloud/rdb/db_security_group.go b/pkg/iac/providers/nifcloud/rdb/db_security_group.go new file mode 100644 index 000000000000..3c9e350e5cad --- /dev/null +++ b/pkg/iac/providers/nifcloud/rdb/db_security_group.go @@ -0,0 +1,11 @@ +package rdb + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type DBSecurityGroup struct { + Metadata iacTypes.Metadata + Description iacTypes.StringValue + CIDRs []iacTypes.StringValue +} diff --git a/pkg/iac/providers/nifcloud/rdb/rdb.go b/pkg/iac/providers/nifcloud/rdb/rdb.go new file mode 100755 index 000000000000..4aea31980708 --- /dev/null +++ b/pkg/iac/providers/nifcloud/rdb/rdb.go @@ -0,0 +1,6 @@ +package rdb + +type RDB struct { + DBSecurityGroups []DBSecurityGroup + DBInstances []DBInstance +} diff --git a/pkg/iac/providers/nifcloud/sslcertificate/server_certificate.go b/pkg/iac/providers/nifcloud/sslcertificate/server_certificate.go new file mode 100644 index 000000000000..86dc479851a3 --- /dev/null +++ b/pkg/iac/providers/nifcloud/sslcertificate/server_certificate.go @@ -0,0 +1,10 @@ +package sslcertificate + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type ServerCertificate struct { + Metadata iacTypes.Metadata + Expiration iacTypes.TimeValue +} diff --git a/pkg/iac/providers/nifcloud/sslcertificate/ssl_certificate.go b/pkg/iac/providers/nifcloud/sslcertificate/ssl_certificate.go new file mode 100755 index 000000000000..7ab46d870b16 --- /dev/null +++ b/pkg/iac/providers/nifcloud/sslcertificate/ssl_certificate.go @@ -0,0 +1,5 @@ +package sslcertificate + +type SSLCertificate struct { + ServerCertificates []ServerCertificate +} diff --git a/pkg/iac/providers/openstack/networking.go b/pkg/iac/providers/openstack/networking.go new file mode 100644 index 000000000000..944bc3fe9253 --- /dev/null +++ b/pkg/iac/providers/openstack/networking.go @@ -0,0 +1,27 @@ +package openstack + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Networking struct { + SecurityGroups []SecurityGroup +} + +type SecurityGroup struct { + Metadata iacTypes.Metadata + Name iacTypes.StringValue + Description iacTypes.StringValue + Rules []SecurityGroupRule +} + +// SecurityGroupRule describes https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/networking_secgroup_rule_v2 +type SecurityGroupRule struct { + Metadata iacTypes.Metadata + IsIngress iacTypes.BoolValue + EtherType iacTypes.IntValue // 4 or 6 for ipv4/ipv6 + Protocol iacTypes.StringValue // e.g. tcp + PortMin iacTypes.IntValue + PortMax iacTypes.IntValue + CIDR iacTypes.StringValue +} diff --git a/pkg/iac/providers/openstack/openstack.go b/pkg/iac/providers/openstack/openstack.go new file mode 100755 index 000000000000..04a23f28fcee --- /dev/null +++ b/pkg/iac/providers/openstack/openstack.go @@ -0,0 +1,34 @@ +package openstack + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type OpenStack struct { + Compute Compute + Networking Networking +} + +type Compute struct { + Instances []Instance + Firewall Firewall +} + +type Firewall struct { + AllowRules []FirewallRule + DenyRules []FirewallRule +} + +type FirewallRule struct { + Metadata iacTypes.Metadata + Source iacTypes.StringValue + Destination iacTypes.StringValue + SourcePort iacTypes.StringValue + DestinationPort iacTypes.StringValue + Enabled iacTypes.BoolValue +} + +type Instance struct { + Metadata iacTypes.Metadata + AdminPassword iacTypes.StringValue +} diff --git a/pkg/iac/providers/oracle/oracle.go b/pkg/iac/providers/oracle/oracle.go new file mode 100755 index 000000000000..6d6a3ecbdfe5 --- /dev/null +++ b/pkg/iac/providers/oracle/oracle.go @@ -0,0 +1,18 @@ +package oracle + +import ( + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Oracle struct { + Compute Compute +} + +type Compute struct { + AddressReservations []AddressReservation +} + +type AddressReservation struct { + Metadata iacTypes.Metadata + Pool iacTypes.StringValue // e.g. public-pool +} diff --git a/pkg/iac/providers/provider.go b/pkg/iac/providers/provider.go new file mode 100755 index 000000000000..cef13ee8f205 --- /dev/null +++ b/pkg/iac/providers/provider.go @@ -0,0 +1,51 @@ +package providers + +import ( + "strings" + + "golang.org/x/text/cases" + "golang.org/x/text/language" +) + +// Provider is the provider that the check applies to +type Provider string + +const ( + UnknownProvider Provider = "" + AWSProvider Provider = "aws" + AzureProvider Provider = "azure" + CustomProvider Provider = "custom" + DigitalOceanProvider Provider = "digitalocean" + GeneralProvider Provider = "general" + GitHubProvider Provider = "github" + GoogleProvider Provider = "google" + KubernetesProvider Provider = "kubernetes" + OracleProvider Provider = "oracle" + OpenStackProvider Provider = "openstack" + NifcloudProvider Provider = "nifcloud" + CloudStackProvider Provider = "cloudstack" +) + +func RuleProviderToString(provider Provider) string { + return strings.ToUpper(string(provider)) +} + +func (p Provider) DisplayName() string { + switch p { + case "aws": + return strings.ToUpper(string(p)) + case "digitalocean": + return "Digital Ocean" + case "github": + return "GitHub" + case "openstack": + return "OpenStack" + case "cloudstack": + return "Cloudstack" + default: + return cases.Title(language.English).String(strings.ToLower(string(p))) + } +} +func (p Provider) ConstName() string { + return strings.ReplaceAll(p.DisplayName(), " ", "") +} diff --git a/pkg/iac/rego/build.go b/pkg/iac/rego/build.go new file mode 100644 index 000000000000..bfc62ee7b188 --- /dev/null +++ b/pkg/iac/rego/build.go @@ -0,0 +1,85 @@ +package rego + +import ( + "io/fs" + "path/filepath" + "strings" + + "github.com/open-policy-agent/opa/ast" + "github.com/open-policy-agent/opa/util" + + "github.com/aquasecurity/trivy/pkg/iac/rego/schemas" + "github.com/aquasecurity/trivy/pkg/iac/types" +) + +func BuildSchemaSetFromPolicies(policies map[string]*ast.Module, paths []string, fsys fs.FS) (*ast.SchemaSet, bool, error) { + schemaSet := ast.NewSchemaSet() + schemaSet.Put(ast.MustParseRef("schema.input"), make(map[string]interface{})) // for backwards compat only + var customFound bool + for _, policy := range policies { + for _, annotation := range policy.Annotations { + for _, ss := range annotation.Schemas { + schemaName, err := ss.Schema.Ptr() + if err != nil { + continue + } + if schemaName != "input" { + if schema, ok := schemas.SchemaMap[types.Source(schemaName)]; ok { + customFound = true + schemaSet.Put(ast.MustParseRef(ss.Schema.String()), util.MustUnmarshalJSON([]byte(schema))) + } else { + b, err := findSchemaInFS(paths, fsys, schemaName) + if err != nil { + return schemaSet, true, err + } + if b != nil { + customFound = true + schemaSet.Put(ast.MustParseRef(ss.Schema.String()), util.MustUnmarshalJSON(b)) + } + } + } + } + } + } + + return schemaSet, customFound, nil +} + +// findSchemaInFS tries to find the schema anywhere in the specified FS +func findSchemaInFS(paths []string, srcFS fs.FS, schemaName string) ([]byte, error) { + var schema []byte + for _, path := range paths { + if err := fs.WalkDir(srcFS, sanitisePath(path), func(path string, info fs.DirEntry, err error) error { + if err != nil { + return err + } + if info.IsDir() { + return nil + } + if !IsJSONFile(info.Name()) { + return nil + } + if info.Name() == schemaName+".json" { + schema, err = fs.ReadFile(srcFS, filepath.ToSlash(path)) + if err != nil { + return err + } + return nil + } + return nil + }); err != nil { + return nil, err + } + } + return schema, nil +} + +func IsJSONFile(name string) bool { + return strings.HasSuffix(name, ".json") +} + +func sanitisePath(path string) string { + vol := filepath.VolumeName(path) + path = strings.TrimPrefix(path, vol) + return strings.TrimPrefix(strings.TrimPrefix(filepath.ToSlash(path), "./"), "/") +} diff --git a/pkg/iac/rego/convert/anonymous.go b/pkg/iac/rego/convert/anonymous.go new file mode 100644 index 000000000000..3563b0fccfc8 --- /dev/null +++ b/pkg/iac/rego/convert/anonymous.go @@ -0,0 +1,47 @@ +package convert + +import ( + "reflect" +) + +var converterInterface = reflect.TypeOf((*Converter)(nil)).Elem() + +func anonymousToRego(inputValue reflect.Value) interface{} { + + if inputValue.IsZero() { + return nil + } + + for inputValue.Type().Kind() == reflect.Interface { + if inputValue.IsNil() { + return nil + } + inputValue = inputValue.Elem() + } + + if inputValue.Type().Implements(converterInterface) { + returns := inputValue.MethodByName("ToRego").Call(nil) + return returns[0].Interface() + } + + for inputValue.Type().Kind() == reflect.Ptr { + if inputValue.IsNil() { + return nil + } + inputValue = inputValue.Elem() + } + + if inputValue.Type().Implements(converterInterface) { + returns := inputValue.MethodByName("ToRego").Call(nil) + return returns[0].Interface() + } + + switch kind := inputValue.Type().Kind(); kind { + case reflect.Struct: + return StructToRego(inputValue) + case reflect.Slice: + return SliceToRego(inputValue) + } + + return nil +} diff --git a/pkg/iac/rego/convert/converter.go b/pkg/iac/rego/convert/converter.go new file mode 100644 index 000000000000..e132d6875aa2 --- /dev/null +++ b/pkg/iac/rego/convert/converter.go @@ -0,0 +1,5 @@ +package convert + +type Converter interface { + ToRego() interface{} +} diff --git a/pkg/iac/rego/convert/slice.go b/pkg/iac/rego/convert/slice.go new file mode 100644 index 000000000000..8bb68a7fb551 --- /dev/null +++ b/pkg/iac/rego/convert/slice.go @@ -0,0 +1,32 @@ +package convert + +import ( + "reflect" +) + +func SliceToRego(inputValue reflect.Value) []interface{} { + + // make sure we have a struct literal + for inputValue.Type().Kind() == reflect.Ptr { + if inputValue.IsNil() { + return nil + } + inputValue = inputValue.Elem() + } + if inputValue.Type().Kind() != reflect.Slice { + panic("not a slice") + } + + output := make([]interface{}, inputValue.Len()) + + for i := 0; i < inputValue.Len(); i++ { + val := inputValue.Index(i) + if val.Type().Kind() == reflect.Ptr && val.IsZero() { + output[i] = nil + continue + } + output[i] = anonymousToRego(val) + } + + return output +} diff --git a/pkg/iac/rego/convert/slice_test.go b/pkg/iac/rego/convert/slice_test.go new file mode 100644 index 000000000000..5e071d0ed52a --- /dev/null +++ b/pkg/iac/rego/convert/slice_test.go @@ -0,0 +1,57 @@ +package convert + +import ( + "reflect" + "testing" + + "github.com/aquasecurity/trivy/pkg/iac/types" + + "github.com/stretchr/testify/assert" +) + +func Test_SliceConversion(t *testing.T) { + input := []struct { + X string + Y int + Z struct { + A float64 + } + }{ + {}, + } + input[0].Z.A = 123 + converted := SliceToRego(reflect.ValueOf(input)) + assert.Equal(t, []interface{}{map[string]interface{}{"z": map[string]interface{}{}}}, converted) +} + +func Test_SliceTypesConversion(t *testing.T) { + input := []types.StringValue{ + types.String("test1", types.NewTestMetadata()), + types.String("test2", types.NewTestMetadata()), + } + converted := SliceToRego(reflect.ValueOf(input)) + assert.Equal(t, []interface{}{ + map[string]interface{}{ + "value": "test1", + "filepath": "test.test", + "startline": 123, + "endline": 123, + "sourceprefix": "", + "managed": true, + "explicit": false, + "fskey": "", + "resource": "", + }, + map[string]interface{}{ + "value": "test2", + "filepath": "test.test", + "startline": 123, + "endline": 123, + "sourceprefix": "", + "managed": true, + "explicit": false, + "fskey": "", + "resource": "", + }, + }, converted) +} diff --git a/pkg/iac/rego/convert/struct.go b/pkg/iac/rego/convert/struct.go new file mode 100644 index 000000000000..c4819b96815e --- /dev/null +++ b/pkg/iac/rego/convert/struct.go @@ -0,0 +1,68 @@ +package convert + +import ( + "reflect" + "strings" + + "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type metadataProvider interface { + GetMetadata() types.Metadata +} + +var metadataInterface = reflect.TypeOf((*metadataProvider)(nil)).Elem() + +func StructToRego(inputValue reflect.Value) map[string]interface{} { + + // make sure we have a struct literal + for inputValue.Type().Kind() == reflect.Ptr || inputValue.Type().Kind() == reflect.Interface { + if inputValue.IsNil() { + return nil + } + inputValue = inputValue.Elem() + } + if inputValue.Type().Kind() != reflect.Struct { + panic("not a struct") + } + + output := make(map[string]interface{}, inputValue.NumField()) + + for i := 0; i < inputValue.NumField(); i++ { + field := inputValue.Field(i) + typ := inputValue.Type().Field(i) + name := typ.Name + if !typ.IsExported() { + continue + } + if field.Interface() == nil { + continue + } + val := anonymousToRego(reflect.ValueOf(field.Interface())) + if val == nil { + continue + } + key := strings.ToLower(name) + if _, ok := field.Interface().(types.Metadata); key == "metadata" && ok { + continue + } + output[strings.ToLower(name)] = val + } + + if inputValue.Type().Implements(metadataInterface) { + returns := inputValue.MethodByName("GetMetadata").Call(nil) + if metadata, ok := returns[0].Interface().(types.Metadata); ok { + output["__defsec_metadata"] = metadata.ToRego() + } + } else { + metaVal := inputValue.FieldByName("Metadata") + if metaVal.Kind() == reflect.Struct { + if meta, ok := metaVal.Interface().(types.Metadata); ok { + output["__defsec_metadata"] = meta.ToRego() + } + } + + } + + return output +} diff --git a/pkg/iac/rego/convert/struct_test.go b/pkg/iac/rego/convert/struct_test.go new file mode 100644 index 000000000000..ca72efabdedd --- /dev/null +++ b/pkg/iac/rego/convert/struct_test.go @@ -0,0 +1,21 @@ +package convert + +import ( + "reflect" + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_StructConversion(t *testing.T) { + input := struct { + X string + Y int + Z struct { + A float64 + } + }{} + input.Z.A = 123 + converted := StructToRego(reflect.ValueOf(input)) + assert.Equal(t, map[string]interface{}{"z": map[string]interface{}{}}, converted) +} diff --git a/pkg/iac/rego/custom.go b/pkg/iac/rego/custom.go new file mode 100644 index 000000000000..c15b05a4577f --- /dev/null +++ b/pkg/iac/rego/custom.go @@ -0,0 +1,109 @@ +package rego + +import ( + "github.com/open-policy-agent/opa/ast" + "github.com/open-policy-agent/opa/rego" + "github.com/open-policy-agent/opa/types" +) + +func init() { + rego.RegisterBuiltin2(®o.Function{ + Name: "result.new", + Decl: types.NewFunction(types.Args(types.S, types.A), types.A), + }, + createResult, + ) + + rego.RegisterBuiltin1(®o.Function{ + Name: "isManaged", + Decl: types.NewFunction(types.Args(types.A), types.B), + }, + func(c rego.BuiltinContext, resource *ast.Term) (*ast.Term, error) { + metadata, err := createResult(c, ast.StringTerm(""), resource) + if err != nil { + return nil, err + } + return metadata.Get(ast.StringTerm("managed")), nil + }, + ) +} + +func createResult(ctx rego.BuiltinContext, msg, cause *ast.Term) (*ast.Term, error) { + + metadata := map[string]*ast.Term{ + "startline": ast.IntNumberTerm(0), + "endline": ast.IntNumberTerm(0), + "sourceprefix": ast.StringTerm(""), + "filepath": ast.StringTerm(""), + "explicit": ast.BooleanTerm(false), + "managed": ast.BooleanTerm(true), + "fskey": ast.StringTerm(""), + "resource": ast.StringTerm(""), + "parent": ast.NullTerm(), + } + if msg != nil { + metadata["msg"] = msg + } + + // universal + input := cause.Get(ast.StringTerm("__defsec_metadata")) + if input == nil { + // docker + input = cause + } + metadata = updateMetadata(metadata, input) + + if term := input.Get(ast.StringTerm("parent")); term != nil { + var err error + metadata["parent"], err = createResult(ctx, nil, term) + if err != nil { + return nil, err + } + } + + var values [][2]*ast.Term + for key, val := range metadata { + values = append(values, [2]*ast.Term{ + ast.StringTerm(key), + val, + }) + } + return ast.ObjectTerm(values...), nil +} + +func updateMetadata(metadata map[string]*ast.Term, input *ast.Term) map[string]*ast.Term { + if term := input.Get(ast.StringTerm("startline")); term != nil { + metadata["startline"] = term + } + if term := input.Get(ast.StringTerm("StartLine")); term != nil { + metadata["startline"] = term + } + if term := input.Get(ast.StringTerm("endline")); term != nil { + metadata["endline"] = term + } + if term := input.Get(ast.StringTerm("EndLine")); term != nil { + metadata["endline"] = term + } + if term := input.Get(ast.StringTerm("filepath")); term != nil { + metadata["filepath"] = term + } + if term := input.Get(ast.StringTerm("sourceprefix")); term != nil { + metadata["sourceprefix"] = term + } + if term := input.Get(ast.StringTerm("Path")); term != nil { + metadata["filepath"] = term + } + if term := input.Get(ast.StringTerm("explicit")); term != nil { + metadata["explicit"] = term + } + if term := input.Get(ast.StringTerm("managed")); term != nil { + metadata["managed"] = term + } + if term := input.Get(ast.StringTerm("fskey")); term != nil { + metadata["fskey"] = term + } + if term := input.Get(ast.StringTerm("resource")); term != nil { + metadata["resource"] = term + } + return metadata +} diff --git a/pkg/iac/rego/embed.go b/pkg/iac/rego/embed.go new file mode 100644 index 000000000000..16eff7345cc7 --- /dev/null +++ b/pkg/iac/rego/embed.go @@ -0,0 +1,108 @@ +package rego + +import ( + "context" + "io/fs" + "path/filepath" + "strings" + + "github.com/open-policy-agent/opa/ast" + + rules2 "github.com/aquasecurity/trivy-policies" + "github.com/aquasecurity/trivy/pkg/iac/rules" +) + +func init() { + + modules, err := LoadEmbeddedPolicies() + if err != nil { + // we should panic as the policies were not embedded properly + panic(err) + } + loadedLibs, err := LoadEmbeddedLibraries() + if err != nil { + panic(err) + } + for name, policy := range loadedLibs { + modules[name] = policy + } + + RegisterRegoRules(modules) +} + +func RegisterRegoRules(modules map[string]*ast.Module) { + ctx := context.TODO() + + schemaSet, _, _ := BuildSchemaSetFromPolicies(modules, nil, nil) + + compiler := ast.NewCompiler(). + WithSchemas(schemaSet). + WithCapabilities(nil). + WithUseTypeCheckAnnotations(true) + + compiler.Compile(modules) + if compiler.Failed() { + // we should panic as the embedded rego policies are syntactically incorrect... + panic(compiler.Errors) + } + + retriever := NewMetadataRetriever(compiler) + for _, module := range modules { + metadata, err := retriever.RetrieveMetadata(ctx, module) + if err != nil { + continue + } + if metadata.AVDID == "" { + continue + } + rules.Register( + metadata.ToRule(), + ) + } +} + +func LoadEmbeddedPolicies() (map[string]*ast.Module, error) { + return LoadPoliciesFromDirs(rules2.EmbeddedPolicyFileSystem, ".") +} + +func LoadEmbeddedLibraries() (map[string]*ast.Module, error) { + return LoadPoliciesFromDirs(rules2.EmbeddedLibraryFileSystem, ".") +} + +func LoadPoliciesFromDirs(target fs.FS, paths ...string) (map[string]*ast.Module, error) { + modules := make(map[string]*ast.Module) + for _, path := range paths { + if err := fs.WalkDir(target, sanitisePath(path), func(path string, info fs.DirEntry, err error) error { + if err != nil { + return err + } + if info.IsDir() { + return nil + } + + if strings.HasSuffix(filepath.Dir(filepath.ToSlash(path)), filepath.Join("advanced", "optional")) { + return fs.SkipDir + } + + if !IsRegoFile(info.Name()) || IsDotFile(info.Name()) { + return nil + } + data, err := fs.ReadFile(target, filepath.ToSlash(path)) + if err != nil { + return err + } + module, err := ast.ParseModuleWithOpts(path, string(data), ast.ParserOptions{ + ProcessAnnotation: true, + }) + if err != nil { + // s.debug.Log("Failed to load module: %s, err: %s", filepath.ToSlash(path), err.Error()) + return err + } + modules[path] = module + return nil + }); err != nil { + return nil, err + } + } + return modules, nil +} diff --git a/pkg/iac/rego/embed_test.go b/pkg/iac/rego/embed_test.go new file mode 100644 index 000000000000..77a88e40680b --- /dev/null +++ b/pkg/iac/rego/embed_test.go @@ -0,0 +1,123 @@ +package rego + +import ( + "testing" + + rules2 "github.com/aquasecurity/trivy-policies" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/open-policy-agent/opa/ast" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_EmbeddedLoading(t *testing.T) { + + frameworkRules := rules.GetRegistered() + var found bool + for _, rule := range frameworkRules { + if rule.GetRule().RegoPackage != "" { + found = true + } + } + assert.True(t, found, "no embedded rego policies were registered as rules") +} + +func Test_RegisterRegoRules(t *testing.T) { + var testCases = []struct { + name string + inputPolicy string + expectedError bool + }{ + { + name: "happy path old single schema", + inputPolicy: `# METADATA +# title: "dummy title" +# description: "some description" +# scope: package +# schemas: +# - input: schema["input"] +# custom: +# input: +# selector: +# - type: dockerfile +package builtin.dockerfile.DS1234 +deny[res]{ + res := true +}`, + }, + { + name: "happy path new builtin single schema", + inputPolicy: `# METADATA +# title: "dummy title" +# description: "some description" +# scope: package +# schemas: +# - input: schema["dockerfile"] +# custom: +# input: +# selector: +# - type: dockerfile +package builtin.dockerfile.DS1234 +deny[res]{ + res := true +}`, + }, + { + name: "happy path new multiple schemas", + inputPolicy: `# METADATA +# title: "dummy title" +# description: "some description" +# scope: package +# schemas: +# - input: schema["dockerfile"] +# - input: schema["kubernetes"] +# custom: +# input: +# selector: +# - type: dockerfile +package builtin.dockerfile.DS1234 +deny[res]{ + res := true +}`, + }, + { + name: "sad path schema does not exist", + inputPolicy: `# METADATA +# title: "dummy title" +# description: "some description" +# scope: package +# schemas: +# - input: schema["invalid schema"] +# custom: +# input: +# selector: +# - type: dockerfile +package builtin.dockerfile.DS1234 +deny[res]{ + res := true +}`, + expectedError: true, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + policies, err := LoadPoliciesFromDirs(rules2.EmbeddedLibraryFileSystem, ".") + require.NoError(t, err) + newRule, err := ast.ParseModuleWithOpts("/rules/newrule.rego", tc.inputPolicy, ast.ParserOptions{ + ProcessAnnotation: true, + }) + require.NoError(t, err) + + policies["/rules/newrule.rego"] = newRule + switch { + case tc.expectedError: + assert.Panics(t, func() { + RegisterRegoRules(policies) + }, tc.name) + default: + RegisterRegoRules(policies) + } + }) + } +} diff --git a/pkg/iac/rego/exceptions.go b/pkg/iac/rego/exceptions.go new file mode 100644 index 000000000000..7abe9e8a9afa --- /dev/null +++ b/pkg/iac/rego/exceptions.go @@ -0,0 +1,33 @@ +package rego + +import ( + "context" + "fmt" +) + +func (s *Scanner) isIgnored(ctx context.Context, namespace, ruleName string, input interface{}) (bool, error) { + if ignored, err := s.isNamespaceIgnored(ctx, namespace, input); err != nil { + return false, err + } else if ignored { + return true, nil + } + return s.isRuleIgnored(ctx, namespace, ruleName, input) +} + +func (s *Scanner) isNamespaceIgnored(ctx context.Context, namespace string, input interface{}) (bool, error) { + exceptionQuery := fmt.Sprintf("data.namespace.exceptions.exception[_] == %q", namespace) + result, _, err := s.runQuery(ctx, exceptionQuery, input, true) + if err != nil { + return false, fmt.Errorf("query namespace exceptions: %w", err) + } + return result.Allowed(), nil +} + +func (s *Scanner) isRuleIgnored(ctx context.Context, namespace, ruleName string, input interface{}) (bool, error) { + exceptionQuery := fmt.Sprintf("endswith(%q, data.%s.exception[_][_])", ruleName, namespace) + result, _, err := s.runQuery(ctx, exceptionQuery, input, true) + if err != nil { + return false, err + } + return result.Allowed(), nil +} diff --git a/pkg/iac/rego/load.go b/pkg/iac/rego/load.go new file mode 100644 index 000000000000..aeef80144472 --- /dev/null +++ b/pkg/iac/rego/load.go @@ -0,0 +1,210 @@ +package rego + +import ( + "context" + "fmt" + "io" + "io/fs" + "strings" + + "github.com/open-policy-agent/opa/ast" + "github.com/open-policy-agent/opa/bundle" +) + +func IsRegoFile(name string) bool { + return strings.HasSuffix(name, bundle.RegoExt) && !strings.HasSuffix(name, "_test"+bundle.RegoExt) +} + +func IsDotFile(name string) bool { + return strings.HasPrefix(name, ".") +} + +func (s *Scanner) loadPoliciesFromReaders(readers []io.Reader) (map[string]*ast.Module, error) { + modules := make(map[string]*ast.Module) + for i, r := range readers { + moduleName := fmt.Sprintf("reader_%d", i) + data, err := io.ReadAll(r) + if err != nil { + return nil, err + } + module, err := ast.ParseModuleWithOpts(moduleName, string(data), ast.ParserOptions{ + ProcessAnnotation: true, + }) + if err != nil { + return nil, err + } + modules[moduleName] = module + } + return modules, nil +} + +func (s *Scanner) loadEmbedded(enableEmbeddedLibraries, enableEmbeddedPolicies bool) error { + if enableEmbeddedLibraries { + loadedLibs, errLoad := LoadEmbeddedLibraries() + if errLoad != nil { + return fmt.Errorf("failed to load embedded rego libraries: %w", errLoad) + } + for name, policy := range loadedLibs { + s.policies[name] = policy + } + s.debug.Log("Loaded %d embedded libraries.", len(loadedLibs)) + } + + if enableEmbeddedPolicies { + loaded, err := LoadEmbeddedPolicies() + if err != nil { + return fmt.Errorf("failed to load embedded rego policies: %w", err) + } + for name, policy := range loaded { + s.policies[name] = policy + } + s.debug.Log("Loaded %d embedded policies.", len(loaded)) + } + + return nil +} + +func (s *Scanner) LoadPolicies(enableEmbeddedLibraries, enableEmbeddedPolicies bool, srcFS fs.FS, paths []string, readers []io.Reader) error { + + if s.policies == nil { + s.policies = make(map[string]*ast.Module) + } + + if s.policyFS != nil { + s.debug.Log("Overriding filesystem for policies!") + srcFS = s.policyFS + } + + if err := s.loadEmbedded(enableEmbeddedLibraries, enableEmbeddedPolicies); err != nil { + return err + } + + var err error + if len(paths) > 0 { + loaded, err := LoadPoliciesFromDirs(srcFS, paths...) + if err != nil { + return fmt.Errorf("failed to load rego policies from %s: %w", paths, err) + } + for name, policy := range loaded { + s.policies[name] = policy + } + s.debug.Log("Loaded %d policies from disk.", len(loaded)) + } + + if len(readers) > 0 { + loaded, err := s.loadPoliciesFromReaders(readers) + if err != nil { + return fmt.Errorf("failed to load rego policies from reader(s): %w", err) + } + for name, policy := range loaded { + s.policies[name] = policy + } + s.debug.Log("Loaded %d policies from reader(s).", len(loaded)) + } + + // gather namespaces + uniq := make(map[string]struct{}) + for _, module := range s.policies { + namespace := getModuleNamespace(module) + uniq[namespace] = struct{}{} + } + var namespaces []string + for namespace := range uniq { + namespaces = append(namespaces, namespace) + } + + dataFS := srcFS + if s.dataFS != nil { + s.debug.Log("Overriding filesystem for data!") + dataFS = s.dataFS + } + store, err := initStore(dataFS, s.dataDirs, namespaces) + if err != nil { + return fmt.Errorf("unable to load data: %w", err) + } + s.store = store + + return s.compilePolicies(srcFS, paths) +} + +func (s *Scanner) prunePoliciesWithError(compiler *ast.Compiler) error { + if len(compiler.Errors) > s.regoErrorLimit { + s.debug.Log("Error(s) occurred while loading policies") + return compiler.Errors + } + + for _, e := range compiler.Errors { + s.debug.Log("Error occurred while parsing: %s, %s", e.Location.File, e.Error()) + delete(s.policies, e.Location.File) + } + return nil +} + +func (s *Scanner) compilePolicies(srcFS fs.FS, paths []string) error { + + schemaSet, custom, err := BuildSchemaSetFromPolicies(s.policies, paths, srcFS) + if err != nil { + return err + } + if custom { + s.inputSchema = nil // discard auto detected input schema in favor of policy defined schema + } + + compiler := ast.NewCompiler(). + WithUseTypeCheckAnnotations(true). + WithCapabilities(ast.CapabilitiesForThisVersion()). + WithSchemas(schemaSet) + + compiler.Compile(s.policies) + if compiler.Failed() { + if err := s.prunePoliciesWithError(compiler); err != nil { + return err + } + return s.compilePolicies(srcFS, paths) + } + retriever := NewMetadataRetriever(compiler) + + if err := s.filterModules(retriever); err != nil { + return err + } + if s.inputSchema != nil { + schemaSet := ast.NewSchemaSet() + schemaSet.Put(ast.MustParseRef("schema.input"), s.inputSchema) + compiler.WithSchemas(schemaSet) + compiler.Compile(s.policies) + if compiler.Failed() { + if err := s.prunePoliciesWithError(compiler); err != nil { + return err + } + return s.compilePolicies(srcFS, paths) + } + } + s.compiler = compiler + s.retriever = retriever + return nil +} + +func (s *Scanner) filterModules(retriever *MetadataRetriever) error { + + filtered := make(map[string]*ast.Module) + for name, module := range s.policies { + meta, err := retriever.RetrieveMetadata(context.TODO(), module) + if err != nil { + return err + } + if len(meta.InputOptions.Selectors) == 0 { + s.debug.Log("WARNING: Module %s has no input selectors - it will be loaded for all inputs!", name) + filtered[name] = module + continue + } + for _, selector := range meta.InputOptions.Selectors { + if selector.Type == string(s.sourceType) { + filtered[name] = module + break + } + } + } + + s.policies = filtered + return nil +} diff --git a/pkg/iac/rego/load_test.go b/pkg/iac/rego/load_test.go new file mode 100644 index 000000000000..85f574e0c649 --- /dev/null +++ b/pkg/iac/rego/load_test.go @@ -0,0 +1,46 @@ +package rego + +import ( + "bytes" + "embed" + "testing" + + "github.com/aquasecurity/trivy/pkg/iac/types" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +//go:embed all:testdata/policies +var testEmbedFS embed.FS + +func Test_RegoScanning_WithSomeInvalidPolicies(t *testing.T) { + t.Run("allow no errors", func(t *testing.T) { + var debugBuf bytes.Buffer + scanner := NewScanner(types.SourceDockerfile) + scanner.SetRegoErrorLimit(0) + scanner.SetDebugWriter(&debugBuf) + p, _ := LoadPoliciesFromDirs(testEmbedFS, ".") + require.NotNil(t, p) + + scanner.policies = p + err := scanner.compilePolicies(testEmbedFS, []string{"policies"}) + require.ErrorContains(t, err, `want (one of): ["Cmd" "EndLine" "Flags" "JSON" "Original" "Path" "Stage" "StartLine" "SubCmd" "Value"]`) + assert.Contains(t, debugBuf.String(), "Error(s) occurred while loading policies") + }) + + t.Run("allow up to max 1 error", func(t *testing.T) { + var debugBuf bytes.Buffer + scanner := NewScanner(types.SourceDockerfile) + scanner.SetRegoErrorLimit(1) + scanner.SetDebugWriter(&debugBuf) + + p, _ := LoadPoliciesFromDirs(testEmbedFS, ".") + scanner.policies = p + + err := scanner.compilePolicies(testEmbedFS, []string{"policies"}) + require.NoError(t, err) + + assert.Contains(t, debugBuf.String(), "Error occurred while parsing: testdata/policies/invalid.rego, testdata/policies/invalid.rego:7") + }) + +} diff --git a/pkg/iac/rego/metadata.go b/pkg/iac/rego/metadata.go new file mode 100644 index 000000000000..f2a6505910d1 --- /dev/null +++ b/pkg/iac/rego/metadata.go @@ -0,0 +1,395 @@ +package rego + +import ( + "context" + "fmt" + "strings" + + "github.com/mitchellh/mapstructure" + "github.com/open-policy-agent/opa/ast" + "github.com/open-policy-agent/opa/rego" + + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/providers" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/severity" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type StaticMetadata struct { + ID string + AVDID string + Title string + ShortCode string + Aliases []string + Description string + Severity string + RecommendedActions string + PrimaryURL string + References []string + InputOptions InputOptions + Package string + Frameworks map[framework.Framework][]string + Provider string + Service string + Library bool + CloudFormation *scan.EngineMetadata + Terraform *scan.EngineMetadata +} + +func NewStaticMetadata(pkgPath string, inputOpt InputOptions) *StaticMetadata { + return &StaticMetadata{ + ID: "N/A", + Title: "N/A", + Severity: "UNKNOWN", + Description: fmt.Sprintf("Rego module: %s", pkgPath), + Package: pkgPath, + InputOptions: inputOpt, + Frameworks: make(map[framework.Framework][]string), + } +} + +func (sm *StaticMetadata) Update(meta map[string]any) error { + + upd := func(field *string, key string) { + if raw, ok := meta[key]; ok { + *field = fmt.Sprintf("%s", raw) + } + } + + upd(&sm.ID, "id") + upd(&sm.AVDID, "avd_id") + upd(&sm.Title, "title") + upd(&sm.ShortCode, "short_code") + upd(&sm.Description, "description") + upd(&sm.Service, "service") + upd(&sm.Provider, "provider") + upd(&sm.RecommendedActions, "recommended_actions") + upd(&sm.RecommendedActions, "recommended_action") + + if raw, ok := meta["severity"]; ok { + sm.Severity = strings.ToUpper(fmt.Sprintf("%s", raw)) + } + + if raw, ok := meta["library"]; ok { + if lib, ok := raw.(bool); ok { + sm.Library = lib + } + } + + if raw, ok := meta["url"]; ok { + sm.References = append(sm.References, fmt.Sprintf("%s", raw)) + } + if raw, ok := meta["frameworks"]; ok { + frameworks, ok := raw.(map[string][]string) + if !ok { + return fmt.Errorf("failed to parse framework metadata: not an object") + } + for fw, sections := range frameworks { + sm.Frameworks[framework.Framework(fw)] = sections + } + } + if raw, ok := meta["related_resources"]; ok { + switch relatedResources := raw.(type) { + case []map[string]any: + for _, relatedResource := range relatedResources { + if raw, ok := relatedResource["ref"]; ok { + sm.References = append(sm.References, fmt.Sprintf("%s", raw)) + } + } + case []string: + sm.References = append(sm.References, relatedResources...) + } + } + + sm.updateAliases(meta) + + var err error + if sm.CloudFormation, err = NewEngineMetadata("cloud_formation", meta); err != nil { + return err + } + + if sm.Terraform, err = NewEngineMetadata("terraform", meta); err != nil { + return err + } + + return nil +} + +func (sm *StaticMetadata) updateAliases(meta map[string]any) { + if raw, ok := meta["aliases"]; ok { + if aliases, ok := raw.([]interface{}); ok { + for _, a := range aliases { + sm.Aliases = append(sm.Aliases, fmt.Sprintf("%s", a)) + } + } + } +} + +func (sm *StaticMetadata) FromAnnotations(annotations *ast.Annotations) error { + sm.Title = annotations.Title + sm.Description = annotations.Description + for _, resource := range annotations.RelatedResources { + if !resource.Ref.IsAbs() { + continue + } + sm.References = append(sm.References, resource.Ref.String()) + } + if custom := annotations.Custom; custom != nil { + if err := sm.Update(custom); err != nil { + return err + } + } + if len(annotations.RelatedResources) > 0 { + sm.PrimaryURL = annotations.RelatedResources[0].Ref.String() + } + return nil +} + +func NewEngineMetadata(schema string, meta map[string]interface{}) (*scan.EngineMetadata, error) { + var sMap map[string]interface{} + if raw, ok := meta[schema]; ok { + sMap, ok = raw.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("failed to parse %s metadata: not an object", schema) + } + } + + var em scan.EngineMetadata + if val, ok := sMap["good_examples"].(string); ok { + em.GoodExamples = []string{val} + } + if val, ok := sMap["bad_examples"].(string); ok { + em.BadExamples = []string{val} + } + if val, ok := sMap["links"].(string); ok { + em.Links = []string{val} + } + if val, ok := sMap["remediation_markdown"].(string); ok { + em.RemediationMarkdown = val + } + + return &em, nil +} + +type InputOptions struct { + Combined bool + Selectors []Selector +} + +type Selector struct { + Type string + Subtypes []SubType +} + +type SubType struct { + Group string + Version string + Kind string + Namespace string + Service string // only for cloud + Provider string // only for cloud +} + +func (m StaticMetadata) ToRule() scan.Rule { + + provider := "generic" + if m.Provider != "" { + provider = m.Provider + } else if len(m.InputOptions.Selectors) > 0 { + provider = m.InputOptions.Selectors[0].Type + } + service := "general" + if m.Service != "" { + service = m.Service + } + + return scan.Rule{ + AVDID: m.AVDID, + Aliases: append(m.Aliases, m.ID), + ShortCode: m.ShortCode, + Summary: m.Title, + Explanation: m.Description, + Impact: "", + Resolution: m.RecommendedActions, + Provider: providers.Provider(provider), + Service: service, + Links: m.References, + Severity: severity.Severity(m.Severity), + RegoPackage: m.Package, + Frameworks: m.Frameworks, + CloudFormation: m.CloudFormation, + Terraform: m.Terraform, + } +} + +type MetadataRetriever struct { + compiler *ast.Compiler +} + +func NewMetadataRetriever(compiler *ast.Compiler) *MetadataRetriever { + return &MetadataRetriever{ + compiler: compiler, + } +} + +func (m *MetadataRetriever) findPackageAnnotations(module *ast.Module) *ast.Annotations { + annotationSet := m.compiler.GetAnnotationSet() + if annotationSet == nil { + return nil + } + for _, annotation := range annotationSet.Flatten() { + if annotation.GetPackage().Path.String() != module.Package.Path.String() || annotation.Annotations.Scope != "package" { + continue + } + return annotation.Annotations + } + return nil +} + +func (m *MetadataRetriever) RetrieveMetadata(ctx context.Context, module *ast.Module, contents ...any) (*StaticMetadata, error) { + + metadata := NewStaticMetadata( + module.Package.Path.String(), + m.queryInputOptions(ctx, module), + ) + + // read metadata from official rego annotations if possible + if annotations := m.findPackageAnnotations(module); annotations != nil { + if err := metadata.FromAnnotations(annotations); err != nil { + return nil, err + } + return metadata, nil + } + + // otherwise, try to read metadata from the rego module itself - we used to do this before annotations were a thing + namespace := getModuleNamespace(module) + metadataQuery := fmt.Sprintf("data.%s.__rego_metadata__", namespace) + + options := []func(*rego.Rego){ + rego.Query(metadataQuery), + rego.Compiler(m.compiler), + rego.Capabilities(nil), + } + // support dynamic metadata fields + for _, in := range contents { + options = append(options, rego.Input(in)) + } + + instance := rego.New(options...) + set, err := instance.Eval(ctx) + if err != nil { + return nil, err + } + + // no metadata supplied + if set == nil { + return metadata, nil + } + + if len(set) != 1 { + return nil, fmt.Errorf("failed to parse metadata: unexpected set length") + } + if len(set[0].Expressions) != 1 { + return nil, fmt.Errorf("failed to parse metadata: unexpected expression length") + } + expression := set[0].Expressions[0] + meta, ok := expression.Value.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("failed to parse metadata: not an object") + } + + if err := metadata.Update(meta); err != nil { + return nil, err + } + + return metadata, nil +} + +// nolint: gocyclo +func (m *MetadataRetriever) queryInputOptions(ctx context.Context, module *ast.Module) InputOptions { + + options := InputOptions{ + Combined: false, + Selectors: nil, + } + + var metadata map[string]interface{} + + // read metadata from official rego annotations if possible + if annotation := m.findPackageAnnotations(module); annotation != nil && annotation.Custom != nil { + if input, ok := annotation.Custom["input"]; ok { + if mapped, ok := input.(map[string]interface{}); ok { + metadata = mapped + } + } + } + + if metadata == nil { + + namespace := getModuleNamespace(module) + inputOptionQuery := fmt.Sprintf("data.%s.__rego_input__", namespace) + instance := rego.New( + rego.Query(inputOptionQuery), + rego.Compiler(m.compiler), + rego.Capabilities(nil), + ) + set, err := instance.Eval(ctx) + if err != nil { + return options + } + + if len(set) != 1 { + return options + } + if len(set[0].Expressions) != 1 { + return options + } + expression := set[0].Expressions[0] + meta, ok := expression.Value.(map[string]interface{}) + if !ok { + return options + } + metadata = meta + } + + if raw, ok := metadata["combine"]; ok { + if combine, ok := raw.(bool); ok { + options.Combined = combine + } + } + + if raw, ok := metadata["selector"]; ok { + if each, ok := raw.([]interface{}); ok { + for _, rawSelector := range each { + var selector Selector + if selectorMap, ok := rawSelector.(map[string]interface{}); ok { + if rawType, ok := selectorMap["type"]; ok { + selector.Type = fmt.Sprintf("%s", rawType) + // handle backward compatibility for "defsec" source type which is now "cloud" + if selector.Type == string(iacTypes.SourceDefsec) { + selector.Type = string(iacTypes.SourceCloud) + } + } + if subType, ok := selectorMap["subtypes"].([]interface{}); ok { + for _, subT := range subType { + if st, ok := subT.(map[string]interface{}); ok { + s := SubType{} + _ = mapstructure.Decode(st, &s) + selector.Subtypes = append(selector.Subtypes, s) + } + } + } + } + options.Selectors = append(options.Selectors, selector) + } + } + } + + return options + +} + +func getModuleNamespace(module *ast.Module) string { + return strings.TrimPrefix(module.Package.Path.String(), "data.") +} diff --git a/pkg/iac/rego/metadata_test.go b/pkg/iac/rego/metadata_test.go new file mode 100644 index 000000000000..d12b2d5d55f6 --- /dev/null +++ b/pkg/iac/rego/metadata_test.go @@ -0,0 +1,191 @@ +package rego + +import ( + "testing" + + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_UpdateStaticMetadata(t *testing.T) { + t.Run("happy", func(t *testing.T) { + sm := StaticMetadata{ + ID: "i", + AVDID: "a", + Title: "t", + ShortCode: "sc", + Aliases: []string{"a", "b", "c"}, + Description: "d", + Severity: "s", + RecommendedActions: "ra", + PrimaryURL: "pu", + References: []string{"r"}, + Package: "pkg", + Provider: "pr", + Service: "srvc", + Library: false, + Frameworks: map[framework.Framework][]string{ + framework.Default: {"dd"}, + }, + } + + require.NoError(t, sm.Update( + map[string]any{ + "id": "i_n", + "avd_id": "a_n", + "title": "t_n", + "short_code": "sc_n", + "aliases": []any{"a_n", "b_n", "c_n"}, + "description": "d_n", + "service": "srvc_n", + "provider": "pr_n", + "recommended_actions": "ra_n", + "severity": "s_n", + "library": true, + "url": "r_n", + "frameworks": map[string][]string{ + "all": {"aa"}, + }, + }, + )) + + expected := StaticMetadata{ + ID: "i_n", + AVDID: "a_n", + Title: "t_n", + ShortCode: "sc_n", + Aliases: []string{"a", "b", "c", "a_n", "b_n", "c_n"}, + Description: "d_n", + Severity: "S_N", + RecommendedActions: "ra_n", + PrimaryURL: "pu", + References: []string{"r", "r_n"}, + Package: "pkg", + Provider: "pr_n", + Service: "srvc_n", + Library: true, + Frameworks: map[framework.Framework][]string{ + framework.Default: {"dd"}, + framework.ALL: {"aa"}, + }, + CloudFormation: &scan.EngineMetadata{}, + Terraform: &scan.EngineMetadata{}, + } + + assert.Equal(t, expected, sm) + }) + + t.Run("related resources are a map", func(t *testing.T) { + sm := StaticMetadata{ + References: []string{"r"}, + } + require.NoError(t, sm.Update(map[string]any{ + "related_resources": []map[string]any{ + { + "ref": "r1_n", + }, + { + "ref": "r2_n", + }, + }, + })) + + expected := StaticMetadata{ + References: []string{"r", "r1_n", "r2_n"}, + CloudFormation: &scan.EngineMetadata{}, + Terraform: &scan.EngineMetadata{}, + } + + assert.Equal(t, expected, sm) + }) + + t.Run("related resources are a string", func(t *testing.T) { + sm := StaticMetadata{ + References: []string{"r"}, + } + require.NoError(t, sm.Update(map[string]any{ + "related_resources": []string{"r1_n", "r2_n"}, + })) + + expected := StaticMetadata{ + References: []string{"r", "r1_n", "r2_n"}, + CloudFormation: &scan.EngineMetadata{}, + Terraform: &scan.EngineMetadata{}, + } + + assert.Equal(t, expected, sm) + }) +} + +func Test_getEngineMetadata(t *testing.T) { + inputSchema := map[string]interface{}{ + "terraform": map[string]interface{}{ + "good_examples": `resource "aws_cloudtrail" "good_example" { + is_multi_region_trail = true + + event_selector { + read_write_type = "All" + include_management_events = true + + data_resource { + type = "AWS::S3::Object" + values = ["${data.aws_s3_bucket.important-bucket.arn}/"] + } + } + }`, + }, + "cloud_formation": map[string]interface{}{"good_examples": `--- +Resources: + GoodExample: + Type: AWS::CloudTrail::Trail + Properties: + IsLogging: true + IsMultiRegionTrail: true + S3BucketName: "CloudtrailBucket" + S3KeyPrefix: "/trailing" + TrailName: "Cloudtrail"`, + }} + + var testCases = []struct { + schema string + want string + }{ + { + schema: "terraform", + want: `resource "aws_cloudtrail" "good_example" { + is_multi_region_trail = true + + event_selector { + read_write_type = "All" + include_management_events = true + + data_resource { + type = "AWS::S3::Object" + values = ["${data.aws_s3_bucket.important-bucket.arn}/"] + } + } + }`, + }, + {schema: "cloud_formation", + want: `--- +Resources: + GoodExample: + Type: AWS::CloudTrail::Trail + Properties: + IsLogging: true + IsMultiRegionTrail: true + S3BucketName: "CloudtrailBucket" + S3KeyPrefix: "/trailing" + TrailName: "Cloudtrail"`}, + } + + for _, tc := range testCases { + t.Run(tc.schema, func(t *testing.T) { + em, err := NewEngineMetadata(tc.schema, inputSchema) + assert.NoError(t, err) + assert.Equal(t, tc.want, em.GoodExamples[0]) + }) + } +} diff --git a/pkg/iac/rego/result.go b/pkg/iac/rego/result.go new file mode 100644 index 000000000000..dd2f7629d3a3 --- /dev/null +++ b/pkg/iac/rego/result.go @@ -0,0 +1,167 @@ +package rego + +import ( + "fmt" + "io/fs" + "strconv" + + "github.com/open-policy-agent/opa/rego" + + "github.com/aquasecurity/trivy/pkg/iac/scan" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type regoResult struct { + Filepath string + Resource string + StartLine int + EndLine int + SourcePrefix string + Message string + Explicit bool + Managed bool + FSKey string + FS fs.FS + Parent *regoResult +} + +func (r regoResult) GetMetadata() iacTypes.Metadata { + var m iacTypes.Metadata + if !r.Managed { + m = iacTypes.NewUnmanagedMetadata() + } else { + rng := iacTypes.NewRangeWithFSKey(r.Filepath, r.StartLine, r.EndLine, r.SourcePrefix, r.FSKey, r.FS) + if r.Explicit { + m = iacTypes.NewExplicitMetadata(rng, r.Resource) + } else { + m = iacTypes.NewMetadata(rng, r.Resource) + } + } + if r.Parent != nil { + return m.WithParent(r.Parent.GetMetadata()) + } + return m +} + +func (r regoResult) GetRawValue() interface{} { + return nil +} + +func parseResult(raw interface{}) *regoResult { + var result regoResult + result.Managed = true + switch val := raw.(type) { + case []interface{}: + var msg string + for _, item := range val { + switch raw := item.(type) { + case map[string]interface{}: + result = parseCause(raw) + case string: + msg = raw + } + } + result.Message = msg + case string: + result.Message = val + case map[string]interface{}: + result = parseCause(val) + default: + result.Message = "Rego policy resulted in DENY" + } + return &result +} + +func parseCause(cause map[string]interface{}) regoResult { + var result regoResult + result.Managed = true + if msg, ok := cause["msg"]; ok { + result.Message = fmt.Sprintf("%s", msg) + } + if filepath, ok := cause["filepath"]; ok { + result.Filepath = fmt.Sprintf("%s", filepath) + } + if msg, ok := cause["fskey"]; ok { + result.FSKey = fmt.Sprintf("%s", msg) + } + if msg, ok := cause["resource"]; ok { + result.Resource = fmt.Sprintf("%s", msg) + } + if start, ok := cause["startline"]; ok { + result.StartLine = parseLineNumber(start) + } + if end, ok := cause["endline"]; ok { + result.EndLine = parseLineNumber(end) + } + if prefix, ok := cause["sourceprefix"]; ok { + result.SourcePrefix = fmt.Sprintf("%s", prefix) + } + if explicit, ok := cause["explicit"]; ok { + if set, ok := explicit.(bool); ok { + result.Explicit = set + } + } + if managed, ok := cause["managed"]; ok { + if set, ok := managed.(bool); ok { + result.Managed = set + } + } + if parent, ok := cause["parent"]; ok { + if m, ok := parent.(map[string]interface{}); ok { + parentResult := parseCause(m) + result.Parent = &parentResult + } + } + return result +} + +func parseLineNumber(raw interface{}) int { + str := fmt.Sprintf("%s", raw) + n, _ := strconv.Atoi(str) + return n +} + +func (s *Scanner) convertResults(set rego.ResultSet, input Input, namespace, rule string, traces []string) scan.Results { + var results scan.Results + + offset := 0 + if input.Contents != nil { + if xx, ok := input.Contents.(map[string]interface{}); ok { + if md, ok := xx["__defsec_metadata"]; ok { + if md2, ok := md.(map[string]interface{}); ok { + if sl, ok := md2["offset"]; ok { + offset, _ = sl.(int) + } + } + } + } + } + for _, result := range set { + for _, expression := range result.Expressions { + values, ok := expression.Value.([]interface{}) + if !ok { + values = []interface{}{expression.Value} + } + + for _, value := range values { + regoResult := parseResult(value) + regoResult.FS = input.FS + if regoResult.Filepath == "" && input.Path != "" { + regoResult.Filepath = input.Path + } + if regoResult.Message == "" { + regoResult.Message = fmt.Sprintf("Rego policy rule: %s.%s", namespace, rule) + } + regoResult.StartLine += offset + regoResult.EndLine += offset + results.AddRego(regoResult.Message, namespace, rule, traces, regoResult) + } + } + } + return results +} + +func (s *Scanner) embellishResultsWithRuleMetadata(results scan.Results, metadata StaticMetadata) scan.Results { + results.SetRule(metadata.ToRule()) + return results +} diff --git a/pkg/iac/rego/result_test.go b/pkg/iac/rego/result_test.go new file mode 100644 index 000000000000..d958f7962b10 --- /dev/null +++ b/pkg/iac/rego/result_test.go @@ -0,0 +1,104 @@ +package rego + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_parseResult(t *testing.T) { + var testCases = []struct { + name string + input interface{} + want regoResult + }{ + { + name: "unknown", + input: nil, + want: regoResult{ + Managed: true, + Message: "Rego policy resulted in DENY", + }, + }, + { + name: "string", + input: "message", + want: regoResult{ + Managed: true, + Message: "message", + }, + }, + { + name: "strings", + input: []interface{}{"message"}, + want: regoResult{ + Managed: true, + Message: "message", + }, + }, + { + name: "maps", + input: []interface{}{ + "message", + map[string]interface{}{ + "filepath": "a.out", + }, + }, + want: regoResult{ + Managed: true, + Message: "message", + Filepath: "a.out", + }, + }, + { + name: "map", + input: map[string]interface{}{ + "msg": "message", + "filepath": "a.out", + "fskey": "abcd", + "resource": "resource", + "startline": "123", + "endline": "456", + "sourceprefix": "git", + "explicit": true, + "managed": true, + }, + want: regoResult{ + Message: "message", + Filepath: "a.out", + Resource: "resource", + StartLine: 123, + EndLine: 456, + SourcePrefix: "git", + FSKey: "abcd", + Explicit: true, + Managed: true, + }, + }, + { + name: "parent", + input: map[string]interface{}{ + "msg": "child", + "parent": map[string]interface{}{ + "msg": "parent", + }, + }, + want: regoResult{ + Message: "child", + Managed: true, + Parent: ®oResult{ + Message: "parent", + Managed: true, + }, + }, + }, + } + + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + have := parseResult(tc.input) + assert.NotNil(t, have) + assert.Equal(t, tc.want, *have) + }) + } +} diff --git a/pkg/iac/rego/runtime.go b/pkg/iac/rego/runtime.go new file mode 100644 index 000000000000..6e28268d9971 --- /dev/null +++ b/pkg/iac/rego/runtime.go @@ -0,0 +1,28 @@ +package rego + +import ( + "os" + "strings" + + "github.com/open-policy-agent/opa/ast" + "github.com/open-policy-agent/opa/version" +) + +func addRuntimeValues() *ast.Term { + env := ast.NewObject() + for _, pair := range os.Environ() { + parts := strings.SplitN(pair, "=", 2) + if len(parts) == 1 { + env.Insert(ast.StringTerm(parts[0]), ast.NullTerm()) + } else if len(parts) > 1 { + env.Insert(ast.StringTerm(parts[0]), ast.StringTerm(parts[1])) + } + } + + obj := ast.NewObject() + obj.Insert(ast.StringTerm("env"), ast.NewTerm(env)) + obj.Insert(ast.StringTerm("version"), ast.StringTerm(version.Version)) + obj.Insert(ast.StringTerm("commit"), ast.StringTerm(version.Vcs)) + + return ast.NewTerm(obj) +} diff --git a/pkg/iac/rego/scanner.go b/pkg/iac/rego/scanner.go new file mode 100644 index 000000000000..6969f957fa5a --- /dev/null +++ b/pkg/iac/rego/scanner.go @@ -0,0 +1,412 @@ +package rego + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "io/fs" + "strings" + + "github.com/open-policy-agent/opa/ast" + "github.com/open-policy-agent/opa/rego" + "github.com/open-policy-agent/opa/storage" + + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego/schemas" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/types" +) + +var _ options.ConfigurableScanner = (*Scanner)(nil) + +type Scanner struct { + ruleNamespaces map[string]struct{} + policies map[string]*ast.Module + store storage.Store + dataDirs []string + runtimeValues *ast.Term + compiler *ast.Compiler + regoErrorLimit int + debug debug.Logger + traceWriter io.Writer + tracePerResult bool + retriever *MetadataRetriever + policyFS fs.FS + dataFS fs.FS + frameworks []framework.Framework + spec string + inputSchema interface{} // unmarshalled into this from a json schema document + sourceType types.Source +} + +func (s *Scanner) SetUseEmbeddedLibraries(b bool) { + // handled externally +} + +func (s *Scanner) SetSpec(spec string) { + s.spec = spec +} + +func (s *Scanner) SetRegoOnly(bool) {} + +func (s *Scanner) SetFrameworks(frameworks []framework.Framework) { + s.frameworks = frameworks +} + +func (s *Scanner) SetUseEmbeddedPolicies(b bool) { + // handled externally +} + +func (s *Scanner) trace(heading string, input interface{}) { + if s.traceWriter == nil { + return + } + data, err := json.MarshalIndent(input, "", " ") + if err != nil { + return + } + _, _ = fmt.Fprintf(s.traceWriter, "REGO %[1]s:\n%s\nEND REGO %[1]s\n\n", heading, string(data)) +} + +func (s *Scanner) SetPolicyFilesystem(fsys fs.FS) { + s.policyFS = fsys +} + +func (s *Scanner) SetDataFilesystem(fsys fs.FS) { + s.dataFS = fsys +} + +func (s *Scanner) SetPolicyReaders(_ []io.Reader) { + // NOTE: Policy readers option not applicable for rego, policies are loaded on-demand by other scanners. +} + +func (s *Scanner) SetDebugWriter(writer io.Writer) { + s.debug = debug.New(writer, "rego", "scanner") +} + +func (s *Scanner) SetTraceWriter(writer io.Writer) { + s.traceWriter = writer +} + +func (s *Scanner) SetPerResultTracingEnabled(b bool) { + s.tracePerResult = b +} + +func (s *Scanner) SetPolicyDirs(_ ...string) { + // NOTE: Policy dirs option not applicable for rego, policies are loaded on-demand by other scanners. +} + +func (s *Scanner) SetDataDirs(dirs ...string) { + s.dataDirs = dirs +} + +func (s *Scanner) SetPolicyNamespaces(namespaces ...string) { + for _, namespace := range namespaces { + s.ruleNamespaces[namespace] = struct{}{} + } +} + +func (s *Scanner) SetSkipRequiredCheck(_ bool) { + // NOTE: Skip required option not applicable for rego. +} + +func (s *Scanner) SetRegoErrorLimit(limit int) { + s.regoErrorLimit = limit +} + +type DynamicMetadata struct { + Warning bool + Filepath string + Message string + StartLine int + EndLine int +} + +func NewScanner(source types.Source, opts ...options.ScannerOption) *Scanner { + schema, ok := schemas.SchemaMap[source] + if !ok { + schema = schemas.Anything + } + + s := &Scanner{ + regoErrorLimit: ast.CompileErrorLimitDefault, + sourceType: source, + ruleNamespaces: map[string]struct{}{ + "builtin": {}, + "appshield": {}, + "defsec": {}, + }, + runtimeValues: addRuntimeValues(), + } + for _, opt := range opts { + opt(s) + } + if schema != schemas.None { + err := json.Unmarshal([]byte(schema), &s.inputSchema) + if err != nil { + panic(err) + } + } + return s +} + +func (s *Scanner) SetParentDebugLogger(l debug.Logger) { + s.debug = l.Extend("rego") +} + +func (s *Scanner) runQuery(ctx context.Context, query string, input interface{}, disableTracing bool) (rego.ResultSet, []string, error) { + + trace := (s.traceWriter != nil || s.tracePerResult) && !disableTracing + + regoOptions := []func(*rego.Rego){ + rego.Query(query), + rego.Compiler(s.compiler), + rego.Store(s.store), + rego.Runtime(s.runtimeValues), + rego.Trace(trace), + } + + if s.inputSchema != nil { + schemaSet := ast.NewSchemaSet() + schemaSet.Put(ast.MustParseRef("schema.input"), s.inputSchema) + regoOptions = append(regoOptions, rego.Schemas(schemaSet)) + } + + if input != nil { + regoOptions = append(regoOptions, rego.Input(input)) + } + + instance := rego.New(regoOptions...) + set, err := instance.Eval(ctx) + if err != nil { + return nil, nil, err + } + + // we also build a slice of trace lines for per-result tracing - primarily for fanal/trivy + var traces []string + + if trace { + if s.traceWriter != nil { + rego.PrintTrace(s.traceWriter, instance) + } + if s.tracePerResult { + traceBuffer := bytes.NewBuffer([]byte{}) + rego.PrintTrace(traceBuffer, instance) + traces = strings.Split(traceBuffer.String(), "\n") + } + } + return set, traces, nil +} + +type Input struct { + Path string `json:"path"` + FS fs.FS `json:"-"` + Contents interface{} `json:"contents"` +} + +func GetInputsContents(inputs []Input) []any { + results := make([]any, len(inputs)) + for i, c := range inputs { + results[i] = c.Contents + } + return results +} + +func (s *Scanner) ScanInput(ctx context.Context, inputs ...Input) (scan.Results, error) { + + s.debug.Log("Scanning %d inputs...", len(inputs)) + + var results scan.Results + + for _, module := range s.policies { + + select { + case <-ctx.Done(): + return nil, ctx.Err() + default: + } + + namespace := getModuleNamespace(module) + topLevel := strings.Split(namespace, ".")[0] + if _, ok := s.ruleNamespaces[topLevel]; !ok { + continue + } + + staticMeta, err := s.retriever.RetrieveMetadata(ctx, module, GetInputsContents(inputs)...) + if err != nil { + return nil, err + } + + if isPolicyWithSubtype(s.sourceType) { + // skip if policy isn't relevant to what is being scanned + if !isPolicyApplicable(staticMeta, inputs...) { + continue + } + } + + if len(inputs) == 0 { + continue + } + + usedRules := make(map[string]struct{}) + + // all rules + for _, rule := range module.Rules { + ruleName := rule.Head.Name.String() + if _, ok := usedRules[ruleName]; ok { + continue + } + usedRules[ruleName] = struct{}{} + if isEnforcedRule(ruleName) { + ruleResults, err := s.applyRule(ctx, namespace, ruleName, inputs, staticMeta.InputOptions.Combined) + if err != nil { + return nil, err + } + results = append(results, s.embellishResultsWithRuleMetadata(ruleResults, *staticMeta)...) + } + } + + } + + return results, nil +} + +func isPolicyWithSubtype(sourceType types.Source) bool { + for _, s := range []types.Source{types.SourceCloud, types.SourceDefsec, types.SourceKubernetes} { + if sourceType == s { + return true + } + } + return false +} + +func checkSubtype(ii map[string]interface{}, provider string, subTypes []SubType) bool { + if len(subTypes) == 0 { + return true + } + + for _, st := range subTypes { + switch services := ii[provider].(type) { + case map[string]interface{}: // cloud + for service := range services { + if (service == st.Service) && (st.Provider == provider) { + return true + } + } + case string: // k8s - logic can be improved + if strings.EqualFold(services, st.Group) || + strings.EqualFold(services, st.Version) || + strings.EqualFold(services, st.Kind) { + return true + } + } + } + return false +} + +func isPolicyApplicable(staticMetadata *StaticMetadata, inputs ...Input) bool { + for _, input := range inputs { + if ii, ok := input.Contents.(map[string]interface{}); ok { + for provider := range ii { + // TODO(simar): Add other providers + if !strings.Contains(strings.Join([]string{"kind", "aws", "azure"}, ","), provider) { + continue + } + + if len(staticMetadata.InputOptions.Selectors) == 0 { // policy always applies if no selectors + return true + } + + // check metadata for subtype + for _, s := range staticMetadata.InputOptions.Selectors { + if checkSubtype(ii, provider, s.Subtypes) { + return true + } + } + } + } + } + return false +} + +func (s *Scanner) applyRule(ctx context.Context, namespace, rule string, inputs []Input, combined bool) (scan.Results, error) { + + // handle combined evaluations if possible + if combined { + s.trace("INPUT", inputs) + return s.applyRuleCombined(ctx, namespace, rule, inputs) + } + + var results scan.Results + qualified := fmt.Sprintf("data.%s.%s", namespace, rule) + for _, input := range inputs { + s.trace("INPUT", input) + if ignored, err := s.isIgnored(ctx, namespace, rule, input.Contents); err != nil { + return nil, err + } else if ignored { + var result regoResult + result.FS = input.FS + result.Filepath = input.Path + result.Managed = true + results.AddIgnored(result) + continue + } + set, traces, err := s.runQuery(ctx, qualified, input.Contents, false) + if err != nil { + return nil, err + } + s.trace("RESULTSET", set) + ruleResults := s.convertResults(set, input, namespace, rule, traces) + if len(ruleResults) == 0 { // It passed because we didn't find anything wrong (NOT because it didn't exist) + var result regoResult + result.FS = input.FS + result.Filepath = input.Path + result.Managed = true + results.AddPassedRego(namespace, rule, traces, result) + continue + } + results = append(results, ruleResults...) + } + + return results, nil +} + +func (s *Scanner) applyRuleCombined(ctx context.Context, namespace, rule string, inputs []Input) (scan.Results, error) { + if len(inputs) == 0 { + return nil, nil + } + var results scan.Results + qualified := fmt.Sprintf("data.%s.%s", namespace, rule) + if ignored, err := s.isIgnored(ctx, namespace, rule, inputs); err != nil { + return nil, err + } else if ignored { + for _, input := range inputs { + var result regoResult + result.FS = input.FS + result.Filepath = input.Path + result.Managed = true + results.AddIgnored(result) + } + return results, nil + } + set, traces, err := s.runQuery(ctx, qualified, inputs, false) + if err != nil { + return nil, err + } + return s.convertResults(set, inputs[0], namespace, rule, traces), nil +} + +// severity is now set with metadata, so deny/warn/violation now behave the same way +func isEnforcedRule(name string) bool { + switch { + case name == "deny", strings.HasPrefix(name, "deny_"), + name == "warn", strings.HasPrefix(name, "warn_"), + name == "violation", strings.HasPrefix(name, "violation_"): + return true + } + return false +} diff --git a/pkg/iac/rego/scanner_test.go b/pkg/iac/rego/scanner_test.go new file mode 100644 index 000000000000..5a2c96ccb13e --- /dev/null +++ b/pkg/iac/rego/scanner_test.go @@ -0,0 +1,978 @@ +package rego + +import ( + "bytes" + "context" + "io/fs" + "os" + "path/filepath" + "strings" + "testing" + + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/types" + "github.com/liamg/memoryfs" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" +) + +func CreateFS(t *testing.T, files map[string]string) fs.FS { + memfs := memoryfs.New() + for name, content := range files { + name := strings.TrimPrefix(name, "/") + err := memfs.MkdirAll(filepath.Dir(name), 0o700) + require.NoError(t, err) + err = memfs.WriteFile(name, []byte(content), 0o644) + require.NoError(t, err) + } + return memfs +} + +func Test_RegoScanning_Deny(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny { + input.evil +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + FS: srcFS, + }) + require.NoError(t, err) + + require.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + assert.Equal(t, "/evil.lol", results.GetFailed()[0].Metadata().Range().GetFilename()) + assert.False(t, results.GetFailed()[0].IsWarning()) +} + +func Test_RegoScanning_AbsolutePolicyPath_Deny(t *testing.T) { + + tmp := t.TempDir() + require.NoError(t, os.Mkdir(filepath.Join(tmp, "policies"), 0755)) + require.NoError(t, os.WriteFile(filepath.Join(tmp, "policies", "test.rego"), []byte(`package defsec.test + +deny { + input.evil +}`), 0600)) + + srcFS := os.DirFS(tmp) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"/policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + FS: srcFS, + }) + require.NoError(t, err) + + require.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + assert.Equal(t, "/evil.lol", results.GetFailed()[0].Metadata().Range().GetFilename()) + assert.False(t, results.GetFailed()[0].IsWarning()) +} + +func Test_RegoScanning_Warn(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +warn { + input.evil +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + require.Equal(t, 1, len(results.GetFailed())) + require.Equal(t, 0, len(results.GetPassed())) + require.Equal(t, 0, len(results.GetIgnored())) + + assert.True(t, results.GetFailed()[0].IsWarning()) +} + +func Test_RegoScanning_Allow(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny { + input.evil +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": false, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 0, len(results.GetFailed())) + require.Equal(t, 1, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + assert.Equal(t, "/evil.lol", results.GetPassed()[0].Metadata().Range().GetFilename()) +} + +func Test_RegoScanning_Namespace_Exception(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny { + input.evil +} +`, + "policies/exceptions.rego": ` +package namespace.exceptions + +import data.namespaces + +exception[ns] { + ns := data.namespaces[_] + startswith(ns, "defsec") +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 0, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 1, len(results.GetIgnored())) + +} + +func Test_RegoScanning_Namespace_Exception_WithoutMatch(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny { + input.evil +} +`, "policies/something.rego": ` +package builtin.test + +deny_something { + input.something +} +`, + "policies/exceptions.rego": ` +package namespace.exceptions + +import data.namespaces + +exception[ns] { + ns := data.namespaces[_] + startswith(ns, "builtin") +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 1, len(results.GetIgnored())) + +} + +func Test_RegoScanning_Rule_Exception(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test +deny_evil { + input.evil +} +`, + "policies/exceptions.rego": ` +package defsec.test + +exception[rules] { + rules := ["evil"] +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 0, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 1, len(results.GetIgnored())) +} + +func Test_RegoScanning_Rule_Exception_WithoutMatch(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test +deny_evil { + input.evil +} +`, + "policies/exceptions.rego": ` +package defsec.test + +exception[rules] { + rules := ["good"] +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) +} + +func Test_RegoScanning_WithRuntimeValues(t *testing.T) { + + _ = os.Setenv("DEFSEC_RUNTIME_VAL", "AOK") + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny_evil { + output := opa.runtime() + output.env.DEFSEC_RUNTIME_VAL == "AOK" +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) +} + +func Test_RegoScanning_WithDenyMessage(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny[msg] { + input.evil + msg := "oh no" +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + require.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + assert.Equal(t, "oh no", results.GetFailed()[0].Description()) + assert.Equal(t, "/evil.lol", results.GetFailed()[0].Metadata().Range().GetFilename()) +} + +func Test_RegoScanning_WithDenyMetadata_ImpliedPath(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny[res] { + input.evil + res := { + "msg": "oh no", + "startline": 123, + "endline": 456, + } +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + require.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + assert.Equal(t, "oh no", results.GetFailed()[0].Description()) + assert.Equal(t, "/evil.lol", results.GetFailed()[0].Metadata().Range().GetFilename()) + assert.Equal(t, 123, results.GetFailed()[0].Metadata().Range().GetStartLine()) + assert.Equal(t, 456, results.GetFailed()[0].Metadata().Range().GetEndLine()) + +} + +func Test_RegoScanning_WithDenyMetadata_PersistedPath(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny[res] { + input.evil + res := { + "msg": "oh no", + "startline": 123, + "endline": 456, + "filepath": "/blah.txt", + } +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + require.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + assert.Equal(t, "oh no", results.GetFailed()[0].Description()) + assert.Equal(t, "/blah.txt", results.GetFailed()[0].Metadata().Range().GetFilename()) + assert.Equal(t, 123, results.GetFailed()[0].Metadata().Range().GetStartLine()) + assert.Equal(t, 456, results.GetFailed()[0].Metadata().Range().GetEndLine()) + +} + +func Test_RegoScanning_WithStaticMetadata(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +__rego_metadata__ := { + "id": "AA001", + "avd_id": "AVD-XX-9999", + "title": "This is a title", + "short_code": "short-code", + "severity": "LOW", + "type": "Dockerfile Security Check", + "description": "This is a description", + "recommended_actions": "This is a recommendation", + "url": "https://google.com", +} + +deny[res] { + input.evil + res := { + "msg": "oh no", + "startline": 123, + "endline": 456, + "filepath": "/blah.txt", + } +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + require.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + failure := results.GetFailed()[0] + + assert.Equal(t, "oh no", failure.Description()) + assert.Equal(t, "/blah.txt", failure.Metadata().Range().GetFilename()) + assert.Equal(t, 123, failure.Metadata().Range().GetStartLine()) + assert.Equal(t, 456, failure.Metadata().Range().GetEndLine()) + assert.Equal(t, "AVD-XX-9999", failure.Rule().AVDID) + assert.True(t, failure.Rule().HasID("AA001")) + assert.Equal(t, "This is a title", failure.Rule().Summary) + assert.Equal(t, severity.Low, failure.Rule().Severity) + assert.Equal(t, "This is a recommendation", failure.Rule().Resolution) + assert.Equal(t, "https://google.com", failure.Rule().Links[0]) + +} + +func Test_RegoScanning_WithMatchingInputSelector(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +__rego_input__ := { + "selector": [{"type": "json"}], +} + +deny { + input.evil +} + +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) +} + +func Test_RegoScanning_WithNonMatchingInputSelector(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +__rego_input__ := { + "selector": [{"type": "testing"}], +} + +deny { + input.evil +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 0, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) +} + +func Test_RegoScanning_NoTracingByDefault(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny { + input.evil +} +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + assert.Len(t, results.GetFailed()[0].Traces(), 0) +} + +func Test_RegoScanning_GlobalTracingEnabled(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny { + input.evil +} +`, + }) + + traceBuffer := bytes.NewBuffer([]byte{}) + + scanner := NewScanner(types.SourceJSON, options.ScannerWithTrace(traceBuffer)) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + assert.Len(t, results.GetFailed()[0].Traces(), 0) + assert.Greater(t, len(traceBuffer.Bytes()), 0) +} + +func Test_RegoScanning_PerResultTracingEnabled(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +deny { + input.evil +} +`, + }) + + scanner := NewScanner(types.SourceJSON, options.ScannerWithPerResultTracing(true)) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "evil": true, + }, + }) + require.NoError(t, err) + + assert.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) + + assert.Greater(t, len(results.GetFailed()[0].Traces()), 0) +} + +func Test_dynamicMetadata(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +__rego_metadata__ := { + "title" : sprintf("i am %s",[input.text]) +} + +deny { + input.text +} + +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "text": "dynamic", + }, + }) + require.NoError(t, err) + assert.Equal(t, results[0].Rule().Summary, "i am dynamic") +} + +func Test_staticMetadata(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test + +__rego_metadata__ := { + "title" : "i am static" +} + +deny { + input.text +} + +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "text": "test", + }, + }) + require.NoError(t, err) + assert.Equal(t, results[0].Rule().Summary, "i am static") +} + +func Test_annotationMetadata(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": `# METADATA +# title: i am a title +# description: i am a description +# related_resources: +# - https://google.com +# custom: +# id: EG123 +# avd_id: AVD-EG-0123 +# severity: LOW +# recommended_action: have a cup of tea +package defsec.test + +deny { + input.text +} + +`, + "policies/test2.rego": `# METADATA +# title: i am another title +package defsec.test2 + +deny { + input.blah +} + +`, + }) + + scanner := NewScanner(types.SourceJSON) + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{ + Path: "/evil.lol", + Contents: map[string]interface{}{ + "text": "test", + }, + }) + require.NoError(t, err) + require.Len(t, results.GetFailed(), 1) + failure := results.GetFailed()[0].Rule() + assert.Equal(t, "i am a title", failure.Summary) + assert.Equal(t, "i am a description", failure.Explanation) + require.Len(t, failure.Links, 1) + assert.Equal(t, "https://google.com", failure.Links[0]) + assert.Equal(t, "AVD-EG-0123", failure.AVDID) + assert.Equal(t, severity.Low, failure.Severity) + assert.Equal(t, "have a cup of tea", failure.Resolution) +} + +func Test_RegoScanning_WithInvalidInputSchema(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": `# METADATA +# schemas: +# - input: schema["input"] +package defsec.test + +deny { + input.evil == "lol" +} +`, + }) + + scanner := NewScanner(types.SourceDockerfile) + scanner.SetRegoErrorLimit(0) // override to not allow any errors + assert.ErrorContains( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + "undefined ref: input.evil", + ) +} + +func Test_RegoScanning_WithValidInputSchema(t *testing.T) { + + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": `# METADATA +# schemas: +# - input: schema["input"] +package defsec.test + +deny { + input.Stages[0].Commands[0].Cmd == "lol" +} +`, + }) + + scanner := NewScanner(types.SourceDockerfile) + assert.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) +} + +func Test_RegoScanning_WithFilepathToSchema(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": `# METADATA +# schemas: +# - input: schema["dockerfile"] +package defsec.test + +deny { + input.evil == "lol" +} +`, + }) + scanner := NewScanner(types.SourceJSON) + scanner.SetRegoErrorLimit(0) // override to not allow any errors + assert.ErrorContains( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + "undefined ref: input.evil", + ) +} + +func Test_RegoScanning_CustomData(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test +import data.settings.DS123.foo_bar_baz + +deny { + not foo_bar_baz +} +`, + }) + + dataFS := CreateFS(t, map[string]string{ + "data/data.json": `{ + "settings": { + "DS123":{ + "foo_bar_baz":false + } + } +}`, + "data/junk.txt": "this file should be ignored", + }) + + scanner := NewScanner(types.SourceJSON) + scanner.SetDataFilesystem(dataFS) + scanner.SetDataDirs(".") + + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{}) + require.NoError(t, err) + + assert.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) +} + +func Test_RegoScanning_InvalidFS(t *testing.T) { + srcFS := CreateFS(t, map[string]string{ + "policies/test.rego": ` +package defsec.test +import data.settings.DS123.foo_bar_baz + +deny { + not foo_bar_baz +} +`, + }) + + dataFS := CreateFS(t, map[string]string{ + "data/data.json": `{ + "settings": { + "DS123":{ + "foo_bar_baz":false + } + } +}`, + "data/junk.txt": "this file should be ignored", + }) + + scanner := NewScanner(types.SourceJSON) + scanner.SetDataFilesystem(dataFS) + scanner.SetDataDirs("X://") + + require.NoError( + t, + scanner.LoadPolicies(false, false, srcFS, []string{"policies"}, nil), + ) + + results, err := scanner.ScanInput(context.TODO(), Input{}) + require.NoError(t, err) + + assert.Equal(t, 1, len(results.GetFailed())) + assert.Equal(t, 0, len(results.GetPassed())) + assert.Equal(t, 0, len(results.GetIgnored())) +} diff --git a/pkg/iac/rego/schemas/00_schema.go b/pkg/iac/rego/schemas/00_schema.go new file mode 100644 index 000000000000..e6674912fe58 --- /dev/null +++ b/pkg/iac/rego/schemas/00_schema.go @@ -0,0 +1,22 @@ +package schemas + +import _ "embed" + +type Schema string + +var ( + None Schema = "" + Anything Schema = `{}` + + //go:embed dockerfile.json + Dockerfile Schema + + //go:embed kubernetes.json + Kubernetes Schema + + //go:embed rbac.json + RBAC Schema + + //go:embed cloud.json + Cloud Schema +) diff --git a/pkg/iac/rego/schemas/builder.go b/pkg/iac/rego/schemas/builder.go new file mode 100644 index 000000000000..76edec4163a8 --- /dev/null +++ b/pkg/iac/rego/schemas/builder.go @@ -0,0 +1,270 @@ +package schemas + +import ( + "fmt" + "reflect" + "strings" + + "github.com/aquasecurity/trivy/pkg/iac/rego/convert" + "github.com/aquasecurity/trivy/pkg/iac/state" +) + +type RawSchema struct { + Type string `json:"type"` // object + Properties map[string]Property `json:"properties,omitempty"` + Defs map[string]*Property `json:"definitions,omitempty"` +} + +type Property struct { + Type string `json:"type,omitempty"` + Ref string `json:"$ref,omitempty"` + Properties map[string]Property `json:"properties,omitempty"` + Items *Property `json:"items,omitempty"` +} + +type builder struct { + schema RawSchema +} + +func Build() (*RawSchema, error) { + + b := newBuilder() + + inputValue := reflect.ValueOf(state.State{}) + + err := b.fromInput(inputValue) + if err != nil { + return nil, err + } + + return &b.schema, nil +} + +func newBuilder() *builder { + return &builder{ + schema: RawSchema{ + Properties: nil, + Defs: nil, + }, + } +} + +func (b *builder) fromInput(inputValue reflect.Value) error { + + prop, err := b.readProperty("", nil, inputValue.Type(), 0) + if err != nil { + return err + } + if prop == nil { + return fmt.Errorf("property is nil") + } + b.schema.Properties = prop.Properties + b.schema.Type = prop.Type + return nil +} + +func refName(name string, parent, t reflect.Type) string { + if t.Name() == "" { // inline struct + return sanitize(parent.PkgPath() + "." + parent.Name() + "." + name) + } + return sanitize(t.PkgPath() + "." + t.Name()) +} + +func sanitize(s string) string { + return strings.ReplaceAll(s, "/", ".") +} + +func (b *builder) readProperty(name string, parent, inputType reflect.Type, indent int) (*Property, error) { + + if inputType.Kind() == reflect.Ptr { + inputType = inputType.Elem() + } + + switch inputType.String() { + case "types.Metadata", "types.Range", "types.Reference": + return nil, nil + } + + if b.schema.Defs != nil { + _, ok := b.schema.Defs[refName(name, parent, inputType)] + if ok { + return &Property{ + Type: "object", + Ref: "#/definitions/" + refName(name, parent, inputType), + }, nil + } + } + + fmt.Println(strings.Repeat(" ", indent) + name) + + switch kind := inputType.Kind(); kind { + case reflect.Struct: + return b.readStruct(name, parent, inputType, indent) + case reflect.Slice: + return b.readSlice(name, parent, inputType, indent) + case reflect.String: + return &Property{ + Type: "string", + }, nil + case reflect.Int: + return &Property{ + Type: "integer", + }, nil + case reflect.Bool: + return &Property{ + Type: "boolean", + }, nil + case reflect.Float32, reflect.Float64: + return &Property{ + Type: "number", + }, nil + } + + switch inputType.Name() { + case "BoolValue": + return &Property{ + Type: "object", + Properties: map[string]Property{ + "value": { + Type: "boolean", + }, + }, + }, nil + case "IntValue": + return &Property{ + Type: "object", + Properties: map[string]Property{ + "value": { + Type: "integer", + }, + }, + }, nil + case "StringValue", "TimeValue", "BytesValue": + return &Property{ + Type: "object", + Properties: map[string]Property{ + "value": { + Type: "string", + }, + }, + }, nil + case "MapValue": + return &Property{ + Type: "object", + Properties: map[string]Property{ + "value": { + Type: "object", + }, + }, + }, nil + + } + + fmt.Printf("WARNING: unsupported type: %s (%s)\n", inputType.Name(), inputType) + return nil, nil +} + +var converterInterface = reflect.TypeOf((*convert.Converter)(nil)).Elem() + +func (b *builder) readStruct(name string, parent, inputType reflect.Type, indent int) (*Property, error) { + + if b.schema.Defs == nil { + b.schema.Defs = make(map[string]*Property) + } + + def := &Property{ + Type: "object", + Properties: make(map[string]Property), + } + + if parent != nil { + b.schema.Defs[refName(name, parent, inputType)] = def + } + + if inputType.Implements(converterInterface) { + if inputType.Kind() == reflect.Ptr { + inputType = inputType.Elem() + } + returns := reflect.New(inputType).MethodByName("ToRego").Call(nil) + if err := b.readRego(def, name, parent, returns[0].Type(), returns[0].Interface(), indent); err != nil { + return nil, err + } + } else { + + for i := 0; i < inputType.NumField(); i++ { + field := inputType.Field(i) + prop, err := b.readProperty(field.Name, inputType, field.Type, indent+1) + if err != nil { + return nil, err + } + if prop == nil { + continue + } + key := strings.ToLower(field.Name) + if key == "metadata" { + continue + } + def.Properties[key] = *prop + } + } + + if parent == nil { + return def, nil + } + + return &Property{ + Type: "object", + Ref: "#/definitions/" + refName(name, parent, inputType), + }, nil +} + +func (b *builder) readSlice(name string, parent, inputType reflect.Type, indent int) (*Property, error) { + + items, err := b.readProperty(name, parent, inputType.Elem(), indent+1) + if err != nil { + return nil, err + } + + prop := &Property{ + Type: "array", + Items: items, + } + return prop, nil +} + +func (b *builder) readRego(def *Property, name string, parent, typ reflect.Type, raw interface{}, indent int) error { + + switch cast := raw.(type) { + case map[string]interface{}: + def.Type = "object" + for k, v := range cast { + child := &Property{ + Properties: make(map[string]Property), + } + if err := b.readRego(child, k, reflect.TypeOf(raw), reflect.TypeOf(v), v, indent+1); err != nil { + return err + } + def.Properties[k] = *child + } + case map[string]string: + def.Type = "object" + for k, v := range cast { + child := &Property{ + Properties: make(map[string]Property), + } + if err := b.readRego(child, k, reflect.TypeOf(raw), reflect.TypeOf(v), v, indent+1); err != nil { + return err + } + def.Properties[k] = *child + } + default: + prop, err := b.readProperty(name, parent, typ, indent) + if err != nil { + return err + } + *def = *prop + } + + return nil + +} diff --git a/pkg/iac/rego/schemas/cloud.json b/pkg/iac/rego/schemas/cloud.json new file mode 100644 index 000000000000..2ac3594e98c5 --- /dev/null +++ b/pkg/iac/rego/schemas/cloud.json @@ -0,0 +1,6836 @@ +{ + "type": "object", + "properties": { + "aws": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.AWS" + }, + "azure": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.Azure" + }, + "cloudstack": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.cloudstack.CloudStack" + }, + "digitalocean": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.DigitalOcean" + }, + "github": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.github.GitHub" + }, + "google": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.Google" + }, + "kubernetes": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.Kubernetes" + }, + "nifcloud": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.Nifcloud" + }, + "openstack": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.OpenStack" + }, + "oracle": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.oracle.Oracle" + } + }, + "definitions": { + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.AWS": { + "type": "object", + "properties": { + "accessanalyzer": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.accessanalyzer.AccessAnalyzer" + }, + "apigateway": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.APIGateway" + }, + "athena": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.athena.Athena" + }, + "cloudfront": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.Cloudfront" + }, + "cloudtrail": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudtrail.CloudTrail" + }, + "cloudwatch": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.CloudWatch" + }, + "codebuild": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.codebuild.CodeBuild" + }, + "config": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.config.Config" + }, + "documentdb": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.documentdb.DocumentDB" + }, + "dynamodb": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.dynamodb.DynamoDB" + }, + "ec2": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.EC2" + }, + "ecr": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecr.ECR" + }, + "ecs": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.ECS" + }, + "efs": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.efs.EFS" + }, + "eks": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.eks.EKS" + }, + "elasticache": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticache.ElastiCache" + }, + "elasticsearch": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.Elasticsearch" + }, + "elb": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elb.ELB" + }, + "emr": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.emr.EMR" + }, + "iam": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.IAM" + }, + "kinesis": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kinesis.Kinesis" + }, + "kms": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kms.KMS" + }, + "lambda": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.lambda.Lambda" + }, + "meta": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.Meta" + }, + "mq": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.mq.MQ" + }, + "msk": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.MSK" + }, + "neptune": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.neptune.Neptune" + }, + "rds": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.RDS" + }, + "redshift": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.Redshift" + }, + "s3": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.S3" + }, + "sam": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.SAM" + }, + "sns": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sns.SNS" + }, + "sqs": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sqs.SQS" + }, + "ssm": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ssm.SSM" + }, + "workspaces": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.workspaces.WorkSpaces" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.AssumeRole": { + "type": "object", + "properties": { + "duration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "externalid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "policy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "policyarns": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "rolearn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "sessionname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "sourceidentity": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "tags": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.MapValue" + }, + "transitivetagkeys": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.AssumeRoleWithWebIdentity": { + "type": "object", + "properties": { + "duration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "policy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "policyarns": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "rolearn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "sessionname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "webidentitytoken": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "webidentitytokenfile": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.DefaultTags": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.MapValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.IgnoreTags": { + "type": "object", + "properties": { + "keyprefixes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.Meta": { + "type": "object", + "properties": { + "tfproviders": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.TerraformProvider" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.TerraformProvider": { + "type": "object", + "properties": { + "accesskey": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "alias": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "allowedaccountsids": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "assumerole": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.AssumeRole" + }, + "assumerolewithwebidentity": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.AssumeRoleWithWebIdentity" + }, + "customcabundle": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "defaulttags": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.DefaultTags" + }, + "ec2metadataserviceendpoint": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "ec2metadataserviceendpointmode": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "endpoints": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.MapValue" + }, + "forbiddenaccountids": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "httpproxy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "ignoretags": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.IgnoreTags" + }, + "insecure": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "maxretries": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "profile": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "region": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "retrymode": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "s3useast1regionalendpoint": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "s3usepathstyle": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "secretkey": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "sharedconfigfiles": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "sharedcredentialsfiles": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "skipcredentialsvalidation": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "skipmetadataapicheck": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "skipregionvalidation": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "skiprequestingaccountid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "stsregion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "token": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "usedualstackendpoint": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "usefipsendpoint": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "version": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.accessanalyzer.AccessAnalyzer": { + "type": "object", + "properties": { + "analyzers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.accessanalyzer.Analyzer" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.accessanalyzer.Analyzer": { + "type": "object", + "properties": { + "active": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "arn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "findings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.accessanalyzer.Findings" + } + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.accessanalyzer.Findings": { + "type": "object" + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.APIGateway": { + "type": "object", + "properties": { + "v1": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.APIGateway" + }, + "v2": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.APIGateway" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.API": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "resources": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.Resource" + } + }, + "stages": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.Stage" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.APIGateway": { + "type": "object", + "properties": { + "apis": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.API" + } + }, + "domainnames": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.DomainName" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.AccessLogging": { + "type": "object", + "properties": { + "cloudwatchloggrouparn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.DomainName": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "securitypolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.Method": { + "type": "object", + "properties": { + "apikeyrequired": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "authorizationtype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "httpmethod": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.RESTMethodSettings": { + "type": "object", + "properties": { + "cachedataencrypted": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "cacheenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "method": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.Resource": { + "type": "object", + "properties": { + "methods": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.Method" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.Stage": { + "type": "object", + "properties": { + "accesslogging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.AccessLogging" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "restmethodsettings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v1.RESTMethodSettings" + } + }, + "xraytracingenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.API": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "protocoltype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "stages": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.Stage" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.APIGateway": { + "type": "object", + "properties": { + "apis": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.API" + } + }, + "domainnames": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.DomainName" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.AccessLogging": { + "type": "object", + "properties": { + "cloudwatchloggrouparn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.DomainName": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "securitypolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.Stage": { + "type": "object", + "properties": { + "accesslogging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.apigateway.v2.AccessLogging" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.athena.Athena": { + "type": "object", + "properties": { + "databases": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.athena.Database" + } + }, + "workgroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.athena.Workgroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.athena.Database": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.athena.EncryptionConfiguration" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.athena.EncryptionConfiguration": { + "type": "object", + "properties": { + "type": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.athena.Workgroup": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.athena.EncryptionConfiguration" + }, + "enforceconfiguration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.CacheBehaviour": { + "type": "object", + "properties": { + "viewerprotocolpolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.Cloudfront": { + "type": "object", + "properties": { + "distributions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.Distribution" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.Distribution": { + "type": "object", + "properties": { + "defaultcachebehaviour": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.CacheBehaviour" + }, + "logging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.Logging" + }, + "orderercachebehaviours": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.CacheBehaviour" + } + }, + "viewercertificate": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.ViewerCertificate" + }, + "wafid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.Logging": { + "type": "object", + "properties": { + "bucket": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudfront.ViewerCertificate": { + "type": "object", + "properties": { + "cloudfrontdefaultcertificate": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "minimumprotocolversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "sslsupportmethod": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudtrail.CloudTrail": { + "type": "object", + "properties": { + "trails": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudtrail.Trail" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudtrail.DataResource": { + "type": "object", + "properties": { + "type": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "values": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudtrail.EventSelector": { + "type": "object", + "properties": { + "dataresources": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudtrail.DataResource" + } + }, + "readwritetype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudtrail.Trail": { + "type": "object", + "properties": { + "bucketname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "cloudwatchlogsloggrouparn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "enablelogfilevalidation": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "eventselectors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudtrail.EventSelector" + } + }, + "islogging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "ismultiregion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.Alarm": { + "type": "object", + "properties": { + "alarmname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "dimensions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.AlarmDimension" + } + }, + "metricname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "metrics": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.MetricDataQuery" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.AlarmDimension": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "value": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.CloudWatch": { + "type": "object", + "properties": { + "alarms": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.Alarm" + } + }, + "loggroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.LogGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.LogGroup": { + "type": "object", + "properties": { + "arn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "metricfilters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.MetricFilter" + } + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "retentionindays": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.MetricDataQuery": { + "type": "object", + "properties": { + "expression": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "id": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.cloudwatch.MetricFilter": { + "type": "object", + "properties": { + "filtername": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "filterpattern": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.codebuild.ArtifactSettings": { + "type": "object", + "properties": { + "encryptionenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.codebuild.CodeBuild": { + "type": "object", + "properties": { + "projects": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.codebuild.Project" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.codebuild.Project": { + "type": "object", + "properties": { + "artifactsettings": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.codebuild.ArtifactSettings" + }, + "secondaryartifactsettings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.codebuild.ArtifactSettings" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.config.Config": { + "type": "object", + "properties": { + "configurationaggregrator": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.config.ConfigurationAggregrator" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.config.ConfigurationAggregrator": { + "type": "object", + "properties": { + "sourceallregions": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.documentdb.Cluster": { + "type": "object", + "properties": { + "backupretentionperiod": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "enabledlogexports": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "identifier": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.documentdb.Instance" + } + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "storageencrypted": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.documentdb.DocumentDB": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.documentdb.Cluster" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.documentdb.Instance": { + "type": "object", + "properties": { + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.dynamodb.DAXCluster": { + "type": "object", + "properties": { + "pointintimerecovery": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "serversideencryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.dynamodb.ServerSideEncryption" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.dynamodb.DynamoDB": { + "type": "object", + "properties": { + "daxclusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.dynamodb.DAXCluster" + } + }, + "tables": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.dynamodb.Table" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.dynamodb.ServerSideEncryption": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.dynamodb.Table": { + "type": "object", + "properties": { + "pointintimerecovery": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "serversideencryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.dynamodb.ServerSideEncryption" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.BlockDevice": { + "type": "object", + "properties": { + "encrypted": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.EC2": { + "type": "object", + "properties": { + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.Instance" + } + }, + "launchconfigurations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.LaunchConfiguration" + } + }, + "launchtemplates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.LaunchTemplate" + } + }, + "networkacls": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.NetworkACL" + } + }, + "securitygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.SecurityGroup" + } + }, + "subnets": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.Subnet" + } + }, + "volumes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.Volume" + } + }, + "vpcs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.VPC" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.Encryption": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.Instance": { + "type": "object", + "properties": { + "ebsblockdevices": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.BlockDevice" + } + }, + "metadataoptions": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.MetadataOptions" + }, + "rootblockdevice": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.BlockDevice" + }, + "securitygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.SecurityGroup" + } + }, + "userdata": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.LaunchConfiguration": { + "type": "object", + "properties": { + "associatepublicip": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "ebsblockdevices": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.BlockDevice" + } + }, + "metadataoptions": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.MetadataOptions" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "rootblockdevice": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.BlockDevice" + }, + "userdata": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.LaunchTemplate": { + "type": "object", + "properties": { + "instance": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.Instance" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.MetadataOptions": { + "type": "object", + "properties": { + "httpendpoint": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "httptokens": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.NetworkACL": { + "type": "object", + "properties": { + "isdefaultrule": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.NetworkACLRule" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.NetworkACLRule": { + "type": "object", + "properties": { + "action": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "cidrs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "protocol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "type": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.SecurityGroup": { + "type": "object", + "properties": { + "description": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "egressrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.SecurityGroupRule" + } + }, + "ingressrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.SecurityGroupRule" + } + }, + "isdefault": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "vpcid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.SecurityGroupRule": { + "type": "object", + "properties": { + "cidrs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "description": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.Subnet": { + "type": "object", + "properties": { + "mappubliciponlaunch": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.VPC": { + "type": "object", + "properties": { + "flowlogsenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "id": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "isdefault": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "securitygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.SecurityGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.Volume": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ec2.Encryption" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecr.ECR": { + "type": "object", + "properties": { + "repositories": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecr.Repository" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecr.Encryption": { + "type": "object", + "properties": { + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "type": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecr.ImageScanning": { + "type": "object", + "properties": { + "scanonpush": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecr.Repository": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecr.Encryption" + }, + "imagescanning": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecr.ImageScanning" + }, + "imagetagsimmutable": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "policies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.Cluster": { + "type": "object", + "properties": { + "settings": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.ClusterSettings" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.ClusterSettings": { + "type": "object", + "properties": { + "containerinsightsenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.ContainerDefinition": { + "type": "object", + "properties": { + "cpu": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "environment": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.EnvVar" + } + }, + "essential": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "image": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "memory": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "portmappings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.PortMapping" + } + }, + "privileged": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.ECS": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.Cluster" + } + }, + "taskdefinitions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.TaskDefinition" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.EFSVolumeConfiguration": { + "type": "object", + "properties": { + "transitencryptionenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.EnvVar": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.PortMapping": { + "type": "object", + "properties": { + "containerport": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "hostport": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.TaskDefinition": { + "type": "object", + "properties": { + "containerdefinitions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.ContainerDefinition" + } + }, + "volumes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.Volume" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.Volume": { + "type": "object", + "properties": { + "efsvolumeconfiguration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ecs.EFSVolumeConfiguration" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.efs.EFS": { + "type": "object", + "properties": { + "filesystems": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.efs.FileSystem" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.efs.FileSystem": { + "type": "object", + "properties": { + "encrypted": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.eks.Cluster": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.eks.Encryption" + }, + "logging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.eks.Logging" + }, + "publicaccesscidrs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "publicaccessenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.eks.EKS": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.eks.Cluster" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.eks.Encryption": { + "type": "object", + "properties": { + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "secrets": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.eks.Logging": { + "type": "object", + "properties": { + "api": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "audit": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "authenticator": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "controllermanager": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "scheduler": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticache.Cluster": { + "type": "object", + "properties": { + "engine": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "nodetype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "snapshotretentionlimit": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticache.ElastiCache": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticache.Cluster" + } + }, + "replicationgroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticache.ReplicationGroup" + } + }, + "securitygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticache.SecurityGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticache.ReplicationGroup": { + "type": "object", + "properties": { + "atrestencryptionenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "transitencryptionenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticache.SecurityGroup": { + "type": "object", + "properties": { + "description": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.AtRestEncryption": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.Domain": { + "type": "object", + "properties": { + "accesspolicies": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "atrestencryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.AtRestEncryption" + }, + "dedicatedmasterenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "domainname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "endpoint": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.Endpoint" + }, + "logpublishing": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.LogPublishing" + }, + "servicesoftwareoptions": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.ServiceSoftwareOptions" + }, + "transitencryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.TransitEncryption" + }, + "vpcid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.Elasticsearch": { + "type": "object", + "properties": { + "domains": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.Domain" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.Endpoint": { + "type": "object", + "properties": { + "enforcehttps": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "tlspolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.LogPublishing": { + "type": "object", + "properties": { + "auditenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "cloudwatchloggrouparn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.ServiceSoftwareOptions": { + "type": "object", + "properties": { + "currentversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "newversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "updateavailable": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "updatestatus": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elasticsearch.TransitEncryption": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elb.Action": { + "type": "object", + "properties": { + "type": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elb.ELB": { + "type": "object", + "properties": { + "loadbalancers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elb.LoadBalancer" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elb.Listener": { + "type": "object", + "properties": { + "defaultactions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elb.Action" + } + }, + "protocol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "tlspolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elb.LoadBalancer": { + "type": "object", + "properties": { + "dropinvalidheaderfields": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "internal": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "listeners": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.elb.Listener" + } + }, + "type": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.emr.Cluster": { + "type": "object", + "properties": { + "settings": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.emr.ClusterSettings" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.emr.ClusterSettings": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "releaselabel": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "servicerole": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.emr.EMR": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.emr.Cluster" + } + }, + "securityconfiguration": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.emr.SecurityConfiguration" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.emr.SecurityConfiguration": { + "type": "object", + "properties": { + "configuration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.AccessKey": { + "type": "object", + "properties": { + "accesskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "active": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "creationdate": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue" + }, + "lastaccess": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Document": { + "type": "object", + "properties": { + "endline": { + "type": "integer" + }, + "explicit": { + "type": "boolean" + }, + "filepath": { + "type": "string" + }, + "fskey": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "resource": { + "type": "string" + }, + "sourceprefix": { + "type": "string" + }, + "startline": { + "type": "integer" + }, + "value": { + "type": "string" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Group": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "policies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy" + } + }, + "users": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.User" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.IAM": { + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Group" + } + }, + "passwordpolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.PasswordPolicy" + }, + "policies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy" + } + }, + "roles": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Role" + } + }, + "servercertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.ServerCertificate" + } + }, + "users": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.User" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.MFADevice": { + "type": "object", + "properties": { + "isvirtual": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.PasswordPolicy": { + "type": "object", + "properties": { + "maxagedays": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "minimumlength": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "requirelowercase": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "requirenumbers": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "requiresymbols": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "requireuppercase": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "reusepreventioncount": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy": { + "type": "object", + "properties": { + "builtin": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "document": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Document" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Role": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "policies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.ServerCertificate": { + "type": "object", + "properties": { + "expiration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.User": { + "type": "object", + "properties": { + "accesskeys": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.AccessKey" + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Group" + } + }, + "lastaccess": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue" + }, + "mfadevices": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.MFADevice" + } + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "policies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kinesis.Encryption": { + "type": "object", + "properties": { + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "type": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kinesis.Kinesis": { + "type": "object", + "properties": { + "streams": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kinesis.Stream" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kinesis.Stream": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kinesis.Encryption" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kms.KMS": { + "type": "object", + "properties": { + "keys": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kms.Key" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.kms.Key": { + "type": "object", + "properties": { + "rotationenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "usage": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.lambda.Function": { + "type": "object", + "properties": { + "permissions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.lambda.Permission" + } + }, + "tracing": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.lambda.Tracing" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.lambda.Lambda": { + "type": "object", + "properties": { + "functions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.lambda.Function" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.lambda.Permission": { + "type": "object", + "properties": { + "principal": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "sourcearn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.lambda.Tracing": { + "type": "object", + "properties": { + "mode": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.mq.Broker": { + "type": "object", + "properties": { + "logging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.mq.Logging" + }, + "publicaccess": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.mq.Logging": { + "type": "object", + "properties": { + "audit": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "general": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.mq.MQ": { + "type": "object", + "properties": { + "brokers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.mq.Broker" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.BrokerLogging": { + "type": "object", + "properties": { + "cloudwatch": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.CloudwatchLogging" + }, + "firehose": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.FirehoseLogging" + }, + "s3": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.S3Logging" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.CloudwatchLogging": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.Cluster": { + "type": "object", + "properties": { + "encryptionatrest": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.EncryptionAtRest" + }, + "encryptionintransit": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.EncryptionInTransit" + }, + "logging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.Logging" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.EncryptionAtRest": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyarn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.EncryptionInTransit": { + "type": "object", + "properties": { + "clientbroker": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.FirehoseLogging": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.Logging": { + "type": "object", + "properties": { + "broker": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.BrokerLogging" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.MSK": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.Cluster" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.msk.S3Logging": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.neptune.Cluster": { + "type": "object", + "properties": { + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "logging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.neptune.Logging" + }, + "storageencrypted": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.neptune.Logging": { + "type": "object", + "properties": { + "audit": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.neptune.Neptune": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.neptune.Cluster" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Classic": { + "type": "object", + "properties": { + "dbsecuritygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.DBSecurityGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Cluster": { + "type": "object", + "properties": { + "availabilityzones": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "backupretentionperioddays": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "deletionprotection": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Encryption" + }, + "engine": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.ClusterInstance" + } + }, + "latestrestorabletime": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue" + }, + "performanceinsights": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.PerformanceInsights" + }, + "publicaccess": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "replicationsourcearn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "skipfinalsnapshot": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.ClusterInstance": { + "type": "object", + "properties": { + "clusteridentifier": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "instance": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Instance" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.DBParameterGroupsList": { + "type": "object", + "properties": { + "dbparametergroupname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.DBSecurityGroup": { + "type": "object" + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.DBSnapshotAttributes": { + "type": "object", + "properties": { + "attributevalues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Encryption": { + "type": "object", + "properties": { + "encryptstorage": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Instance": { + "type": "object", + "properties": { + "autominorversionupgrade": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "backupretentionperioddays": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "dbinstancearn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "dbinstanceidentifier": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "dbparametergroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.DBParameterGroupsList" + } + }, + "deletionprotection": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "enabledcloudwatchlogsexports": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Encryption" + }, + "engine": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "engineversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "iamauthenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "latestrestorabletime": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue" + }, + "multiaz": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "performanceinsights": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.PerformanceInsights" + }, + "publicaccess": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "publiclyaccessible": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "readreplicadbinstanceidentifiers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "replicationsourcearn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "storageencrypted": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "taglist": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.TagList" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.ParameterGroups": { + "type": "object", + "properties": { + "dbparametergroupfamily": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "dbparametergroupname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "parameters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Parameters" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Parameters": { + "type": "object", + "properties": { + "parametername": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "parametervalue": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.PerformanceInsights": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.RDS": { + "type": "object", + "properties": { + "classic": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Classic" + }, + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Cluster" + } + }, + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Instance" + } + }, + "parametergroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.ParameterGroups" + } + }, + "snapshots": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Snapshots" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.Snapshots": { + "type": "object", + "properties": { + "dbsnapshotarn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "dbsnapshotidentifier": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "encrypted": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "snapshotattributes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.DBSnapshotAttributes" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.rds.TagList": { + "type": "object" + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.Cluster": { + "type": "object", + "properties": { + "allowversionupgrade": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "automatedsnapshotretentionperiod": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "clusteridentifier": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.Encryption" + }, + "endpoint": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.EndPoint" + }, + "loggingenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "masterusername": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "nodetype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "numberofnodes": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "publiclyaccessible": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "subnetgroupname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "vpcid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.ClusterParameter": { + "type": "object", + "properties": { + "parametername": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "parametervalue": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.Encryption": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.EndPoint": { + "type": "object", + "properties": { + "port": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.Redshift": { + "type": "object", + "properties": { + "clusterparameters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.ClusterParameter" + } + }, + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.Cluster" + } + }, + "reservednodes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.ReservedNode" + } + }, + "securitygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.SecurityGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.ReservedNode": { + "type": "object", + "properties": { + "nodetype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.redshift.SecurityGroup": { + "type": "object", + "properties": { + "description": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Bucket": { + "type": "object", + "properties": { + "accelerateconfigurationstatus": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "acl": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "bucketlocation": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "bucketpolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy" + } + }, + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Encryption" + }, + "lifecycleconfiguration": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Rules" + } + }, + "logging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Logging" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "objects": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Contents" + } + }, + "publicaccessblock": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.PublicAccessBlock" + }, + "versioning": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Versioning" + }, + "website": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Website" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Contents": { + "type": "object" + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Encryption": { + "type": "object", + "properties": { + "algorithm": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Logging": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "targetbucket": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.PublicAccessBlock": { + "type": "object", + "properties": { + "blockpublicacls": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "blockpublicpolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "ignorepublicacls": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "restrictpublicbuckets": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Rules": { + "type": "object", + "properties": { + "status": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.S3": { + "type": "object", + "properties": { + "buckets": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Bucket" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Versioning": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "mfadelete": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.s3.Website": { + "type": "object" + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.API": { + "type": "object", + "properties": { + "accesslogging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.AccessLogging" + }, + "domainconfiguration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.DomainConfiguration" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "restmethodsettings": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.RESTMethodSettings" + }, + "tracingenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.AccessLogging": { + "type": "object", + "properties": { + "cloudwatchloggrouparn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.Application": { + "type": "object", + "properties": { + "location": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.Location" + }, + "locationpath": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.DomainConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "securitypolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.Function": { + "type": "object", + "properties": { + "functionname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "managedpolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "policies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy" + } + }, + "tracing": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.HttpAPI": { + "type": "object", + "properties": { + "accesslogging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.AccessLogging" + }, + "defaultroutesettings": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.RouteSettings" + }, + "domainconfiguration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.DomainConfiguration" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.Location": { + "type": "object", + "properties": { + "applicationid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "semanticversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.LoggingConfiguration": { + "type": "object", + "properties": { + "loggingenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.RESTMethodSettings": { + "type": "object", + "properties": { + "cachedataencrypted": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "datatraceenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "loggingenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "metricsenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.RouteSettings": { + "type": "object", + "properties": { + "datatraceenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "detailedmetricsenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "loggingenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.SAM": { + "type": "object", + "properties": { + "apis": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.API" + } + }, + "applications": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.Application" + } + }, + "functions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.Function" + } + }, + "httpapis": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.HttpAPI" + } + }, + "simpletables": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.SimpleTable" + } + }, + "statemachines": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.StateMachine" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.SSESpecification": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "kmsmasterkeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.SimpleTable": { + "type": "object", + "properties": { + "ssespecification": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.SSESpecification" + }, + "tablename": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.StateMachine": { + "type": "object", + "properties": { + "loggingconfiguration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.LoggingConfiguration" + }, + "managedpolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "policies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy" + } + }, + "tracing": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.TracingConfiguration" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sam.TracingConfiguration": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sns.Encryption": { + "type": "object", + "properties": { + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sns.SNS": { + "type": "object", + "properties": { + "topics": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sns.Topic" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sns.Topic": { + "type": "object", + "properties": { + "arn": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sns.Encryption" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sqs.Encryption": { + "type": "object", + "properties": { + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "managedencryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sqs.Queue": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sqs.Encryption" + }, + "policies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.iam.Policy" + } + }, + "queueurl": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sqs.SQS": { + "type": "object", + "properties": { + "queues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.sqs.Queue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ssm.SSM": { + "type": "object", + "properties": { + "secrets": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ssm.Secret" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.ssm.Secret": { + "type": "object", + "properties": { + "kmskeyid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.workspaces.Encryption": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.workspaces.Volume": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.workspaces.Encryption" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.workspaces.WorkSpace": { + "type": "object", + "properties": { + "rootvolume": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.workspaces.Volume" + }, + "uservolume": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.workspaces.Volume" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.workspaces.WorkSpaces": { + "type": "object", + "properties": { + "workspaces": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.aws.workspaces.WorkSpace" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.Azure": { + "type": "object", + "properties": { + "appservice": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.AppService" + }, + "authorization": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.authorization.Authorization" + }, + "compute": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.Compute" + }, + "container": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.Container" + }, + "database": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.Database" + }, + "datafactory": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.datafactory.DataFactory" + }, + "datalake": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.datalake.DataLake" + }, + "keyvault": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.KeyVault" + }, + "monitor": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.monitor.Monitor" + }, + "network": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.Network" + }, + "securitycenter": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.securitycenter.SecurityCenter" + }, + "storage": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.Storage" + }, + "synapse": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.synapse.Synapse" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.AppService": { + "type": "object", + "properties": { + "functionapps": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.FunctionApp" + } + }, + "services": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.Service" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.FunctionApp": { + "type": "object", + "properties": { + "httpsonly": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.Service": { + "type": "object", + "properties": { + "authentication": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.Service.Authentication" + }, + "enableclientcert": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "identity": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.Service.Identity" + }, + "site": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.Service.Site" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.Service.Authentication": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.Service.Identity": { + "type": "object", + "properties": { + "type": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.appservice.Service.Site": { + "type": "object", + "properties": { + "enablehttp2": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "minimumtlsversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.authorization.Authorization": { + "type": "object", + "properties": { + "roledefinitions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.authorization.RoleDefinition" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.authorization.Permission": { + "type": "object", + "properties": { + "actions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.authorization.RoleDefinition": { + "type": "object", + "properties": { + "assignablescopes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "permissions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.authorization.Permission" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.Compute": { + "type": "object", + "properties": { + "linuxvirtualmachines": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.LinuxVirtualMachine" + } + }, + "manageddisks": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.ManagedDisk" + } + }, + "windowsvirtualmachines": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.WindowsVirtualMachine" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.Encryption": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.LinuxVirtualMachine": { + "type": "object", + "properties": { + "osprofilelinuxconfig": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.OSProfileLinuxConfig" + }, + "virtualmachine": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.VirtualMachine" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.ManagedDisk": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.Encryption" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.OSProfileLinuxConfig": { + "type": "object", + "properties": { + "disablepasswordauthentication": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.VirtualMachine": { + "type": "object", + "properties": { + "customdata": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.WindowsVirtualMachine": { + "type": "object", + "properties": { + "virtualmachine": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.compute.VirtualMachine" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.AddonProfile": { + "type": "object", + "properties": { + "omsagent": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.OMSAgent" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.Container": { + "type": "object", + "properties": { + "kubernetesclusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.KubernetesCluster" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.KubernetesCluster": { + "type": "object", + "properties": { + "addonprofile": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.AddonProfile" + }, + "apiserverauthorizedipranges": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "enableprivatecluster": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "networkprofile": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.NetworkProfile" + }, + "rolebasedaccesscontrol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.RoleBasedAccessControl" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.NetworkProfile": { + "type": "object", + "properties": { + "networkpolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.OMSAgent": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.container.RoleBasedAccessControl": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.Database": { + "type": "object", + "properties": { + "mariadbservers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.MariaDBServer" + } + }, + "mssqlservers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.MSSQLServer" + } + }, + "mysqlservers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.MySQLServer" + } + }, + "postgresqlservers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.PostgreSQLServer" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.ExtendedAuditingPolicy": { + "type": "object", + "properties": { + "retentionindays": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.FirewallRule": { + "type": "object", + "properties": { + "endip": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "startip": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.MSSQLServer": { + "type": "object", + "properties": { + "extendedauditingpolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.ExtendedAuditingPolicy" + } + }, + "securityalertpolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.SecurityAlertPolicy" + } + }, + "server": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.Server" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.MariaDBServer": { + "type": "object", + "properties": { + "server": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.Server" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.MySQLServer": { + "type": "object", + "properties": { + "server": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.Server" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.PostgreSQLServer": { + "type": "object", + "properties": { + "config": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.PostgresSQLConfig" + }, + "server": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.Server" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.PostgresSQLConfig": { + "type": "object", + "properties": { + "connectionthrottling": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "logcheckpoints": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "logconnections": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.SecurityAlertPolicy": { + "type": "object", + "properties": { + "disabledalerts": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "emailaccountadmins": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "emailaddresses": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.Server": { + "type": "object", + "properties": { + "enablepublicnetworkaccess": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "enablesslenforcement": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "firewallrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.database.FirewallRule" + } + }, + "minimumtlsversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.datafactory.DataFactory": { + "type": "object", + "properties": { + "datafactories": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.datafactory.Factory" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.datafactory.Factory": { + "type": "object", + "properties": { + "enablepublicnetwork": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.datalake.DataLake": { + "type": "object", + "properties": { + "stores": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.datalake.Store" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.datalake.Store": { + "type": "object", + "properties": { + "enableencryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.Key": { + "type": "object", + "properties": { + "expirydate": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.KeyVault": { + "type": "object", + "properties": { + "vaults": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.Vault" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.NetworkACLs": { + "type": "object", + "properties": { + "defaultaction": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.Secret": { + "type": "object", + "properties": { + "contenttype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "expirydate": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.Vault": { + "type": "object", + "properties": { + "enablepurgeprotection": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.Key" + } + }, + "networkacls": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.NetworkACLs" + }, + "secrets": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.keyvault.Secret" + } + }, + "softdeleteretentiondays": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.monitor.LogProfile": { + "type": "object", + "properties": { + "categories": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "locations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "retentionpolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.monitor.RetentionPolicy" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.monitor.Monitor": { + "type": "object", + "properties": { + "logprofiles": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.monitor.LogProfile" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.monitor.RetentionPolicy": { + "type": "object", + "properties": { + "days": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.Network": { + "type": "object", + "properties": { + "networkwatcherflowlogs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.NetworkWatcherFlowLog" + } + }, + "securitygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.SecurityGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.NetworkWatcherFlowLog": { + "type": "object", + "properties": { + "retentionpolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.RetentionPolicy" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.PortRange": { + "type": "object", + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.RetentionPolicy": { + "type": "object", + "properties": { + "days": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.SecurityGroup": { + "type": "object", + "properties": { + "rules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.SecurityGroupRule" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.SecurityGroupRule": { + "type": "object", + "properties": { + "allow": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "destinationaddresses": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "destinationports": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.PortRange" + } + }, + "outbound": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "protocol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "sourceaddresses": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "sourceports": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.network.PortRange" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.securitycenter.Contact": { + "type": "object", + "properties": { + "enablealertnotifications": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "phone": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.securitycenter.SecurityCenter": { + "type": "object", + "properties": { + "contacts": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.securitycenter.Contact" + } + }, + "subscriptions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.securitycenter.SubscriptionPricing" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.securitycenter.SubscriptionPricing": { + "type": "object", + "properties": { + "tier": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.Account": { + "type": "object", + "properties": { + "containers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.Container" + } + }, + "enforcehttps": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "minimumtlsversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "networkrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.NetworkRule" + } + }, + "queueproperties": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.QueueProperties" + }, + "queues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.Queue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.Container": { + "type": "object", + "properties": { + "publicaccess": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.NetworkRule": { + "type": "object", + "properties": { + "allowbydefault": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "bypass": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.Queue": { + "type": "object", + "properties": { + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.QueueProperties": { + "type": "object", + "properties": { + "enablelogging": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.Storage": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.storage.Account" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.synapse.Synapse": { + "type": "object", + "properties": { + "workspaces": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.synapse.Workspace" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.azure.synapse.Workspace": { + "type": "object", + "properties": { + "enablemanagedvirtualnetwork": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.cloudstack.CloudStack": { + "type": "object", + "properties": { + "compute": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.cloudstack.compute.Compute" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.cloudstack.compute.Compute": { + "type": "object", + "properties": { + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.cloudstack.compute.Instance" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.cloudstack.compute.Instance": { + "type": "object", + "properties": { + "userdata": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.DigitalOcean": { + "type": "object", + "properties": { + "compute": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.Compute" + }, + "spaces": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.spaces.Spaces" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.Compute": { + "type": "object", + "properties": { + "droplets": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.Droplet" + } + }, + "firewalls": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.Firewall" + } + }, + "kubernetesclusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.KubernetesCluster" + } + }, + "loadbalancers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.LoadBalancer" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.Droplet": { + "type": "object", + "properties": { + "sshkeys": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.Firewall": { + "type": "object", + "properties": { + "inboundrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.InboundFirewallRule" + } + }, + "outboundrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.OutboundFirewallRule" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.ForwardingRule": { + "type": "object", + "properties": { + "entryprotocol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.InboundFirewallRule": { + "type": "object", + "properties": { + "sourceaddresses": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.KubernetesCluster": { + "type": "object", + "properties": { + "autoupgrade": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "surgeupgrade": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.LoadBalancer": { + "type": "object", + "properties": { + "forwardingrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.ForwardingRule" + } + }, + "redirecthttptohttps": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.compute.OutboundFirewallRule": { + "type": "object", + "properties": { + "destinationaddresses": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.spaces.Bucket": { + "type": "object", + "properties": { + "acl": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "forcedestroy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "objects": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.spaces.Object" + } + }, + "versioning": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.spaces.Versioning" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.spaces.Object": { + "type": "object", + "properties": { + "acl": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.spaces.Spaces": { + "type": "object", + "properties": { + "buckets": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.spaces.Bucket" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.digitalocean.spaces.Versioning": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.github.BranchProtection": { + "type": "object", + "properties": { + "requiresignedcommits": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.github.EnvironmentSecret": { + "type": "object", + "properties": { + "encryptedvalue": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "environment": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "plaintextvalue": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "repository": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "secretname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.github.GitHub": { + "type": "object", + "properties": { + "branchprotections": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.github.BranchProtection" + } + }, + "environmentsecrets": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.github.EnvironmentSecret" + } + }, + "repositories": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.github.Repository" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.github.Repository": { + "type": "object", + "properties": { + "archived": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "public": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "vulnerabilityalerts": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.Google": { + "type": "object", + "properties": { + "bigquery": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.bigquery.BigQuery" + }, + "compute": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Compute" + }, + "dns": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.dns.DNS" + }, + "gke": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.GKE" + }, + "iam": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.IAM" + }, + "kms": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.kms.KMS" + }, + "sql": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.SQL" + }, + "storage": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.storage.Storage" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.bigquery.AccessGrant": { + "type": "object", + "properties": { + "domain": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "role": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "specialgroup": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.bigquery.BigQuery": { + "type": "object", + "properties": { + "datasets": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.bigquery.Dataset" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.bigquery.Dataset": { + "type": "object", + "properties": { + "accessgrants": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.bigquery.AccessGrant" + } + }, + "id": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Compute": { + "type": "object", + "properties": { + "disks": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Disk" + } + }, + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Instance" + } + }, + "networks": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Network" + } + }, + "projectmetadata": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.ProjectMetadata" + }, + "sslpolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.SSLPolicy" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Disk": { + "type": "object", + "properties": { + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.DiskEncryption" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.DiskEncryption": { + "type": "object", + "properties": { + "kmskeylink": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "rawkey": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BytesValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.EgressRule": { + "type": "object", + "properties": { + "destinationranges": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "firewallrule": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.FirewallRule" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Firewall": { + "type": "object", + "properties": { + "egressrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.EgressRule" + } + }, + "ingressrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.IngressRule" + } + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "sourcetags": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "targettags": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.FirewallRule": { + "type": "object", + "properties": { + "enforced": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "isallow": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "ports": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + }, + "protocol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.IngressRule": { + "type": "object", + "properties": { + "firewallrule": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.FirewallRule" + }, + "sourceranges": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Instance": { + "type": "object", + "properties": { + "attacheddisks": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Disk" + } + }, + "bootdisks": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Disk" + } + }, + "canipforward": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "enableprojectsshkeyblocking": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "enableserialport": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "networkinterfaces": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.NetworkInterface" + } + }, + "osloginenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "serviceaccount": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.ServiceAccount" + }, + "shieldedvm": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.ShieldedVMConfig" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Network": { + "type": "object", + "properties": { + "firewall": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Firewall" + }, + "subnetworks": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.SubNetwork" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.NetworkInterface": { + "type": "object", + "properties": { + "haspublicip": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "natip": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "network": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.Network" + }, + "subnetwork": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.SubNetwork" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.ProjectMetadata": { + "type": "object", + "properties": { + "enableoslogin": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.SSLPolicy": { + "type": "object", + "properties": { + "minimumtlsversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "profile": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.ServiceAccount": { + "type": "object", + "properties": { + "email": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "isdefault": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "scopes": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.ShieldedVMConfig": { + "type": "object", + "properties": { + "integritymonitoringenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "securebootenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "vtpmenabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.compute.SubNetwork": { + "type": "object", + "properties": { + "enableflowlogs": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "purpose": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.dns.DNS": { + "type": "object", + "properties": { + "managedzones": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.dns.ManagedZone" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.dns.DNSSec": { + "type": "object", + "properties": { + "defaultkeyspecs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.dns.KeySpecs" + } + }, + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.dns.KeySpecs": { + "type": "object", + "properties": { + "algorithm": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "keytype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.dns.ManagedZone": { + "type": "object", + "properties": { + "dnssec": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.dns.DNSSec" + }, + "visibility": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.ClientCertificate": { + "type": "object", + "properties": { + "issuecertificate": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.Cluster": { + "type": "object", + "properties": { + "datapathprovider": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "enableautpilot": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "enablelegacyabac": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "enableshieldednodes": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "ipallocationpolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.IPAllocationPolicy" + }, + "loggingservice": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "masterauth": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.MasterAuth" + }, + "masterauthorizednetworks": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.MasterAuthorizedNetworks" + }, + "monitoringservice": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "networkpolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.NetworkPolicy" + }, + "nodeconfig": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.NodeConfig" + }, + "nodepools": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.NodePool" + } + }, + "privatecluster": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.PrivateCluster" + }, + "removedefaultnodepool": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "resourcelabels": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.MapValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.GKE": { + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.Cluster" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.IPAllocationPolicy": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.Management": { + "type": "object", + "properties": { + "enableautorepair": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "enableautoupgrade": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.MasterAuth": { + "type": "object", + "properties": { + "clientcertificate": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.ClientCertificate" + }, + "password": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "username": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.MasterAuthorizedNetworks": { + "type": "object", + "properties": { + "cidrs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.NetworkPolicy": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.NodeConfig": { + "type": "object", + "properties": { + "enablelegacyendpoints": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "imagetype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "serviceaccount": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "workloadmetadataconfig": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.WorkloadMetadataConfig" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.NodePool": { + "type": "object", + "properties": { + "management": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.Management" + }, + "nodeconfig": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.NodeConfig" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.PrivateCluster": { + "type": "object", + "properties": { + "enableprivatenodes": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.gke.WorkloadMetadataConfig": { + "type": "object", + "properties": { + "nodemetadata": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Binding": { + "type": "object", + "properties": { + "includesdefaultserviceaccount": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "members": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "role": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Folder": { + "type": "object", + "properties": { + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Binding" + } + }, + "folders": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Folder" + } + }, + "members": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Member" + } + }, + "projects": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Project" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.IAM": { + "type": "object", + "properties": { + "organizations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Organization" + } + }, + "workloadidentitypoolproviders": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.WorkloadIdentityPoolProvider" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Member": { + "type": "object", + "properties": { + "defaultserviceaccount": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "member": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "role": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Organization": { + "type": "object", + "properties": { + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Binding" + } + }, + "folders": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Folder" + } + }, + "members": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Member" + } + }, + "projects": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Project" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Project": { + "type": "object", + "properties": { + "autocreatenetwork": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Binding" + } + }, + "members": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Member" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.WorkloadIdentityPoolProvider": { + "type": "object", + "properties": { + "attributecondition": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "workloadidentitypoolid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "workloadidentitypoolproviderid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.kms.KMS": { + "type": "object", + "properties": { + "keyrings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.kms.KeyRing" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.kms.Key": { + "type": "object", + "properties": { + "rotationperiodseconds": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.kms.KeyRing": { + "type": "object", + "properties": { + "keys": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.kms.Key" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.Backups": { + "type": "object", + "properties": { + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.DatabaseInstance": { + "type": "object", + "properties": { + "databaseversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "isreplica": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "settings": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.Settings" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.Flags": { + "type": "object", + "properties": { + "containeddatabaseauthentication": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "crossdbownershipchaining": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "localinfile": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "logcheckpoints": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "logconnections": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "logdisconnections": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "loglockwaits": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "logmindurationstatement": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "logminmessages": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "logtempfilesize": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.IPConfiguration": { + "type": "object", + "properties": { + "authorizednetworks": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.IPConfiguration.AuthorizedNetworks" + } + }, + "enableipv4": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "requiretls": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.IPConfiguration.AuthorizedNetworks": { + "type": "object", + "properties": { + "cidr": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.SQL": { + "type": "object", + "properties": { + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.DatabaseInstance" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.Settings": { + "type": "object", + "properties": { + "backups": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.Backups" + }, + "flags": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.Flags" + }, + "ipconfiguration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.sql.IPConfiguration" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.storage.Bucket": { + "type": "object", + "properties": { + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Binding" + } + }, + "enableuniformbucketlevelaccess": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "encryption": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.storage.BucketEncryption" + }, + "location": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "members": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.iam.Member" + } + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.storage.BucketEncryption": { + "type": "object", + "properties": { + "defaultkmskeyname": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.storage.Storage": { + "type": "object", + "properties": { + "buckets": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.google.storage.Bucket" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.Egress": { + "type": "object", + "properties": { + "destinationcidrs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "ports": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.Port" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.Ingress": { + "type": "object", + "properties": { + "ports": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.Port" + } + }, + "sourcecidrs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.Kubernetes": { + "type": "object", + "properties": { + "networkpolicies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.NetworkPolicy" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.NetworkPolicy": { + "type": "object", + "properties": { + "spec": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.NetworkPolicySpec" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.NetworkPolicySpec": { + "type": "object", + "properties": { + "egress": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.Egress" + }, + "ingress": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.Ingress" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.kubernetes.Port": { + "type": "object", + "properties": { + "number": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "protocol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.Nifcloud": { + "type": "object", + "properties": { + "computing": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.Computing" + }, + "dns": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.dns.DNS" + }, + "nas": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.nas.NAS" + }, + "network": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.Network" + }, + "rdb": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.rdb.RDB" + }, + "sslcertificate": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.sslcertificate.SSLCertificate" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.Computing": { + "type": "object", + "properties": { + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.Instance" + } + }, + "securitygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.SecurityGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.Instance": { + "type": "object", + "properties": { + "networkinterfaces": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.NetworkInterface" + } + }, + "securitygroup": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.NetworkInterface": { + "type": "object", + "properties": { + "networkid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.SecurityGroup": { + "type": "object", + "properties": { + "description": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "egressrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.SecurityGroupRule" + } + }, + "ingressrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.SecurityGroupRule" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.computing.SecurityGroupRule": { + "type": "object", + "properties": { + "cidr": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "description": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.dns.DNS": { + "type": "object", + "properties": { + "records": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.dns.Record" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.dns.Record": { + "type": "object", + "properties": { + "record": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "type": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.nas.NAS": { + "type": "object", + "properties": { + "nasinstances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.nas.NASInstance" + } + }, + "nassecuritygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.nas.NASSecurityGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.nas.NASInstance": { + "type": "object", + "properties": { + "networkid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.nas.NASSecurityGroup": { + "type": "object", + "properties": { + "cidrs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "description": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.ElasticLoadBalancer": { + "type": "object", + "properties": { + "listeners": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.ElasticLoadBalancerListener" + } + }, + "networkinterfaces": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.NetworkInterface" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.ElasticLoadBalancerListener": { + "type": "object", + "properties": { + "protocol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.LoadBalancer": { + "type": "object", + "properties": { + "listeners": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.LoadBalancerListener" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.LoadBalancerListener": { + "type": "object", + "properties": { + "protocol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "tlspolicy": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.Network": { + "type": "object", + "properties": { + "elasticloadbalancers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.ElasticLoadBalancer" + } + }, + "loadbalancers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.LoadBalancer" + } + }, + "routers": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.Router" + } + }, + "vpngateways": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.VpnGateway" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.NetworkInterface": { + "type": "object", + "properties": { + "isvipnetwork": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "networkid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.Router": { + "type": "object", + "properties": { + "networkinterfaces": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.NetworkInterface" + } + }, + "securitygroup": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.network.VpnGateway": { + "type": "object", + "properties": { + "securitygroup": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.rdb.DBInstance": { + "type": "object", + "properties": { + "backupretentionperioddays": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "engine": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "engineversion": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "networkid": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "publicaccess": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.rdb.DBSecurityGroup": { + "type": "object", + "properties": { + "cidrs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + }, + "description": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.rdb.RDB": { + "type": "object", + "properties": { + "dbinstances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.rdb.DBInstance" + } + }, + "dbsecuritygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.rdb.DBSecurityGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.sslcertificate.SSLCertificate": { + "type": "object", + "properties": { + "servercertificates": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.sslcertificate.ServerCertificate" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.nifcloud.sslcertificate.ServerCertificate": { + "type": "object", + "properties": { + "expiration": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.Compute": { + "type": "object", + "properties": { + "firewall": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.Firewall" + }, + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.Instance" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.Firewall": { + "type": "object", + "properties": { + "allowrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.FirewallRule" + } + }, + "denyrules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.FirewallRule" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.FirewallRule": { + "type": "object", + "properties": { + "destination": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "destinationport": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "enabled": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "source": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "sourceport": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.Instance": { + "type": "object", + "properties": { + "adminpassword": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.Networking": { + "type": "object", + "properties": { + "securitygroups": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.SecurityGroup" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.OpenStack": { + "type": "object", + "properties": { + "compute": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.Compute" + }, + "networking": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.Networking" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.SecurityGroup": { + "type": "object", + "properties": { + "description": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "name": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.SecurityGroupRule" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.openstack.SecurityGroupRule": { + "type": "object", + "properties": { + "cidr": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + }, + "ethertype": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "isingress": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue" + }, + "portmax": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "portmin": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue" + }, + "protocol": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.oracle.AddressReservation": { + "type": "object", + "properties": { + "pool": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.oracle.Compute": { + "type": "object", + "properties": { + "addressreservations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.oracle.AddressReservation" + } + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.oracle.Oracle": { + "type": "object", + "properties": { + "compute": { + "type": "object", + "$ref": "#/definitions/github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.providers.oracle.Compute" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BoolValue": { + "type": "object", + "properties": { + "endline": { + "type": "integer" + }, + "explicit": { + "type": "boolean" + }, + "filepath": { + "type": "string" + }, + "fskey": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "resource": { + "type": "string" + }, + "sourceprefix": { + "type": "string" + }, + "startline": { + "type": "integer" + }, + "value": { + "type": "boolean" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.BytesValue": { + "type": "object", + "properties": { + "endline": { + "type": "integer" + }, + "explicit": { + "type": "boolean" + }, + "filepath": { + "type": "string" + }, + "fskey": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "resource": { + "type": "string" + }, + "sourceprefix": { + "type": "string" + }, + "startline": { + "type": "integer" + }, + "value": { + "type": "string" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.IntValue": { + "type": "object", + "properties": { + "endline": { + "type": "integer" + }, + "explicit": { + "type": "boolean" + }, + "filepath": { + "type": "string" + }, + "fskey": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "resource": { + "type": "string" + }, + "sourceprefix": { + "type": "string" + }, + "startline": { + "type": "integer" + }, + "value": { + "type": "integer" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.MapValue": { + "type": "object", + "properties": { + "endline": { + "type": "integer" + }, + "explicit": { + "type": "boolean" + }, + "filepath": { + "type": "string" + }, + "fskey": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "resource": { + "type": "string" + }, + "sourceprefix": { + "type": "string" + }, + "startline": { + "type": "integer" + }, + "value": { + "type": "object" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.StringValue": { + "type": "object", + "properties": { + "endline": { + "type": "integer" + }, + "explicit": { + "type": "boolean" + }, + "filepath": { + "type": "string" + }, + "fskey": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "resource": { + "type": "string" + }, + "sourceprefix": { + "type": "string" + }, + "startline": { + "type": "integer" + }, + "value": { + "type": "string" + } + } + }, + "github.aaakk.us.kg.aquasecurity.trivy.pkg.iac.types.TimeValue": { + "type": "object", + "properties": { + "endline": { + "type": "integer" + }, + "explicit": { + "type": "boolean" + }, + "filepath": { + "type": "string" + }, + "fskey": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "resource": { + "type": "string" + }, + "sourceprefix": { + "type": "string" + }, + "startline": { + "type": "integer" + }, + "value": { + "type": "string" + } + } + } + } +} \ No newline at end of file diff --git a/pkg/iac/rego/schemas/dockerfile.json b/pkg/iac/rego/schemas/dockerfile.json new file mode 100644 index 000000000000..d769cb195bae --- /dev/null +++ b/pkg/iac/rego/schemas/dockerfile.json @@ -0,0 +1,70 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://github.com/aquasecurity/trivy-policies/blob/main/pkg/rego/schemas/dockerfile.json", + "type": "object", + "properties": { + "Stages": { + "type": "array", + "items": { + "$ref": "#/$defs/stage" + } + } + }, + "$defs": { + "stage": { + "type": "object", + "properties": { + "Name": { + "type": "string" + }, + "Commands": { + "type": "array", + "items": { + "$ref": "#/$defs/command" + } + } + } + }, + "command": { + "type": "object", + "properties": { + "Flags": { + "type": "array", + "items": { + "type": "string" + } + }, + "Value": { + "type": "array", + "items": { + "type": "string" + } + }, + "Cmd": { + "type": "string" + }, + "SubCmd": { + "type": "string" + }, + "Original": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "JSON": { + "type": "boolean" + }, + "Stage": { + "type": "integer" + }, + "StartLine": { + "type": "integer" + }, + "EndLine": { + "type": "integer" + } + } + } + } +} \ No newline at end of file diff --git a/pkg/iac/rego/schemas/kubernetes.json b/pkg/iac/rego/schemas/kubernetes.json new file mode 100644 index 000000000000..1975944b7790 --- /dev/null +++ b/pkg/iac/rego/schemas/kubernetes.json @@ -0,0 +1,51 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://github.com/aquasecurity/trivy-policies/blob/main/pkg/rego/schemas/kubernetes.json", + "type": "object", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "type": "object" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "apiGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "resources": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "verbs": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/pkg/iac/rego/schemas/rbac.json b/pkg/iac/rego/schemas/rbac.json new file mode 100644 index 000000000000..c251890f91fd --- /dev/null +++ b/pkg/iac/rego/schemas/rbac.json @@ -0,0 +1,51 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://github.com/aquasecurity/trivy-policies/blob/main/pkg/rego/schemas/rbac.json", + "type": "object", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "type": "object" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "apiGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "resources": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "verbs": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/pkg/iac/rego/schemas/schemas.go b/pkg/iac/rego/schemas/schemas.go new file mode 100644 index 000000000000..73f92c10fc89 --- /dev/null +++ b/pkg/iac/rego/schemas/schemas.go @@ -0,0 +1,16 @@ +package schemas + +import ( + "github.com/aquasecurity/trivy/pkg/iac/types" +) + +var SchemaMap = map[types.Source]Schema{ + types.SourceDefsec: Cloud, + types.SourceCloud: Cloud, + types.SourceKubernetes: Kubernetes, + types.SourceRbac: Kubernetes, + types.SourceDockerfile: Dockerfile, + types.SourceTOML: Anything, + types.SourceYAML: Anything, + types.SourceJSON: Anything, +} diff --git a/pkg/iac/rego/store.go b/pkg/iac/rego/store.go new file mode 100644 index 000000000000..c75818d402e7 --- /dev/null +++ b/pkg/iac/rego/store.go @@ -0,0 +1,48 @@ +package rego + +import ( + "fmt" + "io/fs" + "os" + "path/filepath" + "strings" + + "github.com/open-policy-agent/opa/loader" + "github.com/open-policy-agent/opa/storage" +) + +// initialize a store populated with OPA data files found in dataPaths +func initStore(dataFS fs.FS, dataPaths, namespaces []string) (storage.Store, error) { + // FilteredPaths will recursively find all file paths that contain a valid document + // extension from the given list of data paths. + allDocumentPaths, _ := loader.FilteredPathsFS(dataFS, dataPaths, func(abspath string, info os.FileInfo, depth int) bool { + if info.IsDir() { + return false // filter in, include + } + ext := strings.ToLower(filepath.Ext(info.Name())) + for _, filter := range []string{ + ".yaml", + ".yml", + ".json", + } { + if filter == ext { + return false // filter in, include + } + } + return true // filter out, exclude + }) + + documents, err := loader.NewFileLoader().WithFS(dataFS).All(allDocumentPaths) + if err != nil { + return nil, fmt.Errorf("load documents: %w", err) + } + + // pass all namespaces so that rego rule can refer to namespaces as data.namespaces + documents.Documents["namespaces"] = namespaces + + store, err := documents.Store() + if err != nil { + return nil, fmt.Errorf("get documents store: %w", err) + } + return store, nil +} diff --git a/pkg/iac/rego/testdata/policies/._sysfile.rego b/pkg/iac/rego/testdata/policies/._sysfile.rego new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/pkg/iac/rego/testdata/policies/invalid.rego b/pkg/iac/rego/testdata/policies/invalid.rego new file mode 100644 index 000000000000..a2ef3607bc70 --- /dev/null +++ b/pkg/iac/rego/testdata/policies/invalid.rego @@ -0,0 +1,8 @@ +# METADATA +# schemas: +# - input: schema["input"] +package defsec.test_invalid + +deny { + input.Stages[0].Commands[0].FooBarNothingBurger == "lol" +} diff --git a/pkg/iac/rego/testdata/policies/valid.rego b/pkg/iac/rego/testdata/policies/valid.rego new file mode 100644 index 000000000000..74a96afeec0c --- /dev/null +++ b/pkg/iac/rego/testdata/policies/valid.rego @@ -0,0 +1,8 @@ +# METADATA +# schemas: +# - input: schema["input"] +package defsec.test_valid + +deny { + input.Stages[0].Commands[0].Cmd == "lol" +} diff --git a/pkg/iac/rules/providers.go b/pkg/iac/rules/providers.go new file mode 100644 index 000000000000..7c14aa1c627a --- /dev/null +++ b/pkg/iac/rules/providers.go @@ -0,0 +1,169 @@ +package rules + +import ( + "encoding/json" + "strings" +) + +type Provider struct { + Name string `json:"name"` + Services []Service `json:"services"` +} + +type Service struct { + Name string `json:"name"` + Checks []Check `json:"checks"` +} + +type Check struct { + Name string `json:"name"` + Description string `json:"description"` +} + +func GetProvidersHierarchy() (providers map[string]map[string][]string) { + + registeredRules := GetRegistered() + + provs := make(map[string]map[string][]string) + + for _, rule := range registeredRules { + + cNames := make(map[string]bool) + pName := strings.ToLower(rule.GetRule().Provider.DisplayName()) + sName := strings.ToLower(rule.GetRule().Service) + cName := rule.GetRule().AVDID + + if _, ok := provs[pName]; !ok { + provs[pName] = make(map[string][]string) + } + + if _, ok := provs[pName][sName]; !ok { + provs[pName][sName] = make([]string, 0) + } + + if _, ok := cNames[cName]; !ok { + cNames[cName] = true + provs[pName][sName] = append(provs[pName][sName], cName) + } + } + + return provs +} + +func GetProviders() (providers []Provider) { + + registeredRules := GetRegistered() + + provs := make(map[string]map[string][]Check) + + for _, rule := range registeredRules { + + pName := strings.ToLower(rule.GetRule().Provider.DisplayName()) + sName := strings.ToLower(rule.GetRule().Service) + cName := rule.GetRule().AVDID + desc := rule.GetRule().Summary + + if _, ok := provs[pName]; !ok { + provs[pName] = make(map[string][]Check) + } + + if _, ok := provs[pName][sName]; !ok { + provs[pName][sName] = []Check{} + } + + provs[pName][sName] = append(provs[pName][sName], Check{ + Name: cName, + Description: desc, + }) + } + + for providerName, providerServices := range provs { + var services []Service + for serviceName, checks := range providerServices { + services = append(services, Service{ + Name: serviceName, + Checks: checks, + }) + } + + providers = append(providers, Provider{ + Name: providerName, + Services: services, + }) + } + + return providers +} + +func GetProvidersAsJson() ([]byte, error) { + + providers := GetProviders() + + return json.MarshalIndent(providers, "", " ") +} + +func GetProviderNames() []string { + + registeredRules := GetRegistered() + + providers := make(map[string]bool) + + for _, rule := range registeredRules { + + if _, ok := providers[rule.GetRule().Provider.DisplayName()]; !ok { + providers[rule.GetRule().Provider.DisplayName()] = true + } + + } + + var uniqueProviders []string + for p := range providers { + uniqueProviders = append(uniqueProviders, p) + } + + return uniqueProviders + +} + +func GetProviderServiceNames(providerName string) []string { + + registeredRules := GetRegistered() + + services := make(map[string]bool) + + for _, rule := range registeredRules { + + if !strings.EqualFold(providerName, rule.GetRule().Provider.DisplayName()) { + continue + } + + if _, ok := services[rule.GetRule().Service]; !ok { + services[rule.GetRule().Service] = true + } + + } + var uniqueServices []string + for p := range services { + uniqueServices = append(uniqueServices, p) + } + + return uniqueServices +} + +func GetProviderServiceCheckNames(providerName, serviceName string) []string { + + registeredRules := GetRegistered() + + var checks []string + + for _, rule := range registeredRules { + + if !strings.EqualFold(providerName, rule.GetRule().Provider.DisplayName()) || + !strings.EqualFold(serviceName, rule.GetRule().Service) { + continue + } + + checks = append(checks, rule.GetRule().AVDID) + } + return checks +} diff --git a/pkg/iac/rules/register.go b/pkg/iac/rules/register.go new file mode 100755 index 000000000000..f34cdf904da3 --- /dev/null +++ b/pkg/iac/rules/register.go @@ -0,0 +1,137 @@ +package rules + +import ( + "sync" + + "gopkg.in/yaml.v3" + + "github.com/aquasecurity/trivy-policies/specs" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" + dftypes "github.com/aquasecurity/trivy/pkg/iac/types" + ruleTypes "github.com/aquasecurity/trivy/pkg/iac/types/rules" +) + +type registry struct { + sync.RWMutex + index int + frameworks map[framework.Framework][]ruleTypes.RegisteredRule +} + +var coreRegistry = registry{ + frameworks: make(map[framework.Framework][]ruleTypes.RegisteredRule), +} + +func Reset() { + coreRegistry.Reset() +} + +func Register(rule scan.Rule) ruleTypes.RegisteredRule { + return coreRegistry.register(rule) +} + +func Deregister(rule ruleTypes.RegisteredRule) { + coreRegistry.deregister(rule) +} + +func (r *registry) register(rule scan.Rule) ruleTypes.RegisteredRule { + r.Lock() + defer r.Unlock() + if len(rule.Frameworks) == 0 { + rule.Frameworks = map[framework.Framework][]string{framework.Default: nil} + } + registeredRule := ruleTypes.RegisteredRule{ + Number: r.index, + Rule: rule, + } + r.index++ + for fw := range rule.Frameworks { + r.frameworks[fw] = append(r.frameworks[fw], registeredRule) + } + + r.frameworks[framework.ALL] = append(r.frameworks[framework.ALL], registeredRule) + + return registeredRule +} + +func (r *registry) deregister(rule ruleTypes.RegisteredRule) { + r.Lock() + defer r.Unlock() + for fw := range r.frameworks { + for i, registered := range r.frameworks[fw] { + if registered.Number == rule.Number { + r.frameworks[fw] = append(r.frameworks[fw][:i], r.frameworks[fw][i+1:]...) + break + } + } + } +} + +func (r *registry) getFrameworkRules(fw ...framework.Framework) []ruleTypes.RegisteredRule { + r.RLock() + defer r.RUnlock() + var registered []ruleTypes.RegisteredRule + if len(fw) == 0 { + fw = []framework.Framework{framework.Default} + } + unique := make(map[int]struct{}) + for _, f := range fw { + for _, rule := range r.frameworks[f] { + if _, ok := unique[rule.Number]; ok { + continue + } + registered = append(registered, rule) + unique[rule.Number] = struct{}{} + } + } + return registered +} + +func (r *registry) getSpecRules(spec string) []ruleTypes.RegisteredRule { + r.RLock() + defer r.RUnlock() + var specRules []ruleTypes.RegisteredRule + + var complianceSpec dftypes.ComplianceSpec + specContent := specs.GetSpec(spec) + if err := yaml.Unmarshal([]byte(specContent), &complianceSpec); err != nil { + return nil + } + + registered := r.getFrameworkRules(framework.ALL) + for _, rule := range registered { + for _, csRule := range complianceSpec.Spec.Controls { + if len(csRule.Checks) > 0 { + for _, c := range csRule.Checks { + if rule.GetRule().AVDID == c.ID { + specRules = append(specRules, rule) + } + } + } + } + } + + return specRules +} + +func (r *registry) Reset() { + r.Lock() + defer r.Unlock() + r.frameworks = make(map[framework.Framework][]ruleTypes.RegisteredRule) +} + +func GetFrameworkRules(fw ...framework.Framework) []ruleTypes.RegisteredRule { + return coreRegistry.getFrameworkRules(fw...) +} + +func GetSpecRules(spec string) []ruleTypes.RegisteredRule { + if len(spec) > 0 { + return coreRegistry.getSpecRules(spec) + } + + return GetFrameworkRules() +} + +func GetRegistered(fw ...framework.Framework) []ruleTypes.RegisteredRule { + return GetFrameworkRules(fw...) +} diff --git a/pkg/iac/rules/register_test.go b/pkg/iac/rules/register_test.go new file mode 100644 index 000000000000..22eec16c0c66 --- /dev/null +++ b/pkg/iac/rules/register_test.go @@ -0,0 +1,139 @@ +package rules + +import ( + "fmt" + "testing" + + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_Reset(t *testing.T) { + Reset() + rule := scan.Rule{} + _ = Register(rule) + assert.Equal(t, 1, len(GetFrameworkRules())) + Reset() + assert.Equal(t, 0, len(GetFrameworkRules())) +} + +func Test_Registration(t *testing.T) { + var tests = []struct { + name string + registeredFrameworks map[framework.Framework][]string + inputFrameworks []framework.Framework + expected bool + }{ + { + name: "rule without framework specified should be returned when no frameworks are requested", + expected: true, + }, + { + name: "rule without framework specified should not be returned when a specific framework is requested", + inputFrameworks: []framework.Framework{framework.CIS_AWS_1_2}, + expected: false, + }, + { + name: "rule without framework specified should be returned when the default framework is requested", + inputFrameworks: []framework.Framework{framework.Default}, + expected: true, + }, + { + name: "rule with default framework specified should be returned when the default framework is requested", + registeredFrameworks: map[framework.Framework][]string{framework.Default: {"1.1"}}, + inputFrameworks: []framework.Framework{framework.Default}, + expected: true, + }, + { + name: "rule with default framework specified should not be returned when a specific framework is requested", + registeredFrameworks: map[framework.Framework][]string{framework.Default: {"1.1"}}, + inputFrameworks: []framework.Framework{framework.CIS_AWS_1_2}, + expected: false, + }, + { + name: "rule with specific framework specified should not be returned when a default framework is requested", + registeredFrameworks: map[framework.Framework][]string{framework.CIS_AWS_1_2: {"1.1"}}, + inputFrameworks: []framework.Framework{framework.Default}, + expected: false, + }, + { + name: "rule with specific framework specified should be returned when the specific framework is requested", + registeredFrameworks: map[framework.Framework][]string{framework.CIS_AWS_1_2: {"1.1"}}, + inputFrameworks: []framework.Framework{framework.CIS_AWS_1_2}, + expected: true, + }, + { + name: "rule with multiple frameworks specified should be returned when the specific framework is requested", + registeredFrameworks: map[framework.Framework][]string{framework.CIS_AWS_1_2: {"1.1"}, "blah": {"1.2"}}, + inputFrameworks: []framework.Framework{framework.CIS_AWS_1_2}, + expected: true, + }, + { + name: "rule with multiple frameworks specified should be returned only once when multiple matching frameworks are requested", + registeredFrameworks: map[framework.Framework][]string{framework.CIS_AWS_1_2: {"1.1"}, "blah": {"1.2"}, "something": {"1.3"}}, + inputFrameworks: []framework.Framework{framework.CIS_AWS_1_2, "blah", "other"}, + expected: true, + }, + } + + for i, test := range tests { + t.Run(test.name, func(t *testing.T) { + Reset() + rule := scan.Rule{ + AVDID: fmt.Sprintf("%d-%s", i, test.name), + Frameworks: test.registeredFrameworks, + } + _ = Register(rule) + var found bool + for _, matchedRule := range GetFrameworkRules(test.inputFrameworks...) { + if matchedRule.GetRule().AVDID == rule.AVDID { + assert.False(t, found, "rule should not be returned more than once") + found = true + } + } + assert.Equal(t, test.expected, found, "rule should be returned if it matches any of the input frameworks") + }) + } +} + +func Test_Deregistration(t *testing.T) { + Reset() + registrationA := Register(scan.Rule{ + AVDID: "A", + }) + registrationB := Register(scan.Rule{ + AVDID: "B", + }) + assert.Equal(t, 2, len(GetFrameworkRules())) + Deregister(registrationA) + actual := GetFrameworkRules() + require.Equal(t, 1, len(actual)) + assert.Equal(t, "B", actual[0].GetRule().AVDID) + Deregister(registrationB) + assert.Equal(t, 0, len(GetFrameworkRules())) +} + +func Test_DeregistrationMultipleFrameworks(t *testing.T) { + Reset() + registrationA := Register(scan.Rule{ + AVDID: "A", + }) + registrationB := Register(scan.Rule{ + AVDID: "B", + Frameworks: map[framework.Framework][]string{ + "a": nil, + "b": nil, + "c": nil, + framework.Default: nil, + }, + }) + assert.Equal(t, 2, len(GetFrameworkRules())) + Deregister(registrationA) + actual := GetFrameworkRules() + require.Equal(t, 1, len(actual)) + assert.Equal(t, "B", actual[0].GetRule().AVDID) + Deregister(registrationB) + assert.Equal(t, 0, len(GetFrameworkRules())) +} diff --git a/pkg/iac/rules/rules.go b/pkg/iac/rules/rules.go new file mode 100644 index 000000000000..bb3eec14ae35 --- /dev/null +++ b/pkg/iac/rules/rules.go @@ -0,0 +1,83 @@ +package rules + +import ( + trules "github.com/aquasecurity/trivy-policies/pkg/rules" + + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/accessanalyzer" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/apigateway" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/athena" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/cloudfront" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/cloudtrail" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/cloudwatch" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/codebuild" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/config" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/documentdb" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/dynamodb" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/ec2" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/ecr" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/ecs" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/efs" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/eks" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/elasticache" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/elasticsearch" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/elb" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/emr" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/iam" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/kinesis" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/kms" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/lambda" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/mq" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/msk" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/neptune" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/rds" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/redshift" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/s3" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/sam" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/sns" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/sqs" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/ssm" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/aws/workspaces" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/appservice" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/authorization" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/compute" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/container" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/database" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/datafactory" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/datalake" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/keyvault" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/monitor" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/network" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/securitycenter" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/storage" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/azure/synapse" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/cloudstack/compute" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/digitalocean/compute" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/digitalocean/spaces" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/github/actions" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/github/branch_protections" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/github/repositories" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/google/bigquery" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/google/compute" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/google/dns" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/google/gke" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/google/iam" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/google/kms" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/google/sql" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/google/storage" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/nifcloud/computing" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/nifcloud/dns" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/nifcloud/nas" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/nifcloud/network" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/nifcloud/rdb" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/nifcloud/sslcertificate" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/openstack/compute" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/openstack/networking" + _ "github.com/aquasecurity/trivy-policies/checks/cloud/oracle/compute" + _ "github.com/aquasecurity/trivy-policies/checks/kubernetes/network" +) + +func init() { + for _, r := range trules.GetRules() { + Register(r) + } +} diff --git a/pkg/iac/scan/code.go b/pkg/iac/scan/code.go new file mode 100644 index 000000000000..5041b23ca2cc --- /dev/null +++ b/pkg/iac/scan/code.go @@ -0,0 +1,285 @@ +package scan + +import ( + "fmt" + "io/fs" + "path/filepath" + "strings" + + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Code struct { + Lines []Line +} + +type Line struct { + Number int `json:"Number"` + Content string `json:"Content"` + IsCause bool `json:"IsCause"` + Annotation string `json:"Annotation"` + Truncated bool `json:"Truncated"` + Highlighted string `json:"Highlighted,omitempty"` + FirstCause bool `json:"FirstCause"` + LastCause bool `json:"LastCause"` +} + +func (c *Code) IsCauseMultiline() bool { + var count int + for _, line := range c.Lines { + if line.IsCause { + count++ + if count > 1 { + return true + } + } + } + return false +} + +const ( + darkTheme = "solarized-dark256" + lightTheme = "github" +) + +type codeSettings struct { + theme string + allowTruncation bool + maxLines int + includeHighlighted bool +} + +var defaultCodeSettings = codeSettings{ + theme: darkTheme, + allowTruncation: true, + maxLines: 10, + includeHighlighted: true, +} + +type CodeOption func(*codeSettings) + +func OptionCodeWithTheme(theme string) CodeOption { + return func(s *codeSettings) { + s.theme = theme + } +} + +func OptionCodeWithDarkTheme() CodeOption { + return func(s *codeSettings) { + s.theme = darkTheme + } +} + +func OptionCodeWithLightTheme() CodeOption { + return func(s *codeSettings) { + s.theme = lightTheme + } +} + +func OptionCodeWithTruncation(truncate bool) CodeOption { + return func(s *codeSettings) { + s.allowTruncation = truncate + } +} + +func OptionCodeWithMaxLines(lines int) CodeOption { + return func(s *codeSettings) { + s.maxLines = lines + } +} + +func OptionCodeWithHighlighted(include bool) CodeOption { + return func(s *codeSettings) { + s.includeHighlighted = include + } +} + +func validateRange(r iacTypes.Range) error { + if r.GetStartLine() < 0 || r.GetStartLine() > r.GetEndLine() || r.GetEndLine() < 0 { + return fmt.Errorf("invalid range: %s", r.String()) + } + return nil +} + +// nolint +func (r *Result) GetCode(opts ...CodeOption) (*Code, error) { + + settings := defaultCodeSettings + for _, opt := range opts { + opt(&settings) + } + + srcFS := r.Metadata().Range().GetFS() + if srcFS == nil { + return nil, fmt.Errorf("code unavailable: result was not mapped to a known filesystem") + } + + innerRange := r.Range() + outerRange := innerRange + metadata := r.Metadata() + for { + if parent := metadata.Parent(); parent != nil && + parent.Range().GetFilename() == metadata.Range().GetFilename() && + parent.Range().GetStartLine() > 0 { + outerRange = parent.Range() + metadata = *parent + continue + } + break + } + + if err := validateRange(innerRange); err != nil { + return nil, err + } + if err := validateRange(outerRange); err != nil { + return nil, err + } + + slashed := filepath.ToSlash(r.fsPath) + slashed = strings.TrimPrefix(slashed, "/") + + content, err := fs.ReadFile(srcFS, slashed) + if err != nil { + return nil, fmt.Errorf("failed to read file from result filesystem (%#v): %w", srcFS, err) + } + + hasAnnotation := r.Annotation() != "" + + code := Code{ + Lines: nil, + } + + rawLines := strings.Split(string(content), "\n") + + var highlightedLines []string + if settings.includeHighlighted { + highlightedLines = highlight(iacTypes.CreateFSKey(innerRange.GetFS()), innerRange.GetLocalFilename(), content, settings.theme) + if len(highlightedLines) < len(rawLines) { + highlightedLines = rawLines + } + } else { + highlightedLines = make([]string, len(rawLines)) + } + + if outerRange.GetEndLine()-1 >= len(rawLines) || innerRange.GetStartLine() == 0 { + return nil, fmt.Errorf("invalid line number") + } + + shrink := settings.allowTruncation && outerRange.LineCount() > (innerRange.LineCount()+10) + + if shrink { + + if outerRange.GetStartLine() < innerRange.GetStartLine() { + code.Lines = append( + code.Lines, + Line{ + Content: rawLines[outerRange.GetStartLine()-1], + Highlighted: highlightedLines[outerRange.GetStartLine()-1], + Number: outerRange.GetStartLine(), + }, + ) + if outerRange.GetStartLine()+1 < innerRange.GetStartLine() { + code.Lines = append( + code.Lines, + Line{ + Truncated: true, + Number: outerRange.GetStartLine() + 1, + }, + ) + } + } + + for lineNo := innerRange.GetStartLine(); lineNo <= innerRange.GetEndLine(); lineNo++ { + + if lineNo-1 >= len(rawLines) || lineNo-1 >= len(highlightedLines) { + break + } + + line := Line{ + Number: lineNo, + Content: strings.TrimSuffix(rawLines[lineNo-1], "\r"), + Highlighted: strings.TrimSuffix(highlightedLines[lineNo-1], "\r"), + IsCause: true, + } + + if hasAnnotation && lineNo == innerRange.GetStartLine() { + line.Annotation = r.Annotation() + } + + code.Lines = append(code.Lines, line) + } + + if outerRange.GetEndLine() > innerRange.GetEndLine() { + if outerRange.GetEndLine() > innerRange.GetEndLine()+1 { + code.Lines = append( + code.Lines, + Line{ + Truncated: true, + Number: outerRange.GetEndLine() - 1, + }, + ) + } + code.Lines = append( + code.Lines, + Line{ + Content: rawLines[outerRange.GetEndLine()-1], + Highlighted: highlightedLines[outerRange.GetEndLine()-1], + Number: outerRange.GetEndLine(), + }, + ) + + } + + } else { + for lineNo := outerRange.GetStartLine(); lineNo <= outerRange.GetEndLine(); lineNo++ { + + line := Line{ + Number: lineNo, + Content: strings.TrimSuffix(rawLines[lineNo-1], "\r"), + Highlighted: strings.TrimSuffix(highlightedLines[lineNo-1], "\r"), + IsCause: lineNo >= innerRange.GetStartLine() && lineNo <= innerRange.GetEndLine(), + } + + if hasAnnotation && lineNo == innerRange.GetStartLine() { + line.Annotation = r.Annotation() + } + + code.Lines = append(code.Lines, line) + } + } + + if settings.allowTruncation && len(code.Lines) > settings.maxLines && settings.maxLines > 0 { + previouslyTruncated := settings.maxLines-1 > 0 && code.Lines[settings.maxLines-2].Truncated + if settings.maxLines-1 > 0 && code.Lines[settings.maxLines-1].LastCause { + code.Lines[settings.maxLines-2].LastCause = true + } + code.Lines[settings.maxLines-1] = Line{ + Truncated: true, + Number: code.Lines[settings.maxLines-1].Number, + } + if previouslyTruncated { + code.Lines = code.Lines[:settings.maxLines-1] + } else { + code.Lines = code.Lines[:settings.maxLines] + } + } + + var first, last bool + for i, line := range code.Lines { + if line.IsCause && !first { + code.Lines[i].FirstCause = true + first = true + continue + } + if first && !line.IsCause && i > 0 { + code.Lines[i-1].LastCause = true + last = true + break + } + } + if !last && len(code.Lines) > 0 { + code.Lines[len(code.Lines)-1].LastCause = true + } + + return &code, nil +} diff --git a/pkg/iac/scan/code_test.go b/pkg/iac/scan/code_test.go new file mode 100644 index 000000000000..e0591ed23c85 --- /dev/null +++ b/pkg/iac/scan/code_test.go @@ -0,0 +1,266 @@ +package scan + +import ( + "os" + "strings" + "testing" + + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" + + "github.com/stretchr/testify/assert" + + "github.com/stretchr/testify/require" + + "github.com/liamg/memoryfs" +) + +func TestResult_GetCode(t *testing.T) { + + tests := []struct { + name string + source string + filename string + start int + end int + outerStart int + outerEnd int + expected []Line + options []CodeOption + wantErr bool + annotation string + }{ + { + name: "basic w/ defaults", + source: `1 +2 +3 +4`, + filename: "test.txt", + start: 2, + end: 3, + expected: []Line{ + { + Number: 2, + Content: "2", + IsCause: true, + Highlighted: "2", + FirstCause: true, + LastCause: false, + }, + { + Number: 3, + Content: "3", + IsCause: true, + Highlighted: "3", + FirstCause: false, + LastCause: true, + }, + }, + }, + { + name: "nested ranges", + source: `resource "aws_s3_bucket" "something" { + bucket = "something" +}`, + filename: "main.tf", + start: 2, + end: 2, + outerStart: 1, + outerEnd: 3, + options: []CodeOption{OptionCodeWithHighlighted(false)}, + expected: []Line{ + { + Number: 1, + Content: `resource "aws_s3_bucket" "something" {`, + }, + { + Number: 2, + Content: ` bucket = "something"`, + IsCause: true, + FirstCause: true, + LastCause: true, + }, + { + Number: 3, + Content: "}", + }, + }, + }, + { + name: "bad filename", + source: `1 +2 +3 +4`, + filename: "", + start: 2, + end: 3, + wantErr: true, + }, + { + name: "no line numbers", + source: `1 +2 +3 +4`, + filename: "test.txt", + start: 0, + end: 0, + wantErr: true, + }, + { + name: "negative line numbers", + source: `1 +2 +3 +4`, + filename: "test.txt", + start: -2, + end: -1, + wantErr: true, + }, + { + name: "invalid line numbers", + source: `1 +2 +3 +4`, + filename: "test.txt", + start: 5, + end: 6, + wantErr: true, + }, + { + name: "syntax highlighting", + source: `FROM ubuntu`, + filename: "Dockerfile", + start: 1, + end: 1, + expected: []Line{ + { + Number: 1, + Content: "FROM ubuntu", + IsCause: true, + Highlighted: "\x1b[38;5;64mFROM\x1b[0m\x1b[38;5;37m ubuntu\x1b[0m", + FirstCause: true, + LastCause: true, + }, + }, + }, + { + name: "truncation", + source: strings.Repeat("If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.\n", 100), + filename: "longfile.txt", + start: 1, + end: 100, + expected: []Line{ + { + Number: 1, + Content: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + IsCause: true, + Highlighted: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + FirstCause: true, + LastCause: false, + }, + { + Number: 2, + Content: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + IsCause: true, + Highlighted: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + FirstCause: false, + LastCause: false, + }, + { + Number: 3, + Content: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + IsCause: true, + Highlighted: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + FirstCause: false, + LastCause: false, + }, + { + Number: 4, + Content: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + IsCause: true, + Highlighted: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + FirstCause: false, + LastCause: false, + }, + { + Number: 5, + Content: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + IsCause: true, + Highlighted: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + FirstCause: false, + LastCause: false, + }, + { + Number: 6, + Content: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + IsCause: true, + Highlighted: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + FirstCause: false, + LastCause: false, + }, + { + Number: 7, + Content: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + IsCause: true, + Highlighted: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + FirstCause: false, + LastCause: false, + }, + { + Number: 8, + Content: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + IsCause: true, + Highlighted: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + FirstCause: false, + LastCause: false, + }, + { + Number: 9, + Content: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + IsCause: true, + Highlighted: "If you can do a half-assed job of anything, you're a one-eyed man in a kingdom of the blind.", + FirstCause: false, + LastCause: true, + }, + { + Number: 10, + Truncated: true, + }, + }, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + system := memoryfs.New() + require.NoError(t, system.WriteFile(test.filename, []byte(test.source), os.ModePerm)) + meta := iacTypes.NewMetadata( + iacTypes.NewRange(test.filename, test.start, test.end, "", system), + "", + ) + if test.outerStart > 0 { + meta = meta.WithParent(iacTypes.NewMetadata( + iacTypes.NewRange(test.filename, test.outerStart, test.outerEnd, "", system), + "", + )) + } + result := &Result{ + annotation: test.annotation, + metadata: meta, + fsPath: test.filename, + } + code, err := result.GetCode(test.options...) + if test.wantErr { + require.Error(t, err) + return + } + require.NoError(t, err) + assert.Equal(t, test.expected, code.Lines) + }) + } + +} diff --git a/pkg/iac/scan/flat.go b/pkg/iac/scan/flat.go new file mode 100755 index 000000000000..c640b5fc14ac --- /dev/null +++ b/pkg/iac/scan/flat.go @@ -0,0 +1,72 @@ +package scan + +import ( + "github.com/aquasecurity/trivy/pkg/iac/providers" + "github.com/aquasecurity/trivy/pkg/iac/severity" +) + +type FlatResult struct { + RuleID string `json:"rule_id"` + LongID string `json:"long_id"` + RuleSummary string `json:"rule_description"` + RuleProvider providers.Provider `json:"rule_provider"` + RuleService string `json:"rule_service"` + Impact string `json:"impact"` + Resolution string `json:"resolution"` + Links []string `json:"links"` + Description string `json:"description"` + RangeAnnotation string `json:"-"` + Severity severity.Severity `json:"severity"` + Warning bool `json:"warning"` + Status Status `json:"status"` + Resource string `json:"resource"` + Occurrences []Occurrence `json:"occurrences,omitempty"` + Location FlatRange `json:"location"` +} + +type FlatRange struct { + Filename string `json:"filename"` + StartLine int `json:"start_line"` + EndLine int `json:"end_line"` +} + +func (r Results) Flatten() []FlatResult { + var results []FlatResult + for _, original := range r { + results = append(results, original.Flatten()) + } + return results +} + +func (r *Result) Flatten() FlatResult { + rng := r.metadata.Range() + + resMetadata := r.metadata + + for resMetadata.Parent() != nil { + resMetadata = *resMetadata.Parent() + } + + return FlatResult{ + RuleID: r.rule.AVDID, + LongID: r.Rule().LongID(), + RuleSummary: r.rule.Summary, + RuleProvider: r.rule.Provider, + RuleService: r.rule.Service, + Impact: r.rule.Impact, + Resolution: r.rule.Resolution, + Links: r.rule.Links, + Description: r.Description(), + RangeAnnotation: r.Annotation(), + Severity: r.rule.Severity, + Status: r.status, + Resource: resMetadata.Reference(), + Occurrences: r.Occurrences(), + Warning: r.IsWarning(), + Location: FlatRange{ + Filename: rng.GetFilename(), + StartLine: rng.GetStartLine(), + EndLine: rng.GetEndLine(), + }, + } +} diff --git a/pkg/iac/scan/highlighting.go b/pkg/iac/scan/highlighting.go new file mode 100644 index 000000000000..12bd3fe086cf --- /dev/null +++ b/pkg/iac/scan/highlighting.go @@ -0,0 +1,123 @@ +package scan + +import ( + "bytes" + "fmt" + "strings" + "sync" + + "github.com/alecthomas/chroma" + "github.com/alecthomas/chroma/formatters" + "github.com/alecthomas/chroma/lexers" + "github.com/alecthomas/chroma/styles" +) + +type cache struct { + sync.RWMutex + data map[string][]string +} + +func (c *cache) Get(key string) ([]string, bool) { + c.RLock() + defer c.RUnlock() + data, ok := c.data[key] + return data, ok +} + +func (c *cache) Set(key string, data []string) { + c.Lock() + defer c.Unlock() + c.data[key] = data +} + +var globalCache = &cache{ + data: make(map[string][]string), +} + +func highlight(fsKey, filename string, input []byte, theme string) []string { + + key := fmt.Sprintf("%s|%s", fsKey, filename) + if lines, ok := globalCache.Get(key); ok { + return lines + } + + lexer := lexers.Match(filename) + if lexer == nil { + lexer = lexers.Fallback + } + lexer = chroma.Coalesce(lexer) + + style := styles.Get(theme) + if style == nil { + style = styles.Fallback + } + formatter := formatters.Get("terminal256") + if formatter == nil { + formatter = formatters.Fallback + } + + // replace windows line endings + input = bytes.ReplaceAll(input, []byte{0x0d}, []byte{}) + iterator, err := lexer.Tokenise(nil, string(input)) + if err != nil { + return nil + } + + buffer := bytes.NewBuffer([]byte{}) + if err := formatter.Format(buffer, style, iterator); err != nil { + return nil + } + + raw := shiftANSIOverLineEndings(buffer.Bytes()) + lines := strings.Split(string(raw), "\n") + globalCache.Set(key, lines) + return lines +} + +func shiftANSIOverLineEndings(input []byte) []byte { + var output []byte + prev := byte(0) + inCSI := false + csiShouldCarry := false + var csi []byte + var skipOutput bool + for _, r := range input { + skipOutput = false + if !inCSI { + switch { + case r == '\n': + if csiShouldCarry && len(csi) > 0 { + skipOutput = true + output = append(output, '\n') + output = append(output, csi...) + csi = nil + csiShouldCarry = false + } + case r == '[' && prev == 0x1b: + inCSI = true + csi = append(csi, 0x1b, '[') + output = output[:len(output)-1] + skipOutput = true + default: + csiShouldCarry = false + if len(csi) > 0 { + output = append(output, csi...) + csi = nil + } + } + } else { + csi = append(csi, r) + skipOutput = true + if r >= 0x40 && r <= 0x7E { + csiShouldCarry = true + inCSI = false + } + } + if !skipOutput { + output = append(output, r) + } + prev = r + } + + return append(output, csi...) +} diff --git a/pkg/iac/scan/result.go b/pkg/iac/scan/result.go new file mode 100644 index 000000000000..861171e2dcc0 --- /dev/null +++ b/pkg/iac/scan/result.go @@ -0,0 +1,365 @@ +package scan + +import ( + "fmt" + "io/fs" + "path/filepath" + "reflect" + "strings" + + "github.com/aquasecurity/trivy/pkg/iac/severity" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Status uint8 + +const ( + StatusFailed Status = iota + StatusPassed + StatusIgnored +) + +type Result struct { + rule Rule + description string + annotation string + status Status + metadata iacTypes.Metadata + severityOverride *severity.Severity + regoNamespace string + regoRule string + warning bool + traces []string + fsPath string +} + +func (r Result) RegoNamespace() string { + return r.regoNamespace +} + +func (r Result) RegoRule() string { + return r.regoRule +} + +func (r Result) Severity() severity.Severity { + if r.severityOverride != nil { + return *r.severityOverride + } + return r.Rule().Severity +} + +func (r *Result) IsWarning() bool { + return r.warning +} + +func (r *Result) OverrideSeverity(s severity.Severity) { + r.severityOverride = &s +} + +func (r *Result) OverrideDescription(description string) { + r.description = description +} + +func (r *Result) OverrideMetadata(metadata iacTypes.Metadata) { + r.metadata = metadata +} + +func (r *Result) OverrideStatus(status Status) { + r.status = status +} + +func (r *Result) OverrideAnnotation(annotation string) { + r.annotation = annotation +} + +func (r *Result) SetRule(ru Rule) { + r.rule = ru +} + +func (r Result) Status() Status { + return r.status +} + +func (r Result) Rule() Rule { + return r.rule +} + +func (r Result) Description() string { + return r.description +} + +func (r Result) Annotation() string { + return r.annotation +} + +func (r Result) Metadata() iacTypes.Metadata { + return r.metadata +} + +func (r Result) Range() iacTypes.Range { + return r.metadata.Range() +} + +func (r Result) Traces() []string { + return r.traces +} + +func (r *Result) AbsolutePath(fsRoot string, metadata iacTypes.Metadata) string { + if strings.HasSuffix(fsRoot, ":") { + fsRoot += "/" + } + + if metadata.IsUnmanaged() { + return "" + } + rng := metadata.Range() + if rng.GetSourcePrefix() != "" && !strings.HasPrefix(rng.GetSourcePrefix(), ".") { + return rng.GetFilename() + } + return filepath.Join(fsRoot, rng.GetLocalFilename()) +} + +func (r *Result) RelativePathTo(fsRoot, to string, metadata iacTypes.Metadata) string { + + absolute := r.AbsolutePath(fsRoot, metadata) + + if strings.HasSuffix(fsRoot, ":") { + fsRoot += "/" + } + + if metadata.IsUnmanaged() { + return absolute + } + rng := metadata.Range() + if rng.GetSourcePrefix() != "" && !strings.HasPrefix(rng.GetSourcePrefix(), ".") { + return absolute + } + if !strings.HasPrefix(rng.GetLocalFilename(), strings.TrimSuffix(fsRoot, "/")) { + return absolute + } + relative, err := filepath.Rel(to, rng.GetLocalFilename()) + if err != nil { + return absolute + } + return relative +} + +type Results []Result + +type MetadataProvider interface { + GetMetadata() iacTypes.Metadata + GetRawValue() interface{} +} + +func (r *Results) GetPassed() Results { + return r.filterStatus(StatusPassed) +} + +func (r *Results) GetIgnored() Results { + return r.filterStatus(StatusIgnored) +} + +func (r *Results) GetFailed() Results { + return r.filterStatus(StatusFailed) +} + +func (r *Results) filterStatus(status Status) Results { + var filtered Results + if r == nil { + return filtered + } + for _, res := range *r { + if res.Status() == status { + filtered = append(filtered, res) + } + } + return filtered +} + +func (r *Results) Add(description string, source interface{}) { + result := Result{ + description: description, + } + result.metadata = getMetadataFromSource(source) + if result.metadata.IsExplicit() { + result.annotation = getAnnotation(source) + } + rnge := result.metadata.Range() + result.fsPath = rnge.GetLocalFilename() + *r = append(*r, result) +} + +func (r *Results) AddRego(description, namespace, rule string, traces []string, source MetadataProvider) { + result := Result{ + description: description, + regoNamespace: namespace, + regoRule: rule, + warning: rule == "warn" || strings.HasPrefix(rule, "warn_"), + traces: traces, + } + result.metadata = getMetadataFromSource(source) + if result.metadata.IsExplicit() { + result.annotation = getAnnotation(source) + } + rnge := result.metadata.Range() + result.fsPath = rnge.GetLocalFilename() + *r = append(*r, result) +} + +func (r *Results) AddPassed(source interface{}, descriptions ...string) { + res := Result{ + description: strings.Join(descriptions, " "), + status: StatusPassed, + } + res.metadata = getMetadataFromSource(source) + rnge := res.metadata.Range() + res.fsPath = rnge.GetLocalFilename() + *r = append(*r, res) +} + +func getMetadataFromSource(source interface{}) iacTypes.Metadata { + if provider, ok := source.(MetadataProvider); ok { + return provider.GetMetadata() + } + + metaValue := reflect.ValueOf(source) + if metaValue.Kind() == reflect.Ptr { + metaValue = metaValue.Elem() + } + metaVal := metaValue.FieldByName("Metadata") + return metaVal.Interface().(iacTypes.Metadata) +} + +func getAnnotation(source interface{}) string { + if provider, ok := source.(MetadataProvider); ok { + return rawToString(provider.GetRawValue()) + } + return "" +} + +func (r *Results) AddPassedRego(namespace, rule string, traces []string, source interface{}) { + res := Result{ + status: StatusPassed, + regoNamespace: namespace, + regoRule: rule, + traces: traces, + } + res.metadata = getMetadataFromSource(source) + rnge := res.metadata.Range() + res.fsPath = rnge.GetLocalFilename() + *r = append(*r, res) +} + +func (r *Results) AddIgnored(source interface{}, descriptions ...string) { + res := Result{ + description: strings.Join(descriptions, " "), + status: StatusIgnored, + } + res.metadata = getMetadataFromSource(source) + rnge := res.metadata.Range() + res.fsPath = rnge.GetLocalFilename() + *r = append(*r, res) +} + +func (r *Results) SetRule(rule Rule) { + for i := range *r { + (*r)[i].rule = rule + } +} + +func (r *Results) SetSourceAndFilesystem(source string, f fs.FS, logicalSource bool) { + for i := range *r { + m := (*r)[i].Metadata() + if m.IsUnmanaged() { + continue + } + rng := m.Range() + + newrng := iacTypes.NewRange(rng.GetLocalFilename(), rng.GetStartLine(), rng.GetEndLine(), source, f) + if logicalSource { + newrng = iacTypes.NewRangeWithLogicalSource(rng.GetLocalFilename(), rng.GetStartLine(), rng.GetEndLine(), + source, f) + } + parent := m.Parent() + switch { + case m.IsExplicit(): + m = iacTypes.NewExplicitMetadata(newrng, m.Reference()) + default: + m = iacTypes.NewMetadata(newrng, m.Reference()) + } + if parent != nil { + m.SetParentPtr(parent) + } + (*r)[i].OverrideMetadata(m) + } +} + +func rawToString(raw interface{}) string { + if raw == nil { + return "" + } + switch t := raw.(type) { + case int: + return fmt.Sprintf("%d", t) + case bool: + return fmt.Sprintf("%t", t) + case float64: + return fmt.Sprintf("%f", t) + case string: + return fmt.Sprintf("%q", t) + case []string: + var items []string + for _, item := range t { + items = append(items, rawToString(item)) + } + return fmt.Sprintf("[%s]", strings.Join(items, ", ")) + case []int: + var items []string + for _, item := range t { + items = append(items, rawToString(item)) + } + return fmt.Sprintf("[%s]", strings.Join(items, ", ")) + case []float64: + var items []string + for _, item := range t { + items = append(items, rawToString(item)) + } + return fmt.Sprintf("[%s]", strings.Join(items, ", ")) + case []bool: + var items []string + for _, item := range t { + items = append(items, rawToString(item)) + } + return fmt.Sprintf("[%s]", strings.Join(items, ", ")) + default: + return "?" + } +} + +type Occurrence struct { + Resource string `json:"resource"` + Filename string `json:"filename"` + StartLine int `json:"start_line"` + EndLine int `json:"end_line"` +} + +func (r *Result) Occurrences() []Occurrence { + var occurrences []Occurrence + + mod := &r.metadata + + for { + mod = mod.Parent() + if mod == nil { + break + } + parentRange := mod.Range() + occurrences = append(occurrences, Occurrence{ + Resource: mod.Reference(), + Filename: parentRange.GetFilename(), + StartLine: parentRange.GetStartLine(), + EndLine: parentRange.GetEndLine(), + }) + } + return occurrences +} diff --git a/pkg/iac/scan/result_test.go b/pkg/iac/scan/result_test.go new file mode 100644 index 000000000000..d5b9a4a577f0 --- /dev/null +++ b/pkg/iac/scan/result_test.go @@ -0,0 +1,56 @@ +package scan_test + +import ( + "testing" + + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/types" + "github.com/stretchr/testify/assert" +) + +func Test_Occurrences(t *testing.T) { + tests := []struct { + name string + factory func() *scan.Result + expected []scan.Occurrence + }{ + { + name: "happy", + factory: func() *scan.Result { + r := scan.Result{} + causeResourceMeta := types.NewMetadata(types.NewRange( + "main.tf", 1, 13, "", nil, + ), "module.aws-security-groups[\"db1\"]") + + parentMeta := types.NewMetadata(types.NewRange( + "terraform-aws-modules/security-group/aws/main.tf", 191, 227, "", nil, + ), "aws_security_group_rule.ingress_with_cidr_blocks[0]").WithParent(causeResourceMeta) + + r.OverrideMetadata(types.NewMetadata(types.NewRange( + "terraform-aws-modules/security-group/aws/main.tf", 197, 204, "", nil, + ), "aws_security_group_rule.ingress_with_cidr_blocks").WithParent(parentMeta)) + return &r + }, + expected: []scan.Occurrence{ + { + Resource: "aws_security_group_rule.ingress_with_cidr_blocks[0]", + Filename: "terraform-aws-modules/security-group/aws/main.tf", + StartLine: 191, + EndLine: 227, + }, + { + Resource: "module.aws-security-groups[\"db1\"]", + Filename: "main.tf", + StartLine: 1, + EndLine: 13, + }, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + assert.Equal(t, tt.expected, tt.factory().Occurrences()) + }) + } +} diff --git a/pkg/iac/scan/rule.go b/pkg/iac/scan/rule.go new file mode 100755 index 000000000000..a1a3ada18e99 --- /dev/null +++ b/pkg/iac/scan/rule.go @@ -0,0 +1,168 @@ +package scan + +import ( + "fmt" + "regexp" + "strings" + + "golang.org/x/text/cases" + "golang.org/x/text/language" + + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/providers" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/state" + "github.com/aquasecurity/trivy/pkg/iac/terraform" +) + +type CheckFunc func(s *state.State) (results Results) + +type EngineMetadata struct { + GoodExamples []string `json:"good_examples,omitempty"` + BadExamples []string `json:"bad_examples,omitempty"` + RemediationMarkdown string `json:"remediation_markdown,omitempty"` + Links []string `json:"links,omitempty"` +} + +type CustomChecks struct { + Terraform *TerraformCustomCheck +} + +type TerraformCustomCheck struct { + RequiredTypes []string + RequiredLabels []string + RequiredSources []string + Check func(*terraform.Block, *terraform.Module) Results +} + +type Rule struct { + AVDID string `json:"avd_id"` + Aliases []string `json:"aliases"` + ShortCode string `json:"short_code"` + Summary string `json:"summary"` + Explanation string `json:"explanation"` + Impact string `json:"impact"` + Resolution string `json:"resolution"` + Provider providers.Provider `json:"provider"` + Service string `json:"service"` + Links []string `json:"links"` + Severity severity.Severity `json:"severity"` + Terraform *EngineMetadata `json:"terraform,omitempty"` + CloudFormation *EngineMetadata `json:"cloud_formation,omitempty"` + CustomChecks CustomChecks `json:"-"` + RegoPackage string `json:"-"` + Frameworks map[framework.Framework][]string `json:"frameworks"` + Check CheckFunc `json:"-"` +} + +func (r Rule) HasID(id string) bool { + if r.AVDID == id || r.LongID() == id { + return true + } + for _, alias := range r.Aliases { + if alias == id { + return true + } + } + return false +} + +func (r Rule) LongID() string { + return strings.ToLower(fmt.Sprintf("%s-%s-%s", r.Provider, r.Service, r.ShortCode)) +} + +func (r Rule) ServiceDisplayName() string { + return nicify(r.Service) +} + +func (r Rule) ShortCodeDisplayName() string { + return nicify(r.ShortCode) +} + +func (r Rule) CanCheck() bool { + return r.Check != nil +} + +func (r Rule) Evaluate(s *state.State) Results { + if !r.CanCheck() { + return nil + } + results := r.Check(s) + for i := range results { + results[i].SetRule(r) + } + return results +} + +var acronyms = []string{ + "acl", + "alb", + "api", + "arn", + "aws", + "cidr", + "db", + "dns", + "ebs", + "ec2", + "ecr", + "ecs", + "efs", + "eks", + "elb", + "gke", + "http", + "http2", + "https", + "iam", + "im", + "imds", + "ip", + "ips", + "kms", + "lb", + "md5", + "mfa", + "mq", + "msk", + "rbac", + "rdp", + "rds", + "rsa", + "sam", + "sgr", + "sha1", + "sha256", + "sns", + "sql", + "sqs", + "ssh", + "ssm", + "tls", + "ubla", + "vm", + "vpc", + "vtpm", + "waf", +} + +var specials = map[string]string{ + "dynamodb": "DynamoDB", + "documentdb": "DocumentDB", + "mysql": "MySQL", + "postgresql": "PostgreSQL", + "acls": "ACLs", + "ips": "IPs", + "bigquery": "BigQuery", +} + +func nicify(input string) string { + input = strings.ToLower(input) + for replace, with := range specials { + input = regexp.MustCompile(fmt.Sprintf("\\b%s\\b", replace)).ReplaceAllString(input, with) + } + for _, acronym := range acronyms { + input = regexp.MustCompile(fmt.Sprintf("\\b%s\\b", acronym)).ReplaceAllString(input, strings.ToUpper(acronym)) + } + return cases.Title(language.English).String(strings.ReplaceAll(input, "-", " ")) +} diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/bench_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/bench_test.go index f2e56f853f7b..12bc71eae899 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/bench_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/bench_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/decode.go b/pkg/iac/scanners/azure/arm/parser/armjson/decode.go index 5dd2f6fd3e1c..1f228065b9c5 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/decode.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/decode.go @@ -4,7 +4,7 @@ import ( "fmt" "reflect" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func (n *node) Decode(target interface{}) error { diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/decode_meta_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/decode_meta_test.go index 57e657a7093a..9924288497fe 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/decode_meta_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/decode_meta_test.go @@ -3,7 +3,7 @@ package armjson import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/node.go b/pkg/iac/scanners/azure/arm/parser/armjson/node.go index 3c398d6ed29c..af8f9188ebd8 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/node.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/node.go @@ -1,6 +1,6 @@ package armjson -import "github.com/aquasecurity/defsec/pkg/types" +import "github.com/aquasecurity/trivy/pkg/iac/types" type Node interface { Comments() []Node diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse.go index ac86f459fced..8248ec1a1723 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) type parser struct { diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_array.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_array.go index 795d69460253..8d3795ee792a 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_array.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_array.go @@ -3,7 +3,7 @@ package armjson import ( "fmt" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func (p *parser) parseArray(parentMetadata *types.Metadata) (Node, error) { diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_array_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_array_test.go index f1146ab08d87..382da0b0c45d 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_array_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_array_test.go @@ -3,7 +3,7 @@ package armjson import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_boolean.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_boolean.go index 3d97589acdcb..30903ea85973 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_boolean.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_boolean.go @@ -3,7 +3,7 @@ package armjson import ( "fmt" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var trueRunes = []rune("true") diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_boolean_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_boolean_test.go index e1d44db6119c..106d55f426f5 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_boolean_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_boolean_test.go @@ -3,7 +3,7 @@ package armjson import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_comment.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_comment.go index 7f35078ae84e..3408d330c2b3 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_comment.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_comment.go @@ -3,7 +3,7 @@ package armjson import ( "strings" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func (p *parser) parseComment(parentMetadata *types.Metadata) (Node, error) { diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_complex_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_complex_test.go index 17c4014b83a3..3584ebc97fa1 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_complex_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_complex_test.go @@ -3,7 +3,7 @@ package armjson import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_null.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_null.go index 36fa5d7370e1..1a0011ec5dac 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_null.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_null.go @@ -3,7 +3,7 @@ package armjson import ( "fmt" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var nullRunes = []rune("null") diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_null_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_null_test.go index 5fd343479c82..4f6d109fdf4f 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_null_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_null_test.go @@ -3,7 +3,7 @@ package armjson import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number.go index ca544cecce35..586fbd3a4841 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number.go @@ -5,7 +5,7 @@ import ( "strconv" "strings" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func (p *parser) parseNumber(parentMetadata *types.Metadata) (Node, error) { diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go index 237c3b918fe9..39226b090ede 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_number_test.go @@ -3,7 +3,7 @@ package armjson import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_object.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_object.go index 9d9dc53472c7..392dbbbae697 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_object.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_object.go @@ -1,7 +1,7 @@ package armjson import ( - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func (p *parser) parseObject(parentMetadata *types.Metadata) (Node, error) { diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_object_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_object_test.go index 56985ecbc805..f689ebd0fa26 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_object_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_object_test.go @@ -3,7 +3,7 @@ package armjson import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_string.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_string.go index 7f4740cd459b..41847b914d7f 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_string.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_string.go @@ -4,7 +4,7 @@ import ( "strconv" "strings" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var escapes = map[rune]string{ diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/parse_string_test.go b/pkg/iac/scanners/azure/arm/parser/armjson/parse_string_test.go index 83c98cd859fc..b2c546f479d2 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/parse_string_test.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/parse_string_test.go @@ -3,7 +3,7 @@ package armjson import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/azure/arm/parser/armjson/unmarshal.go b/pkg/iac/scanners/azure/arm/parser/armjson/unmarshal.go index 6e096a694d8a..a75942808eba 100644 --- a/pkg/iac/scanners/azure/arm/parser/armjson/unmarshal.go +++ b/pkg/iac/scanners/azure/arm/parser/armjson/unmarshal.go @@ -4,7 +4,7 @@ import ( "bytes" "io" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) type Unmarshaller interface { diff --git a/pkg/iac/scanners/azure/arm/parser/parser.go b/pkg/iac/scanners/azure/arm/parser/parser.go index ca8a86f89b81..e5e171914b42 100644 --- a/pkg/iac/scanners/azure/arm/parser/parser.go +++ b/pkg/iac/scanners/azure/arm/parser/parser.go @@ -8,12 +8,12 @@ import ( "path/filepath" "strings" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/debug" azure2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/arm/parser/armjson" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/resolver" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/types" ) type Parser struct { diff --git a/pkg/iac/scanners/azure/arm/parser/parser_test.go b/pkg/iac/scanners/azure/arm/parser/parser_test.go index 493a17ac37c0..d54a147370e0 100644 --- a/pkg/iac/scanners/azure/arm/parser/parser_test.go +++ b/pkg/iac/scanners/azure/arm/parser/parser_test.go @@ -6,14 +6,14 @@ import ( "os" "testing" - "github.com/aquasecurity/defsec/pkg/types" azure2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/resolver" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/liamg/memoryfs" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) func createMetadata(targetFS fs.FS, filename string, start, end int, ref string, parent *types.Metadata) types.Metadata { diff --git a/pkg/iac/scanners/azure/arm/parser/template.go b/pkg/iac/scanners/azure/arm/parser/template.go index 04dd5a78cef7..ed7b3fa30238 100644 --- a/pkg/iac/scanners/azure/arm/parser/template.go +++ b/pkg/iac/scanners/azure/arm/parser/template.go @@ -1,9 +1,9 @@ package parser import ( - "github.com/aquasecurity/defsec/pkg/types" types2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/arm/parser/armjson" + "github.com/aquasecurity/trivy/pkg/iac/types" ) type Template struct { diff --git a/pkg/iac/scanners/azure/arm/parser/template_test.go b/pkg/iac/scanners/azure/arm/parser/template_test.go index bc2083b9c2b5..3c96c8cf588f 100644 --- a/pkg/iac/scanners/azure/arm/parser/template_test.go +++ b/pkg/iac/scanners/azure/arm/parser/template_test.go @@ -5,9 +5,9 @@ import ( "path/filepath" "testing" - "github.com/aquasecurity/defsec/pkg/types" types2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/arm/parser/armjson" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/azure/arm/scanner.go b/pkg/iac/scanners/azure/arm/scanner.go index 48f8df6a9cfc..d9ae227a0992 100644 --- a/pkg/iac/scanners/azure/arm/scanner.go +++ b/pkg/iac/scanners/azure/arm/scanner.go @@ -7,18 +7,18 @@ import ( "io/fs" "sync" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/state" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/adapters/arm" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/arm/parser" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/state" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var _ scanners.FSScanner = (*Scanner)(nil) diff --git a/pkg/iac/scanners/azure/deployment.go b/pkg/iac/scanners/azure/deployment.go index 6df8b48d6b6a..f2f050f7cf95 100644 --- a/pkg/iac/scanners/azure/deployment.go +++ b/pkg/iac/scanners/azure/deployment.go @@ -3,7 +3,7 @@ package azure import ( "os" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" ) type Deployment struct { diff --git a/pkg/iac/scanners/azure/resolver/resolver.go b/pkg/iac/scanners/azure/resolver/resolver.go index 06383c43b2f0..3794ed20ab64 100644 --- a/pkg/iac/scanners/azure/resolver/resolver.go +++ b/pkg/iac/scanners/azure/resolver/resolver.go @@ -1,9 +1,9 @@ package resolver import ( - defsecTypes "github.com/aquasecurity/defsec/pkg/types" azure2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/expressions" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) type Resolver interface { @@ -40,7 +40,7 @@ func (r *resolver) ResolveExpression(expression azure2.Value) azure2.Value { return resolved } -func (r *resolver) resolveExpressionString(code string, metadata defsecTypes.Metadata) (azure2.Value, error) { +func (r *resolver) resolveExpressionString(code string, metadata iacTypes.Metadata) (azure2.Value, error) { et, err := expressions.NewExpressionTree(code) if err != nil { return azure2.NullValue, err diff --git a/pkg/iac/scanners/azure/resolver/resolver_test.go b/pkg/iac/scanners/azure/resolver/resolver_test.go index ee72b4593863..b4aabdce0a7f 100644 --- a/pkg/iac/scanners/azure/resolver/resolver_test.go +++ b/pkg/iac/scanners/azure/resolver/resolver_test.go @@ -4,8 +4,8 @@ import ( "testing" "time" - "github.com/aquasecurity/defsec/pkg/types" azure2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/azure/value.go b/pkg/iac/scanners/azure/value.go index eb57927ebbbe..1b21d62de380 100644 --- a/pkg/iac/scanners/azure/value.go +++ b/pkg/iac/scanners/azure/value.go @@ -6,8 +6,8 @@ import ( "golang.org/x/exp/slices" - "github.com/aquasecurity/defsec/pkg/types" armjson2 "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/arm/parser/armjson" + "github.com/aquasecurity/trivy/pkg/iac/types" ) type EvalContext struct{} diff --git a/pkg/iac/scanners/azure/value_test.go b/pkg/iac/scanners/azure/value_test.go index 7b463722794e..646ddc0b0cd0 100644 --- a/pkg/iac/scanners/azure/value_test.go +++ b/pkg/iac/scanners/azure/value_test.go @@ -3,7 +3,7 @@ package azure import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" ) diff --git a/pkg/iac/scanners/cloudformation/parser/file_context.go b/pkg/iac/scanners/cloudformation/parser/file_context.go index 35f4483018f8..4904d13f29d0 100644 --- a/pkg/iac/scanners/cloudformation/parser/file_context.go +++ b/pkg/iac/scanners/cloudformation/parser/file_context.go @@ -1,7 +1,7 @@ package parser import ( - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) type SourceFormat string @@ -46,10 +46,10 @@ func (t *FileContext) GetResourcesByType(names ...string) []*Resource { return resources } -func (t *FileContext) Metadata() defsecTypes.Metadata { - rng := defsecTypes.NewRange(t.filepath, 1, len(t.lines), "", nil) +func (t *FileContext) Metadata() iacTypes.Metadata { + rng := iacTypes.NewRange(t.filepath, 1, len(t.lines), "", nil) - return defsecTypes.NewMetadata(rng, NewCFReference("Template", rng).String()) + return iacTypes.NewMetadata(rng, NewCFReference("Template", rng).String()) } func (t *FileContext) OverrideParameters(params map[string]any) { diff --git a/pkg/iac/scanners/cloudformation/parser/fn_and_test.go b/pkg/iac/scanners/cloudformation/parser/fn_and_test.go index a2a9989b2805..2663270e99dc 100644 --- a/pkg/iac/scanners/cloudformation/parser/fn_and_test.go +++ b/pkg/iac/scanners/cloudformation/parser/fn_and_test.go @@ -3,8 +3,8 @@ package parser import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/cloudformation/parser/fn_base64_test.go b/pkg/iac/scanners/cloudformation/parser/fn_base64_test.go index d1f31600a8c1..7a30827f761c 100644 --- a/pkg/iac/scanners/cloudformation/parser/fn_base64_test.go +++ b/pkg/iac/scanners/cloudformation/parser/fn_base64_test.go @@ -1,8 +1,8 @@ package parser import ( - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/cloudformation/parser/fn_equals_test.go b/pkg/iac/scanners/cloudformation/parser/fn_equals_test.go index b1b74724c636..e3a806798393 100644 --- a/pkg/iac/scanners/cloudformation/parser/fn_equals_test.go +++ b/pkg/iac/scanners/cloudformation/parser/fn_equals_test.go @@ -3,8 +3,8 @@ package parser import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/cloudformation/parser/fn_if_test.go b/pkg/iac/scanners/cloudformation/parser/fn_if_test.go index a232b157e7a7..0e5e41bbc963 100644 --- a/pkg/iac/scanners/cloudformation/parser/fn_if_test.go +++ b/pkg/iac/scanners/cloudformation/parser/fn_if_test.go @@ -3,8 +3,8 @@ package parser import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/cloudformation/parser/fn_join_test.go b/pkg/iac/scanners/cloudformation/parser/fn_join_test.go index 6e8abf143f19..8eca9ad5763b 100644 --- a/pkg/iac/scanners/cloudformation/parser/fn_join_test.go +++ b/pkg/iac/scanners/cloudformation/parser/fn_join_test.go @@ -3,8 +3,8 @@ package parser import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/cloudformation/parser/fn_not_test.go b/pkg/iac/scanners/cloudformation/parser/fn_not_test.go index 55cdcede75eb..44df6fa6d421 100644 --- a/pkg/iac/scanners/cloudformation/parser/fn_not_test.go +++ b/pkg/iac/scanners/cloudformation/parser/fn_not_test.go @@ -3,8 +3,8 @@ package parser import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/cloudformation/parser/fn_or_test.go b/pkg/iac/scanners/cloudformation/parser/fn_or_test.go index 095af0b940a7..18340031434b 100644 --- a/pkg/iac/scanners/cloudformation/parser/fn_or_test.go +++ b/pkg/iac/scanners/cloudformation/parser/fn_or_test.go @@ -3,8 +3,8 @@ package parser import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/cloudformation/parser/fn_ref_test.go b/pkg/iac/scanners/cloudformation/parser/fn_ref_test.go index e017190b44db..a535b30386e2 100644 --- a/pkg/iac/scanners/cloudformation/parser/fn_ref_test.go +++ b/pkg/iac/scanners/cloudformation/parser/fn_ref_test.go @@ -3,8 +3,8 @@ package parser import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/cloudformation/parser/fn_split_test.go b/pkg/iac/scanners/cloudformation/parser/fn_split_test.go index f3e73f2c3d4a..59261ff57a20 100644 --- a/pkg/iac/scanners/cloudformation/parser/fn_split_test.go +++ b/pkg/iac/scanners/cloudformation/parser/fn_split_test.go @@ -1,8 +1,8 @@ package parser import ( - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/cloudformation/parser/parser.go b/pkg/iac/scanners/cloudformation/parser/parser.go index 5ba989220544..43e4099289c5 100644 --- a/pkg/iac/scanners/cloudformation/parser/parser.go +++ b/pkg/iac/scanners/cloudformation/parser/parser.go @@ -14,9 +14,9 @@ import ( "github.com/liamg/jfather" "gopkg.in/yaml.v3" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/debug" "github.com/aquasecurity/trivy/pkg/iac/detection" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) var _ options.ConfigurableParser = (*Parser)(nil) diff --git a/pkg/iac/scanners/cloudformation/parser/property.go b/pkg/iac/scanners/cloudformation/parser/property.go index 466de3497c85..3cdbbb36b58a 100644 --- a/pkg/iac/scanners/cloudformation/parser/property.go +++ b/pkg/iac/scanners/cloudformation/parser/property.go @@ -9,8 +9,8 @@ import ( "github.com/liamg/jfather" "gopkg.in/yaml.v3" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) type EqualityOptions = int @@ -23,8 +23,8 @@ type Property struct { ctx *FileContext name string comment string - rng defsecTypes.Range - parentRange defsecTypes.Range + rng iacTypes.Range + parentRange iacTypes.Range Inner PropertyInner logicalId string unresolved bool @@ -70,8 +70,8 @@ func (p *Property) setContext(ctx *FileContext) { } } -func (p *Property) setFileAndParentRange(target fs.FS, filepath string, parentRange defsecTypes.Range) { - p.rng = defsecTypes.NewRange(filepath, p.rng.GetStartLine(), p.rng.GetEndLine(), p.rng.GetSourcePrefix(), target) +func (p *Property) setFileAndParentRange(target fs.FS, filepath string, parentRange iacTypes.Range) { + p.rng = iacTypes.NewRange(filepath, p.rng.GetStartLine(), p.rng.GetEndLine(), p.rng.GetSourcePrefix(), target) p.parentRange = parentRange switch p.Type() { @@ -93,14 +93,14 @@ func (p *Property) setFileAndParentRange(target fs.FS, filepath string, parentRa } func (p *Property) UnmarshalYAML(node *yaml.Node) error { - p.rng = defsecTypes.NewRange("", node.Line, calculateEndLine(node), "", nil) + p.rng = iacTypes.NewRange("", node.Line, calculateEndLine(node), "", nil) p.comment = node.LineComment return setPropertyValueFromYaml(node, &p.Inner) } func (p *Property) UnmarshalJSONWithMetadata(node jfather.Node) error { - p.rng = defsecTypes.NewRange("", node.Range().Start.Line, node.Range().End.Line, "", nil) + p.rng = iacTypes.NewRange("", node.Range().Start.Line, node.Range().End.Line, "", nil) return setPropertyValueFromJson(node, &p.Inner) } @@ -108,11 +108,11 @@ func (p *Property) Type() cftypes.CfType { return p.Inner.Type } -func (p *Property) Range() defsecTypes.Range { +func (p *Property) Range() iacTypes.Range { return p.rng } -func (p *Property) Metadata() defsecTypes.Metadata { +func (p *Property) Metadata() iacTypes.Metadata { base := p if p.isFunction() { if resolved, ok := p.resolveValue(); ok { @@ -120,12 +120,12 @@ func (p *Property) Metadata() defsecTypes.Metadata { } } ref := NewCFReferenceWithValue(p.parentRange, *base, p.logicalId) - return defsecTypes.NewMetadata(p.Range(), ref.String()) + return iacTypes.NewMetadata(p.Range(), ref.String()) } -func (p *Property) MetadataWithValue(resolvedValue *Property) defsecTypes.Metadata { +func (p *Property) MetadataWithValue(resolvedValue *Property) iacTypes.Metadata { ref := NewCFReferenceWithValue(p.parentRange, *resolvedValue, p.logicalId) - return defsecTypes.NewMetadata(p.Range(), ref.String()) + return iacTypes.NewMetadata(p.Range(), ref.String()) } func (p *Property) isFunction() bool { @@ -166,14 +166,14 @@ func (p *Property) resolveValue() (*Property, bool) { return p, false } -func (p *Property) GetStringProperty(path string, defaultValue ...string) defsecTypes.StringValue { +func (p *Property) GetStringProperty(path string, defaultValue ...string) iacTypes.StringValue { defVal := "" if len(defaultValue) > 0 { defVal = defaultValue[0] } if p.IsUnresolved() { - return defsecTypes.StringUnresolvable(p.Metadata()) + return iacTypes.StringUnresolvable(p.Metadata()) } prop := p.GetProperty(path) @@ -183,18 +183,18 @@ func (p *Property) GetStringProperty(path string, defaultValue ...string) defsec return prop.AsStringValue() } -func (p *Property) StringDefault(defaultValue string) defsecTypes.StringValue { - return defsecTypes.StringDefault(defaultValue, p.Metadata()) +func (p *Property) StringDefault(defaultValue string) iacTypes.StringValue { + return iacTypes.StringDefault(defaultValue, p.Metadata()) } -func (p *Property) GetBoolProperty(path string, defaultValue ...bool) defsecTypes.BoolValue { +func (p *Property) GetBoolProperty(path string, defaultValue ...bool) iacTypes.BoolValue { defVal := false if len(defaultValue) > 0 { defVal = defaultValue[0] } if p.IsUnresolved() { - return defsecTypes.BoolUnresolvable(p.Metadata()) + return iacTypes.BoolUnresolvable(p.Metadata()) } prop := p.GetProperty(path) @@ -209,14 +209,14 @@ func (p *Property) GetBoolProperty(path string, defaultValue ...bool) defsecType return prop.AsBoolValue() } -func (p *Property) GetIntProperty(path string, defaultValue ...int) defsecTypes.IntValue { +func (p *Property) GetIntProperty(path string, defaultValue ...int) iacTypes.IntValue { defVal := 0 if len(defaultValue) > 0 { defVal = defaultValue[0] } if p.IsUnresolved() { - return defsecTypes.IntUnresolvable(p.Metadata()) + return iacTypes.IntUnresolvable(p.Metadata()) } prop := p.GetProperty(path) @@ -227,12 +227,12 @@ func (p *Property) GetIntProperty(path string, defaultValue ...int) defsecTypes. return prop.AsIntValue() } -func (p *Property) BoolDefault(defaultValue bool) defsecTypes.BoolValue { - return defsecTypes.BoolDefault(defaultValue, p.Metadata()) +func (p *Property) BoolDefault(defaultValue bool) iacTypes.BoolValue { + return iacTypes.BoolDefault(defaultValue, p.Metadata()) } -func (p *Property) IntDefault(defaultValue int) defsecTypes.IntValue { - return defsecTypes.IntDefault(defaultValue, p.Metadata()) +func (p *Property) IntDefault(defaultValue int) iacTypes.IntValue { + return iacTypes.IntDefault(defaultValue, p.Metadata()) } func (p *Property) GetProperty(path string) *Property { @@ -288,38 +288,38 @@ func (p *Property) deriveResolved(propType cftypes.CfType, propValue interface{} } } -func (p *Property) ParentRange() defsecTypes.Range { +func (p *Property) ParentRange() iacTypes.Range { return p.parentRange } -func (p *Property) inferBool(prop *Property, defaultValue bool) defsecTypes.BoolValue { +func (p *Property) inferBool(prop *Property, defaultValue bool) iacTypes.BoolValue { if prop.IsString() { if prop.EqualTo("true", IgnoreCase) { - return defsecTypes.Bool(true, prop.Metadata()) + return iacTypes.Bool(true, prop.Metadata()) } if prop.EqualTo("yes", IgnoreCase) { - return defsecTypes.Bool(true, prop.Metadata()) + return iacTypes.Bool(true, prop.Metadata()) } if prop.EqualTo("1", IgnoreCase) { - return defsecTypes.Bool(true, prop.Metadata()) + return iacTypes.Bool(true, prop.Metadata()) } if prop.EqualTo("false", IgnoreCase) { - return defsecTypes.Bool(false, prop.Metadata()) + return iacTypes.Bool(false, prop.Metadata()) } if prop.EqualTo("no", IgnoreCase) { - return defsecTypes.Bool(false, prop.Metadata()) + return iacTypes.Bool(false, prop.Metadata()) } if prop.EqualTo("0", IgnoreCase) { - return defsecTypes.Bool(false, prop.Metadata()) + return iacTypes.Bool(false, prop.Metadata()) } } if prop.IsInt() { if prop.EqualTo(0) { - return defsecTypes.Bool(false, prop.Metadata()) + return iacTypes.Bool(false, prop.Metadata()) } if prop.EqualTo(1) { - return defsecTypes.Bool(true, prop.Metadata()) + return iacTypes.Bool(true, prop.Metadata()) } } diff --git a/pkg/iac/scanners/cloudformation/parser/property_helpers.go b/pkg/iac/scanners/cloudformation/parser/property_helpers.go index c7b9d9efac2d..260ea106be79 100644 --- a/pkg/iac/scanners/cloudformation/parser/property_helpers.go +++ b/pkg/iac/scanners/cloudformation/parser/property_helpers.go @@ -4,8 +4,8 @@ import ( "strconv" "strings" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) func (p *Property) IsNil() bool { @@ -92,11 +92,11 @@ func (p *Property) AsString() string { return p.Inner.Value.(string) } -func (p *Property) AsStringValue() defsecTypes.StringValue { +func (p *Property) AsStringValue() iacTypes.StringValue { if p.unresolved { - return defsecTypes.StringUnresolvable(p.Metadata()) + return iacTypes.StringUnresolvable(p.Metadata()) } - return defsecTypes.StringExplicit(p.AsString(), p.Metadata()) + return iacTypes.StringExplicit(p.AsString(), p.Metadata()) } func (p *Property) AsInt() int { @@ -116,11 +116,11 @@ func (p *Property) AsInt() int { return p.Inner.Value.(int) } -func (p *Property) AsIntValue() defsecTypes.IntValue { +func (p *Property) AsIntValue() iacTypes.IntValue { if p.unresolved { - return defsecTypes.IntUnresolvable(p.Metadata()) + return iacTypes.IntUnresolvable(p.Metadata()) } - return defsecTypes.IntExplicit(p.AsInt(), p.Metadata()) + return iacTypes.IntExplicit(p.AsInt(), p.Metadata()) } func (p *Property) AsBool() bool { @@ -136,11 +136,11 @@ func (p *Property) AsBool() bool { return p.Inner.Value.(bool) } -func (p *Property) AsBoolValue() defsecTypes.BoolValue { +func (p *Property) AsBoolValue() iacTypes.BoolValue { if p.unresolved { - return defsecTypes.BoolUnresolvable(p.Metadata()) + return iacTypes.BoolUnresolvable(p.Metadata()) } - return defsecTypes.Bool(p.AsBool(), p.Metadata()) + return iacTypes.Bool(p.AsBool(), p.Metadata()) } func (p *Property) AsMap() map[string]*Property { diff --git a/pkg/iac/scanners/cloudformation/parser/property_helpers_test.go b/pkg/iac/scanners/cloudformation/parser/property_helpers_test.go index 1fa1885a408b..4b3779eac587 100644 --- a/pkg/iac/scanners/cloudformation/parser/property_helpers_test.go +++ b/pkg/iac/scanners/cloudformation/parser/property_helpers_test.go @@ -3,8 +3,8 @@ package parser import ( "testing" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/cftypes" + "github.com/aquasecurity/trivy/pkg/iac/types" "github.com/stretchr/testify/assert" ) diff --git a/pkg/iac/scanners/cloudformation/parser/reference.go b/pkg/iac/scanners/cloudformation/parser/reference.go index 2ff10058d868..59cbf583c8cf 100644 --- a/pkg/iac/scanners/cloudformation/parser/reference.go +++ b/pkg/iac/scanners/cloudformation/parser/reference.go @@ -3,23 +3,23 @@ package parser import ( "fmt" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) type CFReference struct { logicalId string - resourceRange defsecTypes.Range + resourceRange iacTypes.Range resolvedValue Property } -func NewCFReference(id string, resourceRange defsecTypes.Range) CFReference { +func NewCFReference(id string, resourceRange iacTypes.Range) CFReference { return CFReference{ logicalId: id, resourceRange: resourceRange, } } -func NewCFReferenceWithValue(resourceRange defsecTypes.Range, resolvedValue Property, logicalId string) CFReference { +func NewCFReferenceWithValue(resourceRange iacTypes.Range, resolvedValue Property, logicalId string) CFReference { return CFReference{ resourceRange: resourceRange, resolvedValue: resolvedValue, @@ -35,15 +35,15 @@ func (cf CFReference) LogicalID() string { return cf.logicalId } -func (cf CFReference) ResourceRange() defsecTypes.Range { +func (cf CFReference) ResourceRange() iacTypes.Range { return cf.resourceRange } -func (cf CFReference) PropertyRange() defsecTypes.Range { +func (cf CFReference) PropertyRange() iacTypes.Range { if cf.resolvedValue.IsNotNil() { return cf.resolvedValue.Range() } - return defsecTypes.Range{} + return iacTypes.Range{} } func (cf CFReference) DisplayValue() string { diff --git a/pkg/iac/scanners/cloudformation/parser/resource.go b/pkg/iac/scanners/cloudformation/parser/resource.go index d18bc2212d16..69a864ad7cdf 100644 --- a/pkg/iac/scanners/cloudformation/parser/resource.go +++ b/pkg/iac/scanners/cloudformation/parser/resource.go @@ -7,12 +7,12 @@ import ( "github.com/liamg/jfather" "gopkg.in/yaml.v3" - defsecTypes "github.com/aquasecurity/defsec/pkg/types" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" ) type Resource struct { ctx *FileContext - rng defsecTypes.Range + rng iacTypes.Range id string comment string Inner ResourceInner @@ -38,7 +38,7 @@ func (r *Resource) setId(id string) { } func (r *Resource) setFile(target fs.FS, filepath string) { - r.rng = defsecTypes.NewRange(filepath, r.rng.GetStartLine(), r.rng.GetEndLine(), r.rng.GetSourcePrefix(), target) + r.rng = iacTypes.NewRange(filepath, r.rng.GetStartLine(), r.rng.GetEndLine(), r.rng.GetSourcePrefix(), target) for _, p := range r.Inner.Properties { p.setFileAndParentRange(target, filepath, r.rng) @@ -55,13 +55,13 @@ func (r *Resource) setContext(ctx *FileContext) { } func (r *Resource) UnmarshalYAML(value *yaml.Node) error { - r.rng = defsecTypes.NewRange("", value.Line-1, calculateEndLine(value), "", nil) + r.rng = iacTypes.NewRange("", value.Line-1, calculateEndLine(value), "", nil) r.comment = value.LineComment return value.Decode(&r.Inner) } func (r *Resource) UnmarshalJSONWithMetadata(node jfather.Node) error { - r.rng = defsecTypes.NewRange("", node.Range().Start.Line, node.Range().End.Line, "", nil) + r.rng = iacTypes.NewRange("", node.Range().Start.Line, node.Range().End.Line, "", nil) return node.Decode(&r.Inner) } @@ -73,7 +73,7 @@ func (r *Resource) Type() string { return r.Inner.Type } -func (r *Resource) Range() defsecTypes.Range { +func (r *Resource) Range() iacTypes.Range { return r.rng } @@ -81,8 +81,8 @@ func (r *Resource) SourceFormat() SourceFormat { return r.ctx.SourceFormat } -func (r *Resource) Metadata() defsecTypes.Metadata { - return defsecTypes.NewMetadata(r.Range(), NewCFReference(r.id, r.rng).String()) +func (r *Resource) Metadata() iacTypes.Metadata { + return iacTypes.NewMetadata(r.Range(), NewCFReference(r.id, r.rng).String()) } func (r *Resource) properties() map[string]*Property { @@ -122,7 +122,7 @@ func (r *Resource) GetProperty(path string) *Property { return &Property{} } -func (r *Resource) GetStringProperty(path string, defaultValue ...string) defsecTypes.StringValue { +func (r *Resource) GetStringProperty(path string, defaultValue ...string) iacTypes.StringValue { defVal := "" if len(defaultValue) > 0 { defVal = defaultValue[0] @@ -136,7 +136,7 @@ func (r *Resource) GetStringProperty(path string, defaultValue ...string) defsec return prop.AsStringValue() } -func (r *Resource) GetBoolProperty(path string, defaultValue ...bool) defsecTypes.BoolValue { +func (r *Resource) GetBoolProperty(path string, defaultValue ...bool) iacTypes.BoolValue { defVal := false if len(defaultValue) > 0 { defVal = defaultValue[0] @@ -150,7 +150,7 @@ func (r *Resource) GetBoolProperty(path string, defaultValue ...bool) defsecType return prop.AsBoolValue() } -func (r *Resource) GetIntProperty(path string, defaultValue ...int) defsecTypes.IntValue { +func (r *Resource) GetIntProperty(path string, defaultValue ...int) iacTypes.IntValue { defVal := 0 if len(defaultValue) > 0 { defVal = defaultValue[0] @@ -164,46 +164,46 @@ func (r *Resource) GetIntProperty(path string, defaultValue ...int) defsecTypes. return prop.AsIntValue() } -func (r *Resource) StringDefault(defaultValue string) defsecTypes.StringValue { - return defsecTypes.StringDefault(defaultValue, r.Metadata()) +func (r *Resource) StringDefault(defaultValue string) iacTypes.StringValue { + return iacTypes.StringDefault(defaultValue, r.Metadata()) } -func (r *Resource) BoolDefault(defaultValue bool) defsecTypes.BoolValue { - return defsecTypes.BoolDefault(defaultValue, r.Metadata()) +func (r *Resource) BoolDefault(defaultValue bool) iacTypes.BoolValue { + return iacTypes.BoolDefault(defaultValue, r.Metadata()) } -func (r *Resource) IntDefault(defaultValue int) defsecTypes.IntValue { - return defsecTypes.IntDefault(defaultValue, r.Metadata()) +func (r *Resource) IntDefault(defaultValue int) iacTypes.IntValue { + return iacTypes.IntDefault(defaultValue, r.Metadata()) } -func (r *Resource) inferBool(prop *Property, defaultValue bool) defsecTypes.BoolValue { +func (r *Resource) inferBool(prop *Property, defaultValue bool) iacTypes.BoolValue { if prop.IsString() { if prop.EqualTo("true", IgnoreCase) { - return defsecTypes.Bool(true, prop.Metadata()) + return iacTypes.Bool(true, prop.Metadata()) } if prop.EqualTo("yes", IgnoreCase) { - return defsecTypes.Bool(true, prop.Metadata()) + return iacTypes.Bool(true, prop.Metadata()) } if prop.EqualTo("1", IgnoreCase) { - return defsecTypes.Bool(true, prop.Metadata()) + return iacTypes.Bool(true, prop.Metadata()) } if prop.EqualTo("false", IgnoreCase) { - return defsecTypes.Bool(false, prop.Metadata()) + return iacTypes.Bool(false, prop.Metadata()) } if prop.EqualTo("no", IgnoreCase) { - return defsecTypes.Bool(false, prop.Metadata()) + return iacTypes.Bool(false, prop.Metadata()) } if prop.EqualTo("0", IgnoreCase) { - return defsecTypes.Bool(false, prop.Metadata()) + return iacTypes.Bool(false, prop.Metadata()) } } if prop.IsInt() { if prop.EqualTo(0) { - return defsecTypes.Bool(false, prop.Metadata()) + return iacTypes.Bool(false, prop.Metadata()) } if prop.EqualTo(1) { - return defsecTypes.Bool(true, prop.Metadata()) + return iacTypes.Bool(true, prop.Metadata()) } } diff --git a/pkg/iac/scanners/cloudformation/scanner.go b/pkg/iac/scanners/cloudformation/scanner.go index c93ca7c841e8..4c0cbbc4216d 100644 --- a/pkg/iac/scanners/cloudformation/scanner.go +++ b/pkg/iac/scanners/cloudformation/scanner.go @@ -8,16 +8,16 @@ import ( "sort" "sync" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/types" adapter "github.com/aquasecurity/trivy/pkg/iac/adapters/cloudformation" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation/parser" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func WithParameters(params map[string]any) options.ScannerOption { diff --git a/pkg/iac/scanners/cloudformation/scanner_test.go b/pkg/iac/scanners/cloudformation/scanner_test.go index 0f10f0a3e48f..6aea88abc1af 100644 --- a/pkg/iac/scanners/cloudformation/scanner_test.go +++ b/pkg/iac/scanners/cloudformation/scanner_test.go @@ -4,13 +4,13 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/scan" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) func Test_BasicScan(t *testing.T) { diff --git a/pkg/iac/scanners/cloudformation/test/cf_scanning_test.go b/pkg/iac/scanners/cloudformation/test/cf_scanning_test.go index 8f52c7a197c0..47063669a24d 100644 --- a/pkg/iac/scanners/cloudformation/test/cf_scanning_test.go +++ b/pkg/iac/scanners/cloudformation/test/cf_scanning_test.go @@ -10,7 +10,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) func Test_basic_cloudformation_scanning(t *testing.T) { diff --git a/pkg/iac/scanners/dockerfile/parser/parser.go b/pkg/iac/scanners/dockerfile/parser/parser.go index 8b13d1e0e61e..d6ff7b4df21a 100644 --- a/pkg/iac/scanners/dockerfile/parser/parser.go +++ b/pkg/iac/scanners/dockerfile/parser/parser.go @@ -11,10 +11,10 @@ import ( "github.com/moby/buildkit/frontend/dockerfile/instructions" "github.com/moby/buildkit/frontend/dockerfile/parser" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/providers/dockerfile" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/debug" "github.com/aquasecurity/trivy/pkg/iac/detection" + "github.com/aquasecurity/trivy/pkg/iac/providers/dockerfile" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) var _ options.ConfigurableParser = (*Parser)(nil) diff --git a/pkg/iac/scanners/dockerfile/scanner.go b/pkg/iac/scanners/dockerfile/scanner.go index 5d7bca114562..88a18e35ed1a 100644 --- a/pkg/iac/scanners/dockerfile/scanner.go +++ b/pkg/iac/scanners/dockerfile/scanner.go @@ -6,14 +6,14 @@ import ( "io/fs" "sync" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners" "github.com/aquasecurity/trivy/pkg/iac/scanners/dockerfile/parser" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var _ scanners.FSScanner = (*Scanner)(nil) diff --git a/pkg/iac/scanners/dockerfile/scanner_test.go b/pkg/iac/scanners/dockerfile/scanner_test.go index 9277cc842a01..e396b15e1b09 100644 --- a/pkg/iac/scanners/dockerfile/scanner_test.go +++ b/pkg/iac/scanners/dockerfile/scanner_test.go @@ -5,12 +5,12 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/rego/schemas" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/rego/schemas" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/helm/options.go b/pkg/iac/scanners/helm/options.go index b2ec6ddf987d..009809e734e6 100644 --- a/pkg/iac/scanners/helm/options.go +++ b/pkg/iac/scanners/helm/options.go @@ -1,8 +1,8 @@ package helm import ( - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/pkg/iac/scanners/helm/parser" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) type ConfigurableHelmScanner interface { diff --git a/pkg/iac/scanners/helm/parser/option.go b/pkg/iac/scanners/helm/parser/option.go index 6cf79009615d..379cc9460979 100644 --- a/pkg/iac/scanners/helm/parser/option.go +++ b/pkg/iac/scanners/helm/parser/option.go @@ -1,6 +1,6 @@ package parser -import "github.com/aquasecurity/defsec/pkg/scanners/options" +import "github.com/aquasecurity/trivy/pkg/iac/scanners/options" type ConfigurableHelmParser interface { options.ConfigurableParser diff --git a/pkg/iac/scanners/helm/parser/parser.go b/pkg/iac/scanners/helm/parser/parser.go index b6d8f77ad311..20228258e5d3 100644 --- a/pkg/iac/scanners/helm/parser/parser.go +++ b/pkg/iac/scanners/helm/parser/parser.go @@ -21,9 +21,9 @@ import ( "helm.sh/helm/v3/pkg/release" "helm.sh/helm/v3/pkg/releaseutil" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/debug" detection2 "github.com/aquasecurity/trivy/pkg/iac/detection" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) var manifestNameRegex = regexp.MustCompile("# Source: [^/]+/(.+)") diff --git a/pkg/iac/scanners/helm/scanner.go b/pkg/iac/scanners/helm/scanner.go index 4a4fe4f4b0b0..e655932e01fd 100644 --- a/pkg/iac/scanners/helm/scanner.go +++ b/pkg/iac/scanners/helm/scanner.go @@ -10,16 +10,16 @@ import ( "github.com/liamg/memoryfs" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/debug" "github.com/aquasecurity/trivy/pkg/iac/detection" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners" "github.com/aquasecurity/trivy/pkg/iac/scanners/helm/parser" kparser "github.com/aquasecurity/trivy/pkg/iac/scanners/kubernetes/parser" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var _ scanners.FSScanner = (*Scanner)(nil) diff --git a/pkg/iac/scanners/helm/test/option_test.go b/pkg/iac/scanners/helm/test/option_test.go index 66f961a6b53d..2ad7efc64008 100644 --- a/pkg/iac/scanners/helm/test/option_test.go +++ b/pkg/iac/scanners/helm/test/option_test.go @@ -11,7 +11,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) func Test_helm_parser_with_options_with_values_file(t *testing.T) { diff --git a/pkg/iac/scanners/helm/test/scanner_test.go b/pkg/iac/scanners/helm/test/scanner_test.go index 9819589b2644..67099af2bb36 100644 --- a/pkg/iac/scanners/helm/test/scanner_test.go +++ b/pkg/iac/scanners/helm/test/scanner_test.go @@ -10,8 +10,8 @@ import ( "strings" "testing" - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/pkg/iac/scanners/helm" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/json/parser/parser.go b/pkg/iac/scanners/json/parser/parser.go index ff3417b8f0b9..3504e3e10a3c 100644 --- a/pkg/iac/scanners/json/parser/parser.go +++ b/pkg/iac/scanners/json/parser/parser.go @@ -7,9 +7,9 @@ import ( "io/fs" "path/filepath" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/debug" "github.com/aquasecurity/trivy/pkg/iac/detection" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) var _ options.ConfigurableParser = (*Parser)(nil) diff --git a/pkg/iac/scanners/json/scanner.go b/pkg/iac/scanners/json/scanner.go index eaa8fc43aa5a..5c53d0a10896 100644 --- a/pkg/iac/scanners/json/scanner.go +++ b/pkg/iac/scanners/json/scanner.go @@ -6,14 +6,14 @@ import ( "io/fs" "sync" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners" "github.com/aquasecurity/trivy/pkg/iac/scanners/json/parser" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var _ scanners.FSScanner = (*Scanner)(nil) diff --git a/pkg/iac/scanners/json/scanner_test.go b/pkg/iac/scanners/json/scanner_test.go index 9ab8a2e431c2..774d26612823 100644 --- a/pkg/iac/scanners/json/scanner_test.go +++ b/pkg/iac/scanners/json/scanner_test.go @@ -4,10 +4,10 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/kubernetes/parser/parser.go b/pkg/iac/scanners/kubernetes/parser/parser.go index 297f196ac9f0..fd2c12ecb327 100644 --- a/pkg/iac/scanners/kubernetes/parser/parser.go +++ b/pkg/iac/scanners/kubernetes/parser/parser.go @@ -13,9 +13,9 @@ import ( "gopkg.in/yaml.v3" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/debug" "github.com/aquasecurity/trivy/pkg/iac/detection" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) var _ options.ConfigurableParser = (*Parser)(nil) diff --git a/pkg/iac/scanners/kubernetes/scanner.go b/pkg/iac/scanners/kubernetes/scanner.go index 546c07f9bf0a..121c954990a3 100644 --- a/pkg/iac/scanners/kubernetes/scanner.go +++ b/pkg/iac/scanners/kubernetes/scanner.go @@ -10,14 +10,14 @@ import ( "github.com/liamg/memoryfs" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners" "github.com/aquasecurity/trivy/pkg/iac/scanners/kubernetes/parser" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var _ scanners.FSScanner = (*Scanner)(nil) diff --git a/pkg/iac/scanners/kubernetes/scanner_test.go b/pkg/iac/scanners/kubernetes/scanner_test.go index f55a07ec39b1..931b2a09b8f2 100644 --- a/pkg/iac/scanners/kubernetes/scanner_test.go +++ b/pkg/iac/scanners/kubernetes/scanner_test.go @@ -6,10 +6,10 @@ import ( "strings" "testing" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/options/parser.go b/pkg/iac/scanners/options/parser.go new file mode 100644 index 000000000000..65ec41bb825d --- /dev/null +++ b/pkg/iac/scanners/options/parser.go @@ -0,0 +1,23 @@ +package options + +import "io" + +type ConfigurableParser interface { + SetDebugWriter(io.Writer) + SetSkipRequiredCheck(bool) +} + +type ParserOption func(s ConfigurableParser) + +func ParserWithSkipRequiredCheck(skip bool) ParserOption { + return func(s ConfigurableParser) { + s.SetSkipRequiredCheck(skip) + } +} + +// ParserWithDebug specifies an io.Writer for debug logs - if not set, they are discarded +func ParserWithDebug(w io.Writer) ParserOption { + return func(s ConfigurableParser) { + s.SetDebugWriter(w) + } +} diff --git a/pkg/iac/scanners/options/scanner.go b/pkg/iac/scanners/options/scanner.go new file mode 100644 index 000000000000..02c01be5c95a --- /dev/null +++ b/pkg/iac/scanners/options/scanner.go @@ -0,0 +1,128 @@ +package options + +import ( + "io" + "io/fs" + + "github.com/aquasecurity/trivy/pkg/iac/framework" +) + +type ConfigurableScanner interface { + SetDebugWriter(io.Writer) + SetTraceWriter(io.Writer) + SetPerResultTracingEnabled(bool) + SetPolicyDirs(...string) + SetDataDirs(...string) + SetPolicyNamespaces(...string) + SetSkipRequiredCheck(bool) + SetPolicyReaders([]io.Reader) + SetPolicyFilesystem(fs.FS) + SetDataFilesystem(fs.FS) + SetUseEmbeddedPolicies(bool) + SetFrameworks(frameworks []framework.Framework) + SetSpec(spec string) + SetRegoOnly(regoOnly bool) + SetRegoErrorLimit(limit int) + SetUseEmbeddedLibraries(bool) +} + +type ScannerOption func(s ConfigurableScanner) + +func ScannerWithFrameworks(frameworks ...framework.Framework) ScannerOption { + return func(s ConfigurableScanner) { + s.SetFrameworks(frameworks) + } +} + +func ScannerWithSpec(spec string) ScannerOption { + return func(s ConfigurableScanner) { + s.SetSpec(spec) + } +} + +func ScannerWithPolicyReader(readers ...io.Reader) ScannerOption { + return func(s ConfigurableScanner) { + s.SetPolicyReaders(readers) + } +} + +// ScannerWithDebug specifies an io.Writer for debug logs - if not set, they are discarded +func ScannerWithDebug(w io.Writer) ScannerOption { + return func(s ConfigurableScanner) { + s.SetDebugWriter(w) + } +} + +func ScannerWithEmbeddedPolicies(embedded bool) ScannerOption { + return func(s ConfigurableScanner) { + s.SetUseEmbeddedPolicies(embedded) + } +} + +func ScannerWithEmbeddedLibraries(enabled bool) ScannerOption { + return func(s ConfigurableScanner) { + s.SetUseEmbeddedLibraries(enabled) + } +} + +// ScannerWithTrace specifies an io.Writer for trace logs (mainly rego tracing) - if not set, they are discarded +func ScannerWithTrace(w io.Writer) ScannerOption { + return func(s ConfigurableScanner) { + s.SetTraceWriter(w) + } +} + +func ScannerWithPerResultTracing(enabled bool) ScannerOption { + return func(s ConfigurableScanner) { + s.SetPerResultTracingEnabled(enabled) + } +} + +func ScannerWithPolicyDirs(paths ...string) ScannerOption { + return func(s ConfigurableScanner) { + s.SetPolicyDirs(paths...) + } +} + +func ScannerWithDataDirs(paths ...string) ScannerOption { + return func(s ConfigurableScanner) { + s.SetDataDirs(paths...) + } +} + +// ScannerWithPolicyNamespaces - namespaces which indicate rego policies containing enforced rules +func ScannerWithPolicyNamespaces(namespaces ...string) ScannerOption { + return func(s ConfigurableScanner) { + s.SetPolicyNamespaces(namespaces...) + } +} + +func ScannerWithSkipRequiredCheck(skip bool) ScannerOption { + return func(s ConfigurableScanner) { + s.SetSkipRequiredCheck(skip) + } +} + +func ScannerWithPolicyFilesystem(f fs.FS) ScannerOption { + return func(s ConfigurableScanner) { + s.SetPolicyFilesystem(f) + } +} + +func ScannerWithDataFilesystem(f fs.FS) ScannerOption { + return func(s ConfigurableScanner) { + s.SetDataFilesystem(f) + } +} + +func ScannerWithRegoOnly(regoOnly bool) ScannerOption { + return func(s ConfigurableScanner) { + s.SetRegoOnly(regoOnly) + } +} + +func ScannerWithRegoErrorLimits(limit int) ScannerOption { + return func(s ConfigurableScanner) { + s.SetRegoErrorLimit(limit) + } +} diff --git a/pkg/iac/scanners/scanner.go b/pkg/iac/scanners/scanner.go index 4d940d029d42..e792545b9e97 100644 --- a/pkg/iac/scanners/scanner.go +++ b/pkg/iac/scanners/scanner.go @@ -5,7 +5,7 @@ import ( "io/fs" "os" - "github.com/aquasecurity/defsec/pkg/scan" + "github.com/aquasecurity/trivy/pkg/iac/scan" ) type WriteFileFS interface { diff --git a/pkg/iac/scanners/terraform/attribute_test.go b/pkg/iac/scanners/terraform/attribute_test.go index 04fad7f32aa2..e81486e938a2 100644 --- a/pkg/iac/scanners/terraform/attribute_test.go +++ b/pkg/iac/scanners/terraform/attribute_test.go @@ -3,7 +3,7 @@ package terraform import ( "testing" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/terraform" "github.com/stretchr/testify/assert" ) diff --git a/pkg/iac/scanners/terraform/count_test.go b/pkg/iac/scanners/terraform/count_test.go index 2c8794787df3..2ce46c4388cc 100644 --- a/pkg/iac/scanners/terraform/count_test.go +++ b/pkg/iac/scanners/terraform/count_test.go @@ -3,12 +3,12 @@ package terraform import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/severity" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/providers" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/terraform" "github.com/stretchr/testify/assert" ) diff --git a/pkg/iac/scanners/terraform/deterministic_test.go b/pkg/iac/scanners/terraform/deterministic_test.go index 8b11f1ba65a6..d47161ec0059 100644 --- a/pkg/iac/scanners/terraform/deterministic_test.go +++ b/pkg/iac/scanners/terraform/deterministic_test.go @@ -4,8 +4,8 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/rules" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/rules" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/executor" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser" "github.com/stretchr/testify/require" diff --git a/pkg/iac/scanners/terraform/executor/executor.go b/pkg/iac/scanners/terraform/executor/executor.go index ece352daf0bd..003b5b7f4db2 100644 --- a/pkg/iac/scanners/terraform/executor/executor.go +++ b/pkg/iac/scanners/terraform/executor/executor.go @@ -6,15 +6,15 @@ import ( "strings" "time" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/severity" - "github.com/aquasecurity/defsec/pkg/state" - "github.com/aquasecurity/defsec/pkg/terraform" adapter "github.com/aquasecurity/trivy/pkg/iac/adapters/terraform" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/state" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) // Executor scans HCL blocks by running all registered rules against them diff --git a/pkg/iac/scanners/terraform/executor/executor_test.go b/pkg/iac/scanners/terraform/executor/executor_test.go index 3f49b54fcde7..952803a507f5 100644 --- a/pkg/iac/scanners/terraform/executor/executor_test.go +++ b/pkg/iac/scanners/terraform/executor/executor_test.go @@ -4,13 +4,13 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/providers" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/severity" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/providers" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/terraform" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/terraform/executor/option.go b/pkg/iac/scanners/terraform/executor/option.go index 5470146321e1..d32abb7afdcb 100644 --- a/pkg/iac/scanners/terraform/executor/option.go +++ b/pkg/iac/scanners/terraform/executor/option.go @@ -3,11 +3,11 @@ package executor import ( "io" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/state" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/state" ) type Option func(s *Executor) diff --git a/pkg/iac/scanners/terraform/executor/pool.go b/pkg/iac/scanners/terraform/executor/pool.go index 39a277c5480d..a62fbe510de0 100644 --- a/pkg/iac/scanners/terraform/executor/pool.go +++ b/pkg/iac/scanners/terraform/executor/pool.go @@ -9,11 +9,11 @@ import ( "strings" "sync" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/state" - "github.com/aquasecurity/defsec/pkg/terraform" - types "github.com/aquasecurity/defsec/pkg/types/rules" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/state" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + types "github.com/aquasecurity/trivy/pkg/iac/types/rules" ) type Pool struct { diff --git a/pkg/iac/scanners/terraform/executor/statistics.go b/pkg/iac/scanners/terraform/executor/statistics.go index 6bdaab0fd2a4..fc42985747a5 100644 --- a/pkg/iac/scanners/terraform/executor/statistics.go +++ b/pkg/iac/scanners/terraform/executor/statistics.go @@ -10,7 +10,7 @@ import ( "github.com/olekukonko/tablewriter" - "github.com/aquasecurity/defsec/pkg/scan" + "github.com/aquasecurity/trivy/pkg/iac/scan" ) type StatisticsItem struct { diff --git a/pkg/iac/scanners/terraform/fs_test.go b/pkg/iac/scanners/terraform/fs_test.go index eaf54e8c32c5..117b3c17ac6e 100644 --- a/pkg/iac/scanners/terraform/fs_test.go +++ b/pkg/iac/scanners/terraform/fs_test.go @@ -5,7 +5,7 @@ import ( "os" "testing" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/terraform/ignore_test.go b/pkg/iac/scanners/terraform/ignore_test.go index eccfe49a40f7..6e561d256653 100644 --- a/pkg/iac/scanners/terraform/ignore_test.go +++ b/pkg/iac/scanners/terraform/ignore_test.go @@ -5,11 +5,11 @@ import ( "strings" "testing" - "github.com/aquasecurity/defsec/pkg/providers" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/severity" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/providers" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/terraform" "github.com/stretchr/testify/assert" ) diff --git a/pkg/iac/scanners/terraform/json_test.go b/pkg/iac/scanners/terraform/json_test.go index d61ea6175029..835425265f17 100644 --- a/pkg/iac/scanners/terraform/json_test.go +++ b/pkg/iac/scanners/terraform/json_test.go @@ -3,12 +3,12 @@ package terraform import ( "testing" - "github.com/aquasecurity/defsec/pkg/providers" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/severity" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/providers" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func TestScanningJSON(t *testing.T) { diff --git a/pkg/iac/scanners/terraform/module_test.go b/pkg/iac/scanners/terraform/module_test.go index 99db7a23e1fb..a8131b40c5d0 100644 --- a/pkg/iac/scanners/terraform/module_test.go +++ b/pkg/iac/scanners/terraform/module_test.go @@ -7,15 +7,15 @@ import ( "os" "testing" - "github.com/aquasecurity/defsec/pkg/providers" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/severity" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/providers" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/executor" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/terraform" "github.com/stretchr/testify/require" "github.com/aquasecurity/trivy-policies/checks/cloud/aws/iam" diff --git a/pkg/iac/scanners/terraform/options.go b/pkg/iac/scanners/terraform/options.go index 3fd3ba63579f..c0fce8134a34 100644 --- a/pkg/iac/scanners/terraform/options.go +++ b/pkg/iac/scanners/terraform/options.go @@ -4,12 +4,12 @@ import ( "io/fs" "strings" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/severity" - "github.com/aquasecurity/defsec/pkg/state" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/executor" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/state" ) type ConfigurableTerraformScanner interface { diff --git a/pkg/iac/scanners/terraform/parser/evaluator.go b/pkg/iac/scanners/terraform/parser/evaluator.go index e83ea9301db9..1dea2e9473a3 100644 --- a/pkg/iac/scanners/terraform/parser/evaluator.go +++ b/pkg/iac/scanners/terraform/parser/evaluator.go @@ -14,10 +14,10 @@ import ( "github.com/zclconf/go-cty/cty/convert" "golang.org/x/exp/slices" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/terraform" - tfcontext "github.com/aquasecurity/defsec/pkg/terraform/context" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + tfcontext "github.com/aquasecurity/trivy/pkg/iac/terraform/context" + "github.com/aquasecurity/trivy/pkg/iac/types" ) const ( diff --git a/pkg/iac/scanners/terraform/parser/load_blocks.go b/pkg/iac/scanners/terraform/parser/load_blocks.go index 34b303e3a91f..c5409d42f27b 100644 --- a/pkg/iac/scanners/terraform/parser/load_blocks.go +++ b/pkg/iac/scanners/terraform/parser/load_blocks.go @@ -8,8 +8,8 @@ import ( "github.com/hashicorp/hcl/v2" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) func loadBlocksFromFile(file sourceFile, moduleSource string) (hcl.Blocks, []terraform.Ignore, error) { diff --git a/pkg/iac/scanners/terraform/parser/load_module.go b/pkg/iac/scanners/terraform/parser/load_module.go index 7f1ef3060995..4afa69beb462 100644 --- a/pkg/iac/scanners/terraform/parser/load_module.go +++ b/pkg/iac/scanners/terraform/parser/load_module.go @@ -10,8 +10,8 @@ import ( "github.com/zclconf/go-cty/cty" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser/resolvers" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) type moduleLoadError struct { diff --git a/pkg/iac/scanners/terraform/parser/option.go b/pkg/iac/scanners/terraform/parser/option.go index a37e20da1888..887899496f1b 100644 --- a/pkg/iac/scanners/terraform/parser/option.go +++ b/pkg/iac/scanners/terraform/parser/option.go @@ -3,7 +3,7 @@ package parser import ( "io/fs" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) type ConfigurableTerraformParser interface { diff --git a/pkg/iac/scanners/terraform/parser/parser.go b/pkg/iac/scanners/terraform/parser/parser.go index 7f3fa52b2307..c5ed55fcc3cd 100644 --- a/pkg/iac/scanners/terraform/parser/parser.go +++ b/pkg/iac/scanners/terraform/parser/parser.go @@ -14,11 +14,11 @@ import ( "github.com/hashicorp/hcl/v2/hclparse" "github.com/zclconf/go-cty/cty" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/terraform" - tfcontext "github.com/aquasecurity/defsec/pkg/terraform/context" "github.com/aquasecurity/trivy/pkg/extrafs" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + tfcontext "github.com/aquasecurity/trivy/pkg/iac/terraform/context" ) type sourceFile struct { diff --git a/pkg/iac/scanners/terraform/parser/parser_test.go b/pkg/iac/scanners/terraform/parser/parser_test.go index 21ee4ffd381a..926d9e56603d 100644 --- a/pkg/iac/scanners/terraform/parser/parser_test.go +++ b/pkg/iac/scanners/terraform/parser/parser_test.go @@ -6,8 +6,8 @@ import ( "sort" "testing" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/test/testutil" + "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/zclconf/go-cty/cty" diff --git a/pkg/iac/scanners/terraform/parser/resolvers/options.go b/pkg/iac/scanners/terraform/parser/resolvers/options.go index 61f720e8cc9e..8373a78525cd 100644 --- a/pkg/iac/scanners/terraform/parser/resolvers/options.go +++ b/pkg/iac/scanners/terraform/parser/resolvers/options.go @@ -3,7 +3,7 @@ package resolvers import ( "strings" - "github.com/aquasecurity/defsec/pkg/debug" + "github.com/aquasecurity/trivy/pkg/iac/debug" ) type Options struct { diff --git a/pkg/iac/scanners/terraform/parser/sort.go b/pkg/iac/scanners/terraform/parser/sort.go index d43e86b4e740..28fc79b1990c 100644 --- a/pkg/iac/scanners/terraform/parser/sort.go +++ b/pkg/iac/scanners/terraform/parser/sort.go @@ -3,7 +3,7 @@ package parser import ( "sort" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func sortBlocksByHierarchy(blocks terraform.Blocks) { diff --git a/pkg/iac/scanners/terraform/performance_test.go b/pkg/iac/scanners/terraform/performance_test.go index 52380a5801a4..f4a390a3b2cc 100644 --- a/pkg/iac/scanners/terraform/performance_test.go +++ b/pkg/iac/scanners/terraform/performance_test.go @@ -6,8 +6,8 @@ import ( "io/fs" "testing" - "github.com/aquasecurity/defsec/pkg/rules" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/rules" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/executor" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser" ) diff --git a/pkg/iac/scanners/terraform/scanner.go b/pkg/iac/scanners/terraform/scanner.go index 340f5855842d..cccd69dddca8 100644 --- a/pkg/iac/scanners/terraform/scanner.go +++ b/pkg/iac/scanners/terraform/scanner.go @@ -12,18 +12,18 @@ import ( "golang.org/x/exp/slices" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/terraform" - "github.com/aquasecurity/defsec/pkg/types" "github.com/aquasecurity/trivy/pkg/extrafs" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" executor2 "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/executor" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser/resolvers" + "github.com/aquasecurity/trivy/pkg/iac/terraform" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var _ scanners.FSScanner = (*Scanner)(nil) diff --git a/pkg/iac/scanners/terraform/scanner_integration_test.go b/pkg/iac/scanners/terraform/scanner_integration_test.go index 976ebb2d1783..892a65e036a6 100644 --- a/pkg/iac/scanners/terraform/scanner_integration_test.go +++ b/pkg/iac/scanners/terraform/scanner_integration_test.go @@ -6,8 +6,8 @@ import ( "fmt" "testing" - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/terraform/scanner_test.go b/pkg/iac/scanners/terraform/scanner_test.go index 103efe0da3cf..130427d9f5b4 100644 --- a/pkg/iac/scanners/terraform/scanner_test.go +++ b/pkg/iac/scanners/terraform/scanner_test.go @@ -7,14 +7,14 @@ import ( "strconv" "testing" - "github.com/aquasecurity/defsec/pkg/providers" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/severity" - "github.com/aquasecurity/defsec/pkg/state" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/providers" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/state" + "github.com/aquasecurity/trivy/pkg/iac/terraform" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/terraform/setup_test.go b/pkg/iac/scanners/terraform/setup_test.go index 934c1fbf3362..c1f1aeb2e8ca 100644 --- a/pkg/iac/scanners/terraform/setup_test.go +++ b/pkg/iac/scanners/terraform/setup_test.go @@ -4,11 +4,11 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" parser2 "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/parser" + "github.com/aquasecurity/trivy/pkg/iac/terraform" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/terraform/wildcard_test.go b/pkg/iac/scanners/terraform/wildcard_test.go index 225cb09266af..5de281e69be0 100644 --- a/pkg/iac/scanners/terraform/wildcard_test.go +++ b/pkg/iac/scanners/terraform/wildcard_test.go @@ -4,11 +4,11 @@ import ( "fmt" "testing" - "github.com/aquasecurity/defsec/pkg/rules" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/severity" - "github.com/aquasecurity/defsec/pkg/terraform" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/rules" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/severity" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) func Test_WildcardMatchingOnRequiredLabels(t *testing.T) { diff --git a/pkg/iac/scanners/terraformplan/parser/parser.go b/pkg/iac/scanners/terraformplan/parser/parser.go index 583e539f1b66..4d4d04feb093 100644 --- a/pkg/iac/scanners/terraformplan/parser/parser.go +++ b/pkg/iac/scanners/terraformplan/parser/parser.go @@ -10,7 +10,7 @@ import ( "github.com/liamg/memoryfs" - "github.com/aquasecurity/defsec/pkg/terraform" + "github.com/aquasecurity/trivy/pkg/iac/terraform" ) type Parser struct { diff --git a/pkg/iac/scanners/terraformplan/scanner.go b/pkg/iac/scanners/terraformplan/scanner.go index f15b060ae047..2a22c4b24690 100644 --- a/pkg/iac/scanners/terraformplan/scanner.go +++ b/pkg/iac/scanners/terraformplan/scanner.go @@ -8,10 +8,10 @@ import ( "github.com/bmatcuk/doublestar/v4" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" terraformScanner "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform/executor" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraformplan/parser" diff --git a/pkg/iac/scanners/terraformplan/scanner_test.go b/pkg/iac/scanners/terraformplan/scanner_test.go index cf0a15ec7526..8f3dfc0f8a29 100644 --- a/pkg/iac/scanners/terraformplan/scanner_test.go +++ b/pkg/iac/scanners/terraformplan/scanner_test.go @@ -7,8 +7,8 @@ import ( "os" "testing" - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/terraformplan/test/scanner_test.go b/pkg/iac/scanners/terraformplan/test/scanner_test.go index 5762e4e9bc3b..9e275ac6082a 100644 --- a/pkg/iac/scanners/terraformplan/test/scanner_test.go +++ b/pkg/iac/scanners/terraformplan/test/scanner_test.go @@ -5,12 +5,12 @@ import ( "testing" "testing/fstest" - "github.com/aquasecurity/defsec/pkg/scan" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraformplan" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) func Test_Scanning_Plan(t *testing.T) { diff --git a/pkg/iac/scanners/toml/parser/parser.go b/pkg/iac/scanners/toml/parser/parser.go index ac909ba1563b..9b572267fdf9 100644 --- a/pkg/iac/scanners/toml/parser/parser.go +++ b/pkg/iac/scanners/toml/parser/parser.go @@ -8,9 +8,9 @@ import ( "github.com/BurntSushi/toml" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/debug" "github.com/aquasecurity/trivy/pkg/iac/detection" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) var _ options.ConfigurableParser = (*Parser)(nil) diff --git a/pkg/iac/scanners/toml/scanner.go b/pkg/iac/scanners/toml/scanner.go index 290a3d139df1..57f27df92db6 100644 --- a/pkg/iac/scanners/toml/scanner.go +++ b/pkg/iac/scanners/toml/scanner.go @@ -6,13 +6,13 @@ import ( "io/fs" "sync" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/aquasecurity/trivy/pkg/iac/scanners/toml/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var _ options.ConfigurableScanner = (*Scanner)(nil) diff --git a/pkg/iac/scanners/toml/scanner_test.go b/pkg/iac/scanners/toml/scanner_test.go index 641bcdda7ac9..c3217587cd55 100644 --- a/pkg/iac/scanners/toml/scanner_test.go +++ b/pkg/iac/scanners/toml/scanner_test.go @@ -4,10 +4,10 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/scanners/universal/scanner.go b/pkg/iac/scanners/universal/scanner.go index d289f1961f6c..3687da85fc3d 100644 --- a/pkg/iac/scanners/universal/scanner.go +++ b/pkg/iac/scanners/universal/scanner.go @@ -4,8 +4,7 @@ import ( "context" "io/fs" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/arm" "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation" @@ -13,6 +12,7 @@ import ( "github.com/aquasecurity/trivy/pkg/iac/scanners/helm" "github.com/aquasecurity/trivy/pkg/iac/scanners/json" "github.com/aquasecurity/trivy/pkg/iac/scanners/kubernetes" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform" "github.com/aquasecurity/trivy/pkg/iac/scanners/toml" "github.com/aquasecurity/trivy/pkg/iac/scanners/yaml" diff --git a/pkg/iac/scanners/yaml/parser/parser.go b/pkg/iac/scanners/yaml/parser/parser.go index 177d2289dd30..6f22a0742d1e 100644 --- a/pkg/iac/scanners/yaml/parser/parser.go +++ b/pkg/iac/scanners/yaml/parser/parser.go @@ -10,9 +10,9 @@ import ( "gopkg.in/yaml.v3" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/scanners/options" + "github.com/aquasecurity/trivy/pkg/iac/debug" "github.com/aquasecurity/trivy/pkg/iac/detection" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" ) var _ options.ConfigurableParser = (*Parser)(nil) diff --git a/pkg/iac/scanners/yaml/scanner.go b/pkg/iac/scanners/yaml/scanner.go index 4c4a03e85d5d..02a68f0d5566 100644 --- a/pkg/iac/scanners/yaml/scanner.go +++ b/pkg/iac/scanners/yaml/scanner.go @@ -6,13 +6,13 @@ import ( "io/fs" "sync" - "github.com/aquasecurity/defsec/pkg/debug" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/rego" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" - "github.com/aquasecurity/defsec/pkg/types" + "github.com/aquasecurity/trivy/pkg/iac/debug" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/rego" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/aquasecurity/trivy/pkg/iac/scanners/yaml/parser" + "github.com/aquasecurity/trivy/pkg/iac/types" ) var _ options.ConfigurableScanner = (*Scanner)(nil) diff --git a/pkg/iac/scanners/yaml/scanner_test.go b/pkg/iac/scanners/yaml/scanner_test.go index 007f315491f4..f4554997cf5a 100644 --- a/pkg/iac/scanners/yaml/scanner_test.go +++ b/pkg/iac/scanners/yaml/scanner_test.go @@ -4,10 +4,10 @@ import ( "context" "testing" - "github.com/aquasecurity/defsec/pkg/framework" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/internal/testutil" + "github.com/aquasecurity/trivy/pkg/iac/framework" + "github.com/aquasecurity/trivy/pkg/iac/scan" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/pkg/iac/severity/severity.go b/pkg/iac/severity/severity.go new file mode 100755 index 000000000000..45e9e1740d95 --- /dev/null +++ b/pkg/iac/severity/severity.go @@ -0,0 +1,48 @@ +package severity + +import ( + "strings" +) + +type Severity string + +const ( + None Severity = "" + Critical Severity = "CRITICAL" + High Severity = "HIGH" + Medium Severity = "MEDIUM" + Low Severity = "LOW" +) + +var ValidSeverity = []Severity{ + Critical, High, Medium, Low, +} + +func (s *Severity) IsValid() bool { + for _, severity := range ValidSeverity { + if severity == *s { + return true + } + } + return false +} + +func (s *Severity) Valid() []Severity { + return ValidSeverity +} + +func StringToSeverity(sev string) Severity { + s := strings.ToUpper(sev) + switch s { + case "CRITICAL", "HIGH", "MEDIUM", "LOW": + return Severity(s) + case "ERROR": + return High + case "WARNING": + return Medium + case "INFO": + return Low + default: + return None + } +} diff --git a/pkg/iac/state/merge.go b/pkg/iac/state/merge.go new file mode 100644 index 000000000000..16e1275813a8 --- /dev/null +++ b/pkg/iac/state/merge.go @@ -0,0 +1,43 @@ +package state + +import ( + "reflect" +) + +// Merge merges the states of the services that have been scanned into a single state. +// if a service has data on both a and b, the service data from b will be preferred. +func (a *State) Merge(b *State) (*State, error) { + var output State + + aVal := reflect.ValueOf(a).Elem() + bVal := reflect.ValueOf(b).Elem() + outputVal := reflect.ValueOf(&output).Elem() + + stateType := reflect.ValueOf(a).Elem().Type() + for i := 0; i < stateType.NumField(); i++ { + field := stateType.Field(i) + if !field.IsExported() { + continue + } + if field.Type.Kind() != reflect.Struct { + continue + } + for j := 0; j < field.Type.NumField(); j++ { + serviceField := field.Type.Field(j) + if !serviceField.IsExported() { + continue + } + if serviceField.Type.Kind() != reflect.Struct { + continue + } + if !bVal.Field(i).Field(j).IsZero() { + outputVal.Field(i).Field(j).Set(bVal.Field(i).Field(j)) + } else { + outputVal.Field(i).Field(j).Set(aVal.Field(i).Field(j)) + } + } + } + + normalised := outputVal.Interface().(State) + return &normalised, nil +} diff --git a/pkg/iac/state/merge_test.go b/pkg/iac/state/merge_test.go new file mode 100644 index 000000000000..ff8da78a5ac2 --- /dev/null +++ b/pkg/iac/state/merge_test.go @@ -0,0 +1,342 @@ +package state + +import ( + "testing" + + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/ec2" + + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" + + "github.com/aquasecurity/trivy/pkg/iac/providers/aws" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/rds" + + "github.com/stretchr/testify/assert" +) + +func Test_Merging(t *testing.T) { + tests := []struct { + name string + a, b, expected State + }{ + { + name: "both empty", + }, + { + name: "a empty, b has a service", + b: State{ + AWS: aws.AWS{ + RDS: rds.RDS{ + Instances: []rds.Instance{ + { + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.Metadata{}), + ReplicationSourceARN: iacTypes.String("arn:whatever", iacTypes.Metadata{}), + PerformanceInsights: rds.PerformanceInsights{ + Metadata: iacTypes.Metadata{}, + Enabled: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + Encryption: rds.Encryption{ + Metadata: iacTypes.Metadata{}, + EncryptStorage: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + PublicAccess: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + expected: State{ + AWS: aws.AWS{ + RDS: rds.RDS{ + Instances: []rds.Instance{ + { + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.Metadata{}), + ReplicationSourceARN: iacTypes.String("arn:whatever", iacTypes.Metadata{}), + PerformanceInsights: rds.PerformanceInsights{ + Metadata: iacTypes.Metadata{}, + Enabled: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + Encryption: rds.Encryption{ + Metadata: iacTypes.Metadata{}, + EncryptStorage: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + PublicAccess: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + }, + { + name: "b empty, a has a service", + a: State{ + AWS: aws.AWS{ + RDS: rds.RDS{ + Instances: []rds.Instance{ + { + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.Metadata{}), + ReplicationSourceARN: iacTypes.String("arn:whatever", iacTypes.Metadata{}), + PerformanceInsights: rds.PerformanceInsights{ + Metadata: iacTypes.Metadata{}, + Enabled: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + Encryption: rds.Encryption{ + Metadata: iacTypes.Metadata{}, + EncryptStorage: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + PublicAccess: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + expected: State{ + AWS: aws.AWS{ + RDS: rds.RDS{ + Instances: []rds.Instance{ + { + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.Metadata{}), + ReplicationSourceARN: iacTypes.String("arn:whatever", iacTypes.Metadata{}), + PerformanceInsights: rds.PerformanceInsights{ + Metadata: iacTypes.Metadata{}, + Enabled: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + Encryption: rds.Encryption{ + Metadata: iacTypes.Metadata{}, + EncryptStorage: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + PublicAccess: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + }, + { + name: "both have differing versions of same service", + a: State{ + AWS: aws.AWS{ + RDS: rds.RDS{ + Instances: []rds.Instance{ + { + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.Metadata{}), + ReplicationSourceARN: iacTypes.String("arn:whatever", iacTypes.Metadata{}), + PerformanceInsights: rds.PerformanceInsights{ + Metadata: iacTypes.Metadata{}, + Enabled: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + Encryption: rds.Encryption{ + Metadata: iacTypes.Metadata{}, + EncryptStorage: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + PublicAccess: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + b: State{ + AWS: aws.AWS{ + RDS: rds.RDS{ + Instances: []rds.Instance{ + { + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.Metadata{}), + ReplicationSourceARN: iacTypes.String("arn:whatever:B", iacTypes.Metadata{}), + PerformanceInsights: rds.PerformanceInsights{ + Metadata: iacTypes.Metadata{}, + Enabled: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere:B", iacTypes.Metadata{}), + }, + Encryption: rds.Encryption{ + Metadata: iacTypes.Metadata{}, + EncryptStorage: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere:B", iacTypes.Metadata{}), + }, + PublicAccess: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + expected: State{ + AWS: aws.AWS{ + RDS: rds.RDS{ + Instances: []rds.Instance{ + { + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.Metadata{}), + ReplicationSourceARN: iacTypes.String("arn:whatever:B", iacTypes.Metadata{}), + PerformanceInsights: rds.PerformanceInsights{ + Metadata: iacTypes.Metadata{}, + Enabled: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere:B", iacTypes.Metadata{}), + }, + Encryption: rds.Encryption{ + Metadata: iacTypes.Metadata{}, + EncryptStorage: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere:B", iacTypes.Metadata{}), + }, + PublicAccess: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + }, + { + name: "each has a different service", + a: State{ + AWS: aws.AWS{ + RDS: rds.RDS{ + Instances: []rds.Instance{ + { + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.Metadata{}), + ReplicationSourceARN: iacTypes.String("arn:whatever", iacTypes.Metadata{}), + PerformanceInsights: rds.PerformanceInsights{ + Metadata: iacTypes.Metadata{}, + Enabled: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + Encryption: rds.Encryption{ + Metadata: iacTypes.Metadata{}, + EncryptStorage: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + PublicAccess: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + b: State{ + AWS: aws.AWS{ + EC2: ec2.EC2{ + Instances: []ec2.Instance{ + { + Metadata: iacTypes.Metadata{}, + MetadataOptions: ec2.MetadataOptions{ + Metadata: iacTypes.Metadata{}, + HttpTokens: iacTypes.String("something", iacTypes.Metadata{}), + HttpEndpoint: iacTypes.String("something", iacTypes.Metadata{}), + }, + UserData: iacTypes.String("something", iacTypes.Metadata{}), + SecurityGroups: []ec2.SecurityGroup{ + { + Metadata: iacTypes.Metadata{}, + IsDefault: iacTypes.Bool(true, iacTypes.Metadata{}), + Description: iacTypes.String("something", iacTypes.Metadata{}), + IngressRules: []ec2.SecurityGroupRule{ + { + Metadata: iacTypes.Metadata{}, + Description: iacTypes.String("something", iacTypes.Metadata{}), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("something", iacTypes.Metadata{}), + }, + }, + }, + EgressRules: nil, + VPCID: iacTypes.String("something", iacTypes.Metadata{}), + }, + }, + RootBlockDevice: &ec2.BlockDevice{ + Metadata: iacTypes.Metadata{}, + Encrypted: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + EBSBlockDevices: []*ec2.BlockDevice{ + { + Metadata: iacTypes.Metadata{}, + Encrypted: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + }, + }, + expected: State{ + AWS: aws.AWS{ + EC2: ec2.EC2{ + Instances: []ec2.Instance{ + { + Metadata: iacTypes.Metadata{}, + MetadataOptions: ec2.MetadataOptions{ + Metadata: iacTypes.Metadata{}, + HttpTokens: iacTypes.String("something", iacTypes.Metadata{}), + HttpEndpoint: iacTypes.String("something", iacTypes.Metadata{}), + }, + UserData: iacTypes.String("something", iacTypes.Metadata{}), + SecurityGroups: []ec2.SecurityGroup{ + { + Metadata: iacTypes.Metadata{}, + IsDefault: iacTypes.Bool(true, iacTypes.Metadata{}), + Description: iacTypes.String("something", iacTypes.Metadata{}), + IngressRules: []ec2.SecurityGroupRule{ + { + Metadata: iacTypes.Metadata{}, + Description: iacTypes.String("something", iacTypes.Metadata{}), + CIDRs: []iacTypes.StringValue{ + iacTypes.String("something", iacTypes.Metadata{}), + }, + }, + }, + EgressRules: nil, + VPCID: iacTypes.String("something", iacTypes.Metadata{}), + }, + }, + RootBlockDevice: &ec2.BlockDevice{ + Metadata: iacTypes.Metadata{}, + Encrypted: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + EBSBlockDevices: []*ec2.BlockDevice{ + { + Metadata: iacTypes.Metadata{}, + Encrypted: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + RDS: rds.RDS{ + Instances: []rds.Instance{ + { + BackupRetentionPeriodDays: iacTypes.Int(1, iacTypes.Metadata{}), + ReplicationSourceARN: iacTypes.String("arn:whatever", iacTypes.Metadata{}), + PerformanceInsights: rds.PerformanceInsights{ + Metadata: iacTypes.Metadata{}, + Enabled: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + Encryption: rds.Encryption{ + Metadata: iacTypes.Metadata{}, + EncryptStorage: iacTypes.Bool(true, iacTypes.Metadata{}), + KMSKeyID: iacTypes.String("keyidhere", iacTypes.Metadata{}), + }, + PublicAccess: iacTypes.Bool(true, iacTypes.Metadata{}), + }, + }, + }, + }, + }, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + state := test.b + actual, err := test.a.Merge(&state) + if err != nil { + t.Fatal(err) + } + assert.Equal(t, test.expected, *actual) + }) + } + +} diff --git a/pkg/iac/state/state.go b/pkg/iac/state/state.go new file mode 100755 index 000000000000..580c2e4813f8 --- /dev/null +++ b/pkg/iac/state/state.go @@ -0,0 +1,34 @@ +package state + +import ( + "reflect" + + "github.com/aquasecurity/trivy/pkg/iac/providers/aws" + "github.com/aquasecurity/trivy/pkg/iac/providers/azure" + "github.com/aquasecurity/trivy/pkg/iac/providers/cloudstack" + "github.com/aquasecurity/trivy/pkg/iac/providers/digitalocean" + "github.com/aquasecurity/trivy/pkg/iac/providers/github" + "github.com/aquasecurity/trivy/pkg/iac/providers/google" + "github.com/aquasecurity/trivy/pkg/iac/providers/kubernetes" + "github.com/aquasecurity/trivy/pkg/iac/providers/nifcloud" + "github.com/aquasecurity/trivy/pkg/iac/providers/openstack" + "github.com/aquasecurity/trivy/pkg/iac/providers/oracle" + "github.com/aquasecurity/trivy/pkg/iac/rego/convert" +) + +type State struct { + AWS aws.AWS + Azure azure.Azure + CloudStack cloudstack.CloudStack + DigitalOcean digitalocean.DigitalOcean + GitHub github.GitHub + Google google.Google + Kubernetes kubernetes.Kubernetes + OpenStack openstack.OpenStack + Oracle oracle.Oracle + Nifcloud nifcloud.Nifcloud +} + +func (a *State) ToRego() interface{} { + return convert.StructToRego(reflect.ValueOf(a)) +} diff --git a/pkg/iac/state/state_test.go b/pkg/iac/state/state_test.go new file mode 100644 index 000000000000..0b3f3235f6bb --- /dev/null +++ b/pkg/iac/state/state_test.go @@ -0,0 +1,96 @@ +package state + +import ( + "encoding/json" + "testing" + + "github.com/stretchr/testify/require" + + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" + + "github.com/aquasecurity/trivy/pkg/iac/providers/aws" + "github.com/aquasecurity/trivy/pkg/iac/providers/aws/s3" + + "github.com/stretchr/testify/assert" +) + +func Test_RegoConversion(t *testing.T) { + s := State{ + AWS: aws.AWS{ + S3: s3.S3{ + Buckets: []s3.Bucket{ + { + Metadata: iacTypes.NewMetadata( + iacTypes.NewRange("main.tf", 2, 4, "", nil), + "aws_s3_bucket.example", + ), + Name: iacTypes.String("my-bucket", iacTypes.NewMetadata( + iacTypes.NewRange("main.tf", 3, 3, "", nil), + "aws_s3_bucket.example.bucket", + )), + }, + }, + }, + }, + } + converted := s.ToRego() + assert.Equal(t, map[string]interface{}{ + "aws": map[string]interface{}{ + "s3": map[string]interface{}{ + "buckets": []interface{}{ + map[string]interface{}{ + "__defsec_metadata": map[string]interface{}{ + "resource": "aws_s3_bucket.example", + "sourceprefix": "", + "filepath": "main.tf", + "startline": 2, + "endline": 4, + "managed": true, + "explicit": false, + "fskey": "", + }, + "name": map[string]interface{}{ + "resource": "aws_s3_bucket.example.bucket", + "sourceprefix": "", + "filepath": "main.tf", + "startline": 3, + "endline": 3, + "value": "my-bucket", + "managed": true, + "explicit": false, + "fskey": "", + }, + }, + }, + }, + }, + }, converted) +} + +func Test_JSONPersistenceOfData(t *testing.T) { + s := State{ + AWS: aws.AWS{ + S3: s3.S3{ + Buckets: []s3.Bucket{ + { + Metadata: iacTypes.NewMetadata( + iacTypes.NewRange("main.tf", 2, 4, "", nil), + "aws_s3_bucket.example", + ), + Name: iacTypes.String("my-bucket", iacTypes.NewMetadata( + iacTypes.NewRange("main.tf", 3, 3, "", nil), + "aws_s3_bucket.example.bucket", + )), + }, + }, + }, + }, + } + data, err := json.Marshal(s) + require.NoError(t, err) + + var restored State + require.NoError(t, json.Unmarshal(data, &restored)) + + assert.Equal(t, s, restored) +} diff --git a/pkg/iac/terraform/attribute.go b/pkg/iac/terraform/attribute.go new file mode 100644 index 000000000000..24e0ec499352 --- /dev/null +++ b/pkg/iac/terraform/attribute.go @@ -0,0 +1,1099 @@ +package terraform + +import ( + "fmt" + "io/fs" + "reflect" + "regexp" + "strconv" + "strings" + + "github.com/hashicorp/hcl/v2" + "github.com/hashicorp/hcl/v2/ext/typeexpr" + "github.com/hashicorp/hcl/v2/hclsyntax" + "github.com/zclconf/go-cty/cty" + "github.com/zclconf/go-cty/cty/gocty" + + "github.com/aquasecurity/trivy/pkg/iac/terraform/context" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Attribute struct { + hclAttribute *hcl.Attribute + module string + ctx *context.Context + metadata iacTypes.Metadata + reference Reference +} + +func (a *Attribute) DecodeVarType() (cty.Type, *typeexpr.Defaults, error) { + t, def, diag := typeexpr.TypeConstraintWithDefaults(a.hclAttribute.Expr) + if diag.HasErrors() { + return cty.NilType, nil, diag + } + return t, def, nil +} + +func NewAttribute(attr *hcl.Attribute, ctx *context.Context, module string, parent iacTypes.Metadata, parentRef Reference, moduleSource string, moduleFS fs.FS) *Attribute { + rng := iacTypes.NewRange( + attr.Range.Filename, + attr.Range.Start.Line, + attr.Range.End.Line, + moduleSource, + moduleFS, + ) + reference := extendReference(parentRef, attr.Name) + metadata := iacTypes.NewMetadata(rng, reference.String()) + return &Attribute{ + hclAttribute: attr, + ctx: ctx, + module: module, + metadata: metadata.WithParent(parent), + reference: reference, + } +} + +func (a *Attribute) GetMetadata() iacTypes.Metadata { + return a.metadata +} + +func (a *Attribute) GetRawValue() interface{} { + switch typ := a.Type(); typ { + case cty.String: + return a.Value().AsString() + case cty.Bool: + return a.Value().True() + case cty.Number: + float, _ := a.Value().AsBigFloat().Float64() + return float + default: + switch { + case typ.IsTupleType(), typ.IsListType(): + values := a.Value().AsValueSlice() + if len(values) == 0 { + return []string{} + } + switch values[0].Type() { + case cty.String: + var output []string + for _, value := range values { + output = append(output, value.AsString()) + } + return output + case cty.Number: + var output []float64 + for _, value := range values { + bf := value.AsBigFloat() + f, _ := bf.Float64() + output = append(output, f) + } + return output + case cty.Bool: + var output []bool + for _, value := range values { + output = append(output, value.True()) + } + return output + } + } + } + return nil +} + +func (a *Attribute) AsBytesValueOrDefault(defaultValue []byte, parent *Block) iacTypes.BytesValue { + if a.IsNil() { + return iacTypes.BytesDefault(defaultValue, parent.GetMetadata()) + } + if a.IsNotResolvable() || !a.IsString() { + return iacTypes.BytesUnresolvable(a.GetMetadata()) + } + return iacTypes.BytesExplicit( + []byte(a.Value().AsString()), + a.GetMetadata(), + ) +} + +func (a *Attribute) AsStringValueOrDefault(defaultValue string, parent *Block) iacTypes.StringValue { + if a.IsNil() { + return iacTypes.StringDefault(defaultValue, parent.GetMetadata()) + } + if a.IsNotResolvable() || !a.IsString() { + return iacTypes.StringUnresolvable(a.GetMetadata()) + } + return iacTypes.StringExplicit( + a.Value().AsString(), + a.GetMetadata(), + ) +} + +func (a *Attribute) AsStringValueSliceOrEmpty() (stringValues []iacTypes.StringValue) { + if a.IsNil() { + return stringValues + } + return a.AsStringValues() +} + +func (a *Attribute) AsStringValuesOrDefault(parent *Block, defaults ...string) []iacTypes.StringValue { + if a.IsNil() { + res := make(iacTypes.StringValueList, 0, len(defaults)) + for _, def := range defaults { + res = append(res, iacTypes.StringDefault(def, parent.GetMetadata())) + } + return res + } + return a.AsStringValues() +} + +func (a *Attribute) AsBoolValueOrDefault(defaultValue bool, parent *Block) iacTypes.BoolValue { + if a.IsNil() { + return iacTypes.BoolDefault(defaultValue, parent.GetMetadata()) + } + if a.IsNotResolvable() || !a.IsBool() { + return iacTypes.BoolUnresolvable(a.GetMetadata()) + } + return iacTypes.BoolExplicit( + a.IsTrue(), + a.GetMetadata(), + ) +} + +func (a *Attribute) AsIntValueOrDefault(defaultValue int, parent *Block) iacTypes.IntValue { + if a.IsNil() { + return iacTypes.IntDefault(defaultValue, parent.GetMetadata()) + } + if a.IsNotResolvable() || !a.IsNumber() { + return iacTypes.IntUnresolvable(a.GetMetadata()) + } + flt := a.AsNumber() + return iacTypes.IntExplicit( + int(flt), + a.GetMetadata(), + ) +} + +func (a *Attribute) IsLiteral() bool { + if a == nil { + return false + } + return len(a.hclAttribute.Expr.Variables()) == 0 +} + +func (a *Attribute) IsResolvable() bool { + if a == nil { + return false + } + return a.Value() != cty.NilVal && a.Value().IsKnown() +} + +func (a *Attribute) IsNotResolvable() bool { + return !a.IsResolvable() +} + +func (a *Attribute) Type() cty.Type { + if a == nil { + return cty.NilType + } + return a.Value().Type() +} + +func (a *Attribute) IsIterable() bool { + if a == nil { + return false + } + return a.Value().Type().IsListType() || a.Value().Type().IsCollectionType() || a.Value().Type().IsObjectType() || a.Value().Type().IsMapType() || a.Value().Type().IsListType() || a.Value().Type().IsSetType() || a.Value().Type().IsTupleType() +} + +func (a *Attribute) Each(f func(key cty.Value, val cty.Value)) error { + if a == nil { + return nil + } + var outerErr error + defer func() { + if err := recover(); err != nil { + outerErr = fmt.Errorf("go-cty bug detected - cannot call ForEachElement: %s", err) + } + }() + val := a.Value() + val.ForEachElement(func(key cty.Value, val cty.Value) (stop bool) { + f(key, val) + return false + }) + return outerErr +} + +func (a *Attribute) IsString() bool { + if a == nil { + return false + } + return !a.Value().IsNull() && a.Value().IsKnown() && a.Value().Type() == cty.String +} + +func (a *Attribute) IsMapOrObject() bool { + if a == nil || a.Value().IsNull() || !a.Value().IsKnown() { + return false + } + + return a.Value().Type().IsObjectType() || a.Value().Type().IsMapType() +} + +func (a *Attribute) IsNumber() bool { + if a != nil && !a.Value().IsNull() && a.Value().IsKnown() { + if a.Value().Type() == cty.Number { + return true + } + if a.Value().Type() == cty.String { + _, err := strconv.ParseFloat(a.Value().AsString(), 64) + return err == nil + } + } + + return false +} + +func (a *Attribute) IsBool() bool { + if a == nil { + return false + } + switch a.Value().Type() { + case cty.Bool, cty.Number: + return true + case cty.String: + val := a.Value().AsString() + val = strings.Trim(val, "\"") + return strings.EqualFold(val, "false") || strings.EqualFold(val, "true") + } + return false +} + +func (a *Attribute) Value() (ctyVal cty.Value) { + if a == nil { + return cty.NilVal + } + defer func() { + if err := recover(); err != nil { + ctyVal = cty.NilVal + } + }() + ctyVal, _ = a.hclAttribute.Expr.Value(a.ctx.Inner()) + if !ctyVal.IsKnown() || ctyVal.IsNull() { + return cty.NilVal + } + return ctyVal +} + +// Allows a null value for a variable https://developer.hashicorp.com/terraform/language/expressions/types#null +func (a *Attribute) NullableValue() (ctyVal cty.Value) { + if a == nil { + return cty.NilVal + } + defer func() { + if err := recover(); err != nil { + ctyVal = cty.NilVal + } + }() + ctyVal, _ = a.hclAttribute.Expr.Value(a.ctx.Inner()) + if !ctyVal.IsKnown() { + return cty.NilVal + } + return ctyVal +} + +func (a *Attribute) Name() string { + if a == nil { + return "" + } + return a.hclAttribute.Name +} + +func (a *Attribute) AsStringValues() iacTypes.StringValueList { + if a == nil { + return nil + } + return a.getStringValues(a.hclAttribute.Expr, a.ctx.Inner()) +} + +// nolint +func (a *Attribute) getStringValues(expr hcl.Expression, ctx *hcl.EvalContext) (results []iacTypes.StringValue) { + + defer func() { + if err := recover(); err != nil { + results = []iacTypes.StringValue{iacTypes.StringUnresolvable(a.metadata)} + } + }() + + switch t := expr.(type) { + case *hclsyntax.TupleConsExpr: + for _, expr := range t.Exprs { + val, err := expr.Value(a.ctx.Inner()) + if err != nil { + results = append(results, iacTypes.StringUnresolvable(a.metadata)) + continue + } + results = append(results, a.valueToString(val)) + } + case *hclsyntax.FunctionCallExpr, *hclsyntax.ConditionalExpr: + subVal, err := t.Value(ctx) + if err != nil { + return append(results, iacTypes.StringUnresolvable(a.metadata)) + } + return a.valueToStrings(subVal) + case *hclsyntax.LiteralValueExpr: + return a.valueToStrings(t.Val) + case *hclsyntax.TemplateExpr: + // walk the parts of the expression to ensure that it has a literal value + for _, p := range t.Parts { + val, err := p.Value(a.ctx.Inner()) + if err != nil { + results = append(results, iacTypes.StringUnresolvable(a.metadata)) + continue + } + value := a.valueToString(val) + results = append(results, value) + } + case *hclsyntax.ScopeTraversalExpr: + // handle the case for referencing a data + if len(t.Variables()) > 0 { + if t.Variables()[0].RootName() == "data" { + // we can't resolve data lookups at this time, so make unresolvable + return append(results, iacTypes.StringUnresolvable(a.metadata)) + } + } + subVal, err := t.Value(ctx) + if err != nil { + return append(results, iacTypes.StringUnresolvable(a.metadata)) + } + return a.valueToStrings(subVal) + default: + val, err := t.Value(a.ctx.Inner()) + if err != nil { + return append(results, iacTypes.StringUnresolvable(a.metadata)) + } + results = a.valueToStrings(val) + } + return results +} + +func (a *Attribute) valueToStrings(value cty.Value) (results []iacTypes.StringValue) { + defer func() { + if err := recover(); err != nil { + results = []iacTypes.StringValue{iacTypes.StringUnresolvable(a.metadata)} + } + }() + if value.IsNull() { + return []iacTypes.StringValue{iacTypes.StringUnresolvable(a.metadata)} + } + if !value.IsKnown() { + return []iacTypes.StringValue{iacTypes.StringUnresolvable(a.metadata)} + } + if value.Type().IsListType() || value.Type().IsTupleType() || value.Type().IsSetType() { + for _, val := range value.AsValueSlice() { + results = append(results, a.valueToString(val)) + } + } + return results +} + +func (a *Attribute) valueToString(value cty.Value) (result iacTypes.StringValue) { + defer func() { + if err := recover(); err != nil { + result = iacTypes.StringUnresolvable(a.metadata) + } + }() + + result = iacTypes.StringUnresolvable(a.metadata) + + if value.IsNull() || !value.IsKnown() { + return result + } + + switch value.Type() { + case cty.String: + return iacTypes.String(value.AsString(), a.metadata) + default: + return result + } +} + +func (a *Attribute) listContains(val cty.Value, stringToLookFor string, ignoreCase bool) bool { + if a == nil { + return false + } + + valueSlice := val.AsValueSlice() + for _, value := range valueSlice { + if value.IsNull() || !value.IsKnown() { + // there is nothing we can do with this value + continue + } + stringToTest := value + if value.Type().IsObjectType() || value.Type().IsMapType() { + valueMap := value.AsValueMap() + stringToTest = valueMap["key"] + } + if value.Type().HasDynamicTypes() { + for _, extracted := range a.extractListValues() { + if extracted == stringToLookFor { + return true + } + } + return false + } + if !value.IsKnown() { + continue + } + if ignoreCase && strings.EqualFold(stringToTest.AsString(), stringToLookFor) { + return true + } + if stringToTest.AsString() == stringToLookFor { + return true + } + } + return false +} + +func (a *Attribute) extractListValues() []string { + var values []string + if a.hclAttribute == nil || a.hclAttribute.Expr == nil || a.hclAttribute.Expr.Variables() == nil { + return values + } + for _, v := range a.hclAttribute.Expr.Variables() { + values = append(values, v.RootName()) + } + return values +} + +func (a *Attribute) mapContains(checkValue interface{}, val cty.Value) bool { + if a == nil { + return false + } + valueMap := val.AsValueMap() + switch t := checkValue.(type) { + case map[interface{}]interface{}: + for k, v := range t { + for key, value := range valueMap { + rawValue := getRawValue(value) + if key == k && evaluate(v, rawValue) { + return true + } + } + } + return false + case map[string]interface{}: + for k, v := range t { + for key, value := range valueMap { + rawValue := getRawValue(value) + if key == k && evaluate(v, rawValue) { + return true + } + } + } + return false + default: + for key := range valueMap { + if key == checkValue { + return true + } + } + return false + } +} + +func (a *Attribute) NotContains(checkValue interface{}, equalityOptions ...EqualityOption) bool { + return !a.Contains(checkValue, equalityOptions...) +} + +func (a *Attribute) Contains(checkValue interface{}, equalityOptions ...EqualityOption) bool { + if a == nil { + return false + } + ignoreCase := false + for _, option := range equalityOptions { + if option == IgnoreCase { + ignoreCase = true + } + } + val := a.Value() + if val.IsNull() { + return false + } + + if val.Type().IsObjectType() || val.Type().IsMapType() { + return a.mapContains(checkValue, val) + } + + stringToLookFor := fmt.Sprintf("%v", checkValue) + + if val.Type().IsListType() || val.Type().IsTupleType() { + return a.listContains(val, stringToLookFor, ignoreCase) + } + + if ignoreCase && containsIgnoreCase(val.AsString(), stringToLookFor) { + return true + } + + return strings.Contains(val.AsString(), stringToLookFor) +} + +func (a *Attribute) OnlyContains(checkValue interface{}) bool { + if a == nil { + return false + } + val := a.Value() + if val.IsNull() { + return false + } + + checkSlice, ok := checkValue.([]interface{}) + if !ok { + return false + } + + if val.Type().IsListType() || val.Type().IsTupleType() { + for _, value := range val.AsValueSlice() { + found := false + for _, cVal := range checkSlice { + switch t := cVal.(type) { + case string: + if t == value.AsString() { + found = true + break + } + case bool: + if t == value.True() { + found = true + break + } + case int, int8, int16, int32, int64: + i, _ := value.AsBigFloat().Int64() + if t == i { + found = true + break + } + case float32, float64: + f, _ := value.AsBigFloat().Float64() + if t == f { + found = true + break + } + } + + } + if !found { + return false + } + } + return true + } + + return false +} + +func containsIgnoreCase(left, substring string) bool { + return strings.Contains(strings.ToLower(left), strings.ToLower(substring)) +} + +func (a *Attribute) StartsWith(prefix interface{}) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.String { + return strings.HasPrefix(a.Value().AsString(), fmt.Sprintf("%v", prefix)) + } + return false +} + +func (a *Attribute) EndsWith(suffix interface{}) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.String { + return strings.HasSuffix(a.Value().AsString(), fmt.Sprintf("%v", suffix)) + } + return false +} + +type EqualityOption int + +const ( + IgnoreCase EqualityOption = iota +) + +func (a *Attribute) Equals(checkValue interface{}, equalityOptions ...EqualityOption) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.String { + for _, option := range equalityOptions { + if option == IgnoreCase { + return strings.EqualFold(strings.ToLower(a.Value().AsString()), strings.ToLower(fmt.Sprintf("%v", checkValue))) + } + } + result := strings.EqualFold(a.Value().AsString(), fmt.Sprintf("%v", checkValue)) + return result + } + if a.Value().Type() == cty.Bool { + return a.Value().True() == checkValue + } + if a.Value().Type() == cty.Number { + checkNumber, err := gocty.ToCtyValue(checkValue, cty.Number) + if err != nil { + return false + } + return a.Value().RawEquals(checkNumber) + } + + return false +} + +func (a *Attribute) NotEqual(checkValue interface{}, equalityOptions ...EqualityOption) bool { + return !a.Equals(checkValue, equalityOptions...) +} + +func (a *Attribute) RegexMatches(re regexp.Regexp) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.String { + match := re.MatchString(a.Value().AsString()) + return match + } + return false +} + +func (a *Attribute) IsNotAny(options ...interface{}) bool { + return !a.IsAny(options...) +} + +func (a *Attribute) IsAny(options ...interface{}) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.String { + value := a.Value().AsString() + for _, option := range options { + if option == value { + return true + } + } + } + if a.Value().Type() == cty.Number { + for _, option := range options { + checkValue, err := gocty.ToCtyValue(option, cty.Number) + if err != nil { + return false + } + if a.Value().RawEquals(checkValue) { + return true + } + } + } + return false +} + +func (a *Attribute) IsNone(options ...interface{}) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.String { + for _, option := range options { + if option == a.Value().AsString() { + return false + } + } + } + if a.Value().Type() == cty.Number { + for _, option := range options { + checkValue, err := gocty.ToCtyValue(option, cty.Number) + if err != nil { + return false + } + if a.Value().RawEquals(checkValue) { + return false + } + + } + } + + return true +} + +func (a *Attribute) IsTrue() bool { + if a == nil { + return false + } + switch a.Value().Type() { + case cty.Bool: + return a.Value().True() + case cty.String: + val := a.Value().AsString() + val = strings.Trim(val, "\"") + return strings.EqualFold(val, "true") + case cty.Number: + val := a.Value().AsBigFloat() + f, _ := val.Float64() + return f > 0 + } + return false +} + +func (a *Attribute) IsFalse() bool { + if a == nil { + return false + } + switch a.Value().Type() { + case cty.Bool: + return a.Value().False() + case cty.String: + val := a.Value().AsString() + val = strings.Trim(val, "\"") + return strings.EqualFold(val, "false") + case cty.Number: + val := a.Value().AsBigFloat() + f, _ := val.Float64() + return f == 0 + } + return false +} + +func (a *Attribute) IsEmpty() bool { + if a == nil { + return false + } + if a.Value().Type() == cty.String { + return a.Value().AsString() == "" + } + if a.Type().IsListType() || a.Type().IsTupleType() { + return len(a.Value().AsValueSlice()) == 0 + } + if a.Type().IsMapType() || a.Type().IsObjectType() { + return len(a.Value().AsValueMap()) == 0 + } + if a.Value().Type() == cty.Number { + // a number can't ever be empty + return false + } + if a.Value().IsNull() { + return a.isNullAttributeEmpty() + } + return true +} + +func (a *Attribute) IsNotEmpty() bool { + return !a.IsEmpty() +} + +func (a *Attribute) isNullAttributeEmpty() bool { + if a == nil { + return false + } + switch t := a.hclAttribute.Expr.(type) { + case *hclsyntax.FunctionCallExpr, *hclsyntax.ScopeTraversalExpr, + *hclsyntax.ConditionalExpr, *hclsyntax.LiteralValueExpr: + return false + case *hclsyntax.TemplateExpr: + // walk the parts of the expression to ensure that it has a literal value + for _, p := range t.Parts { + switch pt := p.(type) { + case *hclsyntax.LiteralValueExpr: + if pt != nil && !pt.Val.IsNull() { + return false + } + case *hclsyntax.ScopeTraversalExpr: + return false + } + } + } + return true +} + +func (a *Attribute) MapValue(mapKey string) cty.Value { + if a == nil { + return cty.NilVal + } + if a.Type().IsObjectType() || a.Type().IsMapType() { + attrMap := a.Value().AsValueMap() + for key, value := range attrMap { + if key == mapKey { + return value + } + } + } + return cty.NilVal +} + +func (a *Attribute) AsMapValue() iacTypes.MapValue { + if a.IsNil() || a.IsNotResolvable() || !a.IsMapOrObject() { + return iacTypes.MapValue{} + } + + values := make(map[string]string) + _ = a.Each(func(key, val cty.Value) { + if key.Type() == cty.String && val.Type() == cty.String { + values[key.AsString()] = val.AsString() + } + }) + + return iacTypes.Map(values, a.GetMetadata()) +} + +func (a *Attribute) LessThan(checkValue interface{}) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.Number { + checkNumber, err := gocty.ToCtyValue(checkValue, cty.Number) + if err != nil { + return false + } + + return a.Value().LessThan(checkNumber).True() + } + return false +} + +func (a *Attribute) LessThanOrEqualTo(checkValue interface{}) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.Number { + checkNumber, err := gocty.ToCtyValue(checkValue, cty.Number) + if err != nil { + return false + } + + return a.Value().LessThanOrEqualTo(checkNumber).True() + } + return false +} + +func (a *Attribute) GreaterThan(checkValue interface{}) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.Number { + checkNumber, err := gocty.ToCtyValue(checkValue, cty.Number) + if err != nil { + return false + } + + return a.Value().GreaterThan(checkNumber).True() + } + return false +} + +func (a *Attribute) GreaterThanOrEqualTo(checkValue interface{}) bool { + if a == nil { + return false + } + if a.Value().Type() == cty.Number { + checkNumber, err := gocty.ToCtyValue(checkValue, cty.Number) + if err != nil { + return false + } + + return a.Value().GreaterThanOrEqualTo(checkNumber).True() + } + return false +} + +func (a *Attribute) IsDataBlockReference() bool { + if a == nil { + return false + } + if t, ok := a.hclAttribute.Expr.(*hclsyntax.ScopeTraversalExpr); ok { + split := t.Traversal.SimpleSplit() + return split.Abs.RootName() == "data" + } + return false +} + +func createDotReferenceFromTraversal(parentRef string, traversals ...hcl.Traversal) (*Reference, error) { + var refParts []string + var key cty.Value + for _, x := range traversals { + for _, p := range x { + switch part := p.(type) { + case hcl.TraverseRoot: + refParts = append(refParts, part.Name) + case hcl.TraverseAttr: + refParts = append(refParts, part.Name) + case hcl.TraverseIndex: + key = part.Key + } + } + } + ref, err := newReference(refParts, parentRef) + if err != nil { + return nil, err + } + ref.SetKey(key) + return ref, nil +} + +func (a *Attribute) ReferencesBlock(b *Block) bool { + if a == nil { + return false + } + for _, ref := range a.AllReferences() { + if ref.RefersTo(b.reference) { + return true + } + } + return false +} + +// nolint +func (a *Attribute) AllReferences(blocks ...*Block) []*Reference { + if a == nil { + return nil + } + refs := a.extractReferences() + for _, block := range blocks { + for _, ref := range refs { + if ref.TypeLabel() == "each" && block.HasChild("for_each") { + refs = append(refs, block.GetAttribute("for_each").AllReferences()...) + } + } + } + return refs +} + +// nolint +func (a *Attribute) referencesFromExpression(expression hcl.Expression) []*Reference { + var refs []*Reference + switch t := expression.(type) { + case *hclsyntax.ConditionalExpr: + if ref, err := createDotReferenceFromTraversal(a.module, t.TrueResult.Variables()...); err == nil { + refs = append(refs, ref) + } + if ref, err := createDotReferenceFromTraversal(a.module, t.FalseResult.Variables()...); err == nil { + refs = append(refs, ref) + } + if ref, err := createDotReferenceFromTraversal(a.module, t.Condition.Variables()...); err == nil { + refs = append(refs, ref) + } + case *hclsyntax.ScopeTraversalExpr: + if ref, err := createDotReferenceFromTraversal(a.module, t.Variables()...); err == nil { + refs = append(refs, ref) + } + case *hclsyntax.TemplateWrapExpr: + refs = a.referencesFromExpression(t.Wrapped) + case *hclsyntax.TemplateExpr: + for _, part := range t.Parts { + ref, err := createDotReferenceFromTraversal(a.module, part.Variables()...) + if err != nil { + continue + } + refs = append(refs, ref) + } + case *hclsyntax.TupleConsExpr: + for _, v := range t.Variables() { + if ref, err := createDotReferenceFromTraversal(a.module, v); err == nil { + refs = append(refs, ref) + } + } + case *hclsyntax.RelativeTraversalExpr: + switch s := t.Source.(type) { + case *hclsyntax.IndexExpr: + if collectionRef, err := createDotReferenceFromTraversal(a.module, s.Collection.Variables()...); err == nil { + key, _ := s.Key.Value(a.ctx.Inner()) + collectionRef.SetKey(key) + refs = append(refs, collectionRef) + } + default: + if ref, err := createDotReferenceFromTraversal(a.module, t.Source.Variables()...); err == nil { + refs = append(refs, ref) + } + } + default: + if reflect.TypeOf(expression).String() == "*json.expression" { + if ref, err := createDotReferenceFromTraversal(a.module, expression.Variables()...); err == nil { + refs = append(refs, ref) + } + } + } + return refs +} + +func (a *Attribute) extractReferences() []*Reference { + if a == nil { + return nil + } + return a.referencesFromExpression(a.hclAttribute.Expr) +} + +func (a *Attribute) IsResourceBlockReference(resourceType string) bool { + if a == nil { + return false + } + if t, ok := a.hclAttribute.Expr.(*hclsyntax.ScopeTraversalExpr); ok { + split := t.Traversal.SimpleSplit() + return split.Abs.RootName() == resourceType + } + return false +} + +func (a *Attribute) References(r Reference) bool { + if a == nil { + return false + } + for _, ref := range a.AllReferences() { + if ref.RefersTo(r) { + return true + } + } + return false +} + +func getRawValue(value cty.Value) interface{} { + if value.IsNull() || !value.IsKnown() { + return value + } + + typeName := value.Type().FriendlyName() + + switch typeName { + case "string": + return value.AsString() + case "number": + return value.AsBigFloat() + case "bool": + return value.True() + } + + return value +} + +func (a *Attribute) IsNil() bool { + return a == nil +} + +func (a *Attribute) IsNotNil() bool { + return !a.IsNil() +} + +func (a *Attribute) HasIntersect(checkValues ...interface{}) bool { + if !a.Type().IsListType() && !a.Type().IsTupleType() { + return false + } + + for _, item := range checkValues { + if a.Contains(item) { + return true + } + } + return false + +} + +func (a *Attribute) AsNumber() float64 { + if a.Value().Type() == cty.Number { + v, _ := a.Value().AsBigFloat().Float64() + return v + } + if a.Value().Type() == cty.String { + v, _ := strconv.ParseFloat(a.Value().AsString(), 64) + return v + } + panic("Attribute is not a number") +} diff --git a/pkg/iac/terraform/block.go b/pkg/iac/terraform/block.go new file mode 100644 index 000000000000..bfab10bf316c --- /dev/null +++ b/pkg/iac/terraform/block.go @@ -0,0 +1,460 @@ +package terraform + +import ( + "fmt" + "io/fs" + "strings" + + "github.com/google/uuid" + "github.com/hashicorp/hcl/v2" + "github.com/hashicorp/hcl/v2/hclsyntax" + "github.com/zclconf/go-cty/cty" + "github.com/zclconf/go-cty/cty/gocty" + + "github.com/aquasecurity/trivy/pkg/iac/terraform/context" + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Block struct { + id string + hclBlock *hcl.Block + context *context.Context + moduleBlock *Block + parentBlock *Block + expanded bool + cloneIndex int + childBlocks []*Block + attributes []*Attribute + metadata iacTypes.Metadata + moduleSource string + moduleFS fs.FS + reference Reference +} + +func NewBlock(hclBlock *hcl.Block, ctx *context.Context, moduleBlock *Block, parentBlock *Block, moduleSource string, + moduleFS fs.FS, index ...cty.Value) *Block { + if ctx == nil { + ctx = context.NewContext(&hcl.EvalContext{}, nil) + } + + var r hcl.Range + switch body := hclBlock.Body.(type) { + case *hclsyntax.Body: + r = body.SrcRange + default: + r = hclBlock.DefRange + r.End = hclBlock.Body.MissingItemRange().End + } + moduleName := "root" + if moduleBlock != nil { + moduleName = moduleBlock.FullName() + } + rng := iacTypes.NewRange( + r.Filename, + r.Start.Line, + r.End.Line, + moduleSource, + moduleFS, + ) + + var parts []string + // if there are no labels then use the block type + // this is for the case where "special" keywords like "resource" are used + // as normal block names in top level blocks - see issue tfsec#1528 for an example + if hclBlock.Type != "resource" || len(hclBlock.Labels) == 0 { + parts = append(parts, hclBlock.Type) + } + parts = append(parts, hclBlock.Labels...) + + var parent string + if moduleBlock != nil { + parent = moduleBlock.FullName() + } + ref, _ := newReference(parts, parent) + if len(index) > 0 { + key := index[0] + ref.SetKey(key) + } + + metadata := iacTypes.NewMetadata(rng, ref.String()) + + if parentBlock != nil { + metadata = metadata.WithParent(parentBlock.metadata) + } else if moduleBlock != nil { + metadata = metadata.WithParent(moduleBlock.GetMetadata()) + } + + b := Block{ + id: uuid.New().String(), + context: ctx, + hclBlock: hclBlock, + moduleBlock: moduleBlock, + moduleSource: moduleSource, + moduleFS: moduleFS, + parentBlock: parentBlock, + metadata: metadata, + reference: *ref, + } + + var children Blocks + switch body := hclBlock.Body.(type) { + case *hclsyntax.Body: + for _, b2 := range body.Blocks { + children = append(children, NewBlock(b2.AsHCLBlock(), ctx, moduleBlock, &b, moduleSource, moduleFS)) + } + default: + content, _, diag := hclBlock.Body.PartialContent(Schema) + if diag == nil { + for _, hb := range content.Blocks { + children = append(children, NewBlock(hb, ctx, moduleBlock, &b, moduleSource, moduleFS)) + } + } + } + + b.childBlocks = children + + for _, attr := range b.createAttributes() { + b.attributes = append(b.attributes, NewAttribute(attr, ctx, moduleName, metadata, *ref, moduleSource, moduleFS)) + } + + return &b +} + +func (b *Block) ID() string { + return b.id +} + +func (b *Block) Reference() Reference { + return b.reference +} + +func (b *Block) GetMetadata() iacTypes.Metadata { + return b.metadata +} + +func (b *Block) GetRawValue() interface{} { + return nil +} + +func (b *Block) InjectBlock(block *Block, name string) { + block.hclBlock.Labels = []string{} + block.hclBlock.Type = name + for attrName, attr := range block.Attributes() { + b.context.Root().SetByDot(attr.Value(), fmt.Sprintf("%s.%s.%s", b.reference.String(), name, attrName)) + } + b.childBlocks = append(b.childBlocks, block) +} + +func (b *Block) MarkCountExpanded() { + b.expanded = true +} + +func (b *Block) IsCountExpanded() bool { + return b.expanded +} + +func (b *Block) Clone(index cty.Value) *Block { + var childCtx *context.Context + if b.context != nil { + childCtx = b.context.NewChild() + } else { + childCtx = context.NewContext(&hcl.EvalContext{}, nil) + } + + cloneHCL := *b.hclBlock + + clone := NewBlock(&cloneHCL, childCtx, b.moduleBlock, b.parentBlock, b.moduleSource, b.moduleFS, index) + if len(clone.hclBlock.Labels) > 0 { + position := len(clone.hclBlock.Labels) - 1 + labels := make([]string, len(clone.hclBlock.Labels)) + for i := 0; i < len(labels); i++ { + labels[i] = clone.hclBlock.Labels[i] + } + if index.IsKnown() && !index.IsNull() { + switch index.Type() { + case cty.Number: + f, _ := index.AsBigFloat().Float64() + labels[position] = fmt.Sprintf("%s[%d]", clone.hclBlock.Labels[position], int(f)) + case cty.String: + labels[position] = fmt.Sprintf("%s[%q]", clone.hclBlock.Labels[position], index.AsString()) + default: + labels[position] = fmt.Sprintf("%s[%#v]", clone.hclBlock.Labels[position], index) + } + } else { + labels[position] = fmt.Sprintf("%s[%d]", clone.hclBlock.Labels[position], b.cloneIndex) + } + clone.hclBlock.Labels = labels + } + indexVal, _ := gocty.ToCtyValue(index, cty.Number) + clone.context.SetByDot(indexVal, "count.index") + clone.MarkCountExpanded() + b.cloneIndex++ + return clone +} + +func (b *Block) Context() *context.Context { + return b.context +} + +func (b *Block) OverrideContext(ctx *context.Context) { + b.context = ctx + for _, block := range b.childBlocks { + block.OverrideContext(ctx.NewChild()) + } + for _, attr := range b.attributes { + attr.ctx = ctx + } +} + +func (b *Block) Type() string { + return b.hclBlock.Type +} + +func (b *Block) Labels() []string { + return b.hclBlock.Labels +} + +func (b *Block) GetFirstMatchingBlock(names ...string) *Block { + var returnBlock *Block + for _, name := range names { + childBlock := b.GetBlock(name) + if childBlock.IsNotNil() { + return childBlock + } + } + return returnBlock +} + +func (b *Block) createAttributes() hcl.Attributes { + switch body := b.hclBlock.Body.(type) { + case *hclsyntax.Body: + attributes := make(hcl.Attributes) + for _, a := range body.Attributes { + attributes[a.Name] = a.AsHCLAttribute() + } + return attributes + default: + _, body, diag := b.hclBlock.Body.PartialContent(Schema) + if diag != nil { + return nil + } + attrs, diag := body.JustAttributes() + if diag != nil { + return nil + } + return attrs + } +} + +func (b *Block) GetBlock(name string) *Block { + var returnBlock *Block + if b == nil || b.hclBlock == nil { + return returnBlock + } + for _, child := range b.childBlocks { + if child.Type() == name { + return child + } + } + return returnBlock +} + +func (b *Block) AllBlocks() Blocks { + if b == nil || b.hclBlock == nil { + return nil + } + return b.childBlocks +} + +func (b *Block) GetBlocks(name string) Blocks { + if b == nil || b.hclBlock == nil { + return nil + } + var results []*Block + for _, child := range b.childBlocks { + if child.Type() == name { + results = append(results, child) + } + } + return results +} + +func (b *Block) GetAttributes() []*Attribute { + if b == nil { + return nil + } + return b.attributes +} + +func (b *Block) GetAttribute(name string) *Attribute { + if b == nil || b.hclBlock == nil { + return nil + } + for _, attr := range b.attributes { + if attr.Name() == name { + return attr + } + } + return nil +} + +func (b *Block) GetNestedAttribute(name string) (*Attribute, *Block) { + + parts := strings.Split(name, ".") + blocks := parts[:len(parts)-1] + attrName := parts[len(parts)-1] + + working := b + for _, subBlock := range blocks { + if checkBlock := working.GetBlock(subBlock); checkBlock == nil { + return nil, working + } else { + working = checkBlock + } + } + + if working != nil { + if attr := working.GetAttribute(attrName); attr != nil { + return attr, working + } + } + + return nil, b +} + +func MapNestedAttribute[T any](block *Block, path string, f func(attr *Attribute, parent *Block) T) T { + return f(block.GetNestedAttribute(path)) +} + +// LocalName is the name relative to the current module +func (b *Block) LocalName() string { + return b.reference.String() +} + +func (b *Block) FullName() string { + + if b.moduleBlock != nil { + return fmt.Sprintf( + "%s.%s", + b.moduleBlock.FullName(), + b.LocalName(), + ) + } + + return b.LocalName() +} + +func (b *Block) ModuleName() string { + name := strings.TrimPrefix(b.LocalName(), "module.") + if b.moduleBlock != nil { + module := strings.TrimPrefix(b.moduleBlock.FullName(), "module.") + name = fmt.Sprintf( + "%s.%s", + module, + name, + ) + } + var parts []string + for _, part := range strings.Split(name, ".") { + part = strings.Split(part, "[")[0] + parts = append(parts, part) + } + return strings.Join(parts, ".") +} + +func (b *Block) UniqueName() string { + if b.moduleBlock != nil { + return fmt.Sprintf("%s:%s:%s", b.FullName(), b.metadata.Range().GetFilename(), b.moduleBlock.UniqueName()) + } + return fmt.Sprintf("%s:%s", b.FullName(), b.metadata.Range().GetFilename()) +} + +func (b *Block) TypeLabel() string { + if len(b.Labels()) > 0 { + return b.Labels()[0] + } + return "" +} + +func (b *Block) NameLabel() string { + if len(b.Labels()) > 1 { + return b.Labels()[1] + } + return "" +} + +func (b *Block) HasChild(childElement string) bool { + return b.GetAttribute(childElement).IsNotNil() || b.GetBlock(childElement).IsNotNil() +} + +func (b *Block) MissingChild(childElement string) bool { + if b == nil { + return true + } + + return !b.HasChild(childElement) +} + +func (b *Block) MissingNestedChild(name string) bool { + if b == nil { + return true + } + + parts := strings.Split(name, ".") + blocks := parts[:len(parts)-1] + last := parts[len(parts)-1] + + working := b + for _, subBlock := range blocks { + if checkBlock := working.GetBlock(subBlock); checkBlock == nil { + return true + } else { + working = checkBlock + } + } + return !working.HasChild(last) + +} + +func (b *Block) InModule() bool { + if b == nil { + return false + } + return b.moduleBlock != nil +} + +func (b *Block) Label() string { + return strings.Join(b.hclBlock.Labels, ".") +} + +func (b *Block) IsResourceType(resourceType string) bool { + return b.TypeLabel() == resourceType +} + +func (b *Block) IsEmpty() bool { + return len(b.AllBlocks()) == 0 && len(b.GetAttributes()) == 0 +} + +func (b *Block) Attributes() map[string]*Attribute { + attributes := make(map[string]*Attribute) + for _, attr := range b.GetAttributes() { + attributes[attr.Name()] = attr + } + return attributes +} + +func (b *Block) Values() cty.Value { + values := createPresetValues(b) + for _, attribute := range b.GetAttributes() { + values[attribute.Name()] = attribute.Value() + } + return cty.ObjectVal(postProcessValues(b, values)) +} + +func (b *Block) IsNil() bool { + return b == nil +} + +func (b *Block) IsNotNil() bool { + return !b.IsNil() +} diff --git a/pkg/iac/terraform/blocks.go b/pkg/iac/terraform/blocks.go new file mode 100644 index 000000000000..311e83583d26 --- /dev/null +++ b/pkg/iac/terraform/blocks.go @@ -0,0 +1,22 @@ +package terraform + +type Blocks []*Block + +func (blocks Blocks) OfType(t string) Blocks { + var results []*Block + for _, block := range blocks { + if block.Type() == t { + results = append(results, block) + } + } + return results +} + +func (blocks Blocks) WithID(id string) *Block { + for _, block := range blocks { + if block.ID() == id { + return block + } + } + return nil +} diff --git a/pkg/iac/terraform/context/context.go b/pkg/iac/terraform/context/context.go new file mode 100644 index 000000000000..0f4a58de9ac9 --- /dev/null +++ b/pkg/iac/terraform/context/context.go @@ -0,0 +1,134 @@ +package context + +import ( + "strings" + + "github.com/hashicorp/hcl/v2" + "github.com/zclconf/go-cty/cty" +) + +type Context struct { + ctx *hcl.EvalContext + parent *Context +} + +func NewContext(ctx *hcl.EvalContext, parent *Context) *Context { + if ctx.Variables == nil { + ctx.Variables = make(map[string]cty.Value) + } + return &Context{ + ctx: ctx, + parent: parent, + } +} + +func (c *Context) NewChild() *Context { + return NewContext(c.ctx.NewChild(), c) +} + +func (c *Context) Parent() *Context { + return c.parent +} + +func (c *Context) Inner() *hcl.EvalContext { + return c.ctx +} + +func (c *Context) Root() *Context { + root := c + for root.Parent() != nil { + root = root.Parent() + } + return root +} + +func (c *Context) Get(parts ...string) cty.Value { + if len(parts) == 0 { + return cty.NilVal + } + src := c.ctx.Variables + for i, part := range parts { + if i == len(parts)-1 { + return src[part] + } + nextPart := src[part] + if nextPart == cty.NilVal { + return cty.NilVal + } + src = nextPart.AsValueMap() + } + return cty.NilVal +} + +func (c *Context) GetByDot(path string) cty.Value { + return c.Get(strings.Split(path, ".")...) +} + +func (c *Context) SetByDot(val cty.Value, path string) { + c.Set(val, strings.Split(path, ".")...) +} + +func (c *Context) Set(val cty.Value, parts ...string) { + if len(parts) == 0 { + return + } + + v := mergeVars(c.ctx.Variables[parts[0]], parts[1:], val) + c.ctx.Variables[parts[0]] = v +} + +func (c *Context) Replace(val cty.Value, path string) { + parts := strings.Split(path, ".") + if len(parts) == 0 { + return + } + + delete(c.ctx.Variables, parts[0]) + c.Set(val, parts...) +} + +func mergeVars(src cty.Value, parts []string, value cty.Value) cty.Value { + + if len(parts) == 0 { + if isNotEmptyObject(src) && isNotEmptyObject(value) { + return mergeObjects(src, value) + } + return value + } + + data := make(map[string]cty.Value) + if src.Type().IsObjectType() && !src.IsNull() && src.LengthInt() > 0 { + data = src.AsValueMap() + tmp, ok := src.AsValueMap()[parts[0]] + if !ok { + src = cty.ObjectVal(make(map[string]cty.Value)) + } else { + src = tmp + } + } + + data[parts[0]] = mergeVars(src, parts[1:], value) + + return cty.ObjectVal(data) +} + +func mergeObjects(a, b cty.Value) cty.Value { + output := make(map[string]cty.Value) + + for key, val := range a.AsValueMap() { + output[key] = val + } + for key, val := range b.AsValueMap() { + old, exists := output[key] + if exists && isNotEmptyObject(old) && isNotEmptyObject(val) { + output[key] = mergeObjects(old, val) + } else { + output[key] = val + } + } + return cty.ObjectVal(output) +} + +func isNotEmptyObject(val cty.Value) bool { + return !val.IsNull() && val.IsKnown() && val.Type().IsObjectType() && val.LengthInt() > 0 +} diff --git a/pkg/iac/terraform/context/context_test.go b/pkg/iac/terraform/context/context_test.go new file mode 100644 index 000000000000..8185d7b9892d --- /dev/null +++ b/pkg/iac/terraform/context/context_test.go @@ -0,0 +1,238 @@ +package context + +import ( + "testing" + + "github.com/hashicorp/hcl/v2" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/zclconf/go-cty/cty" + "github.com/zclconf/go-cty/cty/gocty" +) + +func Test_ContextVariables(t *testing.T) { + underlying := &hcl.EvalContext{} + ctx := NewContext(underlying, nil) + + val, err := gocty.ToCtyValue("hello", cty.String) + if err != nil { + t.Fatal(err) + } + + ctx.Set(val, "my", "value") + value := underlying.Variables["my"].AsValueMap()["value"] + assert.Equal(t, "hello", value.AsString()) + +} + +func Test_ContextVariablesPreservation(t *testing.T) { + + underlying := &hcl.EvalContext{} + underlying.Variables = make(map[string]cty.Value) + underlying.Variables["x"], _ = gocty.ToCtyValue("does it work?", cty.String) + str, _ := gocty.ToCtyValue("something", cty.String) + underlying.Variables["my"] = cty.ObjectVal(map[string]cty.Value{ + "other": str, + "obj": cty.ObjectVal(map[string]cty.Value{ + "another": str, + }), + }) + ctx := NewContext(underlying, nil) + + val, err := gocty.ToCtyValue("hello", cty.String) + if err != nil { + t.Fatal(err) + } + + ctx.Set(val, "my", "value") + assert.Equal(t, "hello", underlying.Variables["my"].AsValueMap()["value"].AsString()) + assert.Equal(t, "something", underlying.Variables["my"].AsValueMap()["other"].AsString()) + assert.Equal(t, "something", underlying.Variables["my"].AsValueMap()["obj"].AsValueMap()["another"].AsString()) + assert.Equal(t, "does it work?", underlying.Variables["x"].AsString()) + +} + +func Test_ContextVariablesPreservationByDot(t *testing.T) { + + underlying := &hcl.EvalContext{} + underlying.Variables = make(map[string]cty.Value) + underlying.Variables["x"], _ = gocty.ToCtyValue("does it work?", cty.String) + str, _ := gocty.ToCtyValue("something", cty.String) + underlying.Variables["my"] = cty.ObjectVal(map[string]cty.Value{ + "other": str, + "obj": cty.ObjectVal(map[string]cty.Value{ + "another": str, + }), + }) + ctx := NewContext(underlying, nil) + + val, err := gocty.ToCtyValue("hello", cty.String) + if err != nil { + t.Fatal(err) + } + + ctx.SetByDot(val, "my.something.value") + assert.Equal(t, "hello", underlying.Variables["my"].AsValueMap()["something"].AsValueMap()["value"].AsString()) + assert.Equal(t, "something", underlying.Variables["my"].AsValueMap()["other"].AsString()) + assert.Equal(t, "something", underlying.Variables["my"].AsValueMap()["obj"].AsValueMap()["another"].AsString()) + assert.Equal(t, "does it work?", underlying.Variables["x"].AsString()) +} + +func Test_ContextSetThenImmediateGet(t *testing.T) { + + underlying := &hcl.EvalContext{} + + ctx := NewContext(underlying, nil) + + ctx.Set(cty.ObjectVal(map[string]cty.Value{ + "mod_result": cty.StringVal("ok"), + }), "module", "modulename") + + val := ctx.Get("module", "modulename", "mod_result") + assert.Equal(t, "ok", val.AsString()) +} + +func Test_ContextSetThenImmediateGetWithChild(t *testing.T) { + + underlying := &hcl.EvalContext{} + + ctx := NewContext(underlying, nil) + + childCtx := ctx.NewChild() + + childCtx.Root().Set(cty.ObjectVal(map[string]cty.Value{ + "mod_result": cty.StringVal("ok"), + }), "module", "modulename") + + val := ctx.Get("module", "modulename", "mod_result") + assert.Equal(t, "ok", val.AsString()) +} + +func Test_MergeObjects(t *testing.T) { + + tests := []struct { + name string + oldVal cty.Value + newVal cty.Value + expected cty.Value + }{ + { + name: "happy", + oldVal: cty.ObjectVal(map[string]cty.Value{ + "this": cty.ObjectVal(map[string]cty.Value{ + "id": cty.StringVal("some_id"), + "arn": cty.StringVal("some_arn"), + }), + }), + newVal: cty.ObjectVal(map[string]cty.Value{ + "this": cty.ObjectVal(map[string]cty.Value{ + "arn": cty.StringVal("some_new_arn"), + "bucket": cty.StringVal("test"), + }), + }), + expected: cty.ObjectVal(map[string]cty.Value{ + "this": cty.ObjectVal(map[string]cty.Value{ + "id": cty.StringVal("some_id"), + "arn": cty.StringVal("some_new_arn"), + "bucket": cty.StringVal("test"), + }), + }), + }, + { + name: "old value is empty", + oldVal: cty.EmptyObjectVal, + newVal: cty.ObjectVal(map[string]cty.Value{ + "this": cty.ObjectVal(map[string]cty.Value{ + "bucket": cty.StringVal("test"), + }), + }), + expected: cty.ObjectVal(map[string]cty.Value{ + "this": cty.ObjectVal(map[string]cty.Value{ + "bucket": cty.StringVal("test"), + }), + }), + }, + { + name: "new value is empty", + oldVal: cty.ObjectVal(map[string]cty.Value{ + "this": cty.ObjectVal(map[string]cty.Value{ + "bucket": cty.StringVal("test"), + }), + }), + newVal: cty.EmptyObjectVal, + expected: cty.ObjectVal(map[string]cty.Value{ + "this": cty.ObjectVal(map[string]cty.Value{ + "bucket": cty.StringVal("test"), + }), + }), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + assert.Equal(t, tt.expected, mergeObjects(tt.oldVal, tt.newVal)) + }) + } + +} + +func Test_IsNotEmptyObject(t *testing.T) { + tests := []struct { + name string + val cty.Value + expected bool + }{ + { + name: "happy", + val: cty.ObjectVal(map[string]cty.Value{ + "field": cty.NilVal, + }), + expected: true, + }, + { + name: "empty object", + val: cty.EmptyObjectVal, + expected: false, + }, + { + name: "nil value", + val: cty.NilVal, + expected: false, + }, + { + name: "dynamic value", + val: cty.DynamicVal, + expected: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + assert.Equal(t, tt.expected, isNotEmptyObject(tt.val)) + }) + } +} + +func TestReplace(t *testing.T) { + t.Run("replacement of an existing value", func(t *testing.T) { + underlying := &hcl.EvalContext{} + ctx := NewContext(underlying, nil) + ctx.SetByDot(cty.StringVal("some-value"), "my.value") + require.NotEqual(t, cty.NilVal, ctx.GetByDot("my.value")) + ctx.Replace(cty.NumberIntVal(-1), "my.value") + assert.Equal(t, cty.NumberIntVal(-1), ctx.GetByDot("my.value")) + }) + + t.Run("replacement of a non-existing value", func(t *testing.T) { + underlying := &hcl.EvalContext{} + ctx := NewContext(underlying, nil) + ctx.Replace(cty.NumberIntVal(-1), "my.value") + assert.Equal(t, cty.NumberIntVal(-1), ctx.GetByDot("my.value")) + }) + + t.Run("empty path", func(t *testing.T) { + underlying := &hcl.EvalContext{} + ctx := NewContext(underlying, nil) + ctx.Replace(cty.NumberIntVal(-1), "") + }) +} diff --git a/pkg/iac/terraform/ignore.go b/pkg/iac/terraform/ignore.go new file mode 100644 index 000000000000..e52fbf202be5 --- /dev/null +++ b/pkg/iac/terraform/ignore.go @@ -0,0 +1,100 @@ +package terraform + +import ( + "fmt" + "time" + + "github.com/zclconf/go-cty/cty" + + iacTypes "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Ignore struct { + Range iacTypes.Range + RuleID string + Expiry *time.Time + Workspace string + Block bool + Params map[string]string +} + +type Ignores []Ignore + +func (ignores Ignores) Covering(modules Modules, m iacTypes.Metadata, workspace string, ids ...string) *Ignore { + for _, ignore := range ignores { + if ignore.Covering(modules, m, workspace, ids...) { + return &ignore + } + } + return nil +} + +func (ignore Ignore) Covering(modules Modules, m iacTypes.Metadata, workspace string, ids ...string) bool { + if ignore.Expiry != nil && time.Now().After(*ignore.Expiry) { + return false + } + if ignore.Workspace != "" && ignore.Workspace != workspace { + return false + } + idMatch := ignore.RuleID == "*" || len(ids) == 0 + for _, id := range ids { + if id == ignore.RuleID { + idMatch = true + break + } + } + if !idMatch { + return false + } + + metaHierarchy := &m + for metaHierarchy != nil { + if ignore.Range.GetFilename() != metaHierarchy.Range().GetFilename() { + metaHierarchy = metaHierarchy.Parent() + continue + } + if metaHierarchy.Range().GetStartLine() == ignore.Range.GetStartLine()+1 || metaHierarchy.Range().GetStartLine() == ignore.Range.GetStartLine() { + return ignore.MatchParams(modules, metaHierarchy) + } + metaHierarchy = metaHierarchy.Parent() + } + return false + +} + +func (ignore Ignore) MatchParams(modules Modules, blockMetadata *iacTypes.Metadata) bool { + if len(ignore.Params) == 0 { + return true + } + block := modules.GetBlockByIgnoreRange(blockMetadata) + if block == nil { + return true + } + for key, val := range ignore.Params { + attr := block.GetAttribute(key) + if attr.IsNil() || !attr.Value().IsKnown() { + return false + } + switch attr.Type() { + case cty.String: + if !attr.Equals(val) { + return false + } + case cty.Number: + bf := attr.Value().AsBigFloat() + f64, _ := bf.Float64() + comparableInt := fmt.Sprintf("%d", int(f64)) + comparableFloat := fmt.Sprintf("%f", f64) + if val != comparableInt && val != comparableFloat { + return false + } + case cty.Bool: + if fmt.Sprintf("%t", attr.IsTrue()) != val { + return false + } + default: + return false + } + } + return true +} diff --git a/pkg/iac/terraform/module.go b/pkg/iac/terraform/module.go new file mode 100644 index 000000000000..73cb01d2048c --- /dev/null +++ b/pkg/iac/terraform/module.go @@ -0,0 +1,188 @@ +package terraform + +import ( + "fmt" + "strings" +) + +type Module struct { + blocks Blocks + blockMap map[string]Blocks + rootPath string + modulePath string + ignores Ignores + parent *Module + local bool +} + +func NewModule(rootPath, modulePath string, blocks Blocks, ignores Ignores, local bool) *Module { + + blockMap := make(map[string]Blocks) + + for _, b := range blocks { + if b.NameLabel() != "" { + blockMap[b.TypeLabel()] = append(blockMap[b.TypeLabel()], b) + } + } + + return &Module{ + blocks: blocks, + ignores: ignores, + blockMap: blockMap, + rootPath: rootPath, + modulePath: modulePath, + local: local, + } +} + +func (c *Module) SetParent(parent *Module) { + c.parent = parent +} + +func (c *Module) RootPath() string { + return c.rootPath +} + +func (c *Module) Ignores() Ignores { + return c.ignores +} + +func (c *Module) GetBlocks() Blocks { + return c.blocks +} + +func (h *Module) GetBlocksByTypeLabel(typeLabel string) Blocks { + return h.blockMap[typeLabel] +} + +func (c *Module) getBlocksByType(blockType string, labels ...string) Blocks { + if blockType == "module" { + return c.getModuleBlocks() + } + var results Blocks + for _, label := range labels { + for _, block := range c.blockMap[label] { + if block.Type() == blockType { + results = append(results, block) + } + } + } + return results +} + +func (c *Module) getModuleBlocks() Blocks { + var results Blocks + for _, block := range c.blocks { + if block.Type() == "module" { + results = append(results, block) + } + } + return results +} + +func (c *Module) GetResourcesByType(labels ...string) Blocks { + return c.getBlocksByType("resource", labels...) +} + +func (c *Module) GetResourcesByIDs(ids ...string) Blocks { + var blocks Blocks + + for _, id := range ids { + if block := c.blocks.WithID(id); block != nil { + blocks = append(blocks, block) + } + } + return blocks +} + +func (c *Module) GetDatasByType(label string) Blocks { + return c.getBlocksByType("data", label) +} + +func (c *Module) GetProviderBlocksByProvider(providerName, alias string) Blocks { + var results Blocks + for _, block := range c.blocks { + if block.Type() == "provider" && len(block.Labels()) > 0 && block.TypeLabel() == providerName { + if alias != "" { + if block.HasChild("alias") && block.GetAttribute("alias").Equals(strings.ReplaceAll(alias, fmt.Sprintf("%s.", providerName), "")) { + results = append(results, block) + + } + } else if block.MissingChild("alias") { + results = append(results, block) + } + } + } + return results +} + +func (c *Module) GetReferencedBlock(referringAttr *Attribute, parentBlock *Block) (*Block, error) { + for _, ref := range referringAttr.AllReferences() { + if ref.TypeLabel() == "each" { + if forEachAttr := parentBlock.GetAttribute("for_each"); forEachAttr.IsNotNil() { + if b, err := c.GetReferencedBlock(forEachAttr, parentBlock); err == nil { + return b, nil + } + } + } + for _, block := range c.blocks { + if ref.RefersTo(block.reference) { + return block, nil + } + kref := *ref + kref.SetKey(parentBlock.reference.RawKey()) + if kref.RefersTo(block.reference) { + return block, nil + } + } + } + return nil, fmt.Errorf("no referenced block found in '%s'", referringAttr.Name()) +} + +func (c *Module) GetBlockByID(id string) (*Block, error) { + found := c.blocks.WithID(id) + if found == nil { + return nil, fmt.Errorf("no block found with id '%s'", id) + } + return found, nil +} + +func (c *Module) GetReferencingResources(originalBlock *Block, referencingLabel, referencingAttributeName string) Blocks { + return c.GetReferencingBlocks(originalBlock, "resource", referencingLabel, referencingAttributeName) +} + +func (c *Module) GetsModulesBySource(moduleSource string) (Blocks, error) { + var results Blocks + + modules := c.getModuleBlocks() + for _, module := range modules { + if module.HasChild("source") && module.GetAttribute("source").Equals(moduleSource) { + results = append(results, module) + } + } + return results, nil +} + +func (c *Module) GetReferencingBlocks(originalBlock *Block, referencingType, referencingLabel, referencingAttributeName string) Blocks { + blocks := c.getBlocksByType(referencingType, referencingLabel) + var results Blocks + for _, block := range blocks { + attr := block.GetAttribute(referencingAttributeName) + if attr == nil { + continue + } + if attr.References(originalBlock.reference) { + results = append(results, block) + } else { + for _, ref := range attr.AllReferences() { + if ref.TypeLabel() == "each" { + fe := block.GetAttribute("for_each") + if fe.References(originalBlock.reference) { + results = append(results, block) + } + } + } + } + } + return results +} diff --git a/pkg/iac/terraform/modules.go b/pkg/iac/terraform/modules.go new file mode 100644 index 000000000000..9272f2096145 --- /dev/null +++ b/pkg/iac/terraform/modules.go @@ -0,0 +1,118 @@ +package terraform + +import ( + "fmt" + + "github.com/aquasecurity/trivy/pkg/iac/types" +) + +type Modules []*Module + +func (m Modules) ChildModulesPaths() []string { + var result []string + for _, module := range m { + if module.parent != nil && module.local { + result = append(result, module.modulePath) + } + } + return result +} + +type ResourceIDResolutions map[string]bool + +func (r ResourceIDResolutions) Resolve(id string) { + r[id] = true +} + +func (r ResourceIDResolutions) Orphans() (orphanIDs []string) { + for id, resolved := range r { + if !resolved { + orphanIDs = append(orphanIDs, id) + } + } + return orphanIDs +} + +func (m Modules) GetResourcesByType(typeLabel ...string) Blocks { + var blocks Blocks + for _, module := range m { + blocks = append(blocks, module.GetResourcesByType(typeLabel...)...) + } + + return blocks +} + +func (m Modules) GetChildResourceIDMapByType(typeLabels ...string) ResourceIDResolutions { + blocks := m.GetResourcesByType(typeLabels...) + + idMap := make(map[string]bool) + for _, block := range blocks { + idMap[block.ID()] = false + } + + return idMap +} + +func (m Modules) GetReferencedBlock(referringAttr *Attribute, parentBlock *Block) (*Block, error) { + var bestMatch *Block + for _, module := range m { + b, err := module.GetReferencedBlock(referringAttr, parentBlock) + if err == nil { + if bestMatch == nil || b.moduleBlock == parentBlock.moduleBlock { + bestMatch = b + } + } + } + if bestMatch != nil { + return bestMatch, nil + } + return nil, fmt.Errorf("block not found") +} + +func (m Modules) GetReferencingResources(originalBlock *Block, referencingLabel, referencingAttributeName string) Blocks { + var blocks Blocks + for _, module := range m { + blocks = append(blocks, module.GetReferencingResources(originalBlock, referencingLabel, referencingAttributeName)...) + } + + return blocks +} + +func (m Modules) GetBlocks() Blocks { + var blocks Blocks + for _, module := range m { + blocks = append(blocks, module.GetBlocks()...) + } + return blocks +} + +func (m Modules) GetBlockById(id string) (*Block, error) { + for _, module := range m { + if found := module.blocks.WithID(id); found != nil { + return found, nil + } + + } + return nil, fmt.Errorf("block not found") +} + +func (m Modules) GetResourceByIDs(id ...string) Blocks { + var blocks Blocks + for _, module := range m { + blocks = append(blocks, module.GetResourcesByIDs(id...)...) + } + + return blocks +} + +func (m Modules) GetBlockByIgnoreRange(blockMetadata *types.Metadata) *Block { + for _, module := range m { + for _, block := range module.GetBlocks() { + metadata := block.GetMetadata() + if blockMetadata.Reference() == metadata.Reference() { + return block + } + } + } + return nil +} diff --git a/pkg/iac/terraform/presets.go b/pkg/iac/terraform/presets.go new file mode 100644 index 000000000000..d10d795a86d7 --- /dev/null +++ b/pkg/iac/terraform/presets.go @@ -0,0 +1,55 @@ +package terraform + +import ( + "fmt" + "strings" + + "github.com/google/uuid" + "github.com/zclconf/go-cty/cty" +) + +func createPresetValues(b *Block) map[string]cty.Value { + presets := make(map[string]cty.Value) + + // here we set up common "id" values that are set by the provider - this ensures all blocks have a default + // referencable id/arn. this isn't perfect, but the only way to link blocks in certain circumstances. + presets["id"] = cty.StringVal(b.ID()) + + if strings.HasPrefix(b.TypeLabel(), "aws_") { + presets["arn"] = cty.StringVal(b.ID()) + } + + // workaround for weird iam feature + switch b.TypeLabel() { + case "aws_iam_policy_document": + presets["json"] = cty.StringVal(b.ID()) + // If the user leaves the name blank, Terraform will automatically generate a unique name + case "aws_launch_template": + presets["name"] = cty.StringVal(uuid.New().String()) + } + + return presets + +} + +func postProcessValues(b *Block, input map[string]cty.Value) map[string]cty.Value { + + // alias id to "bucket" (bucket name) for s3 bucket resources + if strings.HasPrefix(b.TypeLabel(), "aws_s3_bucket") { + if bucket, ok := input["bucket"]; ok { + input["id"] = bucket + } else { + input["bucket"] = cty.StringVal(b.ID()) + } + } + + if b.TypeLabel() == "aws_s3_bucket" { + var bucketName string + if bucket := input["bucket"]; bucket.Type().Equals(cty.String) { + bucketName = bucket.AsString() + } + input["arn"] = cty.StringVal(fmt.Sprintf("arn:aws:s3:::%s", bucketName)) + } + + return input +} diff --git a/pkg/iac/terraform/reference.go b/pkg/iac/terraform/reference.go new file mode 100644 index 000000000000..978773da5010 --- /dev/null +++ b/pkg/iac/terraform/reference.go @@ -0,0 +1,177 @@ +package terraform + +import ( + "fmt" + + "github.com/zclconf/go-cty/cty" +) + +type Reference struct { + blockType Type + typeLabel string + nameLabel string + remainder []string + key cty.Value + parent string +} + +func extendReference(ref Reference, name string) Reference { + child := ref + child.remainder = make([]string, len(ref.remainder)) + if len(ref.remainder) > 0 { + copy(child.remainder, ref.remainder) + } + child.remainder = append(child.remainder, name) + return child +} + +func newReference(parts []string, parentKey string) (*Reference, error) { + + var ref Reference + + if len(parts) == 0 { + return nil, fmt.Errorf("cannot create empty reference") + } + + blockType, err := TypeFromRefName(parts[0]) + if err != nil { + blockType = &TypeResource + } + + ref.blockType = *blockType + + if ref.blockType.removeTypeInReference && parts[0] != blockType.name { + ref.typeLabel = parts[0] + if len(parts) > 1 { + ref.nameLabel = parts[1] + } + } else if len(parts) > 1 { + ref.typeLabel = parts[1] + if len(parts) > 2 { + ref.nameLabel = parts[2] + } else { + ref.nameLabel = ref.typeLabel + ref.typeLabel = "" + } + } + if len(parts) > 3 { + ref.remainder = parts[3:] + } + + if parentKey != "root" { + ref.parent = parentKey + } + + return &ref, nil +} + +func (r Reference) BlockType() Type { + return r.blockType +} + +func (r Reference) TypeLabel() string { + return r.typeLabel +} + +func (r Reference) NameLabel() string { + return r.nameLabel +} + +func (r Reference) HumanReadable() string { + if r.parent == "" { + return r.String() + } + return fmt.Sprintf("%s:%s", r.parent, r.String()) +} + +func (r Reference) LogicalID() string { + return r.String() +} + +func (r Reference) String() string { + + base := r.typeLabel + if r.nameLabel != "" { + base = fmt.Sprintf("%s.%s", base, r.nameLabel) + } + + if !r.blockType.removeTypeInReference { + base = r.blockType.Name() + if r.typeLabel != "" { + base += "." + r.typeLabel + } + if r.nameLabel != "" { + base += "." + r.nameLabel + } + } + + base += r.KeyBracketed() + + for _, rem := range r.remainder { + base += "." + rem + } + + return base +} + +func (r Reference) RefersTo(other Reference) bool { + + if r.BlockType() != other.BlockType() { + return false + } + if r.TypeLabel() != other.TypeLabel() { + return false + } + if r.NameLabel() != other.NameLabel() { + return false + } + if (r.Key() != "" || other.Key() != "") && r.Key() != other.Key() { + return false + } + return true +} + +func (r *Reference) SetKey(key cty.Value) { + if key.IsNull() || !key.IsKnown() { + return + } + r.key = key +} + +func (r Reference) KeyBracketed() string { + switch v := key(r).(type) { + case int: + return fmt.Sprintf("[%d]", v) + case string: + if v == "" { + return "" + } + return fmt.Sprintf("[%q]", v) + default: + return "" + } +} + +func (r Reference) RawKey() cty.Value { + return r.key +} + +func (r Reference) Key() string { + return fmt.Sprintf("%v", key(r)) +} + +func key(r Reference) interface{} { + if r.key.IsNull() || !r.key.IsKnown() { + return "" + } + switch r.key.Type() { + case cty.Number: + f := r.key.AsBigFloat() + f64, _ := f.Float64() + return int(f64) + case cty.String: + return r.key.AsString() + default: + return "" + } +} diff --git a/pkg/iac/terraform/reference_test.go b/pkg/iac/terraform/reference_test.go new file mode 100644 index 000000000000..1b6a7b59be73 --- /dev/null +++ b/pkg/iac/terraform/reference_test.go @@ -0,0 +1,171 @@ +package terraform + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/zclconf/go-cty/cty" +) + +func Test_ReferenceParsing(t *testing.T) { + cases := []struct { + input []string + expected string + }{ + { + input: []string{"module", "my-mod"}, + expected: "module.my-mod", + }, + { + input: []string{"aws_s3_bucket", "test"}, + expected: "aws_s3_bucket.test", + }, + { + input: []string{"resource", "aws_s3_bucket", "test"}, + expected: "aws_s3_bucket.test", + }, + { + input: []string{"module", "my-mod"}, + expected: "module.my-mod", + }, + { + input: []string{"data", "aws_iam_policy_document", "s3_policy"}, + expected: "data.aws_iam_policy_document.s3_policy", + }, + { + input: []string{"provider", "aws"}, + expected: "provider.aws", + }, + { + input: []string{"output", "something"}, + expected: "output.something", + }, + } + + for _, test := range cases { + t.Run(test.expected, func(t *testing.T) { + ref, err := newReference(test.input, "") + assert.NoError(t, err) + assert.Equal(t, test.expected, ref.String()) + }) + } +} + +func Test_SetKey(t *testing.T) { + tests := []struct { + name string + key cty.Value + want cty.Value + }{ + { + name: "happy", + key: cty.StringVal("str"), + want: cty.StringVal("str"), + }, + { + name: "null key", + key: cty.NullVal(cty.String), + want: cty.Value{}, + }, + { + name: "unknown key", + key: cty.UnknownVal(cty.String), + want: cty.Value{}, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Run(tt.name, func(t *testing.T) { + ref, err := newReference([]string{"resource", "test"}, "") + require.NoError(t, err) + + ref.SetKey(tt.key) + + assert.Equal(t, tt.want, ref.RawKey()) + }) + }) + } +} + +func Test_Key(t *testing.T) { + + tests := []struct { + name string + key cty.Value + want string + }{ + { + name: "empty key", + want: "", + }, + { + name: "str key", + key: cty.StringVal("some_value"), + want: "some_value", + }, + { + name: "number key", + key: cty.NumberIntVal(122), + want: "122", + }, + { + name: "bool key", + key: cty.BoolVal(true), + want: "", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Run(tt.name, func(t *testing.T) { + ref, err := newReference([]string{"resource", "test"}, "") + require.NoError(t, err) + + ref.SetKey(tt.key) + + assert.Equal(t, tt.want, ref.Key()) + }) + }) + } +} + +func Test_KeyBracketed(t *testing.T) { + tests := []struct { + name string + key cty.Value + want string + }{ + { + name: "empty key", + want: "", + }, + { + name: "str key", + key: cty.StringVal("some_value"), + want: "[\"some_value\"]", + }, + { + name: "number key", + key: cty.NumberIntVal(122), + want: "[122]", + }, + { + name: "bool key", + key: cty.BoolVal(true), + want: "", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ref, err := newReference([]string{"resource", "test"}, "") + require.NoError(t, err) + + ref.SetKey(tt.key) + + assert.Equal(t, tt.want, ref.KeyBracketed()) + }) + } +} diff --git a/pkg/iac/terraform/resource_block.go b/pkg/iac/terraform/resource_block.go new file mode 100644 index 000000000000..cc50c8d9b872 --- /dev/null +++ b/pkg/iac/terraform/resource_block.go @@ -0,0 +1,160 @@ +package terraform + +import ( + "bytes" + "fmt" + "strings" + "text/template" +) + +type PlanReference struct { + Value interface{} +} + +type PlanBlock struct { + Type string + Name string + BlockType string + Blocks map[string]map[string]interface{} + Attributes map[string]interface{} +} + +func NewPlanBlock(blockType, resourceType, resourceName string) *PlanBlock { + if blockType == "managed" { + blockType = "resource" + } + + return &PlanBlock{ + Type: resourceType, + Name: resourceName, + BlockType: blockType, + Blocks: make(map[string]map[string]interface{}), + Attributes: make(map[string]interface{}), + } +} + +func (rb *PlanBlock) HasAttribute(attribute string) bool { + for k := range rb.Attributes { + if k == attribute { + return true + } + } + return false +} + +func (rb *PlanBlock) ToHCL() string { + + resourceTmpl, err := template.New("resource").Funcs(template.FuncMap{ + "RenderValue": renderTemplateValue, + "RenderPrimitive": renderPrimitive, + }).Parse(resourceTemplate) + if err != nil { + panic(err) + } + + var res bytes.Buffer + if err := resourceTmpl.Execute(&res, map[string]interface{}{ + "BlockType": rb.BlockType, + "Type": rb.Type, + "Name": rb.Name, + "Attributes": rb.Attributes, + "Blocks": rb.Blocks, + }); err != nil { + return "" + } + return res.String() +} + +var resourceTemplate = `{{ .BlockType }} "{{ .Type }}" "{{ .Name }}" { + {{ range $name, $value := .Attributes }}{{ if $value }}{{ $name }} {{ RenderValue $value }} + {{end}}{{ end }}{{ range $name, $block := .Blocks }}{{ $name }} { + {{ range $name, $value := $block }}{{ if $value }}{{ $name }} {{ RenderValue $value }} + {{end}}{{ end }}} +{{end}}}` + +func renderTemplateValue(val interface{}) string { + switch t := val.(type) { + case map[string]interface{}: + return fmt.Sprintf("= %s", renderMap(t)) + case []interface{}: + if isMapSlice(t) { + return renderSlice(t) + } + return fmt.Sprintf("= %s", renderSlice(t)) + default: + return fmt.Sprintf("= %s", renderPrimitive(val)) + } +} + +func renderPrimitive(val interface{}) string { + switch t := val.(type) { + case PlanReference: + return fmt.Sprintf("%v", t.Value) + case string: + if strings.Contains(t, "\n") { + return fmt.Sprintf(`< i +} + +func (s IntValue) ToRego() interface{} { + m := s.metadata.ToRego().(map[string]interface{}) + m["value"] = s.Value() + return m +} diff --git a/pkg/iac/types/int_test.go b/pkg/iac/types/int_test.go new file mode 100644 index 000000000000..83e2d65cf0b0 --- /dev/null +++ b/pkg/iac/types/int_test.go @@ -0,0 +1,21 @@ +package types + +import ( + "encoding/json" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_IntJSON(t *testing.T) { + val := Int(0x66, NewMetadata(NewRange("main.tf", 123, 123, "", nil), "")) + data, err := json.Marshal(val) + require.NoError(t, err) + + var restored IntValue + err = json.Unmarshal(data, &restored) + require.NoError(t, err) + + assert.Equal(t, val, restored) +} diff --git a/pkg/iac/types/map.go b/pkg/iac/types/map.go new file mode 100755 index 000000000000..95a0e6851700 --- /dev/null +++ b/pkg/iac/types/map.go @@ -0,0 +1,92 @@ +package types + +import ( + "encoding/json" +) + +type MapValue struct { + BaseAttribute + value map[string]string +} + +func (b MapValue) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]interface{}{ + "value": b.value, + "metadata": b.metadata, + }) +} + +func (b *MapValue) UnmarshalJSON(data []byte) error { + var keys map[string]interface{} + if err := json.Unmarshal(data, &keys); err != nil { + return err + } + if keys["value"] != nil { + var target map[string]string + raw, err := json.Marshal(keys["value"]) + if err != nil { + return err + } + if err := json.Unmarshal(raw, &target); err != nil { + return err + } + b.value = target + } + if keys["metadata"] != nil { + raw, err := json.Marshal(keys["metadata"]) + if err != nil { + return err + } + var m Metadata + if err := json.Unmarshal(raw, &m); err != nil { + return err + } + b.metadata = m + } + return nil +} + +func Map(value map[string]string, m Metadata) MapValue { + return MapValue{ + value: value, + BaseAttribute: BaseAttribute{metadata: m}, + } +} + +func MapDefault(value map[string]string, m Metadata) MapValue { + b := Map(value, m) + b.BaseAttribute.metadata.isDefault = true + return b +} + +func MapExplicit(value map[string]string, m Metadata) MapValue { + b := Map(value, m) + b.BaseAttribute.metadata.isExplicit = true + return b +} + +func (b MapValue) Value() map[string]string { + return b.value +} + +func (b MapValue) GetRawValue() interface{} { + return b.value +} + +func (b MapValue) Len() int { + return len(b.value) +} + +func (b MapValue) HasKey(key string) bool { + if b.value == nil { + return false + } + _, ok := b.value[key] + return ok +} + +func (s MapValue) ToRego() interface{} { + m := s.metadata.ToRego().(map[string]interface{}) + m["value"] = s.Value() + return m +} diff --git a/pkg/iac/types/map_test.go b/pkg/iac/types/map_test.go new file mode 100644 index 000000000000..1dba9504b30c --- /dev/null +++ b/pkg/iac/types/map_test.go @@ -0,0 +1,25 @@ +package types + +import ( + "encoding/json" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_MapJSON(t *testing.T) { + val := Map(map[string]string{ + "yeah": "it", + "seems": "to", + "work": "fine", + }, NewMetadata(NewRange("main.tf", 123, 123, "", nil), "")) + data, err := json.Marshal(val) + require.NoError(t, err) + + var restored MapValue + err = json.Unmarshal(data, &restored) + require.NoError(t, err) + + assert.Equal(t, val, restored) +} diff --git a/pkg/iac/types/metadata.go b/pkg/iac/types/metadata.go new file mode 100755 index 000000000000..6b130eb3d17e --- /dev/null +++ b/pkg/iac/types/metadata.go @@ -0,0 +1,222 @@ +package types + +import ( + "encoding/json" + "fmt" + "strings" +) + +type Metadata struct { + rnge Range + ref string + isManaged bool + isDefault bool + isExplicit bool + isUnresolvable bool + parent *Metadata + internal interface{} +} + +func (m Metadata) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]interface{}{ + "range": m.rnge, + "ref": m.ref, + "managed": m.isManaged, + "default": m.isDefault, + "explicit": m.isExplicit, + "unresolvable": m.isUnresolvable, + "parent": m.parent, + }) +} + +func (m *Metadata) UnmarshalJSON(data []byte) error { + var keys map[string]interface{} + if err := json.Unmarshal(data, &keys); err != nil { + return err + } + if keys["range"] != nil { + raw, err := json.Marshal(keys["range"]) + if err != nil { + return err + } + var r Range + if err := json.Unmarshal(raw, &r); err != nil { + return err + } + m.rnge = r + } + if keys["ref"] != nil { + m.ref = keys["ref"].(string) + } + if keys["managed"] != nil { + m.isManaged = keys["managed"].(bool) + } + if keys["default"] != nil { + m.isDefault = keys["default"].(bool) + } + if keys["explicit"] != nil { + m.isExplicit = keys["explicit"].(bool) + } + if keys["unresolvable"] != nil { + m.isUnresolvable = keys["unresolvable"].(bool) + } + if keys["parent"] != nil { + if _, ok := keys["parent"].(map[string]interface{}); ok { + raw, err := json.Marshal(keys["parent"]) + if err != nil { + return err + } + var parent Metadata + if err := json.Unmarshal(raw, &parent); err != nil { + return err + } + m.parent = &parent + } + } + return nil +} + +func (m *Metadata) ToRego() interface{} { + input := map[string]interface{}{ + "filepath": m.Range().GetLocalFilename(), + "startline": m.Range().GetStartLine(), + "endline": m.Range().GetEndLine(), + "sourceprefix": m.Range().GetSourcePrefix(), + "managed": m.isManaged, + "explicit": m.isExplicit, + "fskey": CreateFSKey(m.Range().GetFS()), + "resource": m.Reference(), + } + if m.parent != nil { + input["parent"] = m.parent.ToRego() + } + return input +} + +func NewMetadata(r Range, ref string) Metadata { + return Metadata{ + rnge: r, + ref: ref, + isManaged: true, + } +} + +func NewUnresolvableMetadata(r Range, ref string) Metadata { + unres := NewMetadata(r, ref) + unres.isUnresolvable = true + return unres +} + +func NewExplicitMetadata(r Range, ref string) Metadata { + m := NewMetadata(r, ref) + m.isExplicit = true + return m +} + +func (m Metadata) WithParent(p Metadata) Metadata { + m.parent = &p + return m +} + +func (m *Metadata) SetParentPtr(p *Metadata) { + m.parent = p +} + +func (m Metadata) Parent() *Metadata { + return m.parent +} + +func (m Metadata) Root() Metadata { + meta := &m + for meta.Parent() != nil { + meta = meta.Parent() + } + return *meta +} + +func (m Metadata) WithInternal(internal interface{}) Metadata { + m.internal = internal + return m +} + +func (m Metadata) Internal() interface{} { + return m.internal +} + +func (m Metadata) IsMultiLine() bool { + return m.rnge.GetStartLine() < m.rnge.GetEndLine() +} + +func NewUnmanagedMetadata() Metadata { + m := NewMetadata(NewRange("", 0, 0, "", nil), "") + m.isManaged = false + return m +} + +func NewTestMetadata() Metadata { + return NewMetadata(NewRange("test.test", 123, 123, "", nil), "") +} + +func NewApiMetadata(provider string, parts ...string) Metadata { + return NewMetadata(NewRange(fmt.Sprintf("/%s/%s", provider, strings.Join(parts, "/")), 0, 0, "", nil), "") +} + +func NewRemoteMetadata(id string) Metadata { + return NewMetadata(NewRange(id, 0, 0, "remote", nil), id) +} + +func (m Metadata) IsDefault() bool { + return m.isDefault +} + +func (m Metadata) IsResolvable() bool { + return !m.isUnresolvable +} + +func (m Metadata) IsExplicit() bool { + return m.isExplicit +} + +func (m Metadata) String() string { + return m.ref +} + +func (m Metadata) Reference() string { + return m.ref +} + +func (m Metadata) Range() Range { + return m.rnge +} + +func (m Metadata) IsManaged() bool { + return m.isManaged +} + +func (m Metadata) IsUnmanaged() bool { + return !m.isManaged +} + +type BaseAttribute struct { + metadata Metadata +} + +func (b BaseAttribute) GetMetadata() Metadata { + return b.metadata +} + +func (m Metadata) GetMetadata() Metadata { + return m +} + +func (m Metadata) GetRawValue() interface{} { + return nil +} + +func (m *Metadata) SetReference(ref string) { + m.ref = ref +} + +func (m *Metadata) SetRange(r Range) { + m.rnge = r +} diff --git a/pkg/iac/types/metadata_test.go b/pkg/iac/types/metadata_test.go new file mode 100644 index 000000000000..1b263f3289de --- /dev/null +++ b/pkg/iac/types/metadata_test.go @@ -0,0 +1,35 @@ +package types + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_MetadataToRego(t *testing.T) { + m1 := NewTestMetadata() + expected := map[string]interface{}{ + "endline": 123, + "explicit": false, + "filepath": "test.test", + "fskey": "", + "managed": true, + "resource": "", + "sourceprefix": "", + "startline": 123, + } + assert.Equal(t, expected, m1.ToRego()) + m2 := NewTestMetadata() + m1.SetParentPtr(&m2) + expected["parent"] = map[string]interface{}{ + "endline": 123, + "explicit": false, + "filepath": "test.test", + "fskey": "", + "managed": true, + "resource": "", + "sourceprefix": "", + "startline": 123, + } + assert.Equal(t, expected, m1.ToRego()) +} diff --git a/pkg/iac/types/range.go b/pkg/iac/types/range.go new file mode 100755 index 000000000000..05aa535797d7 --- /dev/null +++ b/pkg/iac/types/range.go @@ -0,0 +1,148 @@ +package types + +import ( + "encoding/json" + "fmt" + "io/fs" + "path/filepath" +) + +func NewRange(filename string, startLine, endLine int, sourcePrefix string, srcFS fs.FS) Range { + r := Range{ + filename: filename, + startLine: startLine, + endLine: endLine, + fs: srcFS, + fsKey: CreateFSKey(srcFS), + sourcePrefix: sourcePrefix, + } + return r +} + +func NewRangeWithLogicalSource(filename string, startLine int, endLine int, sourcePrefix string, + srcFS fs.FS) Range { + r := Range{ + filename: filename, + startLine: startLine, + endLine: endLine, + fs: srcFS, + fsKey: CreateFSKey(srcFS), + sourcePrefix: sourcePrefix, + isLogicalSource: true, + } + return r +} + +func NewRangeWithFSKey(filename string, startLine, endLine int, sourcePrefix, fsKey string, fsys fs.FS) Range { + r := Range{ + filename: filename, + startLine: startLine, + endLine: endLine, + fs: fsys, + fsKey: fsKey, + sourcePrefix: sourcePrefix, + } + return r +} + +type Range struct { + filename string + startLine int + endLine int + sourcePrefix string + isLogicalSource bool + fs fs.FS + fsKey string +} + +func (r Range) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]interface{}{ + "filename": r.filename, + "startLine": r.startLine, + "endLine": r.endLine, + "sourcePrefix": r.sourcePrefix, + "fsKey": r.fsKey, + "isLogicalSource": r.isLogicalSource, + }) +} + +func (r *Range) UnmarshalJSON(data []byte) error { + var keys map[string]interface{} + if err := json.Unmarshal(data, &keys); err != nil { + return err + } + if keys["filename"] != nil { + r.filename = keys["filename"].(string) + } + if keys["startLine"] != nil { + r.startLine = int(keys["startLine"].(float64)) + } + if keys["endLine"] != nil { + r.endLine = int(keys["endLine"].(float64)) + } + if keys["sourcePrefix"] != nil { + r.sourcePrefix = keys["sourcePrefix"].(string) + } + if keys["fsKey"] != nil { + r.fsKey = keys["fsKey"].(string) + } + if keys["isLogicalSource"] != nil { + r.isLogicalSource = keys["isLogicalSource"].(bool) + } + return nil +} + +func (r Range) GetFSKey() string { + return r.fsKey +} + +func (r Range) LineCount() int { + if r.endLine == 0 { + return 0 + } + return (r.endLine - r.startLine) + 1 +} + +func (r Range) GetFilename() string { + if r.sourcePrefix == "" { + return r.filename + } + if r.isLogicalSource { + return fmt.Sprintf("%s:%s", r.sourcePrefix, r.filename) + } + return filepath.Join(r.sourcePrefix, r.filename) +} + +func (r Range) GetLocalFilename() string { + return r.filename +} + +func (r Range) GetStartLine() int { + return r.startLine +} + +func (r Range) GetEndLine() int { + return r.endLine +} + +func (r Range) IsMultiLine() bool { + return r.startLine < r.endLine +} + +func (r Range) String() string { + if r.startLine != r.endLine { + return fmt.Sprintf("%s:%d-%d", r.GetFilename(), r.startLine, r.endLine) + } + if r.startLine == 0 && r.endLine == 0 { + return r.GetFilename() + } + return fmt.Sprintf("%s:%d", r.GetFilename(), r.startLine) +} + +func (r Range) GetFS() fs.FS { + return r.fs +} + +func (r Range) GetSourcePrefix() string { + return r.sourcePrefix +} diff --git a/pkg/iac/types/rules/rule.go b/pkg/iac/types/rules/rule.go new file mode 100644 index 000000000000..b86a4ad6d11f --- /dev/null +++ b/pkg/iac/types/rules/rule.go @@ -0,0 +1,18 @@ +package rules + +import ( + "github.com/aquasecurity/trivy/pkg/iac/scan" +) + +type RegisteredRule struct { + scan.Rule + Number int +} + +func (r *RegisteredRule) GetRule() scan.Rule { + return r.Rule +} + +func (r *RegisteredRule) AddLink(link string) { + r.Rule.Links = append([]string{link}, r.Rule.Links...) +} diff --git a/pkg/iac/types/sources.go b/pkg/iac/types/sources.go new file mode 100644 index 000000000000..02e43dac3a35 --- /dev/null +++ b/pkg/iac/types/sources.go @@ -0,0 +1,14 @@ +package types + +type Source string + +const ( + SourceDockerfile Source = "dockerfile" + SourceKubernetes Source = "kubernetes" + SourceRbac Source = "rbac" // deprecated - please use "kubernetes" instead + SourceDefsec Source = "defsec" // deprecated - please use "cloud" instead + SourceCloud Source = "cloud" + SourceYAML Source = "yaml" + SourceJSON Source = "json" + SourceTOML Source = "toml" +) diff --git a/pkg/iac/types/string.go b/pkg/iac/types/string.go new file mode 100755 index 000000000000..8c04d967be0b --- /dev/null +++ b/pkg/iac/types/string.go @@ -0,0 +1,189 @@ +package types + +import ( + "encoding/json" + "strings" +) + +type StringEqualityOption int + +const ( + IgnoreCase StringEqualityOption = iota + IsPallindrome + IgnoreWhitespace +) + +func String(str string, m Metadata) StringValue { + return StringValue{ + value: str, + BaseAttribute: BaseAttribute{metadata: m}, + } +} +func StringDefault(value string, m Metadata) StringValue { + b := String(value, m) + b.BaseAttribute.metadata.isDefault = true + return b +} + +func StringUnresolvable(m Metadata) StringValue { + b := String("", m) + b.BaseAttribute.metadata.isUnresolvable = true + return b +} + +func StringExplicit(value string, m Metadata) StringValue { + b := String(value, m) + b.BaseAttribute.metadata.isExplicit = true + return b +} + +type StringValueList []StringValue + +type StringValue struct { + BaseAttribute + value string +} + +func (l StringValueList) AsStrings() (output []string) { + for _, item := range l { + output = append(output, item.Value()) + } + return output +} + +type stringCheckFunc func(string, string) bool + +func (b StringValue) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]interface{}{ + "value": b.value, + "metadata": b.metadata, + }) +} + +func (b *StringValue) UnmarshalJSON(data []byte) error { + var keys map[string]interface{} + if err := json.Unmarshal(data, &keys); err != nil { + return err + } + if keys["value"] != nil { + b.value = keys["value"].(string) + } + if keys["metadata"] != nil { + raw, err := json.Marshal(keys["metadata"]) + if err != nil { + return err + } + var m Metadata + if err := json.Unmarshal(raw, &m); err != nil { + return err + } + b.metadata = m + } + return nil +} + +func (s StringValue) ToRego() interface{} { + m := s.metadata.ToRego().(map[string]interface{}) + m["value"] = s.Value() + return m +} + +func (s StringValue) IsOneOf(values ...string) bool { + if s.metadata.isUnresolvable { + return false + } + for _, value := range values { + if value == s.value { + return true + } + } + return false +} + +func (s StringValue) GetMetadata() Metadata { + return s.metadata +} + +func (s StringValue) Value() string { + return s.value +} + +func (b StringValue) GetRawValue() interface{} { + return b.value +} + +func (s StringValue) IsEmpty() bool { + if s.metadata.isUnresolvable { + return false + } + return s.value == "" +} + +func (s StringValue) IsNotEmpty() bool { + if s.metadata.isUnresolvable { + return false + } + return s.value != "" +} + +func (s StringValue) EqualTo(value string, equalityOptions ...StringEqualityOption) bool { + if s.metadata.isUnresolvable { + return false + } + + return s.executePredicate(value, func(a, b string) bool { return a == b }, equalityOptions...) +} + +func (s StringValue) NotEqualTo(value string, equalityOptions ...StringEqualityOption) bool { + if s.metadata.isUnresolvable { + return false + } + + return !s.EqualTo(value, equalityOptions...) +} + +func (s StringValue) StartsWith(prefix string, equalityOptions ...StringEqualityOption) bool { + if s.metadata.isUnresolvable { + return false + } + + return s.executePredicate(prefix, strings.HasPrefix, equalityOptions...) +} + +func (s StringValue) EndsWith(suffix string, equalityOptions ...StringEqualityOption) bool { + if s.metadata.isUnresolvable { + return false + } + return s.executePredicate(suffix, strings.HasSuffix, equalityOptions...) +} + +func (s StringValue) Contains(value string, equalityOptions ...StringEqualityOption) bool { + if s.metadata.isUnresolvable { + return false + } + return s.executePredicate(value, strings.Contains, equalityOptions...) +} + +func (s StringValue) executePredicate(value string, fn stringCheckFunc, equalityOptions ...StringEqualityOption) bool { + subjectString := s.value + searchString := value + + for _, eqOpt := range equalityOptions { + switch eqOpt { + case IgnoreCase: + subjectString = strings.ToLower(subjectString) + searchString = strings.ToLower(searchString) + case IsPallindrome: + var result string + for _, v := range subjectString { + result = string(v) + result + } + subjectString = result + case IgnoreWhitespace: + subjectString = strings.ReplaceAll(subjectString, " ", "") + searchString = strings.ReplaceAll(searchString, " ", "") + } + } + + return fn(subjectString, searchString) +} diff --git a/pkg/iac/types/string_test.go b/pkg/iac/types/string_test.go new file mode 100755 index 000000000000..1f135874bf18 --- /dev/null +++ b/pkg/iac/types/string_test.go @@ -0,0 +1,94 @@ +package types + +import ( + "encoding/json" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/stretchr/testify/assert" +) + +func Test_StringValueEqualTo(t *testing.T) { + testCases := []struct { + desc string + input string + check string + ignoreCase bool + expected bool + }{ + { + desc: "return truw when string is equal", + input: "something", + check: "", + expected: false, + }, + } + for _, tC := range testCases { + t.Run(tC.desc, func(t *testing.T) { + + }) + } +} + +func Test_StringValueStartsWith(t *testing.T) { + testCases := []struct { + desc string + input string + prefix string + ignoreCase bool + expected bool + }{ + { + desc: "return true when starts with", + input: "something", + prefix: "some", + expected: true, + }, + { + desc: "return false when does not start with", + input: "something", + prefix: "nothing", + expected: false, + }, + { + desc: "return true when starts with", + input: "something", + prefix: "SOME", + ignoreCase: true, + expected: true, + }, + { + desc: "return false when does not start with", + input: "something", + prefix: "SOME", + expected: false, + }, + } + for _, tC := range testCases { + t.Run(tC.desc, func(t *testing.T) { + + val := String(tC.input, fakeMetadata) + + var options []StringEqualityOption + + if tC.ignoreCase { + options = append(options, IgnoreCase) + } + + assert.Equal(t, tC.expected, val.StartsWith(tC.prefix, options...)) + }) + } +} + +func Test_StringJSON(t *testing.T) { + val := String("hello world", NewMetadata(NewRange("main.tf", 123, 123, "", nil), "")) + data, err := json.Marshal(val) + require.NoError(t, err) + + var restored StringValue + err = json.Unmarshal(data, &restored) + require.NoError(t, err) + + assert.Equal(t, val, restored) +} diff --git a/pkg/iac/types/time.go b/pkg/iac/types/time.go new file mode 100755 index 000000000000..4f3c8c455f2f --- /dev/null +++ b/pkg/iac/types/time.go @@ -0,0 +1,102 @@ +package types + +import ( + "encoding/json" + "time" +) + +type TimeValue struct { + BaseAttribute + value time.Time +} + +func (b TimeValue) MarshalJSON() ([]byte, error) { + return json.Marshal(map[string]interface{}{ + "value": b.value.Format(time.RFC3339), + "metadata": b.metadata, + }) +} + +func (b *TimeValue) UnmarshalJSON(data []byte) error { + var keys map[string]interface{} + if err := json.Unmarshal(data, &keys); err != nil { + return err + } + if keys["value"] != nil { + if ti, err := time.Parse(time.RFC3339, keys["value"].(string)); err == nil { + b.value = ti + } + } + if keys["metadata"] != nil { + raw, err := json.Marshal(keys["metadata"]) + if err != nil { + return err + } + var m Metadata + if err := json.Unmarshal(raw, &m); err != nil { + return err + } + b.metadata = m + } + return nil +} + +func Time(value time.Time, m Metadata) TimeValue { + return TimeValue{ + value: value, + BaseAttribute: BaseAttribute{metadata: m}, + } +} + +func TimeDefault(value time.Time, m Metadata) TimeValue { + b := Time(value, m) + b.BaseAttribute.metadata.isDefault = true + return b +} + +func TimeExplicit(value time.Time, m Metadata) TimeValue { + b := Time(value, m) + b.BaseAttribute.metadata.isExplicit = true + return b +} + +func TimeUnresolvable(m Metadata) TimeValue { + b := Time(time.Time{}, m) + b.BaseAttribute.metadata.isUnresolvable = true + return b +} + +func (t TimeValue) Value() time.Time { + return t.value +} + +func (t TimeValue) GetRawValue() interface{} { + return t.value +} + +func (t TimeValue) IsNever() bool { + if t.GetMetadata().isUnresolvable { + return false + } + return t.value.IsZero() +} + +func (t TimeValue) Before(i time.Time) bool { + if t.metadata.isUnresolvable { + return false + } + return t.value.Before(i) +} + +func (t TimeValue) After(i time.Time) bool { + if t.metadata.isUnresolvable { + return false + } + return t.value.After(i) +} + +func (t TimeValue) ToRego() interface{} { + m := t.metadata.ToRego().(map[string]interface{}) + m["value"] = t.Value().Format(time.RFC3339) + return m +} diff --git a/pkg/iac/types/time_test.go b/pkg/iac/types/time_test.go new file mode 100644 index 000000000000..5d38b0dfb570 --- /dev/null +++ b/pkg/iac/types/time_test.go @@ -0,0 +1,23 @@ +package types + +import ( + "encoding/json" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_TimeJSON(t *testing.T) { + val := Time(time.Now(), NewMetadata(NewRange("main.tf", 123, 123, "", nil), "")) + data, err := json.Marshal(val) + require.NoError(t, err) + + var restored TimeValue + err = json.Unmarshal(data, &restored) + require.NoError(t, err) + + assert.Equal(t, val.value.Format(time.RFC3339), restored.Value().Format(time.RFC3339)) + assert.Equal(t, val.metadata, restored.metadata) +} diff --git a/pkg/misconf/scanner.go b/pkg/misconf/scanner.go index bcab56dafadd..3a4bb5311758 100644 --- a/pkg/misconf/scanner.go +++ b/pkg/misconf/scanner.go @@ -14,10 +14,9 @@ import ( "github.com/samber/lo" "golang.org/x/xerrors" - "github.com/aquasecurity/defsec/pkg/scan" - "github.com/aquasecurity/defsec/pkg/scanners/options" "github.com/aquasecurity/trivy/pkg/fanal/types" "github.com/aquasecurity/trivy/pkg/iac/detection" + "github.com/aquasecurity/trivy/pkg/iac/scan" "github.com/aquasecurity/trivy/pkg/iac/scanners" "github.com/aquasecurity/trivy/pkg/iac/scanners/azure/arm" cfscanner "github.com/aquasecurity/trivy/pkg/iac/scanners/cloudformation" @@ -25,6 +24,7 @@ import ( dfscanner "github.com/aquasecurity/trivy/pkg/iac/scanners/dockerfile" helm2 "github.com/aquasecurity/trivy/pkg/iac/scanners/helm" k8sscanner "github.com/aquasecurity/trivy/pkg/iac/scanners/kubernetes" + "github.com/aquasecurity/trivy/pkg/iac/scanners/options" "github.com/aquasecurity/trivy/pkg/iac/scanners/terraform" tfpscanner "github.com/aquasecurity/trivy/pkg/iac/scanners/terraformplan" "github.com/aquasecurity/trivy/pkg/log" @@ -33,7 +33,7 @@ import ( _ "embed" ) -var enabledDefsecTypes = map[detection.FileType]types.ConfigType{ +var enablediacTypes = map[detection.FileType]types.ConfigType{ detection.FileTypeAzureARM: types.AzureARM, detection.FileTypeCloudFormation: types.CloudFormation, detection.FileTypeTerraform: types.Terraform, @@ -154,7 +154,7 @@ func (s *Scanner) Scan(ctx context.Context, fsys fs.FS) ([]types.Misconfiguratio return nil, xerrors.Errorf("scan config error: %w", err) } - configType := enabledDefsecTypes[s.fileType] + configType := enablediacTypes[s.fileType] misconfs := ResultsToMisconf(configType, s.scanner.Name(), results) // Sort misconfigurations diff --git a/pkg/policy/policy.go b/pkg/policy/policy.go index a312753e823d..b5b6792953ca 100644 --- a/pkg/policy/policy.go +++ b/pkg/policy/policy.go @@ -18,7 +18,7 @@ import ( ) const ( - BundleVersion = 0 // Latest released MAJOR version for defsec + BundleVersion = 0 // Latest released MAJOR version for trivy-policies BundleRepository = "ghcr.io/aquasecurity/trivy-policies" policyMediaType = "application/vnd.cncf.openpolicyagent.layer.v1.tar+gzip" updateInterval = 24 * time.Hour From a813506f4101ed2df8b93ae43304b654680db91a Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Fri, 16 Feb 2024 14:36:29 +0600 Subject: [PATCH 275/338] fix(cyclonedx): move root component from scanned cyclonedx file to output cyclonedx file (#6113) --- pkg/fanal/types/sbom.go | 7 + pkg/sbom/cyclonedx/marshal.go | 36 +++++ pkg/sbom/cyclonedx/marshal_test.go | 203 +++++++++++++++++++++++++++++ pkg/sbom/cyclonedx/unmarshal.go | 9 ++ 4 files changed, 255 insertions(+) diff --git a/pkg/fanal/types/sbom.go b/pkg/fanal/types/sbom.go index b63f9c31b55f..6a7298bc2605 100644 --- a/pkg/fanal/types/sbom.go +++ b/pkg/fanal/types/sbom.go @@ -26,8 +26,15 @@ type Component struct { MIMEType string `json:"mime-type,omitempty" xml:"mime-type,attr,omitempty"` Type ComponentType `json:"type" xml:"type,attr"` Name string `json:"name" xml:"name"` + Group string `json:"group" xml:"group"` Version string `json:"version,omitempty" xml:"version,omitempty"` PackageURL string `json:"purl,omitempty" xml:"purl,omitempty"` + Properties []Property `json:"properties,omitempty" xml:"properties>property,omitempty"` +} + +type Property struct { + Name string `json:"name" xml:"name,attr"` + Value string `json:"value" xml:",chardata"` } type ( diff --git a/pkg/sbom/cyclonedx/marshal.go b/pkg/sbom/cyclonedx/marshal.go index 287b4fee40cc..97bdb6092b42 100644 --- a/pkg/sbom/cyclonedx/marshal.go +++ b/pkg/sbom/cyclonedx/marshal.go @@ -250,6 +250,8 @@ func (e *Marshaler) rootComponent(r types.Report) (*core.Component, error) { root.Type = cdx.ComponentTypeContainer case ftypes.ArtifactFilesystem, ftypes.ArtifactRepository: root.Type = cdx.ComponentTypeApplication + case ftypes.ArtifactCycloneDX: + return toCoreComponent(r.CycloneDX.Metadata.Component) } if r.Metadata.Size != 0 { @@ -396,3 +398,37 @@ func filterProperties(props []core.Property) []core.Property { return !(property.Value == "" || (property.Name == PropertySrcEpoch && property.Value == "0")) }) } + +func toCoreComponent(c ftypes.Component) (*core.Component, error) { + var props []core.Property + for _, prop := range c.Properties { + var namespace string + name := prop.Name + // Separate the Trivy namespace to avoid double spelling of namespaces. + if strings.HasPrefix(name, core.Namespace) { + name = strings.TrimPrefix(name, core.Namespace) + namespace = core.Namespace + } + props = append(props, core.Property{ + Namespace: namespace, + Name: name, + Value: prop.Value, + }) + } + var p *purl.PackageURL + if c.PackageURL != "" { + var err error + p, err = purl.FromString(c.PackageURL) + if err != nil { + return nil, xerrors.Errorf("failed to parse purl: %w", err) + } + } + + return &core.Component{ + Name: c.Name, + Group: c.Group, + PackageURL: p, + Type: cdx.ComponentType(c.Type), + Properties: props, + }, nil +} diff --git a/pkg/sbom/cyclonedx/marshal_test.go b/pkg/sbom/cyclonedx/marshal_test.go index a016e5b1e20a..1819daa3a92b 100644 --- a/pkg/sbom/cyclonedx/marshal_test.go +++ b/pkg/sbom/cyclonedx/marshal_test.go @@ -1401,6 +1401,209 @@ func TestMarshaler_Marshal(t *testing.T) { }, }, }, + { + name: "happy path for sbom (cyclonedx) scan", + inputReport: types.Report{ + SchemaVersion: report.SchemaVersion, + ArtifactName: "./report.cdx.json", + ArtifactType: ftypes.ArtifactCycloneDX, + CycloneDX: &ftypes.CycloneDX{ + BOMFormat: "CycloneDX", + SpecVersion: 6, + SerialNumber: "urn:uuid:ea7360be-19a5-4f61-98dd-d4e170eb6737", + Version: 1, + Metadata: ftypes.Metadata{ + Timestamp: "2024-02-16T06:05:53+00:00", + Component: ftypes.Component{ + BOMRef: "aff65b54-6009-4c32-968d-748949ef46e8", + Type: "application", + Name: "jackson-databind-2.13.4.1.jar", + Properties: []ftypes.Property{ + { + Name: "aquasecurity:trivy:SchemaVersion", + Value: "2", + }, + }, + }, + }, + }, + Results: types.Results{ + { + Target: "Java", + Class: types.ClassLangPkg, + Type: ftypes.Jar, + Packages: []ftypes.Package{ + { + Name: "com.fasterxml.jackson.core:jackson-databind", + Version: "2.13.4.1", + Identifier: ftypes.PkgIdentifier{ + BOMRef: "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.13.4.1?file_path=jackson-databind-2.13.4.1.jar", + PURL: &packageurl.PackageURL{ + Type: packageurl.TypeMaven, + Namespace: "com.fasterxml.jackson.core", + Name: "jackson-databind", + Version: "2.13.4.1", + }, + }, + FilePath: "jackson-databind-2.13.4.1.jar", + }, + }, + Vulnerabilities: []types.DetectedVulnerability{ + { + VulnerabilityID: "CVE-2022-42003", + PkgName: "com.fasterxml.jackson.core:jackson-databind", + PkgPath: "jackson-databind-2.13.4.1.jar", + PkgIdentifier: ftypes.PkgIdentifier{ + BOMRef: "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.13.4.1?file_path=jackson-databind-2.13.4.1.jar", + PURL: &packageurl.PackageURL{ + Type: packageurl.TypeMaven, + Namespace: "com.fasterxml.jackson.core", + Name: "jackson-databind", + Version: "2.13.4.1", + }, + }, + InstalledVersion: "2.13.4.1", + FixedVersion: "2.12.7.1, 2.13.4.2", + Status: dtypes.StatusFixed, + SeveritySource: "ghsa", + PrimaryURL: "https://avd.aquasec.com/nvd/cve-2022-42003", + DataSource: &dtypes.DataSource{ + ID: vulnerability.GHSA, + Name: "GitHub Security Advisory Maven", + URL: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven", + }, + Vulnerability: dtypes.Vulnerability{ + Title: "jackson-databind: deep wrapper array nesting wrt UNWRAP_SINGLE_VALUE_ARRAYS", + Description: "In FasterXML jackson-databind before versions 2.13.4.1 and 2.12.17.1, resource exhaustion can occur because of a lack of a check in primitive value deserializers to avoid deep wrapper array nesting, when the UNWRAP_SINGLE_VALUE_ARRAYS feature is enabled.", + Severity: dtypes.SeverityHigh.String(), + VendorSeverity: dtypes.VendorSeverity{ + vulnerability.GHSA: dtypes.SeverityHigh, + }, + CVSS: dtypes.VendorCVSS{ + vulnerability.GHSA: dtypes.CVSS{ + V3Vector: "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", + V3Score: 7.5, + }, + }, + References: []string{ + "https://access.redhat.com/security/cve/CVE-2022-42003", + }, + PublishedDate: lo.ToPtr(time.Date(2022, 10, 02, 05, 15, 0, 0, time.UTC)), + LastModifiedDate: lo.ToPtr(time.Date(2022, 12, 20, 10, 15, 0, 0, time.UTC)), + }, + }, + }, + }, + }, + }, + want: &cdx.BOM{ + XMLNS: "http://cyclonedx.org/schema/bom/1.5", + BOMFormat: "CycloneDX", + SpecVersion: cdx.SpecVersion1_5, + JSONSchema: "http://cyclonedx.org/schema/bom-1.5.schema.json", + SerialNumber: "urn:uuid:3ff14136-e09f-4df9-80ea-000000000001", + Version: 1, + Metadata: &cdx.Metadata{ + Timestamp: "2021-08-25T12:20:30+00:00", + Tools: &cdx.ToolsChoice{ + Components: &[]cdx.Component{ + { + Type: cdx.ComponentTypeApplication, + Name: "trivy", + Group: "aquasecurity", + Version: "dev", + }, + }, + }, + Component: &cdx.Component{ + BOMRef: "3ff14136-e09f-4df9-80ea-000000000002", + Type: cdx.ComponentTypeApplication, + Name: "jackson-databind-2.13.4.1.jar", + Properties: &[]cdx.Property{ + { + Name: "aquasecurity:trivy:SchemaVersion", + Value: "2", + }, + }, + }, + }, + Components: &[]cdx.Component{ + { + BOMRef: "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.13.4.1?file_path=jackson-databind-2.13.4.1.jar", + Type: cdx.ComponentTypeLibrary, + Group: "com.fasterxml.jackson.core", + Name: "jackson-databind", + Version: "2.13.4.1", + PackageURL: "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.13.4.1", + Properties: &[]cdx.Property{ + { + Name: "aquasecurity:trivy:FilePath", + Value: "jackson-databind-2.13.4.1.jar", + }, + { + Name: "aquasecurity:trivy:PkgType", + Value: "jar", + }, + }, + }, + }, + Vulnerabilities: &[]cdx.Vulnerability{ + { + ID: "CVE-2022-42003", + Source: &cdx.Source{ + Name: string(vulnerability.GHSA), + URL: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven", + }, + Recommendation: "Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.12.7.1, 2.13.4.2", + Ratings: &[]cdx.VulnerabilityRating{ + { + Source: &cdx.Source{ + Name: string(vulnerability.GHSA), + }, + Score: lo.ToPtr(7.5), + Severity: cdx.SeverityHigh, + Method: cdx.ScoringMethodCVSSv31, + Vector: "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", + }, + }, + Description: "In FasterXML jackson-databind before versions 2.13.4.1 and 2.12.17.1, resource exhaustion can occur because of a lack of a check in primitive value deserializers to avoid deep wrapper array nesting, when the UNWRAP_SINGLE_VALUE_ARRAYS feature is enabled.", + Advisories: &[]cdx.Advisory{ + { + URL: "https://avd.aquasec.com/nvd/cve-2022-42003", + }, + { + URL: "https://access.redhat.com/security/cve/CVE-2022-42003", + }, + }, + Published: "2022-10-02T05:15:00+00:00", + Updated: "2022-12-20T10:15:00+00:00", + Affects: &[]cdx.Affects{ + { + Ref: "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.13.4.1?file_path=jackson-databind-2.13.4.1.jar", + Range: &[]cdx.AffectedVersions{ + { + Version: "2.13.4.1", + Status: cdx.VulnerabilityStatusAffected, + }, + }, + }, + }, + }, + }, + Dependencies: &[]cdx.Dependency{ + { + Ref: "3ff14136-e09f-4df9-80ea-000000000002", + Dependencies: &[]string{ + "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.13.4.1?file_path=jackson-databind-2.13.4.1.jar", + }, + }, + { + Ref: "pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.13.4.1?file_path=jackson-databind-2.13.4.1.jar", + Dependencies: lo.ToPtr([]string{}), + }, + }, + }, + }, { name: "happy path. 2 packages for 1 CVE", inputReport: types.Report{ diff --git a/pkg/sbom/cyclonedx/unmarshal.go b/pkg/sbom/cyclonedx/unmarshal.go index 921c3455d121..59c36bde5226 100644 --- a/pkg/sbom/cyclonedx/unmarshal.go +++ b/pkg/sbom/cyclonedx/unmarshal.go @@ -408,13 +408,22 @@ func fillSrcPkg(pkg *ftypes.Package) { } func toTrivyCdxComponent(component cdx.Component) ftypes.Component { + var props []ftypes.Property + for _, prop := range lo.FromPtr(component.Properties) { + props = append(props, ftypes.Property{ + Name: prop.Name, + Value: prop.Value, + }) + } return ftypes.Component{ BOMRef: component.BOMRef, MIMEType: component.MIMEType, Type: ftypes.ComponentType(component.Type), Name: component.Name, + Group: component.Group, Version: component.Version, PackageURL: component.PackageURL, + Properties: props, } } From c6844a73f19dd1908d50cd5dd801ff3059dfa998 Mon Sep 17 00:00:00 2001 From: Kristina Trotsko Date: Fri, 16 Feb 2024 09:39:03 +0100 Subject: [PATCH 276/338] feat(report): support for filtering licenses and secrets via rego policy files (#6004) --- contrib/example_policy/basic.rego | 18 +++++ docs/docs/configuration/filtering.md | 7 +- pkg/result/filter.go | 28 ++++++++ pkg/result/filter_test.go | 72 +++++++++++++++++++ ...st-ignore-policy-licenses-and-secrets.rego | 15 ++++ 5 files changed, 137 insertions(+), 3 deletions(-) create mode 100644 pkg/result/testdata/test-ignore-policy-licenses-and-secrets.rego diff --git a/contrib/example_policy/basic.rego b/contrib/example_policy/basic.rego index 361345b2cbcf..0cf9f0ea04e7 100644 --- a/contrib/example_policy/basic.rego +++ b/contrib/example_policy/basic.rego @@ -56,3 +56,21 @@ ignore { # https://cwe.mitre.org/data/definitions/352.html input.CweIDs[_] == "CWE-352" } + +# Ignore a license +ignore { + input.PkgName == "alpine-baselayout" + input.Name == "GPL-2.0" +} + +# Ignore loose file license +ignore { + input.Name == "AGPL-3.0" + input.FilePath == "/usr/share/grafana/LICENSE" +} + +# Ignore secret +ignore { + input.RuleID == "aws-access-key-id" + input.Match == "AWS_ACCESS_KEY_ID=\"********************\"" +} diff --git a/docs/docs/configuration/filtering.md b/docs/docs/configuration/filtering.md index 428220c87dfc..ad8c72e4b20f 100644 --- a/docs/docs/configuration/filtering.md +++ b/docs/docs/configuration/filtering.md @@ -409,8 +409,8 @@ Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0) |:----------------:|:---------:| | Vulnerability | ✓ | | Misconfiguration | ✓ | -| Secret | | -| License | | +| Secret | ✓ | +| License | ✓ | !!! warning "EXPERIMENTAL" This feature might change without preserving backwards compatibility. @@ -455,7 +455,8 @@ trivy image -f json centos:7 ... ``` -Each individual vulnerability (under `Results.Vulnerabilities`) or Misconfiguration (under `Results.Misconfigurations`) is evaluated for exclusion or inclusion by the `ignore` rule. +Each individual Vulnerability, Misconfiguration, License and Secret (under `Results.Vulnerabilities`, `Results.Misconfigurations`, +`Results.Licenses`, `Results.Secrets`) is evaluated for exclusion or inclusion by the `ignore` rule. The following is a Rego ignore policy that filters out every vulnerability with a specific CWE ID (as seen in the JSON example above): diff --git a/pkg/result/filter.go b/pkg/result/filter.go index d1569f720548..3feb82acc83e 100644 --- a/pkg/result/filter.go +++ b/pkg/result/filter.go @@ -288,6 +288,34 @@ func applyPolicy(ctx context.Context, result *types.Result, policyFile string) e } result.Misconfigurations = filteredMisconfs + // Secrets + var filteredSecrets []types.DetectedSecret + for _, scrt := range result.Secrets { + ignored, err := evaluate(ctx, query, scrt) + if err != nil { + return err + } + if ignored { + continue + } + filteredSecrets = append(filteredSecrets, scrt) + } + result.Secrets = filteredSecrets + + // Licenses + var filteredLicenses []types.DetectedLicense + for _, lic := range result.Licenses { + ignored, err := evaluate(ctx, query, lic) + if err != nil { + return err + } + if ignored { + continue + } + filteredLicenses = append(filteredLicenses, lic) + } + result.Licenses = filteredLicenses + return nil } diff --git a/pkg/result/filter_test.go b/pkg/result/filter_test.go index 41eec6efd572..7a809447ad30 100644 --- a/pkg/result/filter_test.go +++ b/pkg/result/filter_test.go @@ -615,6 +615,78 @@ func TestFilter(t *testing.T) { }, }, }, + { + name: "ignore file for licenses and secrets", + args: args{ + report: types.Report{ + Results: types.Results{ + { + Licenses: []types.DetectedLicense{ + { + Name: "GPL-3.0", + Severity: dbTypes.SeverityLow.String(), + FilePath: "usr/share/gcc/python/libstdcxx/v6/__init__.py", + Category: "restricted", + Confidence: 1, + }, + { + Name: "GPL-3.0", + Severity: dbTypes.SeverityLow.String(), + FilePath: "usr/share/gcc/python/libstdcxx/v6/printers.py", + Category: "restricted", + Confidence: 1, + }, + }, + Secrets: []types.DetectedSecret{ + { + RuleID: "generic-passed-rule", + Severity: dbTypes.SeverityLow.String(), + Title: "Secret should pass filter", + StartLine: 1, + EndLine: 2, + Match: "*****", + }, + { + RuleID: "generic-ignored-rule", + Severity: dbTypes.SeverityLow.String(), + Title: "Secret should be ignored", + StartLine: 3, + EndLine: 4, + Match: "*****", + }, + }, + }, + }, + }, + severities: []dbTypes.Severity{dbTypes.SeverityLow}, + policyFile: "./testdata/test-ignore-policy-licenses-and-secrets.rego", + }, + want: types.Report{ + Results: types.Results{ + { + Licenses: []types.DetectedLicense{ + { + Name: "GPL-3.0", + Severity: dbTypes.SeverityLow.String(), + FilePath: "usr/share/gcc/python/libstdcxx/v6/__init__.py", + Category: "restricted", + Confidence: 1, + }, + }, + Secrets: []types.DetectedSecret{ + { + RuleID: "generic-passed-rule", + Severity: dbTypes.SeverityLow.String(), + Title: "Secret should pass filter", + StartLine: 1, + EndLine: 2, + Match: "*****", + }, + }, + }, + }, + }, + }, { name: "happy path with duplicates, one with empty fixed version", args: args{ diff --git a/pkg/result/testdata/test-ignore-policy-licenses-and-secrets.rego b/pkg/result/testdata/test-ignore-policy-licenses-and-secrets.rego new file mode 100644 index 000000000000..b53c16a11ffa --- /dev/null +++ b/pkg/result/testdata/test-ignore-policy-licenses-and-secrets.rego @@ -0,0 +1,15 @@ +package trivy + +import data.lib.trivy + +default ignore=false + +ignore { + input.Name == "GPL-3.0" + input.FilePath == "usr/share/gcc/python/libstdcxx/v6/printers.py" +} + +ignore { + input.RuleID == "generic-ignored-rule" + input.Title == "Secret should be ignored" +} From fb79ea7c95ae0c64422a8b30c590aac32f0754c2 Mon Sep 17 00:00:00 2001 From: Mike Thomas Date: Fri, 16 Feb 2024 01:58:08 -0700 Subject: [PATCH 277/338] docs: update template path for gitlab-ci tutorial (#6144) --- docs/tutorials/integrations/gitlab-ci.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/tutorials/integrations/gitlab-ci.md b/docs/tutorials/integrations/gitlab-ci.md index 0cf1e93dbbe9..d1afc9128e4d 100644 --- a/docs/tutorials/integrations/gitlab-ci.md +++ b/docs/tutorials/integrations/gitlab-ci.md @@ -41,7 +41,7 @@ trivy: # Build image - docker build -t $IMAGE . # Build report - - ./trivy image --exit-code 0 --format template --template "@contrib/gitlab.tpl" -o gl-container-scanning-report.json $IMAGE + - ./trivy image --exit-code 0 --format template --template "@/contrib/gitlab.tpl" -o gl-container-scanning-report.json $IMAGE # Print report - ./trivy image --exit-code 0 --severity HIGH $IMAGE # Fail on severe vulnerabilities @@ -148,9 +148,9 @@ trivy: # Build image - docker build -t $IMAGE . # Image report - - ./trivy image --exit-code 0 --format template --template "@contrib/gitlab-codequality.tpl" -o gl-codeclimate-image.json $IMAGE + - ./trivy image --exit-code 0 --format template --template "@/contrib/gitlab-codequality.tpl" -o gl-codeclimate-image.json $IMAGE # Filesystem report - - ./trivy filesystem --scanners misconfig,vuln --exit-code 0 --format template --template "@contrib/gitlab-codequality.tpl" -o gl-codeclimate-fs.json . + - ./trivy filesystem --scanners misconfig,vuln --exit-code 0 --format template --template "@/contrib/gitlab-codequality.tpl" -o gl-codeclimate-fs.json . # Combine report - apk update && apk add jq - jq -s 'add' gl-codeclimate-image.json gl-codeclimate-fs.json > gl-codeclimate.json From 32a02a95dd063ec11bf3060b3c1cb91bb49d54d9 Mon Sep 17 00:00:00 2001 From: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Date: Fri, 16 Feb 2024 15:04:57 +0600 Subject: [PATCH 278/338] docs(report): add remark about `path` to filter licenses using `.trivyignore.yaml` file (#6145) --- docs/docs/configuration/filtering.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/docs/configuration/filtering.md b/docs/docs/configuration/filtering.md index ad8c72e4b20f..72b2e8449d05 100644 --- a/docs/docs/configuration/filtering.md +++ b/docs/docs/configuration/filtering.md @@ -338,7 +338,7 @@ Available fields: | Field | Required | Type | Description | |------------|:--------:|---------------------|------------------------------------------------------------------------------------------------------------| | id | ✓ | string | The identifier of the vulnerability, misconfiguration, secret, or license[^1]. | -| paths | | string array | The list of file paths to be ignored. If `paths` is not set, the ignore finding is applied to all files. | +| paths[^2] | | string array | The list of file paths to be ignored. If `paths` is not set, the ignore finding is applied to all files. | | expired_at | | date (`yyyy-mm-dd`) | The expiration date of the ignore finding. If `expired_at` is not set, the ignore finding is always valid. | | statement | | string | The reason for ignoring the finding. (This field is not used for filtering.) | @@ -490,4 +490,5 @@ You can find more example policies [here](https://github.com/aquasecurity/trivy/ Please refer to the [VEX documentation](../supply-chain/vex.md) for the details. -[^1]: license name is used as id for `.trivyignore.yaml` files +[^1]: license name is used as id for `.trivyignore.yaml` files. +[^2]: This doesn't work for package licenses. The `path` field can only be used for license files (licenses obtained using the [--license-full flag](../scanner/license.md#full-scanning)). \ No newline at end of file From 74dc5b6804c9285acc86e334add5383ac144725d Mon Sep 17 00:00:00 2001 From: Teppei Fukuda Date: Mon, 19 Feb 2024 15:16:35 +0400 Subject: [PATCH 279/338] chore(deps): merge go-dep-parser into Trivy (#6094) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Arunprasad Rajkumar Signed-off-by: guoguangwu Signed-off-by: dependabot[bot] Signed-off-by: knqyf263 Co-authored-by: Masahiro Co-authored-by: Tomoya Amachi Co-authored-by: Masahiro Co-authored-by: Liz Rice Co-authored-by: Johannes Co-authored-by: aprp Co-authored-by: rahul2393 Co-authored-by: Arunprasad Rajkumar Co-authored-by: Emrecan BATI Co-authored-by: sherif84 <12298259+sherif84@users.noreply.github.com> Co-authored-by: Sherif Fathalla Co-authored-by: sherif Co-authored-by: Sam Lane Co-authored-by: Ankush K Co-authored-by: Ankush K Co-authored-by: Tauseef Co-authored-by: Daniel Co-authored-by: Matthieu MOREL Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: afdesk Co-authored-by: AndreyLevchenko Co-authored-by: Kobus van Schoor <10784365+kobus-v-schoor@users.noreply.github.com> Co-authored-by: Jan-Otto Kröpke Co-authored-by: jerbob92 Co-authored-by: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com> Co-authored-by: Shira Cohen <97398476+ShiraCohen33@users.noreply.github.com> Co-authored-by: astevenson-microsoft <78623826+astevenson-microsoft@users.noreply.github.com> Co-authored-by: Kyriakos Georgiou Co-authored-by: mycodeself Co-authored-by: DavidSalame <75929252+davidsalame1@users.noreply.github.com> Co-authored-by: Tom Fay Co-authored-by: Tom Fay Co-authored-by: François Poirotte Co-authored-by: Guy Ben-Aharon Co-authored-by: Catminusminus <37803616+Catminusminus@users.noreply.github.com> Co-authored-by: Lior Vaisman Argon <97836016+VaismanLior@users.noreply.github.com> Co-authored-by: Matthieu Maitre Co-authored-by: Andrea Scarpino Co-authored-by: MorAlon1 <101275199+MorAlon1@users.noreply.github.com> Co-authored-by: liorj-orca <96177663+liorj-orca@users.noreply.github.com> Co-authored-by: Nikita Pivkin <100182843+nikpivkin@users.noreply.github.com> Co-authored-by: guangwu Co-authored-by: Nikita Pivkin Co-authored-by: DmitriyLewen Co-authored-by: yuriShafet <5830215+yuriShafet@users.noreply.github.com> Co-authored-by: Octogonapus --- .golangci.yaml | 1 + go.mod | 12 +- go.sum | 8 +- pkg/dependency/parser/c/conan/parse.go | 133 + pkg/dependency/parser/c/conan/parse_test.go | 139 + .../parser/c/conan/testdata/empty.lock | 14 + .../parser/c/conan/testdata/happy.lock | 41 + .../parser/c/conan/testdata/happy2.lock | 36 + .../parser/c/conan/testdata/sad.lock | 24 + pkg/dependency/parser/conda/meta/parse.go | 43 + .../parser/conda/meta/parse_test.go | 59 + .../parser/conda/meta/testdata/README.md | 14 + .../meta/testdata/_libgcc_mutex-0.1-main.json | 32 + .../conda/meta/testdata/invalid_json.json | 1 + .../conda/meta/testdata/invalid_package.json | 1 + .../testdata/libgomp-11.2.0-h1234567_1.json | 60 + pkg/dependency/parser/dart/pub/parse.go | 60 + pkg/dependency/parser/dart/pub/parse_test.go | 76 + .../parser/dart/pub/testdata/broken.lock | 1 + .../parser/dart/pub/testdata/empty.lock | 6 + .../parser/dart/pub/testdata/happy.lock | 25 + .../parser/dotnet/core_deps/parse.go | 74 + .../parser/dotnet/core_deps/parse_test.go | 70 + .../core_deps/testdata/ExampleApp1.deps.json | 41 + .../core_deps/testdata/InvalidJson.deps.json | 12 + .../core_deps/testdata/NoLibraries.deps.json | 27 + .../parser/frameworks/wordpress/parse.go | 78 + .../parser/frameworks/wordpress/parse_test.go | 49 + .../frameworks/wordpress/testdata/version.php | 50 + .../wordpress/testdata/versionFail.php | 50 + pkg/dependency/parser/golang/binary/parse.go | 67 + .../parser/golang/binary/parse_test.go | 112 + .../parser/golang/binary/testdata/dummy | 1 + .../parser/golang/binary/testdata/replace.elf | Bin 0 -> 5390726 bytes .../parser/golang/binary/testdata/test.elf | Bin 0 -> 2597807 bytes .../parser/golang/binary/testdata/test.exe | Bin 0 -> 2708480 bytes .../parser/golang/binary/testdata/test.macho | Bin 0 -> 2689368 bytes pkg/dependency/parser/golang/mod/parse.go | 162 + .../parser/golang/mod/parse_test.go | 135 + .../parser/golang/mod/parse_testcase.go | 261 + .../parser/golang/mod/testdata/go116/go.mod | 7 + .../parser/golang/mod/testdata/go116/go.sum | 62 + .../parser/golang/mod/testdata/go116/main.go | 13 + .../golang/mod/testdata/no-go-version/gomod | 3 + .../golang/mod/testdata/no-go-version/main.go | 13 + .../parser/golang/mod/testdata/normal/go.mod | 10 + .../parser/golang/mod/testdata/normal/go.sum | 62 + .../parser/golang/mod/testdata/normal/main.go | 13 + .../go.mod | 12 + .../go.sum | 60 + .../main.go | 13 + .../xerrors/go.mod | 3 + .../xerrors/xerrors.go | 5 + .../go.mod | 12 + .../go.sum | 60 + .../main.go | 13 + .../xerrors/go.mod | 3 + .../xerrors/xerrors.go | 5 + .../testdata/replaced-with-local-path/go.mod | 12 + .../testdata/replaced-with-local-path/go.sum | 59 + .../testdata/replaced-with-local-path/main.go | 13 + .../replaced-with-local-path/xerrors/go.mod | 3 + .../xerrors/xerrors.go | 5 + .../replaced-with-version-mismatch/go.mod | 12 + .../replaced-with-version-mismatch/go.sum | 62 + .../replaced-with-version-mismatch/main.go | 13 + .../mod/testdata/replaced-with-version/go.mod | 9 + .../mod/testdata/replaced-with-version/go.sum | 61 + .../testdata/replaced-with-version/main.go | 13 + .../golang/mod/testdata/replaced/go.mod | 9 + .../golang/mod/testdata/replaced/go.sum | 61 + .../golang/mod/testdata/replaced/main.go | 13 + pkg/dependency/parser/golang/sum/parse.go | 50 + .../parser/golang/sum/parse_test.go | 61 + .../parser/golang/sum/parse_testcase.go | 394 + .../golang/sum/testdata/gomod_emptyline.sum | 5 + .../parser/golang/sum/testdata/gomod_many.sum | 24 + .../golang/sum/testdata/gomod_normal.sum | 2 + .../golang/sum/testdata/gomod_trivy.sum | 869 + .../parser/gradle/lockfile/parse.go | 52 + .../parser/gradle/lockfile/parse_test.go | 86 + .../gradle/lockfile/testdata/empty.lockfile | 4 + .../gradle/lockfile/testdata/happy.lockfile | 8 + pkg/dependency/parser/hex/mix/parse.go | 61 + pkg/dependency/parser/hex/mix/parse_test.go | 77 + .../parser/hex/mix/testdata/empty.mix.lock | 2 + .../parser/hex/mix/testdata/happy.mix.lock | 7 + pkg/dependency/parser/io/io.go | 25 + pkg/dependency/parser/java/jar/parse.go | 441 + pkg/dependency/parser/java/jar/parse_test.go | 332 + .../parser/java/jar/sonatype/log.go | 32 + .../parser/java/jar/sonatype/sonatype.go | 196 + .../parser/java/jar/testdata/gradle.war | Bin 0 -> 1250681 bytes .../hadoop-shaded-guava-1.1.0-SNAPSHOT.jar | Bin 0 -> 18264 bytes .../jar/testdata/heuristic-1.0.0-SNAPSHOT.jar | Bin 0 -> 358 bytes .../io.quarkus.gizmo.gizmo-1.1.1.Final.jar | Bin 0 -> 882367 bytes .../parser/java/jar/testdata/maven.war | Bin 0 -> 2525883 bytes .../parser/java/jar/testdata/nested.jar | Bin 0 -> 1483 bytes .../parser/java/jar/testdata/test.jar | Bin 0 -> 1105 bytes .../jar/testdata/testimage/gradle/Dockerfile | 4 + .../testdata/testimage/gradle/build.gradle | 25 + .../jar/testdata/testimage/maven/Dockerfile | 8 + .../java/jar/testdata/testimage/maven/pom.xml | 32 + pkg/dependency/parser/java/jar/types.go | 34 + pkg/dependency/parser/java/pom/artifact.go | 162 + .../parser/java/pom/artifact_test.go | 99 + pkg/dependency/parser/java/pom/cache.go | 21 + pkg/dependency/parser/java/pom/parse.go | 672 + pkg/dependency/parser/java/pom/parse_test.go | 1251 ++ pkg/dependency/parser/java/pom/pom.go | 352 + pkg/dependency/parser/java/pom/queue.go | 32 + pkg/dependency/parser/java/pom/settings.go | 44 + .../java/pom/testdata/conf/settings.xml | 66 + .../pom/testdata/exclusions-in-child/pom.xml | 17 + .../java/pom/testdata/exclusions/pom.xml | 31 + .../parser/java/pom/testdata/happy/pom.xml | 44 + .../pom/testdata/hard-requirement/pom.xml | 39 + .../pom.xml | 48 + .../import-dependency-management/pom.xml | 40 + .../testdata/inherit-license/module/pom.xml | 10 + .../inherit-license/module/submodule/pom.xml | 10 + .../java/pom/testdata/inherit-license/pom.xml | 15 + .../pom/testdata/inherit-props/base/pom.xml | 24 + .../java/pom/testdata/inherit-props/pom.xml | 29 + .../module1/pom.xml | 23 + .../module2/pom.xml | 23 + .../multi-module-soft-requirement/pom.xml | 18 + .../pom/testdata/multi-module/module/pom.xml | 27 + .../java/pom/testdata/multi-module/pom.xml | 25 + .../pom/testdata/multiply-licenses/pom.xml | 23 + .../no-parent-infinity-loop/parent/pom.xml | 19 + .../testdata/no-parent-infinity-loop/pom.xml | 17 + .../pom/testdata/not-found-dependency/pom.xml | 27 + .../pom/testdata/not-found-module/pom.xml | 25 + .../pom/testdata/not-found-parent/pom.xml | 33 + .../parser/java/pom/testdata/offline/pom.xml | 24 + .../parent-child-properties/child/pom.xml | 28 + .../parent-child-properties/parent/pom.xml | 21 + .../top-parent/pom.xml | 29 + .../parent-dependencies/child/pom.xml | 24 + .../pom/testdata/parent-dependencies/pom.xml | 35 + .../child/pom.xml | 32 + .../parent-dependency-management/pom.xml | 35 + .../testdata/parent-properties/child/pom.xml | 39 + .../pom/testdata/parent-properties/pom.xml | 48 + .../parent-relative-path/parent/pom.xml | 40 + .../pom/testdata/parent-relative-path/pom.xml | 32 + .../testdata/parent-remote-repository/pom.xml | 31 + .../parent-version-is-property/child/pom.xml | 25 + .../parent-version-is-property/pom.xml | 27 + .../project-version-from-parent/child/pom.xml | 24 + .../parent/pom.xml | 21 + .../top-parent/pom.xml | 13 + .../example-api/1.7.30/example-api-1.7.30.pom | 23 + .../example-api/2.0.0/example-api-2.0.0.pom | 23 + .../example-bom/1.0.0/example-bom-1.0.0.pom | 23 + .../example-bom/2.0.0/example-bom-2.0.0.pom | 23 + .../example-bom/3.0.0/example-bom-3.0.0.pom | 27 + .../example-bom/4.0.0/example-bom-4.0.0.pom | 27 + .../2.0.0/example-child-parent-2.0.0.pom | 23 + .../2.0.0/example-child-2.0.0.pom | 34 + .../example-dependency-management-2.2.2.pom | 25 + .../example-dependency-management-3.3.3.pom | 39 + .../example-dependency-management2-1.1.1.pom | 29 + .../example-dependency-management3-1.1.1.pom | 34 + .../1.2.3/example-dependency-1.2.3.pom | 23 + .../1.2.4/example-dependency-1.2.4.pom | 23 + .../2.3.4/example-dependency2-2.3.4.pom | 23 + .../4.0.0/example-exclusions-4.0.0.pom | 28 + .../3.3.3/example-nested-3.3.3.pom | 23 + .../3.3.4/example-nested-3.3.4.pom | 23 + .../1.0.0/example-parent-1.0.0.pom | 14 + .../testdata/root-pom-dep-management/pom.xml | 27 + .../pom.xml | 24 + .../pom/testdata/soft-requirement/pom.xml | 43 + .../transitive-dependency-management/pom.xml | 21 + .../testdata/transitive-parents/base/pom.xml | 35 + .../pom/testdata/transitive-parents/pom.xml | 31 + .../pom/testdata/version-requirement/pom.xml | 34 + .../pom/testdata/wildcard-exclusions/pom.xml | 48 + pkg/dependency/parser/java/pom/utils.go | 26 + .../parser/julia/manifest/naive_pkg_parser.go | 69 + pkg/dependency/parser/julia/manifest/parse.go | 166 + .../parser/julia/manifest/parse_test.go | 75 + .../parser/julia/manifest/parse_testcase.go | 77 + .../testdata/dep_ext_v1.9/Manifest.toml | 16 + .../testdata/no_deps_v1.6/Manifest.toml | 2 + .../testdata/no_deps_v1.9/Manifest.toml | 7 + .../testdata/primary/Manifest_v1.6.toml | 27 + .../testdata/primary/Manifest_v1.8.toml | 63 + .../testdata/shadowed_dep_v1.9/Manifest.toml | 16 + pkg/dependency/parser/log/log.go | 24 + pkg/dependency/parser/nodejs/npm/parse.go | 381 + .../parser/nodejs/npm/parse_test.go | 66 + .../parser/nodejs/npm/parse_testcase.go | 151 + .../nodejs/npm/testdata/package-lock_v1.json | 241 + .../nodejs/npm/testdata/package-lock_v2.json | 544 + .../nodejs/npm/testdata/package-lock_v3.json | 309 + .../package-lock_v3_with_workspace.json | 66 + ...ckage-lock_v3_without_root_deps_field.json | 40 + .../parser/nodejs/packagejson/parse.go | 75 + .../parser/nodejs/packagejson/parse_test.go | 117 + .../packagejson/testdata/invalid_package.json | 3 + .../packagejson/testdata/legacy_package.json | 136 + .../nodejs/packagejson/testdata/package.json | 142 + .../without_name_and_version_package.json | 3 + .../testdata/without_version_package.json | 4 + pkg/dependency/parser/nodejs/pnpm/parse.go | 180 + .../parser/nodejs/pnpm/parse_test.go | 224 + .../parser/nodejs/pnpm/parse_testcase.go | 220 + .../pnpm/testdata/pnpm-lock_archives.yaml | 60 + .../nodejs/pnpm/testdata/pnpm-lock_many.yaml | 868 + .../pnpm/testdata/pnpm-lock_normal.yaml | 25 + .../nodejs/pnpm/testdata/pnpm-lock_v6.yaml | 25 + .../pnpm/testdata/pnpm-lock_v6_with_dev.yaml | 563 + .../pnpm/testdata/pnpm-lock_with_dev.yaml | 562 + pkg/dependency/parser/nodejs/yarn/parse.go | 316 + .../parser/nodejs/yarn/parse_test.go | 390 + .../parser/nodejs/yarn/parse_testcase.go | 15892 ++++++++++++++++ .../yarn/testcase_deps_generator/Dockerfile | 5 + .../yarn/testcase_deps_generator/index.js | 80 + .../yarn/testcase_deps_generator/package.json | 10 + .../yarn/testcase_deps_generator/yarn.lock | 13 + .../nodejs/yarn/testdata/yarn_many.lock | 1541 ++ .../nodejs/yarn/testdata/yarn_normal.lock | 20 + .../nodejs/yarn/testdata/yarn_react.lock | 82 + .../nodejs/yarn/testdata/yarn_realworld.lock | 14927 +++++++++++++++ .../testdata/yarn_v2_deps_with_protocol.lock | 33 + .../nodejs/yarn/testdata/yarn_v2_many.lock | 2447 +++ .../nodejs/yarn/testdata/yarn_v2_normal.lock | 38 + .../nodejs/yarn/testdata/yarn_v2_react.lock | 111 + .../yarn/testdata/yarn_v2_with_dev.lock | 1961 ++ .../yarn/testdata/yarn_with_bad_protocol.lock | 7 + .../nodejs/yarn/testdata/yarn_with_dev.lock | 872 + .../nodejs/yarn/testdata/yarn_with_git.lock | 7 + .../nodejs/yarn/testdata/yarn_with_local.lock | 24 + .../nodejs/yarn/testdata/yarn_with_npm.lock | 4 + pkg/dependency/parser/nuget/config/parse.go | 53 + .../parser/nuget/config/parse_test.go | 58 + .../config/testdata/dev_dependency.config | 5 + .../config/testdata/malformed_xml.config | 4 + .../nuget/config/testdata/packages.config | 5 + pkg/dependency/parser/nuget/lock/parse.go | 107 + .../parser/nuget/lock/parse_test.go | 87 + .../parser/nuget/lock/parse_testcase.go | 145 + .../lock/testdata/packages_lock_legacy.json | 26 + .../lock/testdata/packages_lock_multi.json | 488 + .../lock/testdata/packages_lock_simple.json | 19 + .../packages_lock_subdependencies.json | 62 + .../parser/nuget/packagesprops/parse.go | 85 + .../parser/nuget/packagesprops/parse_test.go | 82 + .../testdata/Directory.Packages.props | 7 + .../testdata/no_item_group.props | 11 + .../packagesprops/testdata/no_project.props | 10 + .../packagesprops/testdata/packages.props | 11 + .../testdata/several_item_groups | 10 + .../testdata/variables_and_empty | 9 + pkg/dependency/parser/php/composer/parse.go | 112 + .../parser/php/composer/parse_test.go | 171 + .../php/composer/testdata/composer_happy.lock | 792 + .../parser/python/packaging/parse.go | 70 + .../parser/python/packaging/parse_test.go | 131 + .../testdata/distlib-0.3.1-py3.9.egg-info | 30 + .../packaging/testdata/distlib-0.3.1.METADATA | 24 + .../testdata/iniconfig-2.0.0.METADATA | 80 + .../python/packaging/testdata/invalid.json | 1 + .../packaging/testdata/networkx-3.0.METADATA | 132 + .../setuptools-51.3.3-py3.8.egg-info.PKG-INFO | 87 + .../packaging/testdata/simple-0.1.0.METADATA | 3 + .../testdata/unidecode-egg-info.PKG-INFO | 47 + .../packaging/testdata/zipp-3.12.1.METADATA | 106 + pkg/dependency/parser/python/pip/parse.go | 77 + .../parser/python/pip/parse_test.go | 68 + .../parser/python/pip/parse_testcase.go | 56 + .../pip/testdata/requirement_exstras.txt | 2 + .../pip/testdata/requirements_comments.txt | 8 + .../pip/testdata/requirements_flask.txt | 6 + .../python/pip/testdata/requirements_hash.txt | 6 + .../pip/testdata/requirements_hyphens.txt | 2 + .../pip/testdata/requirements_no_version.txt | 2 + .../pip/testdata/requirements_operator.txt | 7 + .../pip/testdata/requirements_spaces.txt | 5 + .../pip/testdata/requirements_utf16le.txt | Bin 0 -> 32 bytes pkg/dependency/parser/python/pipenv/parse.go | 59 + .../parser/python/pipenv/parse_test.go | 62 + .../parser/python/pipenv/parse_testcase.go | 78 + .../pipenv/testdata/Pipfile_django.lock | 104 + .../python/pipenv/testdata/Pipfile_many.lock | 247 + .../pipenv/testdata/Pipfile_normal.lock | 74 + pkg/dependency/parser/python/poetry/parse.go | 155 + .../parser/python/poetry/parse_test.go | 129 + .../parser/python/poetry/parse_testcase.go | 135 + .../python/poetry/testdata/poetry_flask.lock | 164 + .../python/poetry/testdata/poetry_many.lock | 1984 ++ .../python/poetry/testdata/poetry_normal.lock | 17 + .../parser/python/pyproject/pyproject.go | 37 + .../parser/python/pyproject/pyproject_test.go | 63 + .../python/pyproject/testdata/happy.toml | 19 + .../parser/python/pyproject/testdata/sad.toml | 1 + pkg/dependency/parser/ruby/bundler/parse.go | 136 + .../parser/ruby/bundler/parse_test.go | 198 + .../bundler/testdata/Gemfile_bundler2.lock | 27 + .../bundler/testdata/Gemfile_malformed.lock | 1 + .../ruby/bundler/testdata/Gemfile_normal.lock | 25 + pkg/dependency/parser/ruby/gemspec/parse.go | 134 + .../parser/ruby/gemspec/parse_test.go | 81 + .../ruby/gemspec/testdata/license.gemspec | 10 + .../ruby/gemspec/testdata/malformed00.gemspec | 10 + .../ruby/gemspec/testdata/malformed01.gemspec | 10 + .../testdata/multiple_licenses.gemspec | 41 + .../ruby/gemspec/testdata/normal00.gemspec | 26 + .../ruby/gemspec/testdata/normal01.gemspec | 10 + pkg/dependency/parser/rust/binary/parse.go | 75 + .../parser/rust/binary/parse_test.go | 90 + .../parser/rust/binary/testdata/dummy | 1 + .../parser/rust/binary/testdata/test.elf | Bin 0 -> 407960 bytes .../parser/rust/binary/testdata/test.exe | Bin 0 -> 1394632 bytes .../parser/rust/binary/testdata/test.macho | Bin 0 -> 473632 bytes .../parser/rust/cargo/naive_pkg_parser.go | 74 + pkg/dependency/parser/rust/cargo/parse.go | 118 + .../parser/rust/cargo/parse_test.go | 152 + .../rust/cargo/testdata/cargo_invalid.lock | 34 + .../rust/cargo/testdata/cargo_mixed.lock | 61 + .../rust/cargo/testdata/cargo_normal.lock | 54 + .../parser/rust/cargo/testdata/cargo_v3.lock | 74 + .../parser/swift/cocoapods/parse.go | 108 + .../parser/swift/cocoapods/parse_test.go | 95 + .../swift/cocoapods/testdata/empty.lock | 1 + .../swift/cocoapods/testdata/happy.lock | 12 + .../parser/swift/cocoapods/testdata/sad.lock | 4 + pkg/dependency/parser/swift/swift/parse.go | 80 + .../parser/swift/swift/parse_test.go | 100 + .../swift/testdata/empty-Package.resolved | 1 + .../swift/testdata/happy-v1-Package.resolved | 25 + .../swift/testdata/happy-v2-Package.resolved | 50 + pkg/dependency/parser/swift/swift/types.go | 26 + pkg/dependency/parser/types/types.go | 74 + pkg/dependency/parser/utils/utils.go | 71 + pkg/dependency/parser/utils/utils_test.go | 117 + pkg/fanal/analyzer/analyzer.go | 2 +- pkg/fanal/analyzer/analyzer_test.go | 2 +- pkg/fanal/analyzer/language/analyze.go | 4 +- pkg/fanal/analyzer/language/analyze_test.go | 4 +- pkg/fanal/analyzer/language/c/conan/conan.go | 2 +- .../analyzer/language/conda/meta/meta.go | 2 +- .../analyzer/language/dart/pub/pubspec.go | 6 +- .../analyzer/language/dotnet/deps/deps.go | 2 +- .../analyzer/language/dotnet/nuget/nuget.go | 6 +- .../dotnet/packagesprops/packagesprops.go | 2 +- pkg/fanal/analyzer/language/elixir/mix/mix.go | 2 +- .../analyzer/language/golang/binary/binary.go | 2 +- pkg/fanal/analyzer/language/golang/mod/mod.go | 8 +- .../analyzer/language/java/gradle/lockfile.go | 2 +- pkg/fanal/analyzer/language/java/jar/jar.go | 4 +- pkg/fanal/analyzer/language/java/pom/pom.go | 2 +- .../language/nodejs/license/license.go | 2 +- pkg/fanal/analyzer/language/nodejs/npm/npm.go | 8 +- pkg/fanal/analyzer/language/nodejs/pkg/pkg.go | 6 +- .../analyzer/language/nodejs/pnpm/pnpm.go | 2 +- .../analyzer/language/nodejs/yarn/yarn.go | 6 +- .../language/php/composer/composer.go | 4 +- .../language/python/packaging/packaging.go | 6 +- pkg/fanal/analyzer/language/python/pip/pip.go | 2 +- .../analyzer/language/python/pipenv/pipenv.go | 2 +- .../analyzer/language/python/poetry/poetry.go | 6 +- .../analyzer/language/ruby/bundler/bundler.go | 2 +- .../analyzer/language/ruby/gemspec/gemspec.go | 2 +- .../analyzer/language/rust/binary/binary.go | 2 +- .../analyzer/language/rust/cargo/cargo.go | 4 +- .../language/swift/cocoapods/cocoapods.go | 2 +- .../analyzer/language/swift/swift/swift.go | 2 +- pkg/fanal/analyzer/licensing/license.go | 2 +- pkg/fanal/analyzer/pkg/dpkg/copyright.go | 2 +- pkg/fanal/analyzer/pkg/rpm/rpmqa.go | 2 +- pkg/fanal/artifact/vm/vm_test.go | 2 +- pkg/fanal/utils/utils.go | 2 +- pkg/fanal/walker/cached_file.go | 2 +- pkg/fanal/walker/fs.go | 2 +- pkg/fanal/walker/vm.go | 2 +- pkg/javadb/client.go | 2 +- pkg/log/logger.go | 4 +- pkg/module/memfs.go | 2 +- pkg/parallel/walk.go | 2 +- pkg/x/io/io.go | 2 +- 384 files changed, 63319 insertions(+), 79 deletions(-) create mode 100644 pkg/dependency/parser/c/conan/parse.go create mode 100644 pkg/dependency/parser/c/conan/parse_test.go create mode 100644 pkg/dependency/parser/c/conan/testdata/empty.lock create mode 100644 pkg/dependency/parser/c/conan/testdata/happy.lock create mode 100644 pkg/dependency/parser/c/conan/testdata/happy2.lock create mode 100644 pkg/dependency/parser/c/conan/testdata/sad.lock create mode 100644 pkg/dependency/parser/conda/meta/parse.go create mode 100644 pkg/dependency/parser/conda/meta/parse_test.go create mode 100644 pkg/dependency/parser/conda/meta/testdata/README.md create mode 100644 pkg/dependency/parser/conda/meta/testdata/_libgcc_mutex-0.1-main.json create mode 100644 pkg/dependency/parser/conda/meta/testdata/invalid_json.json create mode 100644 pkg/dependency/parser/conda/meta/testdata/invalid_package.json create mode 100644 pkg/dependency/parser/conda/meta/testdata/libgomp-11.2.0-h1234567_1.json create mode 100644 pkg/dependency/parser/dart/pub/parse.go create mode 100644 pkg/dependency/parser/dart/pub/parse_test.go create mode 100644 pkg/dependency/parser/dart/pub/testdata/broken.lock create mode 100644 pkg/dependency/parser/dart/pub/testdata/empty.lock create mode 100644 pkg/dependency/parser/dart/pub/testdata/happy.lock create mode 100644 pkg/dependency/parser/dotnet/core_deps/parse.go create mode 100644 pkg/dependency/parser/dotnet/core_deps/parse_test.go create mode 100644 pkg/dependency/parser/dotnet/core_deps/testdata/ExampleApp1.deps.json create mode 100644 pkg/dependency/parser/dotnet/core_deps/testdata/InvalidJson.deps.json create mode 100644 pkg/dependency/parser/dotnet/core_deps/testdata/NoLibraries.deps.json create mode 100644 pkg/dependency/parser/frameworks/wordpress/parse.go create mode 100644 pkg/dependency/parser/frameworks/wordpress/parse_test.go create mode 100644 pkg/dependency/parser/frameworks/wordpress/testdata/version.php create mode 100644 pkg/dependency/parser/frameworks/wordpress/testdata/versionFail.php create mode 100644 pkg/dependency/parser/golang/binary/parse.go create mode 100644 pkg/dependency/parser/golang/binary/parse_test.go create mode 100644 pkg/dependency/parser/golang/binary/testdata/dummy create mode 100755 pkg/dependency/parser/golang/binary/testdata/replace.elf create mode 100755 pkg/dependency/parser/golang/binary/testdata/test.elf create mode 100755 pkg/dependency/parser/golang/binary/testdata/test.exe create mode 100755 pkg/dependency/parser/golang/binary/testdata/test.macho create mode 100644 pkg/dependency/parser/golang/mod/parse.go create mode 100644 pkg/dependency/parser/golang/mod/parse_test.go create mode 100644 pkg/dependency/parser/golang/mod/parse_testcase.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/go116/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/go116/go.sum create mode 100644 pkg/dependency/parser/golang/mod/testdata/go116/main.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/no-go-version/gomod create mode 100644 pkg/dependency/parser/golang/mod/testdata/no-go-version/main.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/normal/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/normal/go.sum create mode 100644 pkg/dependency/parser/golang/mod/testdata/normal/main.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version-mismatch/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version-mismatch/go.sum create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version-mismatch/main.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version-mismatch/xerrors/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version-mismatch/xerrors/xerrors.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version/go.sum create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version/main.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version/xerrors/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path-and-version/xerrors/xerrors.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path/go.sum create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path/main.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path/xerrors/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-local-path/xerrors/xerrors.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-version-mismatch/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-version-mismatch/go.sum create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-version-mismatch/main.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-version/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-version/go.sum create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced-with-version/main.go create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced/go.mod create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced/go.sum create mode 100644 pkg/dependency/parser/golang/mod/testdata/replaced/main.go create mode 100644 pkg/dependency/parser/golang/sum/parse.go create mode 100644 pkg/dependency/parser/golang/sum/parse_test.go create mode 100644 pkg/dependency/parser/golang/sum/parse_testcase.go create mode 100644 pkg/dependency/parser/golang/sum/testdata/gomod_emptyline.sum create mode 100644 pkg/dependency/parser/golang/sum/testdata/gomod_many.sum create mode 100644 pkg/dependency/parser/golang/sum/testdata/gomod_normal.sum create mode 100644 pkg/dependency/parser/golang/sum/testdata/gomod_trivy.sum create mode 100644 pkg/dependency/parser/gradle/lockfile/parse.go create mode 100644 pkg/dependency/parser/gradle/lockfile/parse_test.go create mode 100644 pkg/dependency/parser/gradle/lockfile/testdata/empty.lockfile create mode 100644 pkg/dependency/parser/gradle/lockfile/testdata/happy.lockfile create mode 100644 pkg/dependency/parser/hex/mix/parse.go create mode 100644 pkg/dependency/parser/hex/mix/parse_test.go create mode 100644 pkg/dependency/parser/hex/mix/testdata/empty.mix.lock create mode 100644 pkg/dependency/parser/hex/mix/testdata/happy.mix.lock create mode 100644 pkg/dependency/parser/io/io.go create mode 100644 pkg/dependency/parser/java/jar/parse.go create mode 100644 pkg/dependency/parser/java/jar/parse_test.go create mode 100644 pkg/dependency/parser/java/jar/sonatype/log.go create mode 100644 pkg/dependency/parser/java/jar/sonatype/sonatype.go create mode 100644 pkg/dependency/parser/java/jar/testdata/gradle.war create mode 100644 pkg/dependency/parser/java/jar/testdata/hadoop-shaded-guava-1.1.0-SNAPSHOT.jar create mode 100644 pkg/dependency/parser/java/jar/testdata/heuristic-1.0.0-SNAPSHOT.jar create mode 100644 pkg/dependency/parser/java/jar/testdata/io.quarkus.gizmo.gizmo-1.1.1.Final.jar create mode 100644 pkg/dependency/parser/java/jar/testdata/maven.war create mode 100644 pkg/dependency/parser/java/jar/testdata/nested.jar create mode 100644 pkg/dependency/parser/java/jar/testdata/test.jar create mode 100644 pkg/dependency/parser/java/jar/testdata/testimage/gradle/Dockerfile create mode 100644 pkg/dependency/parser/java/jar/testdata/testimage/gradle/build.gradle create mode 100644 pkg/dependency/parser/java/jar/testdata/testimage/maven/Dockerfile create mode 100644 pkg/dependency/parser/java/jar/testdata/testimage/maven/pom.xml create mode 100644 pkg/dependency/parser/java/jar/types.go create mode 100644 pkg/dependency/parser/java/pom/artifact.go create mode 100644 pkg/dependency/parser/java/pom/artifact_test.go create mode 100644 pkg/dependency/parser/java/pom/cache.go create mode 100644 pkg/dependency/parser/java/pom/parse.go create mode 100644 pkg/dependency/parser/java/pom/parse_test.go create mode 100644 pkg/dependency/parser/java/pom/pom.go create mode 100644 pkg/dependency/parser/java/pom/queue.go create mode 100644 pkg/dependency/parser/java/pom/settings.go create mode 100644 pkg/dependency/parser/java/pom/testdata/conf/settings.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/exclusions-in-child/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/exclusions/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/happy/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/hard-requirement/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/import-dependency-management-multiple/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/import-dependency-management/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/inherit-license/module/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/inherit-license/module/submodule/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/inherit-license/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/inherit-props/base/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/inherit-props/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/multi-module-soft-requirement/module1/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/multi-module-soft-requirement/module2/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/multi-module-soft-requirement/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/multi-module/module/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/multi-module/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/multiply-licenses/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/no-parent-infinity-loop/parent/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/no-parent-infinity-loop/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/not-found-dependency/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/not-found-module/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/not-found-parent/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/offline/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-child-properties/child/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-child-properties/parent/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-child-properties/top-parent/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-dependencies/child/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-dependencies/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-dependency-management/child/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-dependency-management/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-properties/child/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-properties/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-relative-path/parent/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-relative-path/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-remote-repository/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-version-is-property/child/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/parent-version-is-property/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/project-version-from-parent/child/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/project-version-from-parent/parent/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/project-version-from-parent/top-parent/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-api/1.7.30/example-api-1.7.30.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-api/2.0.0/example-api-2.0.0.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-bom/1.0.0/example-bom-1.0.0.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-bom/2.0.0/example-bom-2.0.0.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-bom/3.0.0/example-bom-3.0.0.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-bom/4.0.0/example-bom-4.0.0.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-child-parent/2.0.0/example-child-parent-2.0.0.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-child/2.0.0/example-child-2.0.0.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-dependency-management/2.2.2/example-dependency-management-2.2.2.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-dependency-management/3.3.3/example-dependency-management-3.3.3.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-dependency-management2/1.1.1/example-dependency-management2-1.1.1.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-dependency-management3/1.1.1/example-dependency-management3-1.1.1.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-dependency/1.2.3/example-dependency-1.2.3.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-dependency/1.2.4/example-dependency-1.2.4.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-dependency2/2.3.4/example-dependency2-2.3.4.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-exclusions/4.0.0/example-exclusions-4.0.0.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-nested/3.3.3/example-nested-3.3.3.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-nested/3.3.4/example-nested-3.3.4.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/repository/org/example/example-parent/1.0.0/example-parent-1.0.0.pom create mode 100644 pkg/dependency/parser/java/pom/testdata/root-pom-dep-management/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/soft-requirement-with-transitive-dependencies/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/soft-requirement/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/transitive-dependency-management/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/transitive-parents/base/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/transitive-parents/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/version-requirement/pom.xml create mode 100644 pkg/dependency/parser/java/pom/testdata/wildcard-exclusions/pom.xml create mode 100644 pkg/dependency/parser/java/pom/utils.go create mode 100644 pkg/dependency/parser/julia/manifest/naive_pkg_parser.go create mode 100644 pkg/dependency/parser/julia/manifest/parse.go create mode 100644 pkg/dependency/parser/julia/manifest/parse_test.go create mode 100644 pkg/dependency/parser/julia/manifest/parse_testcase.go create mode 100644 pkg/dependency/parser/julia/manifest/testdata/dep_ext_v1.9/Manifest.toml create mode 100644 pkg/dependency/parser/julia/manifest/testdata/no_deps_v1.6/Manifest.toml create mode 100644 pkg/dependency/parser/julia/manifest/testdata/no_deps_v1.9/Manifest.toml create mode 100644 pkg/dependency/parser/julia/manifest/testdata/primary/Manifest_v1.6.toml create mode 100644 pkg/dependency/parser/julia/manifest/testdata/primary/Manifest_v1.8.toml create mode 100644 pkg/dependency/parser/julia/manifest/testdata/shadowed_dep_v1.9/Manifest.toml create mode 100644 pkg/dependency/parser/log/log.go create mode 100644 pkg/dependency/parser/nodejs/npm/parse.go create mode 100644 pkg/dependency/parser/nodejs/npm/parse_test.go create mode 100644 pkg/dependency/parser/nodejs/npm/parse_testcase.go create mode 100644 pkg/dependency/parser/nodejs/npm/testdata/package-lock_v1.json create mode 100644 pkg/dependency/parser/nodejs/npm/testdata/package-lock_v2.json create mode 100644 pkg/dependency/parser/nodejs/npm/testdata/package-lock_v3.json create mode 100644 pkg/dependency/parser/nodejs/npm/testdata/package-lock_v3_with_workspace.json create mode 100644 pkg/dependency/parser/nodejs/npm/testdata/package-lock_v3_without_root_deps_field.json create mode 100644 pkg/dependency/parser/nodejs/packagejson/parse.go create mode 100644 pkg/dependency/parser/nodejs/packagejson/parse_test.go create mode 100644 pkg/dependency/parser/nodejs/packagejson/testdata/invalid_package.json create mode 100644 pkg/dependency/parser/nodejs/packagejson/testdata/legacy_package.json create mode 100644 pkg/dependency/parser/nodejs/packagejson/testdata/package.json create mode 100644 pkg/dependency/parser/nodejs/packagejson/testdata/without_name_and_version_package.json create mode 100644 pkg/dependency/parser/nodejs/packagejson/testdata/without_version_package.json create mode 100644 pkg/dependency/parser/nodejs/pnpm/parse.go create mode 100644 pkg/dependency/parser/nodejs/pnpm/parse_test.go create mode 100644 pkg/dependency/parser/nodejs/pnpm/parse_testcase.go create mode 100644 pkg/dependency/parser/nodejs/pnpm/testdata/pnpm-lock_archives.yaml create mode 100644 pkg/dependency/parser/nodejs/pnpm/testdata/pnpm-lock_many.yaml create mode 100644 pkg/dependency/parser/nodejs/pnpm/testdata/pnpm-lock_normal.yaml create mode 100644 pkg/dependency/parser/nodejs/pnpm/testdata/pnpm-lock_v6.yaml create mode 100644 pkg/dependency/parser/nodejs/pnpm/testdata/pnpm-lock_v6_with_dev.yaml create mode 100644 pkg/dependency/parser/nodejs/pnpm/testdata/pnpm-lock_with_dev.yaml create mode 100644 pkg/dependency/parser/nodejs/yarn/parse.go create mode 100644 pkg/dependency/parser/nodejs/yarn/parse_test.go create mode 100644 pkg/dependency/parser/nodejs/yarn/parse_testcase.go create mode 100644 pkg/dependency/parser/nodejs/yarn/testcase_deps_generator/Dockerfile create mode 100644 pkg/dependency/parser/nodejs/yarn/testcase_deps_generator/index.js create mode 100644 pkg/dependency/parser/nodejs/yarn/testcase_deps_generator/package.json create mode 100644 pkg/dependency/parser/nodejs/yarn/testcase_deps_generator/yarn.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_many.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_normal.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_react.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_realworld.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_v2_deps_with_protocol.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_v2_many.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_v2_normal.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_v2_react.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_v2_with_dev.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_with_bad_protocol.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_with_dev.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_with_git.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_with_local.lock create mode 100644 pkg/dependency/parser/nodejs/yarn/testdata/yarn_with_npm.lock create mode 100644 pkg/dependency/parser/nuget/config/parse.go create mode 100644 pkg/dependency/parser/nuget/config/parse_test.go create mode 100644 pkg/dependency/parser/nuget/config/testdata/dev_dependency.config create mode 100644 pkg/dependency/parser/nuget/config/testdata/malformed_xml.config create mode 100644 pkg/dependency/parser/nuget/config/testdata/packages.config create mode 100644 pkg/dependency/parser/nuget/lock/parse.go create mode 100644 pkg/dependency/parser/nuget/lock/parse_test.go create mode 100644 pkg/dependency/parser/nuget/lock/parse_testcase.go create mode 100644 pkg/dependency/parser/nuget/lock/testdata/packages_lock_legacy.json create mode 100644 pkg/dependency/parser/nuget/lock/testdata/packages_lock_multi.json create mode 100644 pkg/dependency/parser/nuget/lock/testdata/packages_lock_simple.json create mode 100644 pkg/dependency/parser/nuget/lock/testdata/packages_lock_subdependencies.json create mode 100644 pkg/dependency/parser/nuget/packagesprops/parse.go create mode 100644 pkg/dependency/parser/nuget/packagesprops/parse_test.go create mode 100644 pkg/dependency/parser/nuget/packagesprops/testdata/Directory.Packages.props create mode 100644 pkg/dependency/parser/nuget/packagesprops/testdata/no_item_group.props create mode 100644 pkg/dependency/parser/nuget/packagesprops/testdata/no_project.props create mode 100644 pkg/dependency/parser/nuget/packagesprops/testdata/packages.props create mode 100644 pkg/dependency/parser/nuget/packagesprops/testdata/several_item_groups create mode 100644 pkg/dependency/parser/nuget/packagesprops/testdata/variables_and_empty create mode 100644 pkg/dependency/parser/php/composer/parse.go create mode 100644 pkg/dependency/parser/php/composer/parse_test.go create mode 100644 pkg/dependency/parser/php/composer/testdata/composer_happy.lock create mode 100644 pkg/dependency/parser/python/packaging/parse.go create mode 100644 pkg/dependency/parser/python/packaging/parse_test.go create mode 100644 pkg/dependency/parser/python/packaging/testdata/distlib-0.3.1-py3.9.egg-info create mode 100644 pkg/dependency/parser/python/packaging/testdata/distlib-0.3.1.METADATA create mode 100644 pkg/dependency/parser/python/packaging/testdata/iniconfig-2.0.0.METADATA create mode 100644 pkg/dependency/parser/python/packaging/testdata/invalid.json create mode 100644 pkg/dependency/parser/python/packaging/testdata/networkx-3.0.METADATA create mode 100644 pkg/dependency/parser/python/packaging/testdata/setuptools-51.3.3-py3.8.egg-info.PKG-INFO create mode 100644 pkg/dependency/parser/python/packaging/testdata/simple-0.1.0.METADATA create mode 100644 pkg/dependency/parser/python/packaging/testdata/unidecode-egg-info.PKG-INFO create mode 100644 pkg/dependency/parser/python/packaging/testdata/zipp-3.12.1.METADATA create mode 100644 pkg/dependency/parser/python/pip/parse.go create mode 100644 pkg/dependency/parser/python/pip/parse_test.go create mode 100644 pkg/dependency/parser/python/pip/parse_testcase.go create mode 100644 pkg/dependency/parser/python/pip/testdata/requirement_exstras.txt create mode 100644 pkg/dependency/parser/python/pip/testdata/requirements_comments.txt create mode 100644 pkg/dependency/parser/python/pip/testdata/requirements_flask.txt create mode 100644 pkg/dependency/parser/python/pip/testdata/requirements_hash.txt create mode 100644 pkg/dependency/parser/python/pip/testdata/requirements_hyphens.txt create mode 100644 pkg/dependency/parser/python/pip/testdata/requirements_no_version.txt create mode 100644 pkg/dependency/parser/python/pip/testdata/requirements_operator.txt create mode 100644 pkg/dependency/parser/python/pip/testdata/requirements_spaces.txt create mode 100644 pkg/dependency/parser/python/pip/testdata/requirements_utf16le.txt create mode 100644 pkg/dependency/parser/python/pipenv/parse.go create mode 100644 pkg/dependency/parser/python/pipenv/parse_test.go create mode 100644 pkg/dependency/parser/python/pipenv/parse_testcase.go create mode 100644 pkg/dependency/parser/python/pipenv/testdata/Pipfile_django.lock create mode 100644 pkg/dependency/parser/python/pipenv/testdata/Pipfile_many.lock create mode 100644 pkg/dependency/parser/python/pipenv/testdata/Pipfile_normal.lock create mode 100644 pkg/dependency/parser/python/poetry/parse.go create mode 100644 pkg/dependency/parser/python/poetry/parse_test.go create mode 100644 pkg/dependency/parser/python/poetry/parse_testcase.go create mode 100644 pkg/dependency/parser/python/poetry/testdata/poetry_flask.lock create mode 100644 pkg/dependency/parser/python/poetry/testdata/poetry_many.lock create mode 100644 pkg/dependency/parser/python/poetry/testdata/poetry_normal.lock create mode 100644 pkg/dependency/parser/python/pyproject/pyproject.go create mode 100644 pkg/dependency/parser/python/pyproject/pyproject_test.go create mode 100644 pkg/dependency/parser/python/pyproject/testdata/happy.toml create mode 100644 pkg/dependency/parser/python/pyproject/testdata/sad.toml create mode 100644 pkg/dependency/parser/ruby/bundler/parse.go create mode 100644 pkg/dependency/parser/ruby/bundler/parse_test.go create mode 100644 pkg/dependency/parser/ruby/bundler/testdata/Gemfile_bundler2.lock create mode 100644 pkg/dependency/parser/ruby/bundler/testdata/Gemfile_malformed.lock create mode 100644 pkg/dependency/parser/ruby/bundler/testdata/Gemfile_normal.lock create mode 100644 pkg/dependency/parser/ruby/gemspec/parse.go create mode 100644 pkg/dependency/parser/ruby/gemspec/parse_test.go create mode 100644 pkg/dependency/parser/ruby/gemspec/testdata/license.gemspec create mode 100644 pkg/dependency/parser/ruby/gemspec/testdata/malformed00.gemspec create mode 100644 pkg/dependency/parser/ruby/gemspec/testdata/malformed01.gemspec create mode 100644 pkg/dependency/parser/ruby/gemspec/testdata/multiple_licenses.gemspec create mode 100644 pkg/dependency/parser/ruby/gemspec/testdata/normal00.gemspec create mode 100644 pkg/dependency/parser/ruby/gemspec/testdata/normal01.gemspec create mode 100644 pkg/dependency/parser/rust/binary/parse.go create mode 100644 pkg/dependency/parser/rust/binary/parse_test.go create mode 100644 pkg/dependency/parser/rust/binary/testdata/dummy create mode 100644 pkg/dependency/parser/rust/binary/testdata/test.elf create mode 100644 pkg/dependency/parser/rust/binary/testdata/test.exe create mode 100644 pkg/dependency/parser/rust/binary/testdata/test.macho create mode 100644 pkg/dependency/parser/rust/cargo/naive_pkg_parser.go create mode 100644 pkg/dependency/parser/rust/cargo/parse.go create mode 100644 pkg/dependency/parser/rust/cargo/parse_test.go create mode 100644 pkg/dependency/parser/rust/cargo/testdata/cargo_invalid.lock create mode 100644 pkg/dependency/parser/rust/cargo/testdata/cargo_mixed.lock create mode 100644 pkg/dependency/parser/rust/cargo/testdata/cargo_normal.lock create mode 100644 pkg/dependency/parser/rust/cargo/testdata/cargo_v3.lock create mode 100644 pkg/dependency/parser/swift/cocoapods/parse.go create mode 100644 pkg/dependency/parser/swift/cocoapods/parse_test.go create mode 100644 pkg/dependency/parser/swift/cocoapods/testdata/empty.lock create mode 100644 pkg/dependency/parser/swift/cocoapods/testdata/happy.lock create mode 100644 pkg/dependency/parser/swift/cocoapods/testdata/sad.lock create mode 100644 pkg/dependency/parser/swift/swift/parse.go create mode 100644 pkg/dependency/parser/swift/swift/parse_test.go create mode 100644 pkg/dependency/parser/swift/swift/testdata/empty-Package.resolved create mode 100644 pkg/dependency/parser/swift/swift/testdata/happy-v1-Package.resolved create mode 100644 pkg/dependency/parser/swift/swift/testdata/happy-v2-Package.resolved create mode 100644 pkg/dependency/parser/swift/swift/types.go create mode 100644 pkg/dependency/parser/types/types.go create mode 100644 pkg/dependency/parser/utils/utils.go create mode 100644 pkg/dependency/parser/utils/utils_test.go diff --git a/.golangci.yaml b/.golangci.yaml index bc8a0c66b786..1ab912bad2b1 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -19,6 +19,7 @@ linters-settings: locale: US ignore-words: - licence + - optimise gosec: excludes: - G101 diff --git a/go.mod b/go.mod index 55160d8771a1..412cf86ebbf4 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,6 @@ require ( github.com/NYTimes/gziphandler v1.1.1 github.com/alicebob/miniredis/v2 v2.31.1 github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 - github.com/aquasecurity/go-dep-parser v0.0.0-20240208080026-8cc7d408bce4 github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798 github.com/aquasecurity/go-pep440-version v0.0.0-20210121094942-22b2f8951d46 @@ -35,6 +34,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ecr v1.24.6 github.com/aws/aws-sdk-go-v2/service/s3 v1.48.1 github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 + github.com/bitnami/go-version v0.0.0-20231130084017-bb00604d650c github.com/bmatcuk/doublestar/v4 v4.6.1 github.com/cenkalti/backoff v2.2.1+incompatible github.com/cheggaaa/pb/v3 v3.1.4 @@ -55,6 +55,7 @@ require ( github.com/google/wire v0.5.0 github.com/hashicorp/go-getter v1.7.3 github.com/hashicorp/go-multierror v1.1.1 + github.com/hashicorp/go-retryablehttp v0.7.5 github.com/hashicorp/golang-lru/v2 v2.0.6 github.com/in-toto/in-toto-golang v0.9.0 github.com/knqyf263/go-apk-version v0.0.0-20200609155635-041fdbb8563f @@ -63,6 +64,7 @@ require ( github.com/knqyf263/go-rpmdb v0.0.0-20231008124120-ac49267ab4e1 github.com/knqyf263/nested v0.0.1 github.com/kylelemons/godebug v1.1.0 + github.com/liamg/jfather v0.0.7 github.com/magefile/mage v1.15.0 github.com/mailru/easyjson v0.7.7 github.com/masahiro331/go-disk v0.0.0-20220919035250-c8da316f91ac @@ -72,6 +74,7 @@ require ( github.com/masahiro331/go-vmdk-parser v0.0.0-20221225061455-612096e4bbbd github.com/masahiro331/go-xfs-filesystem v0.0.0-20230608043311-a335f4599b70 github.com/mattn/go-shellwords v1.0.12 + github.com/microsoft/go-rustaudit v0.0.0-20220808201409-204dfee52032 github.com/mitchellh/hashstructure/v2 v2.0.2 github.com/mitchellh/mapstructure v1.5.0 github.com/moby/buildkit v0.12.5 @@ -104,6 +107,7 @@ require ( go.uber.org/zap v1.26.0 golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa golang.org/x/mod v0.14.0 + golang.org/x/net v0.20.0 golang.org/x/sync v0.6.0 golang.org/x/term v0.16.0 golang.org/x/text v0.14.0 @@ -120,11 +124,9 @@ require ( github.com/antchfx/htmlquery v1.3.0 github.com/apparentlymart/go-cidr v1.1.0 github.com/aws/smithy-go v1.19.0 - github.com/bitnami/go-version v0.0.0-20231130084017-bb00604d650c - github.com/hashicorp/go-uuid v1.0.3 + github.com/hashicorp/go-uuid v1.0.1 github.com/hashicorp/hcl/v2 v2.19.1 github.com/liamg/iamgo v0.0.9 - github.com/liamg/jfather v0.0.7 github.com/liamg/memoryfs v1.6.0 github.com/mitchellh/go-homedir v1.1.0 github.com/olekukonko/tablewriter v0.0.5 @@ -132,7 +134,6 @@ require ( github.com/zclconf/go-cty v1.13.0 github.com/zclconf/go-cty-yaml v1.0.3 golang.org/x/crypto v0.18.0 - golang.org/x/net v0.20.0 helm.sh/helm/v3 v3.14.1 ) @@ -318,7 +319,6 @@ require ( github.com/mattn/go-isatty v0.0.19 // indirect github.com/mattn/go-runewidth v0.0.14 // indirect github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect - github.com/microsoft/go-rustaudit v0.0.0-20220808201409-204dfee52032 // indirect github.com/miekg/dns v1.1.53 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect diff --git a/go.sum b/go.sum index d33828651a6d..6f6fe6aa2278 100644 --- a/go.sum +++ b/go.sum @@ -325,8 +325,6 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30xLN2sUZcMXl50hg+PJCIDdJgIvIbVcKqLJ/ZrtM= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8= -github.com/aquasecurity/go-dep-parser v0.0.0-20240208080026-8cc7d408bce4 h1:6qs80w4qPbPnF6GhbIifSANqfCrq90CKtSUBaw6p0z0= -github.com/aquasecurity/go-dep-parser v0.0.0-20240208080026-8cc7d408bce4/go.mod h1:P0PmelcN1ABKJrDzRbPnn6hK7RvgI+xmjiV/9uPaNnY= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce/go.mod h1:HXgVzOPvXhVGLJs4ZKO817idqr/xhwsTcj17CLYY74s= github.com/aquasecurity/go-mock-aws v0.0.0-20240109054747-49e4b5da33cb h1:dNxUB2bSbiLGNYcXkbBKrrfuY96+dXhA9FahEFZ4THQ= @@ -1084,6 +1082,9 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-getter v1.7.3 h1:bN2+Fw9XPFvOCjB0UOevFIMICZ7G2XSQHzfvLUyOM5E= github.com/hashicorp/go-getter v1.7.3/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= @@ -1098,9 +1099,8 @@ github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoD github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= -github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= diff --git a/pkg/dependency/parser/c/conan/parse.go b/pkg/dependency/parser/c/conan/parse.go new file mode 100644 index 000000000000..5113dfceae67 --- /dev/null +++ b/pkg/dependency/parser/c/conan/parse.go @@ -0,0 +1,133 @@ +package conan + +import ( + "fmt" + "io" + "strings" + + "github.com/liamg/jfather" + "golang.org/x/exp/slices" + "golang.org/x/xerrors" + + dio "github.com/aquasecurity/trivy/pkg/dependency/parser/io" + "github.com/aquasecurity/trivy/pkg/dependency/parser/log" + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +type LockFile struct { + GraphLock GraphLock `json:"graph_lock"` +} + +type GraphLock struct { + Nodes map[string]Node `json:"nodes"` +} + +type Node struct { + Ref string `json:"ref"` + Requires []string `json:"requires"` + StartLine int + EndLine int +} + +type Parser struct{} + +func NewParser() types.Parser { + return &Parser{} +} + +func (p *Parser) Parse(r dio.ReadSeekerAt) ([]types.Library, []types.Dependency, error) { + var lock LockFile + input, err := io.ReadAll(r) + if err != nil { + return nil, nil, xerrors.Errorf("failed to read canon lock file: %w", err) + } + if err := jfather.Unmarshal(input, &lock); err != nil { + return nil, nil, xerrors.Errorf("failed to decode canon lock file: %w", err) + } + + // Get a list of direct dependencies + var directDeps []string + if root, ok := lock.GraphLock.Nodes["0"]; ok { + directDeps = root.Requires + } + + // Parse packages + parsed := make(map[string]types.Library) + for i, node := range lock.GraphLock.Nodes { + if node.Ref == "" { + continue + } + lib, err := parseRef(node) + if err != nil { + log.Logger.Debug(err) + continue + } + + // Determine if the package is a direct dependency or not + direct := slices.Contains(directDeps, i) + lib.Indirect = !direct + + parsed[i] = lib + } + + // Parse dependency graph + var libs []types.Library + var deps []types.Dependency + for i, node := range lock.GraphLock.Nodes { + lib, ok := parsed[i] + if !ok { + continue + } + + var childDeps []string + for _, req := range node.Requires { + if child, ok := parsed[req]; ok { + childDeps = append(childDeps, child.ID) + } + } + if len(childDeps) != 0 { + deps = append(deps, types.Dependency{ + ID: lib.ID, + DependsOn: childDeps, + }) + } + + libs = append(libs, lib) + } + return libs, deps, nil +} + +func parseRef(node Node) (types.Library, error) { + // full ref format: package/version@user/channel#rrev:package_id#prev + // various examples: + // 'pkga/0.1@user/testing' + // 'pkgb/0.1.0' + // 'pkgc/system' + // 'pkgd/0.1.0#7dcb50c43a5a50d984c2e8fa5898bf18' + ss := strings.Split(strings.Split(strings.Split(node.Ref, "@")[0], "#")[0], "/") + if len(ss) != 2 { + return types.Library{}, xerrors.Errorf("Unable to determine conan dependency: %q", node.Ref) + } + return types.Library{ + ID: fmt.Sprintf("%s/%s", ss[0], ss[1]), + Name: ss[0], + Version: ss[1], + Locations: []types.Location{ + { + StartLine: node.StartLine, + EndLine: node.EndLine, + }, + }, + }, nil +} + +// UnmarshalJSONWithMetadata needed to detect start and end lines of deps +func (n *Node) UnmarshalJSONWithMetadata(node jfather.Node) error { + if err := node.Decode(&n); err != nil { + return err + } + // Decode func will overwrite line numbers if we save them first + n.StartLine = node.Range().Start.Line + n.EndLine = node.Range().End.Line + return nil +} diff --git a/pkg/dependency/parser/c/conan/parse_test.go b/pkg/dependency/parser/c/conan/parse_test.go new file mode 100644 index 000000000000..862036bec738 --- /dev/null +++ b/pkg/dependency/parser/c/conan/parse_test.go @@ -0,0 +1,139 @@ +package conan_test + +import ( + "os" + "sort" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/dependency/parser/c/conan" + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +func TestParse(t *testing.T) { + tests := []struct { + name string + inputFile string // Test input file + wantLibs []types.Library + wantDeps []types.Dependency + }{ + { + name: "happy path", + inputFile: "testdata/happy.lock", + wantLibs: []types.Library{ + { + ID: "pkga/0.0.1", + Name: "pkga", + Version: "0.0.1", + Locations: []types.Location{ + { + StartLine: 13, + EndLine: 22, + }, + }, + }, + { + ID: "pkgb/system", + Name: "pkgb", + Version: "system", + Indirect: true, + Locations: []types.Location{ + { + StartLine: 23, + EndLine: 29, + }, + }, + }, + { + ID: "pkgc/0.1.1", + Name: "pkgc", + Version: "0.1.1", + Locations: []types.Location{ + { + StartLine: 30, + EndLine: 35, + }, + }, + }, + }, + wantDeps: []types.Dependency{ + { + ID: "pkga/0.0.1", + DependsOn: []string{ + "pkgb/system", + }, + }, + }, + }, + { + name: "happy path. lock file with revisions support", + inputFile: "testdata/happy2.lock", + wantLibs: []types.Library{ + { + ID: "openssl/3.0.3", + Name: "openssl", + Version: "3.0.3", + Locations: []types.Location{ + { + StartLine: 12, + EndLine: 22, + }, + }, + }, + { + ID: "zlib/1.2.12", + Name: "zlib", + Version: "1.2.12", + Indirect: true, + Locations: []types.Location{ + { + StartLine: 23, + EndLine: 30, + }, + }, + }, + }, + wantDeps: []types.Dependency{ + { + ID: "openssl/3.0.3", + DependsOn: []string{ + "zlib/1.2.12", + }, + }, + }, + }, + { + name: "happy path. lock file without dependencies", + inputFile: "testdata/empty.lock", + }, + { + name: "sad path. wrong ref format", + inputFile: "testdata/sad.lock", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f, err := os.Open(tt.inputFile) + require.NoError(t, err) + defer f.Close() + + gotLibs, gotDeps, err := conan.NewParser().Parse(f) + require.NoError(t, err) + + sort.Slice(gotLibs, func(i, j int) bool { + ret := strings.Compare(gotLibs[i].Name, gotLibs[j].Name) + if ret != 0 { + return ret < 0 + } + return gotLibs[i].Version < gotLibs[j].Version + }) + + assert.Equal(t, tt.wantLibs, gotLibs) + assert.Equal(t, tt.wantDeps, gotDeps) + }) + } +} diff --git a/pkg/dependency/parser/c/conan/testdata/empty.lock b/pkg/dependency/parser/c/conan/testdata/empty.lock new file mode 100644 index 000000000000..13708b45b920 --- /dev/null +++ b/pkg/dependency/parser/c/conan/testdata/empty.lock @@ -0,0 +1,14 @@ +{ + "graph_lock": { + "nodes": { + "0": { + "options": "", + "path": "conanfile.txt", + "context": "host" + } + }, + "revisions_enabled": false + }, + "version": "0.4", + "profile_host": "[settings]\narch=x86_64\narch_build=x86_64\nbuild_type=Release\ncompiler=gcc\ncompiler.libcxx=libstdc++\ncompiler.version=9\nos=Linux\nos_build=Linux\n[options]\n[build_requires]\n[env]\n" +} \ No newline at end of file diff --git a/pkg/dependency/parser/c/conan/testdata/happy.lock b/pkg/dependency/parser/c/conan/testdata/happy.lock new file mode 100644 index 000000000000..764f490c07e4 --- /dev/null +++ b/pkg/dependency/parser/c/conan/testdata/happy.lock @@ -0,0 +1,41 @@ +{ + "graph_lock": { + "nodes": { + "0": { + "options": "glew:fPIC=True\nglew:shared=False\nglew:with_egl=False", + "requires": [ + "1", + "3" + ], + "path": "conanfile.txt", + "context": "host" + }, + "1": { + "ref": "pkga/0.0.1", + "options": "fPIC=True\nshared=False\nwith_egl=False", + "package_id": "", + "prev": "0", + "requires": [ + "2" + ], + "context": "host" + }, + "2": { + "ref": "pkgb/system", + "options": "", + "package_id": "", + "prev": "0", + "context": "host" + }, + "3": { + "ref": "pkgc/0.1.1@user/testing", + "options": "shared=False", + "path": "conanfile.txt", + "context": "host" + } + }, + "revisions_enabled": false + }, + "version": "0.4", + "profile_host": "[settings]\narch=x86_64\narch_build=x86_64\nbuild_type=Release\ncompiler=gcc\ncompiler.libcxx=libstdc++\ncompiler.version=9\nos=Linux\nos_build=Linux\n[options]\n[build_requires]\n[env]\n" +} \ No newline at end of file diff --git a/pkg/dependency/parser/c/conan/testdata/happy2.lock b/pkg/dependency/parser/c/conan/testdata/happy2.lock new file mode 100644 index 000000000000..33ba5dbf7e67 --- /dev/null +++ b/pkg/dependency/parser/c/conan/testdata/happy2.lock @@ -0,0 +1,36 @@ +{ + "graph_lock": { + "nodes": { + "0": { + "options": "openssl:386=False\nopenssl:enable_weak_ssl_ciphers=False\nopenssl:fPIC=True\nopenssl:no_aria=False\nopenssl:no_asm=False\nopenssl:no_async=False\nopenssl:no_bf=False\nopenssl:no_blake2=False\nopenssl:no_camellia=False\nopenssl:no_cast=False\nopenssl:no_chacha=False\nopenssl:no_cms=False\nopenssl:no_comp=False\nopenssl:no_ct=False\nopenssl:no_deprecated=False\nopenssl:no_des=False\nopenssl:no_dgram=False\nopenssl:no_dh=False\nopenssl:no_dsa=False\nopenssl:no_dso=False\nopenssl:no_ec=False\nopenssl:no_ecdh=False\nopenssl:no_ecdsa=False\nopenssl:no_engine=False\nopenssl:no_filenames=False\nopenssl:no_fips=False\nopenssl:no_gost=False\nopenssl:no_idea=False\nopenssl:no_legacy=False\nopenssl:no_md2=True\nopenssl:no_md4=False\nopenssl:no_mdc2=False\nopenssl:no_module=False\nopenssl:no_ocsp=False\nopenssl:no_pinshared=False\nopenssl:no_rc2=False\nopenssl:no_rc4=False\nopenssl:no_rc5=False\nopenssl:no_rfc3779=False\nopenssl:no_rmd160=False\nopenssl:no_seed=False\nopenssl:no_sm2=False\nopenssl:no_sm3=False\nopenssl:no_sm4=False\nopenssl:no_sock=False\nopenssl:no_srp=False\nopenssl:no_srtp=False\nopenssl:no_sse2=False\nopenssl:no_ssl=False\nopenssl:no_ssl3=False\nopenssl:no_stdio=False\nopenssl:no_threads=False\nopenssl:no_tls1=False\nopenssl:no_ts=False\nopenssl:no_whirlpool=False\nopenssl:no_zlib=False\nopenssl:openssldir=None\nopenssl:shared=False\nzlib:fPIC=True\nzlib:shared=False", + "requires": [ + "1" + ], + "path": "conanfile.txt", + "context": "host" + }, + "1": { + "ref": "openssl/3.0.3#288ab73765e69844899535609ee0dfe4", + "options": "386=False\nenable_weak_ssl_ciphers=False\nfPIC=True\nno_aria=False\nno_asm=False\nno_async=False\nno_bf=False\nno_blake2=False\nno_camellia=False\nno_cast=False\nno_chacha=False\nno_cms=False\nno_comp=False\nno_ct=False\nno_deprecated=False\nno_des=False\nno_dgram=False\nno_dh=False\nno_dsa=False\nno_dso=False\nno_ec=False\nno_ecdh=False\nno_ecdsa=False\nno_engine=False\nno_filenames=False\nno_fips=False\nno_gost=False\nno_idea=False\nno_legacy=False\nno_md2=True\nno_md4=False\nno_mdc2=False\nno_module=False\nno_ocsp=False\nno_pinshared=False\nno_rc2=False\nno_rc4=False\nno_rc5=False\nno_rfc3779=False\nno_rmd160=False\nno_seed=False\nno_sm2=False\nno_sm3=False\nno_sm4=False\nno_sock=False\nno_srp=False\nno_srtp=False\nno_sse2=False\nno_ssl=False\nno_ssl3=False\nno_stdio=False\nno_threads=False\nno_tls1=False\nno_ts=False\nno_whirlpool=False\nno_zlib=False\nopenssldir=None\nshared=False\nzlib:fPIC=True\nzlib:shared=False", + "package_id": "772675ace4978e609416253f5f352cadffbfbb53", + "prev": "8f9ca9645535191ea41a1c349e18523f", + "modified": true, + "requires": [ + "2" + ], + "context": "host" + }, + "2": { + "ref": "zlib/1.2.12#b76db676bd992afa93dd18a675323942", + "options": "fPIC=True\nshared=False", + "package_id": "2a19826344ff00be1c04403f2f8e7008ed3a7cc6", + "prev": "88731f6a10f12adde3a66722c1327ada", + "modified": true, + "context": "host" + } + }, + "revisions_enabled": true + }, + "version": "0.4", + "profile_host": "[settings]\narch=x86_64\narch_build=x86_64\nbuild_type=Release\ncompiler=gcc\ncompiler.libcxx=libstdc++11\ncompiler.version=12\nos=Linux\nos_build=Linux\n[options]\n[build_requires]\n[env]\n" +} \ No newline at end of file diff --git a/pkg/dependency/parser/c/conan/testdata/sad.lock b/pkg/dependency/parser/c/conan/testdata/sad.lock new file mode 100644 index 000000000000..6c951e0ca405 --- /dev/null +++ b/pkg/dependency/parser/c/conan/testdata/sad.lock @@ -0,0 +1,24 @@ +{ + "graph_lock": { + "nodes": { + "0": { + "options": "", + "requires": [ + "1" + ], + "path": "conanfile.txt", + "context": "host" + }, + "1": { + "ref": "wrong/ref/format", + "options": "", + "package_id": "", + "prev": "0", + "context": "host" + } + }, + "revisions_enabled": false + }, + "version": "0.4", + "profile_host": "[settings]\narch=x86_64\narch_build=x86_64\nbuild_type=Release\ncompiler=gcc\ncompiler.libcxx=libstdc++\ncompiler.version=9\nos=Linux\nos_build=Linux\n[options]\n[build_requires]\n[env]\n" +} \ No newline at end of file diff --git a/pkg/dependency/parser/conda/meta/parse.go b/pkg/dependency/parser/conda/meta/parse.go new file mode 100644 index 000000000000..b78bcdb27058 --- /dev/null +++ b/pkg/dependency/parser/conda/meta/parse.go @@ -0,0 +1,43 @@ +package meta + +import ( + "encoding/json" + + "golang.org/x/xerrors" + + dio "github.com/aquasecurity/trivy/pkg/dependency/parser/io" + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +type packageJSON struct { + Name string `json:"name"` + Version string `json:"version"` + License string `json:"license"` +} + +type Parser struct{} + +func NewParser() types.Parser { + return &Parser{} +} + +// Parse parses Anaconda (a.k.a. conda) environment metadata. +// e.g. /envs//conda-meta/.json +// For details see https://conda.io/projects/conda/en/latest/user-guide/concepts/environments.html +func (p *Parser) Parse(r dio.ReadSeekerAt) ([]types.Library, []types.Dependency, error) { + var data packageJSON + err := json.NewDecoder(r).Decode(&data) + if err != nil { + return nil, nil, xerrors.Errorf("JSON decode error: %w", err) + } + + if data.Name == "" || data.Version == "" { + return nil, nil, xerrors.Errorf("unable to parse conda package") + } + + return []types.Library{{ + Name: data.Name, + Version: data.Version, + License: data.License, // can be empty + }}, nil, nil +} diff --git a/pkg/dependency/parser/conda/meta/parse_test.go b/pkg/dependency/parser/conda/meta/parse_test.go new file mode 100644 index 000000000000..656eb9b70d98 --- /dev/null +++ b/pkg/dependency/parser/conda/meta/parse_test.go @@ -0,0 +1,59 @@ +package meta_test + +import ( + "os" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/dependency/parser/conda/meta" + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +func TestParse(t *testing.T) { + tests := []struct { + name string + input string + want []types.Library + wantErr string + }{ + { + name: "_libgcc_mutex", + input: "testdata/_libgcc_mutex-0.1-main.json", + want: []types.Library{{Name: "_libgcc_mutex", Version: "0.1"}}, + }, + { + name: "libgomp", + input: "testdata/libgomp-11.2.0-h1234567_1.json", + want: []types.Library{{Name: "libgomp", Version: "11.2.0", License: "GPL-3.0-only WITH GCC-exception-3.1"}}, + }, + { + name: "invalid_json", + input: "testdata/invalid_json.json", + wantErr: "JSON decode error: invalid character", + }, + { + name: "invalid_package", + input: "testdata/invalid_package.json", + wantErr: "unable to parse conda package", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f, err := os.Open(tt.input) + require.NoError(t, err) + defer f.Close() + + got, _, err := meta.NewParser().Parse(f) + + if tt.wantErr != "" { + assert.ErrorContains(t, err, tt.wantErr) + return + } + + assert.NoError(t, err) + assert.Equal(t, tt.want, got) + }) + } +} diff --git a/pkg/dependency/parser/conda/meta/testdata/README.md b/pkg/dependency/parser/conda/meta/testdata/README.md new file mode 100644 index 000000000000..023eab2caee9 --- /dev/null +++ b/pkg/dependency/parser/conda/meta/testdata/README.md @@ -0,0 +1,14 @@ +To recreate the test files: +- Start a miniconda container: +```bash +docker run --name miniconda --rm -it continuumio/miniconda3@sha256:58b1c7df8d69655ffec017ede784a075e3c2e9feff0fc50ef65300fc75aa45ae bash +``` +- In the container, initialize a conda environment: +```bash +conda create --yes -n test-dep-parser python=3.9.12 +``` +- Export conda package definitions out of the container: +```bash +docker cp miniconda:/opt/conda/envs/test-dep-parser/conda-meta/_libgcc_mutex-0.1-main.json . +docker cp miniconda:/opt/conda/envs/test-dep-parser/conda-meta/libgomp-11.2.0-h1234567_1.json . +``` diff --git a/pkg/dependency/parser/conda/meta/testdata/_libgcc_mutex-0.1-main.json b/pkg/dependency/parser/conda/meta/testdata/_libgcc_mutex-0.1-main.json new file mode 100644 index 000000000000..507261770721 --- /dev/null +++ b/pkg/dependency/parser/conda/meta/testdata/_libgcc_mutex-0.1-main.json @@ -0,0 +1,32 @@ +{ + "build": "main", + "build_number": 0, + "channel": "https://repo.anaconda.com/pkgs/main/linux-64", + "constrains": [], + "depends": [], + "extracted_package_dir": "/opt/conda/pkgs/_libgcc_mutex-0.1-main", + "features": "", + "files": [], + "fn": "_libgcc_mutex-0.1-main.conda", + "legacy_bz2_md5": "013d3f22cd3b87f71224bd936765bcad", + "legacy_bz2_size": 3121, + "link": { + "source": "/opt/conda/pkgs/_libgcc_mutex-0.1-main", + "type": 1 + }, + "md5": "c3473ff8bdb3d124ed5ff11ec380d6f9", + "name": "_libgcc_mutex", + "package_tarball_full_path": "/opt/conda/pkgs/_libgcc_mutex-0.1-main.conda", + "paths_data": { + "paths": [], + "paths_version": 1 + }, + "requested_spec": "None", + "sha256": "476626712f60e5ef0fe04c354727152b1ee5285d57ccd3575c7be930122bd051", + "size": 3473, + "subdir": "linux-64", + "timestamp": 1562011674792, + "track_features": "", + "url": "https://repo.anaconda.com/pkgs/main/linux-64/_libgcc_mutex-0.1-main.conda", + "version": "0.1" +} \ No newline at end of file diff --git a/pkg/dependency/parser/conda/meta/testdata/invalid_json.json b/pkg/dependency/parser/conda/meta/testdata/invalid_json.json new file mode 100644 index 000000000000..1cc7687e5f40 --- /dev/null +++ b/pkg/dependency/parser/conda/meta/testdata/invalid_json.json @@ -0,0 +1 @@ +Invalid JSON \ No newline at end of file diff --git a/pkg/dependency/parser/conda/meta/testdata/invalid_package.json b/pkg/dependency/parser/conda/meta/testdata/invalid_package.json new file mode 100644 index 000000000000..9e26dfeeb6e6 --- /dev/null +++ b/pkg/dependency/parser/conda/meta/testdata/invalid_package.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/pkg/dependency/parser/conda/meta/testdata/libgomp-11.2.0-h1234567_1.json b/pkg/dependency/parser/conda/meta/testdata/libgomp-11.2.0-h1234567_1.json new file mode 100644 index 000000000000..7a13ea8b0386 --- /dev/null +++ b/pkg/dependency/parser/conda/meta/testdata/libgomp-11.2.0-h1234567_1.json @@ -0,0 +1,60 @@ +{ + "build": "h1234567_1", + "build_number": 1, + "channel": "https://repo.anaconda.com/pkgs/main/linux-64", + "constrains": [], + "depends": [ + "_libgcc_mutex 0.1 main" + ], + "extracted_package_dir": "/opt/conda/pkgs/libgomp-11.2.0-h1234567_1", + "features": "", + "files": [ + "lib/libgomp.so", + "lib/libgomp.so.1.0.0", + "share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION.gomp_copy" + ], + "fn": "libgomp-11.2.0-h1234567_1.conda", + "legacy_bz2_md5": "3080c2813e6e1d0f8a100a38b5b3456d", + "legacy_bz2_size": 573231, + "license": "GPL-3.0-only WITH GCC-exception-3.1", + "link": { + "source": "/opt/conda/pkgs/libgomp-11.2.0-h1234567_1", + "type": 1 + }, + "md5": "b372c0eea9b60732fdae4b817a63c8cd", + "name": "libgomp", + "package_tarball_full_path": "/opt/conda/pkgs/libgomp-11.2.0-h1234567_1.conda", + "paths_data": { + "paths": [ + { + "_path": "lib/libgomp.so", + "path_type": "softlink", + "sha256": "e3b68c5f37afb7b70bd12273b69706ab33a397714e8336910f0e47f8f1cf6854", + "size_in_bytes": 1265616 + }, + { + "_path": "lib/libgomp.so.1.0.0", + "path_type": "hardlink", + "sha256": "e3b68c5f37afb7b70bd12273b69706ab33a397714e8336910f0e47f8f1cf6854", + "sha256_in_prefix": "e3b68c5f37afb7b70bd12273b69706ab33a397714e8336910f0e47f8f1cf6854", + "size_in_bytes": 1265616 + }, + { + "_path": "share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION.gomp_copy", + "path_type": "hardlink", + "sha256": "9d6b43ce4d8de0c878bf16b54d8e7a10d9bd42b75178153e3af6a815bdc90f74", + "sha256_in_prefix": "9d6b43ce4d8de0c878bf16b54d8e7a10d9bd42b75178153e3af6a815bdc90f74", + "size_in_bytes": 3324 + } + ], + "paths_version": 1 + }, + "requested_spec": "None", + "sha256": "a1c6e599df45e116af81c36ec4c9efb1793fa3a0b854dd90dd6c8813cd476e90", + "size": 485145, + "subdir": "linux-64", + "timestamp": 1654090775721, + "track_features": "", + "url": "https://repo.anaconda.com/pkgs/main/linux-64/libgomp-11.2.0-h1234567_1.conda", + "version": "11.2.0" +} \ No newline at end of file diff --git a/pkg/dependency/parser/dart/pub/parse.go b/pkg/dependency/parser/dart/pub/parse.go new file mode 100644 index 000000000000..57d468d98304 --- /dev/null +++ b/pkg/dependency/parser/dart/pub/parse.go @@ -0,0 +1,60 @@ +package pub + +import ( + "fmt" + + "golang.org/x/xerrors" + "gopkg.in/yaml.v3" + + dio "github.com/aquasecurity/trivy/pkg/dependency/parser/io" + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +const ( + idFormat = "%s@%s" + transitiveDep = "transitive" +) + +// Parser is a parser for pubspec.lock +type Parser struct{} + +func NewParser() types.Parser { + return &Parser{} +} + +type lock struct { + Packages map[string]Dep `yaml:"packages"` +} + +type Dep struct { + Dependency string `yaml:"dependency"` + Version string `yaml:"version"` +} + +func (Parser) Parse(r dio.ReadSeekerAt) ([]types.Library, []types.Dependency, error) { + l := &lock{} + if err := yaml.NewDecoder(r).Decode(&l); err != nil { + return nil, nil, xerrors.Errorf("failed to decode pubspec.lock: %w", err) + } + var libs []types.Library + for name, dep := range l.Packages { + // We would like to exclude dev dependencies, but we cannot identify + // which indirect dependencies were introduced by dev dependencies + // as there are 3 dependency types, "direct main", "direct dev" and "transitive". + // It will be confusing if we exclude direct dev dependencies and include transitive dev dependencies. + // We decided to keep all dev dependencies until Pub will add support for "transitive main" and "transitive dev". + lib := types.Library{ + ID: pkgID(name, dep.Version), + Name: name, + Version: dep.Version, + Indirect: dep.Dependency == transitiveDep, + } + libs = append(libs, lib) + } + + return libs, nil, nil +} + +func pkgID(name, version string) string { + return fmt.Sprintf(idFormat, name, version) +} diff --git a/pkg/dependency/parser/dart/pub/parse_test.go b/pkg/dependency/parser/dart/pub/parse_test.go new file mode 100644 index 000000000000..00bed49158c5 --- /dev/null +++ b/pkg/dependency/parser/dart/pub/parse_test.go @@ -0,0 +1,76 @@ +package pub_test + +import ( + "fmt" + "os" + "sort" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/dependency/parser/dart/pub" + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +func TestParser_Parse(t *testing.T) { + tests := []struct { + name string + inputFile string + want []types.Library + wantErr assert.ErrorAssertionFunc + }{ + { + name: "happy path", + inputFile: "testdata/happy.lock", + want: []types.Library{ + { + ID: "crypto@3.0.2", + Name: "crypto", + Version: "3.0.2", + }, + { + ID: "flutter_test@0.0.0", + Name: "flutter_test", + Version: "0.0.0", + }, + { + ID: "uuid@3.0.6", + Name: "uuid", + Version: "3.0.6", + Indirect: true, + }, + }, + wantErr: assert.NoError, + }, + { + name: "empty path", + inputFile: "testdata/empty.lock", + wantErr: assert.NoError, + }, + { + name: "broken yaml", + inputFile: "testdata/broken.lock", + wantErr: assert.Error, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + f, err := os.Open(tt.inputFile) + require.NoError(t, err) + defer f.Close() + + gotLibs, _, err := pub.NewParser().Parse(f) + if !tt.wantErr(t, err, fmt.Sprintf("Parse(%v)", tt.inputFile)) { + return + } + + sort.Slice(gotLibs, func(i, j int) bool { + return gotLibs[i].ID < gotLibs[j].ID + }) + + assert.Equal(t, tt.want, gotLibs) + }) + } +} diff --git a/pkg/dependency/parser/dart/pub/testdata/broken.lock b/pkg/dependency/parser/dart/pub/testdata/broken.lock new file mode 100644 index 000000000000..d86c7d42138e --- /dev/null +++ b/pkg/dependency/parser/dart/pub/testdata/broken.lock @@ -0,0 +1 @@ +[this is not yaml] \ No newline at end of file diff --git a/pkg/dependency/parser/dart/pub/testdata/empty.lock b/pkg/dependency/parser/dart/pub/testdata/empty.lock new file mode 100644 index 000000000000..eb4cea8c2089 --- /dev/null +++ b/pkg/dependency/parser/dart/pub/testdata/empty.lock @@ -0,0 +1,6 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: +sdks: + dart: ">=2.18.0 <3.0.0" + flutter: ">=3.3.0" \ No newline at end of file diff --git a/pkg/dependency/parser/dart/pub/testdata/happy.lock b/pkg/dependency/parser/dart/pub/testdata/happy.lock new file mode 100644 index 000000000000..3a37840aa3bb --- /dev/null +++ b/pkg/dependency/parser/dart/pub/testdata/happy.lock @@ -0,0 +1,25 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + crypto: + dependency: "direct main" + description: + name: crypto + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.0.2" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + uuid: + dependency: transitive + description: + name: uuid + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.0.6" +sdks: + dart: ">=2.18.0 <3.0.0" + flutter: ">=3.3.0" \ No newline at end of file diff --git a/pkg/dependency/parser/dotnet/core_deps/parse.go b/pkg/dependency/parser/dotnet/core_deps/parse.go new file mode 100644 index 000000000000..6e7fb46bb576 --- /dev/null +++ b/pkg/dependency/parser/dotnet/core_deps/parse.go @@ -0,0 +1,74 @@ +package core_deps + +import ( + "io" + "strings" + + "github.com/liamg/jfather" + "golang.org/x/xerrors" + + dio "github.com/aquasecurity/trivy/pkg/dependency/parser/io" + "github.com/aquasecurity/trivy/pkg/dependency/parser/log" + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +type Parser struct{} + +func NewParser() types.Parser { + return &Parser{} +} + +func (p *Parser) Parse(r dio.ReadSeekerAt) ([]types.Library, []types.Dependency, error) { + var depsFile dotNetDependencies + + input, err := io.ReadAll(r) + if err != nil { + return nil, nil, xerrors.Errorf("read error: %w", err) + } + if err := jfather.Unmarshal(input, &depsFile); err != nil { + return nil, nil, xerrors.Errorf("failed to decode .deps.json file: %w", err) + } + + var libraries []types.Library + for nameVer, lib := range depsFile.Libraries { + if !strings.EqualFold(lib.Type, "package") { + continue + } + + split := strings.Split(nameVer, "/") + if len(split) != 2 { + // Invalid name + log.Logger.Warnf("Cannot parse .NET library version from: %s", nameVer) + continue + } + + libraries = append(libraries, types.Library{ + Name: split[0], + Version: split[1], + Locations: []types.Location{{StartLine: lib.StartLine, EndLine: lib.EndLine}}, + }) + } + + return libraries, nil, nil +} + +type dotNetDependencies struct { + Libraries map[string]dotNetLibrary `json:"libraries"` +} + +type dotNetLibrary struct { + Type string `json:"type"` + StartLine int + EndLine int +} + +// UnmarshalJSONWithMetadata needed to detect start and end lines of deps +func (t *dotNetLibrary) UnmarshalJSONWithMetadata(node jfather.Node) error { + if err := node.Decode(&t); err != nil { + return err + } + // Decode func will overwrite line numbers if we save them first + t.StartLine = node.Range().Start.Line + t.EndLine = node.Range().End.Line + return nil +} diff --git a/pkg/dependency/parser/dotnet/core_deps/parse_test.go b/pkg/dependency/parser/dotnet/core_deps/parse_test.go new file mode 100644 index 000000000000..4e6e80955b75 --- /dev/null +++ b/pkg/dependency/parser/dotnet/core_deps/parse_test.go @@ -0,0 +1,70 @@ +package core_deps + +import ( + "os" + "path" + "sort" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +func TestParse(t *testing.T) { + vectors := []struct { + file string // Test input file + want []types.Library + wantErr string + }{ + { + file: "testdata/ExampleApp1.deps.json", + want: []types.Library{ + {Name: "Newtonsoft.Json", Version: "13.0.1", Locations: []types.Location{{StartLine: 33, EndLine: 39}}}, + }, + }, + { + file: "testdata/NoLibraries.deps.json", + want: nil, + }, + { + file: "testdata/InvalidJson.deps.json", + wantErr: "failed to decode .deps.json file: EOF", + }, + } + + for _, tt := range vectors { + t.Run(path.Base(tt.file), func(t *testing.T) { + f, err := os.Open(tt.file) + require.NoError(t, err) + + got, _, err := NewParser().Parse(f) + if tt.wantErr != "" { + require.NotNil(t, err) + assert.Contains(t, err.Error(), tt.wantErr) + } else { + require.NoError(t, err) + + sort.Slice(got, func(i, j int) bool { + ret := strings.Compare(got[i].Name, got[j].Name) + if ret == 0 { + return got[i].Version < got[j].Version + } + return ret < 0 + }) + + sort.Slice(tt.want, func(i, j int) bool { + ret := strings.Compare(tt.want[i].Name, tt.want[j].Name) + if ret == 0 { + return tt.want[i].Version < tt.want[j].Version + } + return ret < 0 + }) + + assert.Equal(t, tt.want, got) + } + }) + } +} diff --git a/pkg/dependency/parser/dotnet/core_deps/testdata/ExampleApp1.deps.json b/pkg/dependency/parser/dotnet/core_deps/testdata/ExampleApp1.deps.json new file mode 100644 index 000000000000..d2fbdc825ac5 --- /dev/null +++ b/pkg/dependency/parser/dotnet/core_deps/testdata/ExampleApp1.deps.json @@ -0,0 +1,41 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v5.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v5.0": { + "ExampleApp1/1.0.0": { + "dependencies": { + "Newtonsoft.Json": "13.0.1" + }, + "runtime": { + "ExampleApp1.dll": {} + } + }, + "Newtonsoft.Json/13.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1.25517" + } + } + } + } + }, + "libraries": { + "ExampleApp1/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Newtonsoft.Json/13.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", + "path": "newtonsoft.json/13.0.1", + "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" + } + } + } \ No newline at end of file diff --git a/pkg/dependency/parser/dotnet/core_deps/testdata/InvalidJson.deps.json b/pkg/dependency/parser/dotnet/core_deps/testdata/InvalidJson.deps.json new file mode 100644 index 000000000000..300197b6fecb --- /dev/null +++ b/pkg/dependency/parser/dotnet/core_deps/testdata/InvalidJson.deps.json @@ -0,0 +1,12 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v5.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v5.0": { + "ExampleApp1/1.0.0": { + "dependencies": { + "Newtonsoft.Json": "13.0.1" + }, \ No newline at end of file diff --git a/pkg/dependency/parser/dotnet/core_deps/testdata/NoLibraries.deps.json b/pkg/dependency/parser/dotnet/core_deps/testdata/NoLibraries.deps.json new file mode 100644 index 000000000000..ebd10345378c --- /dev/null +++ b/pkg/dependency/parser/dotnet/core_deps/testdata/NoLibraries.deps.json @@ -0,0 +1,27 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v5.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v5.0": { + "ExampleApp1/1.0.0": { + "dependencies": { + "Newtonsoft.Json": "13.0.1" + }, + "runtime": { + "ExampleApp1.dll": {} + } + }, + "Newtonsoft.Json/13.0.1": { + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.1.25517" + } + } + } + } + } +} diff --git a/pkg/dependency/parser/frameworks/wordpress/parse.go b/pkg/dependency/parser/frameworks/wordpress/parse.go new file mode 100644 index 000000000000..1eb481e73481 --- /dev/null +++ b/pkg/dependency/parser/frameworks/wordpress/parse.go @@ -0,0 +1,78 @@ +package wordpress + +import ( + "bufio" + "io" + "strings" + + "golang.org/x/xerrors" + + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +func Parse(r io.Reader) (lib types.Library, err error) { + + // If wordpress file, open file and + // find line with content + // $wp_version = ''; + + var version string + isComment := false + scanner := bufio.NewScanner(r) + for scanner.Scan() { + line := scanner.Text() + + // Remove comment + commentIndex := strings.Index(line, "//") + if commentIndex != -1 { + line = line[:commentIndex] + } + + line = strings.TrimSpace(line) + + // Handle comment + switch { + case strings.HasPrefix(line, "/*"): + isComment = true + continue + case isComment && strings.HasSuffix(line, "*/"): + isComment = false + continue + case isComment: + continue + } + + // It might include $wp_version_something + if !strings.HasPrefix(line, "$wp_version") { + continue + } + + ss := strings.Split(line, "=") + if len(ss) != 2 || strings.TrimSpace(ss[0]) != "$wp_version" { + continue + } + + // Each variable must end with ";". + end := strings.Index(ss[1], ";") + if end == -1 { + continue + } + + // Remove ";" and white space. + version = strings.TrimSpace(ss[1][:end]) + + // Remove single and double quotes. + version = strings.Trim(version, `'"`) + + break + } + + if err = scanner.Err(); err != nil || version == "" { + return types.Library{}, xerrors.New("version.php could not be parsed") + } + + return types.Library{ + Name: "wordpress", + Version: version, + }, nil +} diff --git a/pkg/dependency/parser/frameworks/wordpress/parse_test.go b/pkg/dependency/parser/frameworks/wordpress/parse_test.go new file mode 100644 index 000000000000..aafbefe513be --- /dev/null +++ b/pkg/dependency/parser/frameworks/wordpress/parse_test.go @@ -0,0 +1,49 @@ +package wordpress + +import ( + "os" + "path" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/aquasecurity/trivy/pkg/dependency/parser/types" +) + +func TestParseWordPress(t *testing.T) { + tests := []struct { + file string // Test input file + want types.Library + wantErr string + }{ + { + file: "testdata/version.php", + want: types.Library{ + Name: "wordpress", + Version: "4.9.4-alpha", + }, + }, + { + file: "testdata/versionFail.php", + wantErr: "version.php could not be parsed", + }, + } + + for _, tt := range tests { + t.Run(path.Base(tt.file), func(t *testing.T) { + f, err := os.Open(tt.file) + require.NoError(t, err) + + got, err := Parse(f) + if tt.wantErr != "" { + require.Error(t, err) + assert.Contains(t, err.Error(), tt.wantErr) + return + } + + require.NoError(t, err) + assert.Equal(t, tt.want, got) + }) + } +} diff --git a/pkg/dependency/parser/frameworks/wordpress/testdata/version.php b/pkg/dependency/parser/frameworks/wordpress/testdata/version.php new file mode 100644 index 000000000000..dd0bf2c1ab0c --- /dev/null +++ b/pkg/dependency/parser/frameworks/wordpress/testdata/version.php @@ -0,0 +1,50 @@ +B`N&svAzu(&D%$%7dYTx(&eb4ti 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

C~)6r?~fgI*k9aC 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%0DUplw8rTP&6yjVXTYlyE^rpHc;BI)6of`le4zF? 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

11Gx|u8cJMihYcqW}+770l1?yN zeAUlKxtqyHy#mn8?;`B>3BB*DPyS;?#V-GR#tAg+5cm;4N=O6#kxx*WWaB?lnN&L@ z{`uuk9s0yn0P5$T@7WuAwxwUyvnZT&{yE0!L-P;$Q257w3#kl-4Ry*p1MS%r0aV?j zEBXN^I638EXwk`g8Sw9c{*h;X$AA-+@ zRYbGmkH6t~ldNW9^=nkkocw# z0nhNiYUn@T-Xr=2)+}4FM|UQG!-a0*AEAaXw`TlOlh>A9TEgX)A+p?pu%LqeS=ovy zBg{nJX2*Rx;up%fspR~s=;g~ot>fIFbU-(_Zk;ucOTGcq|$H z|1iI!YL7zvSVG~ZOre#`V|t2exdaF4M}9D-=qD#`TcIGe}4VelYZxX|G&)d zEe@Wczs6F3UD1R4&!Y#9s>RCi6?&Bh_`~{1Z5P((q|Mh@a(0Q;t-Y~iJ!(y+XkmGPmXyt-c+!5GSRs5~l|LgWgC9jMA-!QGe*>4x{XYP4lEgkGbZPy0V>NK$VVWr$-TDi|f1p*4B zY!qt{%gX=xM;n+vAx*nyM7pod%8u!iPxLU|cd-xC_H%29=QptklUm?v_g49_-C6hx z`W+iKu}Z3nm-eSLUKhukfNN^_<)V3kG8opd7UUe-ThaV2$WCfTy+4{Jox0u@|tA`u&QY!wE3QZ11pIM~GBI_z@@ z>ZjiXRH7*Q&6Avu;(wG1#I9n8i7Ub^6_|*09O|LK6sC2aEW=OavdMOKUbfY+!~;#7 zA2t({OGSUIHKJvFp6+6z(`uI-?LJB;c{R!6)|plN>&y@{a0N=1{IM!d$KPEaD0|mv zl&Waf5Fkjk2?)jlj!{bh{rj+Qc}G8s1(q`zN};*H4YCsFRq~vjVjU9jRL`C=mUsT_ z@VLe!V+v{Kg}E`^1j{=n<}J%Rg8GJ4qzE^(@;VTzN%8~N?Xn)soqvNEAcg#SMx2-- zzhUMTqC3F!lc3cgzb3H;i9nG|Doir8EH}$`-qyufJhVOabGW`GRP!Y+88Z*?c0Ukk zms1Pecc+=Vk`>0W2HXSTu}px+n{MxCEFM&-;)nY0LsNT(>%TvRhvImoevb{=kx+u38>i2oTOR8jqFByNnsX!WU!l^g^sYK>y9<_P>9U;7U< zY2J!P#vCpKMQ|e2gk+>_jd7=1-`;FmH-BFq-)HXGW;V5)73sUi%-s_K=T%3rCfPL- z-(bcMU^j8iv;oUgOF#)0MaVGjK2-VnW47#{0aC!H%0d`(uH!&fZ{V}$1FXUAHe%&+Wmuwu zN*fs;A^_X-lY)prA5hyO$G@8@Fv9>hUE zImSIGt#CS8d^&d1!5#RWj38U!x#=g7_W`M7pTEIJ8(AI<67%;<>sZlz>Be31ON?j= znwxFrMi=mo6Z_l#E7+UBFc)J}XtC5?BLKGHtChP9gtGu}xFV6tTs)9aU(ioIKVkBORCHokLNS&01R`JOf`gW`q@|bbOv>-1 zAOaA!Y%w9(`Q2-?A8AMOlGL}n z$Cr*Y>`>cFpHy2=!2+^<5G+s(GsS;off9VrR2y0K$BM3sD-3MaWX6`ClHUXJWb+}A z=3KAW_mlc_K0YZ{3-Rd;yp-3{D`c!u}Rfa6-0r&c;tZiAQJ4aAJQ@ zy9ZC9PHOd1U2r>+cudTEIo8BsQ-;Tvmt%hm>!Uu7KwE5Q2l%8Xz`DY%_|2loO>%va zY*J^jE9R+cp+p(AVF`z{PB>-A(deeAC<0s)1rfLbXgVE6 z=(lmDZMaY0h&7>KW@FK>!(sE(;0b+@ApEQ_fkScGb^_J1h80}(_*!1J*O=QIyh!

kT3$Pv&#FPAe@+Km(uVG=dlr+gVYCI&uK2 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

07oJA|`E0tZFvAj}aj#M!de=ELh?=EXW5 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

OXas(s4p+zQm1bGg6kh&av3PT{$qn$^u=ZU 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

oeFjL~{czuZv;;b`-{>9= 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

x#}fa?@X6bgj1f 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

mkomp#3e2IST{RLuB^8~kBFCC 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

TU*Bx3Gy`%IEqO%W>(jXKg_f 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%0ArmEm(cx(H>$QlJWod{I>x9cld7= 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 z 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 z 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%0D2+-pGSuM$9ly&GMW`(gEMk|$6|M}J~VR* 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