Compare commits

...

112 Commits

Author SHA1 Message Date
Aqua Security automated builds
cdd7e97c47 fix: update cosing settings for GoReleaser after bumping cosing to v3 [backport: release/v0.68] (#9870)
Co-authored-by: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com>
2025-12-03 10:22:19 +00:00
Aqua Security automated builds
e0fa76d732 release: v0.68.0 [main] (#9549) 2025-12-02 06:48:31 +00:00
fischaz
e74e2b1b0a feat(aws): Add support for dualstack ECR endpoints (#9862) 2025-12-02 06:17:16 +00:00
DmitriyLewen
c274f5b986 fix(vex): use a separate visited set for each DFS path (#9760) 2025-12-01 08:02:39 +00:00
Owen Rumney
15a5465ad3 docs: catch some missed docs -> guide (#9850) 2025-11-27 10:57:12 +00:00
Nikita Pivkin
51de2bd136 refactor(misconf): parse azure_policy_enabled to addonprofile.azurepolicy.enabled (#9851)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-27 04:25:09 +00:00
Owen Rumney
96e7083337 chore(cli): Remove Trivy Cloud (#9847) 2025-11-26 09:14:41 +00:00
Nikita Pivkin
7aca80151c fix(misconf): ensure value used as ignore marker is non-null and known (#9835)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-26 06:28:38 +00:00
Nikita Pivkin
7b2b4d4b45 fix(misconf): map healthcheck start period flag to --start-period instead of --startPeriod (#9837)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-26 05:38:14 +00:00
dependabot[bot]
f5bbb0b91a chore(deps): bump the docker group with 3 updates (#9776)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-25 08:05:28 +00:00
dependabot[bot]
e13d970a19 chore(deps): bump golang.org/x/crypto from 0.41.0 to 0.45.0 (#9827)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-25 08:01:10 +00:00
dependabot[bot]
8967622a86 chore(deps): bump the common group across 1 directory with 20 updates (#9840)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DmitriyLewen <dmitriy.lewen@smartforce.io>
2025-11-25 07:08:16 +00:00
Thomas Grininger
e1f3f28ae4 feat(image): add Sigstore bundle SBOM support (#9516)
Co-authored-by: knqyf263 <knqyf263@gmail.com>
2025-11-25 06:10:06 +00:00
dependabot[bot]
8876b46162 chore(deps): bump the aws group with 7 updates (#9691)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-25 06:04:39 +00:00
afdesk
5f9b695170 test(k8s): update k8s integrtion test (#9725) 2025-11-24 16:39:22 +00:00
dependabot[bot]
3169ebf018 chore(deps): bump github.com/containerd/containerd from 1.7.28 to 1.7.29 (#9764)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 17:20:00 +00:00
Teppei Fukuda
d8eaaeb611 feat(sbom): add support for SPDX attestations (#9829) 2025-11-21 08:44:54 +00:00
Patrick
5c42cc590b docs(misconf): Remove duplicate sections (#9819) 2025-11-20 10:36:44 +00:00
yagreut
ea2dc586b8 feat(misconf): Update Azure network schema for new checks (#9791)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
Co-authored-by: Nikita Pivkin <nikita.pivkin@smartforce.io>
2025-11-19 18:57:51 +00:00
yagreut
c6d95d7cd2 feat(misconf): Update AppService schema (#9792)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
Co-authored-by: Nikita Pivkin <nikita.pivkin@smartforce.io>
2025-11-19 07:21:09 +00:00
Nikita Pivkin
a6ceff7e83 fix(misconf): ensure boolean metadata values are correctly interpreted (#9770)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-19 06:56:10 +00:00
Nikita Pivkin
c8d5ab7690 feat(misconf): support https_traffic_only_enabled in Az storage account (#9784)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-19 02:03:10 +00:00
Owen Rumney
9da33b5aed docs: restructure docs for new hosting (#9799) 2025-11-18 15:45:49 +00:00
DmitriyLewen
f64e0daf25 docs(server): fix info about scanning licenses on the client side. (#9805)
Co-authored-by: Teppei Fukuda <knqyf263@gmail.com>
2025-11-18 09:50:53 +00:00
DmitriyLewen
31218f6129 ci: remove unused preinstalled software/images for build tests to free up disk space. (#9814)
Co-authored-by: Teppei Fukuda <knqyf263@gmail.com>
2025-11-18 07:24:26 +00:00
Teppei Fukuda
cbad9ca3a8 feat(report): add fingerprint generation for vulnerabilities (#9794)
Signed-off-by: knqyf263 <knqyf263@gmail.com>
2025-11-17 07:23:43 +00:00
Owen Rumney
612ee98126 chore: trigger the trivy-www workflow (#9737) 2025-11-13 17:27:26 +00:00
thekovic
738b2b474a fix: update all documentation links (#9777) 2025-11-13 05:43:20 +00:00
Dirk Mueller
019af7fefd feat(suse): Add new openSUSE, Micro and SLES releases end of life dates (#9788) 2025-11-12 08:36:29 +00:00
DmitriyLewen
3a2a31d45a test(go): set GOPATH for tests (#9785) 2025-11-12 07:44:41 +00:00
DmitriyLewen
6048173266 feat(flag): add --cacert flag (#9781) 2025-11-12 07:03:44 +00:00
Nikita Pivkin
08d51a8e08 fix(misconf): handle unsupported experimental flags in Dockerfile (#9769)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-11 13:22:34 +00:00
Teppei Fukuda
09ea608a3b test(go): refactor mod_test.go to use txtar format (#9775) 2025-11-11 09:36:47 +00:00
Sebastien Dionne
2c3aca5195 docs: Fix typos and linguistic errors in documentation / hacktoberfest (#9586) 2025-11-11 05:39:44 +00:00
dependabot[bot]
2ce48c7b1a chore(deps): bump github.com/opencontainers/selinux from 1.12.0 to 1.13.0 (#9778)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-11 05:37:44 +00:00
dependabot[bot]
be419c78a7 chore(deps): bump github.com/containerd/containerd/v2 from 2.1.4 to 2.1.5 (#9763)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-10 15:00:32 +00:00
DmitriyLewen
d87d9b97d1 fix(java): use true as default value for Repository Release|Snapshot Enabled in pom.xml and settings.xml files (#9751) 2025-11-10 13:51:56 +00:00
DmitriyLewen
0487d8efd8 docs: add info that SSL_CERT_FILE works on Unix systems other than macOS only (#9772) 2025-11-10 09:35:24 +00:00
Stefan Fleckenstein
14ecdb5696 docs: change SecObserve URLs in documentatio (#9771) 2025-11-10 06:55:55 +00:00
Teppei Fukuda
d70d994d88 feat(db): enable concurrent access to vulnerability database (#9750)
Co-authored-by: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com>
2025-11-06 13:32:06 +00:00
yagreut
69f400c183 feat(misconf): add agentpools to azure container schema (#9714)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
Co-authored-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-05 14:27:18 +00:00
Teppei Fukuda
6fb3fde916 feat(report): switch ReportID from UUIDv4 to UUIDv7 (#9749) 2025-11-05 09:42:14 +00:00
yagreut
cb58bf639e feat(misconf): Update Azure Compute schema (#9675)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
Co-authored-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-04 19:26:39 +00:00
yagreut
c3bfecf3ef feat(misconf): Update azure storage schema (#9728)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
Co-authored-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-04 17:52:16 +00:00
yagreut
58819c5285 feat(misconf): Update SecurityCenter schema (#9674)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
Co-authored-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-11-04 14:52:44 +00:00
Derek H.J Ray
2690ac9934 feat(image): pass global context to docker/podman image save func (#9733) 2025-11-04 07:49:07 +00:00
dependabot[bot]
c03facfdb5 chore(deps): bump the github-actions group with 4 updates (#9739)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 07:06:46 +00:00
Teppei Fukuda
bf43629d32 fix(flag): remove viper.SetDefault to fix IsSet() for config-only flags (#9732)
Co-authored-by: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com>
2025-11-03 05:29:27 +00:00
Yuta Tokoi
012f3d7535 feat(license): use separate SPDX ids to ignore SPDX expressions (#9087)
Co-authored-by: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com>
Co-authored-by: DmitriyLewen <dmitriy.lewen@smartforce.io>
2025-11-01 08:31:59 +00:00
Alex Lutz
18c0ee86f3 feat(dotnet): add dependency graph support for .deps.json files (#9726)
Co-authored-by: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com>
Co-authored-by: DmitriyLewen <dmitriy.lewen@smartforce.io>
2025-11-01 05:54:46 +00:00
simar7
445cd2b6b4 feat(misconf): Add support for configurable Rego error limit (#9657)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
Co-authored-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-31 09:49:52 +00:00
yagreut
3fb8703f8c feat(misconf): Add RoleAssignments attribute (#9396) 2025-10-31 09:37:16 +00:00
Teppei Fukuda
d020f2690e feat(report): add image reference to report metadata (#9729) 2025-10-31 07:26:39 +00:00
Y.Horie
29f0347965 fix(os): Add photon 5.0 in supported OS (#9724) 2025-10-30 07:41:54 +00:00
DmitriyLewen
212f0781c5 fix(license): handle SPDX WITH exceptions as single license in category detection (#9380) 2025-10-29 12:26:07 +00:00
Teppei Fukuda
89fc7b65a5 refactor: add case-insensitive string set implementation (#9720) 2025-10-29 09:25:35 +00:00
Teppei Fukuda
758f271040 feat: include registry and repository in artifact ID calculation (#9689)
Co-authored-by: knqyf263 <knqyf263@users.noreply.github.com>
2025-10-28 09:44:32 +00:00
DmitriyLewen
eff52eb2e6 feat(java): add support remote repositories from settings.xml files (#9708)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-28 08:35:19 +00:00
DmitriyLewen
fb0593bee6 fix(sbom): don’t panic on SBOM format if scanned CycloneDX file has empty metadata (#9562) 2025-10-28 06:22:24 +00:00
Teppei Fukuda
39051b7ed8 docs: update vulnerability reporting guidelines in SECURITY.md (#9395) 2025-10-28 05:57:45 +00:00
DmitriyLewen
3cf4bfda3b docs: add info about java-db subdir (#9706) 2025-10-27 06:33:59 +00:00
Nikita Pivkin
d20216edf6 fix(report): correct field order in SARIF license results (#9712)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-27 05:23:45 +00:00
Teppei Fukuda
a6010c3eda test: improve golden file management in integration tests (#9699) 2025-10-24 07:49:29 +00:00
DmitriyLewen
e0c04168b9 ci: get base_sha using base.ref (#9704) 2025-10-23 11:47:19 +00:00
Nikita Pivkin
a2822280be refactor(misconf): mark AVDID fields as deprecated and use ID internally (#9576)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-23 10:46:35 +00:00
Derek H.J Ray
231492db52 fix(nodejs): fix npmjs parser.pkgNameFromPath() panic issue (#9688)
Co-authored-by: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com>
Co-authored-by: DmitriyLewen <dmitriy.lewen@smartforce.io>
2025-10-23 10:06:54 +00:00
Fabrizio Sestito
fa6f779022 fix: close all opened resources if an error occurs (#9665)
Signed-off-by: Fabrizio Sestito <fabrizio.sestito@suse.com>
2025-10-23 07:35:18 +00:00
Nikita Pivkin
807bbbdad2 refactor(misconf): type-safe parser results in generic scanner (#9685)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-22 08:19:11 +00:00
Teppei Fukuda
a9a3031675 feat(image): add RepoTags support for Docker archives (#9690)
Co-authored-by: knqyf263 <knqyf263@users.noreply.github.com>
2025-10-22 06:50:13 +00:00
yzc
68ca612db7 chore(deps): bump github.com/quic-go/quic-go from 0.52.0 to 0.54.1 (#9694) 2025-10-22 06:22:20 +00:00
yagreut
43a7546d31 feat(misconf): Update Azure Container Schema (#9673) 2025-10-22 05:36:13 +00:00
Teppei Fukuda
7ca1b8f19e ci: use merge commit for apidiff to avoid false positives (#9622)
Co-authored-by: DmitriyLewen <dmitriy.lewen@smartforce.io>
Co-authored-by: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com>
2025-10-22 05:32:42 +00:00
Nikita Pivkin
197c9e1dce feat(misconf): include map key in manifest snippet for diagnostics (#9681)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-21 18:24:11 +00:00
Nikita Pivkin
c32ddfc522 refactor(misconf): add ManifestFromYAML for unified manifest parsing (#9680)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-21 17:18:10 +00:00
Nikita Pivkin
263aee07a3 test: update golden files for TestRepository* integration tests (#9684)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-20 19:12:08 +00:00
Owen Rumney
559fe1fa2c refactor(cli): Update the cloud config command (#9676) 2025-10-20 15:57:08 +00:00
DmitriyLewen
2c43425e05 fix(sbom): add buildInfo info as properties (#9683) 2025-10-20 06:00:39 +00:00
Teppei Fukuda
fc976bea48 feat: add ReportID field to scan reports (#9670)
Co-authored-by: knqyf263 <knqyf263@users.noreply.github.com>
2025-10-17 10:31:22 +00:00
Teppei Fukuda
fcd8dcdd1d docs: add vulnerability database contribution guide (#9667) 2025-10-16 05:11:03 +00:00
Owen Rumney
8e6a7ff670 feat(cli): Add trivy cloud suppport (#9637) 2025-10-15 10:34:39 +00:00
Teppei Fukuda
84a7d9a5d6 feat: add ArtifactID field to uniquely identify scan targets (#9663)
Co-authored-by: knqyf263 <knqyf263@users.noreply.github.com>
2025-10-15 07:04:41 +00:00
DmitriyLewen
804ea4aa57 fix(nodejs): use the default ID format to match licenses in pnpm packages. (#9661) 2025-10-14 11:16:01 +00:00
DmitriyLewen
35db88c81c feat(sbom): use SPDX license IDs list to validate SPDX IDs (#9569) 2025-10-14 06:58:55 +00:00
DmitriyLewen
b885d3a369 fix: use context for analyzers (#9538) 2025-10-14 05:13:48 +00:00
dependabot[bot]
84518dbb7f chore(deps): bump the docker group with 3 updates (#9545)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 05:12:43 +00:00
dependabot[bot]
fd92773ed8 chore(deps): bump the aws group with 6 updates (#9547)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 05:11:40 +00:00
Aqua Security automated builds
ce8d47e927 ci(helm): bump Trivy version to 0.67.2 for Trivy Helm Chart 0.19.1 (#9641)
Co-authored-by: GitHub Actions <actions@github.com>
2025-10-13 13:00:38 +00:00
afdesk
4e1e6fca3a test(helm): bump up Yamale dependency for Helm chart-testing-action (#9653) 2025-10-13 12:20:38 +00:00
Raghu
e18b038ee2 fix: Trim the end-of-range suffix (#9618)
Co-authored-by: DmitriyLewen <91113035+DmitriyLewen@users.noreply.github.com>
2025-10-13 06:15:37 +00:00
afdesk
492797b1c7 test(k8s): use a specific bundle for k8s misconfig scan (#9633) 2025-10-10 10:49:25 +00:00
DmitriyLewen
6e53686526 fix: Use fetch-level: 1 to check out trivy-repo in the release workflow (#9636) 2025-10-10 10:27:12 +00:00
Owen Rumney
2f695b9bd4 refactor: move the aws config (#9617) 2025-10-09 08:10:32 +00:00
DmitriyLewen
09162e52ec fix(license): don't normalize unlicensed licenses into unlicense (#9611) 2025-10-09 07:51:59 +00:00
Ori
66479f050d fix: using SrcVersion instead of Version for echo detector (#9552) 2025-10-09 07:12:43 +00:00
Teppei Fukuda
cff91acdef feat(fs): change artifact type to repository when git info is detected (#9613) 2025-10-08 14:08:53 +00:00
DmitriyLewen
6def66e002 fix: add buildInfo for BlobInfo in rpc package (#9608) 2025-10-08 09:47:12 +00:00
DmitriyLewen
7422cc7168 fix(vex): don't use reused BOM (#9604) 2025-10-08 09:45:43 +00:00
Teppei Fukuda
b9e3e0b5f9 ci: use pull_request_target for apidiff workflow to support fork PRs (#9605) 2025-10-07 12:38:49 +00:00
Teppei Fukuda
aeeb2a1f84 fix: restore compatibility for google.protobuf.Value (#9559)
Co-authored-by: knqyf263 <knqyf263@users.noreply.github.com>
2025-10-07 12:19:15 +00:00
Teppei Fukuda
d7aa84f015 ci: add API diff workflow (#9600)
Co-authored-by: knqyf263 <knqyf263@users.noreply.github.com>
2025-10-07 09:51:29 +00:00
Mikel Olasagasti Uranga
05375d17f7 chore(deps): update to module-compatible docker-credential-gcr/v2 (#9591)
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
2025-10-07 06:53:27 +00:00
Nikita Pivkin
36712514ce docs: improve documentation for scanning raw IaC configurations (#9571)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-07 04:52:26 +00:00
Nikita Pivkin
c638fc646c feat: allow ignoring findings by type in Rego (#9578)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-06 18:17:23 +00:00
Nikita Pivkin
4bef183489 docs: bump pygments from 2.18.0 to 2.19.2 (#9596)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-06 18:15:49 +00:00
Nikita Pivkin
19615a8462 refactor(misconf): add ID to scan.Rule (#9573)
Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
2025-10-06 08:33:06 +00:00
DmitriyLewen
e286c5e207 fix(java): update order for resolving package fields from multiple demManagement (#9575) 2025-10-06 07:46:19 +00:00
dependabot[bot]
3962ea461a chore(deps): bump the github-actions group across 1 directory with 9 updates (#9563)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 05:44:45 +00:00
dependabot[bot]
36ab331c7f chore(deps): bump the common group across 1 directory with 7 updates (#9590)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 04:57:00 +00:00
Mikel Olasagasti Uranga
9058d51cb9 chore(deps): Switch to go-viper/mapstructure (#9579)
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
2025-10-06 03:25:21 +00:00
Owen Rumney
719ea29d31 chore: add context to the cache interface (#9565) 2025-10-03 09:37:05 +00:00
Aqua Security automated builds
3dd0ebbb56 ci(helm): bump Trivy version to 0.67.0 for Trivy Helm Chart 0.19.0 (#9554)
Co-authored-by: GitHub Actions <actions@github.com>
2025-09-30 13:41:16 +00:00
Teppei Fukuda
f0fd432a7a fix: validate backport branch name (#9548) 2025-09-30 07:26:35 +00:00
720 changed files with 17782 additions and 22602 deletions

12
.github/CODEOWNERS vendored
View File

@@ -8,15 +8,15 @@ pkg/sbom/ @knqyf263 @DmitriyLewen
pkg/scanner/ @knqyf263 @DmitriyLewen
# Misconfiguration scanning
docs/docs/scanner/misconfiguration/ @simar7 @nikpivkin
docs/docs/target/aws.md @simar7 @nikpivkin
pkg/fanal/analyzer/config/ @simar7 @nikpivkin
pkg/cloud/ @simar7 @nikpivkin
pkg/iac/ @simar7 @nikpivkin
docs/guide/scanner/misconfiguration/ @simar7 @nikpivkin
docs/guide/target/aws.md @simar7 @nikpivkin
pkg/fanal/analyzer/config/ @simar7 @nikpivkin
pkg/config/aws/ @simar7 @nikpivkin
pkg/iac/ @simar7 @nikpivkin
# Helm chart
helm/trivy/ @afdesk @simar7
# Kubernetes scanning
pkg/k8s/ @afdesk @simar7
docs/docs/target/kubernetes.md @afdesk @simar7
docs/guide/target/kubernetes.md @afdesk @simar7

View File

@@ -10,7 +10,7 @@ body:
**Do not open a GitHub issue, please.** Maintainers triage discussions and then create issues.
Please also check [our contribution guidelines](https://trivy.dev/latest/community/contribute/discussion/).
Please also check [our contribution guidelines](https://trivy.dev/docs/latest/community/contribute/discussion/).
- type: textarea
attributes:
label: Description
@@ -117,7 +117,7 @@ body:
description: Have you tried the following?
options:
- label: Run `trivy clean --all`
- label: Read [the troubleshooting](https://trivy.dev/latest/docs/references/troubleshooting/)
- label: Read [the troubleshooting](https://trivy.dev/docs/latest/references/troubleshooting/)
- type: markdown
attributes:
value: |

View File

@@ -7,7 +7,7 @@ body:
Feel free to create a docs report if something doesn't work as expected or is unclear in the documentation.
Please ensure that you're not creating a duplicate report by searching the [issues](https://github.com/aquasecurity/trivy/issues)/[discussions](https://github.com/aquasecurity/trivy/discussions) beforehand.
Please also check [our contribution guidelines](https://trivy.dev/latest/community/contribute/discussion/).
Please also check [our contribution guidelines](https://trivy.dev/docs/latest/community/contribute/discussion/).
- type: textarea
attributes:
label: Description

View File

@@ -8,7 +8,7 @@ body:
**Do not open a GitHub issue, please.** Maintainers triage discussions and then create issues.
Please also check [our contribution guidelines](https://trivy.dev/latest/community/contribute/discussion/).
Please also check [our contribution guidelines](https://trivy.dev/docs/latest/community/contribute/discussion/).
- type: input
attributes:
label: IDs

View File

@@ -9,7 +9,7 @@ body:
**Do not open a GitHub issue, please.** Maintainers triage discussions and then create issues.
Please also check [our contribution guidelines](https://trivy.dev/latest/community/contribute/discussion/).
Please also check [our contribution guidelines](https://trivy.dev/docs/latest/community/contribute/discussion/).
- type: textarea
attributes:
label: Description

View File

@@ -9,7 +9,7 @@ body:
**Do not open a GitHub issue, please.** Maintainers triage discussions and then create issues.
Please also check [our contribution guidelines](https://trivy.dev/latest/community/contribute/discussion/).
Please also check [our contribution guidelines](https://trivy.dev/docs/latest/community/contribute/discussion/).
- type: textarea
attributes:
label: Question

View File

@@ -8,4 +8,4 @@ assignees: ''
---
## Are you a maintainer of the Trivy project?
If not, please open [a discussion](https://github.com/aquasecurity/trivy/discussions); if you are, please review [the guideline](https://trivy.dev/latest/community/contribute/discussion/).
If not, please open [a discussion](https://github.com/aquasecurity/trivy/discussions); if you are, please review [the guideline](https://trivy.dev/docs/latest/community/contribute/discussion/).

View File

@@ -10,8 +10,8 @@
Remove this section if you don't have related PRs.
## Checklist
- [ ] I've read the [guidelines for contributing](https://trivy.dev/latest/community/contribute/pr/) to this repository.
- [ ] I've followed the [conventions](https://trivy.dev/latest/community/contribute/pr/#title) in the PR title.
- [ ] I've read the [guidelines for contributing](https://trivy.dev/docs/latest/community/contribute/pr/) to this repository.
- [ ] I've followed the [conventions](https://trivy.dev/docs/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)

181
.github/workflows/apidiff.yaml vendored Normal file
View File

@@ -0,0 +1,181 @@
name: API Diff Check
on:
# SECURITY: Using pull_request_target to support fork PRs with write permissions.
# PR code is checked out but only for static analysis - it is never executed.
# If modifying this workflow, ensure PR code is never executed and user inputs are not used unsafely.
pull_request_target:
types: [opened, synchronize]
paths:
- 'pkg/**/*.go'
- 'rpc/**/*.go'
permissions:
contents: read
pull-requests: write
issues: write
jobs:
apidiff:
runs-on: ubuntu-24.04
name: API Diff Check
steps:
# Check if PR has conflicts. When conflicts exist, the merge commit becomes
# frozen at an old state and apidiff cannot run correctly.
- name: Check for merge conflicts
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
# pull_request_target and mergeability are processed asynchronously.
# As a result, its possible that we start the check before GitHub has finished calculating the mergeability.
# To handle this, a retry mechanism has been added — it waits for 2 seconds after each attempt.
# If mergeable_state isnt obtained after 5 attempts, an error is returned.
run: |
MAX=5
for i in $(seq 1 "$MAX"); do
state=$(gh api "repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER" --jq .mergeable_state)
echo "mergeable_state=$state"
if [ "$state" = "dirty" ]; then
echo "::error::This PR has merge conflicts. Please resolve conflicts before running apidiff."
exit 1
fi
if [ -n "$state" ] && [ "$state" != "unknown" ] && [ "$state" != "null" ]; then
break
fi
if [ "$i" -lt "$MAX" ] && { [ -z "$state" ] || [ "$state" = "unknown" ] || [ "$state" = "null" ]; }; then
echo "::error::Could not determine mergeability after $i tries."
exit 1
fi
sleep 2
done
# Checkout PR merge commit to compare against base branch
# This ensures we compare the actual merge result with the base branch,
# avoiding false positives when PR is not rebased with latest main
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Set up Go
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false
# Ensure the base commit exists locally for go-apidiff to compare against.
# Even though we checkout the merge commit, go-apidiff needs the base ref to exist.
# Use base.ref instead of base.sha, since base.sha is outdated (not updated after every commit).
# cf. https://github.com/orgs/community/discussions/59677
- name: Fetch base commit
id: fetch_base
run: |
set -euo pipefail
BASE_REF="${{ github.event.pull_request.base.ref || github.event.merge_group.base_ref }}"
if [ -z "${BASE_REF:-}" ]; then
echo "::error::BASE_REF is empty (no base ref in event payload)"; exit 1
fi
git fetch --depth=1 origin "$BASE_REF"
BASE_SHA="$(git rev-parse "origin/$BASE_REF")"
if [ -z "${BASE_SHA:-}" ]; then
echo "::error::BASE_SHA is empty (failed to resolve origin/$BASE_REF)"; exit 1
fi
echo "base_sha=$BASE_SHA" >> "$GITHUB_OUTPUT"
# NOTE: go-apidiff is not managed in go.mod because installing it via `go get -tool`
# would cause `mage tool:install` to attempt building it on Windows, which currently
# fails due to platform-specific issues.
- name: Run go-apidiff
id: apidiff
continue-on-error: true
uses: joelanford/go-apidiff@60c4206be8f84348ebda2a3e0c3ac9cb54b8f685 # v0.8.3
with:
base-ref: ${{ steps.fetch_base.outputs.base_sha }}
version: v0.8.3
- name: Add apidiff label
if: ${{ steps.apidiff.outputs.semver-type == 'major' }}
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const label = 'apidiff';
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: [label],
});
- name: Comment API diff
if: ${{ steps.apidiff.outputs.semver-type == 'major' }}
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
env:
APIDIFF_OUTPUT: ${{ steps.apidiff.outputs.output }}
SEMVER_TYPE: ${{ steps.apidiff.outputs.semver-type }}
with:
script: |
const header = '## 📊 API Changes Detected';
const diff = process.env.APIDIFF_OUTPUT.trim();
const semver = process.env.SEMVER_TYPE || 'unknown';
const body = [
header,
'',
`Semver impact: \`${semver}\``,
'',
'```',
diff,
'```',
].join('\n');
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
const existing = comments.find(comment =>
comment.user.type === 'Bot' &&
comment.body.startsWith(header),
);
if (existing) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: existing.id,
body,
});
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body,
});
}
# Attempt to request the premium reviewers; needs org-scoped token because GITHUB_TOKEN lacks read:org.
- name: Request trivy-premium review
if: ${{ steps.apidiff.outputs.semver-type == 'major' }}
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.ORG_REPO_TOKEN }}
script: |
try {
await github.rest.pulls.requestReviewers({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number,
team_reviewers: ['trivy-premium'],
});
console.log('Requested review from aquasecurity/trivy-premium team');
} catch (error) {
core.error(`Failed to request trivy-premium reviewers: ${error.message}`);
throw error;
}

View File

@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Close issue if user does not have write or admin permissions
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
// Get the issue creator's username
@@ -26,7 +26,7 @@ jobs:
// 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://trivy.dev/latest/community/contribute/issue/";
const commentBody = "Please see https://trivy.dev/docs/latest/community/contribute/issue/";
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,

View File

@@ -31,7 +31,7 @@ jobs:
- name: Check PR and all workflows status
if: steps.pr-context.outputs.skip != 'true'
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const prNumber = ${{ steps.pr-context.outputs.number }};

View File

@@ -11,10 +11,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout main
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false

View File

@@ -36,7 +36,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
@@ -44,8 +44,12 @@ jobs:
env:
COMMENT_BODY: ${{ github.event.comment.body }}
run: |
BRANCH_NAME=$(echo $COMMENT_BODY | grep -oE '@aqua-bot backport\s+(\S+)' | awk '{print $3}')
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
BRANCH_NAME=$(echo "$COMMENT_BODY" | grep -oE '@aqua-bot backport\s+(\S+)' | awk '{print $3}')
if [[ -z "$BRANCH_NAME" || "$BRANCH_NAME" == *".."* || ! "$BRANCH_NAME" =~ ^[A-Za-z0-9._-]+(/[A-Za-z0-9._-]+)*$ ]]; then
echo "Error: Invalid branch name extracted (unsafe characters detected)." >&2
exit 1
fi
echo "BRANCH_NAME=$BRANCH_NAME" >> "$GITHUB_ENV"
- name: Set up Git user
run: |
@@ -58,4 +62,4 @@ jobs:
# This allows the created PR to trigger tests and other workflows
GITHUB_TOKEN: ${{ secrets.ORG_REPO_TOKEN }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
run: ./misc/backport/backport.sh "$BRANCH_NAME" "$ISSUE_NUMBER"
run: ./misc/backport/backport.sh "$BRANCH_NAME" "$ISSUE_NUMBER"

View File

@@ -15,10 +15,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false
@@ -35,7 +35,7 @@ jobs:
echo "digest=$DIGEST" >> $GITHUB_OUTPUT
- name: Restore and save test images cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: integration/testdata/fixtures/images
key: cache-test-images-${{ steps.image-digest.outputs.digest }}
@@ -48,10 +48,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false
@@ -68,7 +68,7 @@ jobs:
echo "digest=$DIGEST" >> $GITHUB_OUTPUT
- name: Restore and save test VM images cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: integration/testdata/fixtures/vm-images
key: cache-test-vm-images-${{ steps.image-digest.outputs.digest }}
@@ -81,10 +81,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false

View File

@@ -25,35 +25,35 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Restore Trivy binaries from cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: dist/
key: ${{ runner.os }}-bins-${{ github.workflow }}-${{ github.sha }}
# Upload artifacts
- name: Upload artifacts (trivy_Linux-64bit)
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: trivy_Linux-64bit
path: dist/trivy_*_Linux-64bit.tar.gz
if-no-files-found: error
- name: Upload artifacts (trivy_Linux-ARM64)
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: trivy_Linux-ARM64
path: dist/trivy_*_Linux-ARM64.tar.gz
if-no-files-found: error
- name: Upload artifacts (trivy_macOS-64bit)
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: trivy_macOS-64bit
path: dist/trivy_*_macOS-64bit.tar.gz
if-no-files-found: error
- name: Upload artifacts (trivy_macOS-ARM64)
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: trivy_macOS-ARM64
path: dist/trivy_*_macOS-ARM64.tar.gz

View File

@@ -12,11 +12,11 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout main
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
persist-credentials: true
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: 3.x
- name: Install dependencies

View File

@@ -14,11 +14,11 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout main
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
persist-credentials: true
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: 3.x
- name: Install dependencies
@@ -40,3 +40,19 @@ jobs:
- name: Deploy the latest documents from manual trigger
if: ${{ github.event.inputs.version != '' }}
run: mike deploy --push --update-aliases ${{ github.event.inputs.version }} latest
# This workflow is used to trigger the trivy-www deployment
trigger-trivy-www-deploy:
needs: deploy
runs-on: ubuntu-22.04
steps:
- name: Trigger update_version workflow in trivy-telemetry
env:
# Use ORG_REPO_TOKEN instead of GITHUB_TOKEN
# This allows triggering workflows in other repositories
GH_TOKEN: ${{ secrets.ORG_REPO_TOKEN }}
run: |
gh workflow run build-docs.yml \
--repo ${{ github.repository_owner }}/trivy-www \
--ref main \
--field from_version=${{ github.ref_name }}

View File

@@ -25,21 +25,24 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Install Helm
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
with:
version: v3.14.4
- name: Set up python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: '3.x'
check-latest: true
- name: Setup Chart Linting
id: lint
uses: helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b # v2.7.0
with:
# v6.0.0 resolved the compatibility issue with Python > 3.13. may be removed after the action itself is updated
yamale_version: "6.0.0"
- name: Setup Kubernetes cluster (KIND)
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
with:
@@ -61,7 +64,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Install chart-releaser

View File

@@ -19,7 +19,7 @@ jobs:
steps:
- name: Release Please
id: release
uses: googleapis/release-please-action@c2a5a2bd6a758a0937f1ddb1e8950609867ed15c # v4.3.0
uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
with:
token: ${{ secrets.ORG_REPO_TOKEN }}
target-branch: ${{ github.ref_name }}
@@ -56,7 +56,7 @@ jobs:
- name: Tag release
if: ${{ steps.extract_info.outputs.version }}
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.ORG_REPO_TOKEN }} # To trigger another workflow
script: |
@@ -70,7 +70,7 @@ jobs:
# When v0.50.0 is released, a release branch "release/v0.50" is created.
- name: Create release branch for patch versions
if: ${{ endsWith(steps.extract_info.outputs.version, '.0') }}
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }} # Should not trigger the workflow again
script: |
@@ -98,7 +98,7 @@ jobs:
# cf. https://github.com/googleapis/release-please?tab=readme-ov-file#release-please-bot-does-not-create-a-release-pr-why
- name: Remove the label from PR
if: ${{ steps.extract_info.outputs.pr_number }}
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |

View File

@@ -16,6 +16,6 @@ jobs:
run: |
if [ "$PR_AUTHOR" != "aqua-bot" ]; then
echo "::error::This branch is intended for automated backporting by bot. Please refer to the documentation:"
echo "::error::https://trivy.dev/latest/community/maintainer/backporting/"
echo "::error::https://trivy.dev/docs/latest/community/maintainer/backporting/"
exit 1
fi

View File

@@ -19,12 +19,12 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Restore Trivy binaries from cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: dist/
key: ${{ runner.os }}-bins-${{github.workflow}}-${{github.sha}}
@@ -35,11 +35,10 @@ jobs:
sudo apt-get -y install rpm reprepro createrepo-c distro-info
- name: Checkout trivy-repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
repository: ${{ github.repository_owner }}/trivy-repo
path: trivy-repo
fetch-depth: 0
token: ${{ secrets.ORG_REPO_TOKEN }}
- name: Setup git settings
@@ -62,7 +61,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
@@ -72,7 +71,7 @@ jobs:
git config --global user.name "GitHub Actions"
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false

View File

@@ -27,7 +27,7 @@ jobs:
contents: read # Not required for public repositories, but for clarity
steps:
- name: Cosign install
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0
- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
@@ -40,32 +40,32 @@ jobs:
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Login to docker.io registry
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to ghcr.io registry
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: ghcr.io
username: ${{ env.GH_USER }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to ECR
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: public.ecr.aws
username: ${{ secrets.ECR_ACCESS_KEY_ID }}
password: ${{ secrets.ECR_SECRET_ACCESS_KEY }}
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false # Disable cache to avoid free space issues during `Post Setup Go` step.
@@ -119,7 +119,7 @@ jobs:
public.ecr.aws/aquasecurity/trivy:canary
- name: Cache Trivy binaries
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: dist/
# use 'github.sha' to create a unique cache folder for each run.

View File

@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Run Trivy vulnerability scanner and create GitHub issues
uses: knqyf263/trivy-issue-action@4466f52d1401b66dd2a2ab9e0c40cddc021829ec # v0.0.6

View File

@@ -10,22 +10,22 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Check out code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
- name: Install Go tools
run: go install tool # GOBIN is added to the PATH by the setup-go action
- name: Check if SPDX exceptions are up-to-date
- name: Check if SPDX license IDs and exceptions are up-to-date
id: exceptions_check
run: |
mage spdx:updateLicenseExceptions
mage spdx:updateLicenseEntries
if [ -n "$(git status --porcelain)" ]; then
echo "Run 'mage spdx:updateLicenseExceptions' and push it"
echo "Run 'mage spdx:updateLicenseEntries' and push it"
echo "send_notify=true" >> $GITHUB_OUTPUT
fi

View File

@@ -7,7 +7,7 @@ jobs:
timeout-minutes: 1
runs-on: ubuntu-latest
steps:
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
- uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v10.1.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-pr-message: 'This PR is stale because it has been labeled with inactivity.'

View File

@@ -10,11 +10,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 0
persist-credentials: true
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: 3.x
- name: Install dependencies

View File

@@ -19,10 +19,10 @@ jobs:
matrix:
operating-system: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false
@@ -73,10 +73,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false
@@ -93,7 +93,7 @@ jobs:
echo "digest=$DIGEST" >> $GITHUB_OUTPUT
- name: Restore test images from cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: integration/testdata/fixtures/images
key: cache-test-images-${{ steps.image-digest.outputs.digest }}
@@ -106,10 +106,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false
@@ -125,10 +125,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false
@@ -145,7 +145,7 @@ jobs:
echo "digest=$DIGEST" >> $GITHUB_OUTPUT
- name: Restore test images from cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: integration/testdata/fixtures/images
key: cache-test-images-${{ steps.image-digest.outputs.digest }}
@@ -160,10 +160,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false
@@ -180,7 +180,7 @@ jobs:
echo "digest=$DIGEST" >> $GITHUB_OUTPUT
- name: Restore test VM images from cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: integration/testdata/fixtures/vm-images
key: cache-test-vm-images-${{ steps.image-digest.outputs.digest }}
@@ -194,10 +194,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false
@@ -217,11 +217,22 @@ jobs:
env:
DOCKER_CLI_EXPERIMENTAL: "enabled"
steps:
# The go-build (GOCACHE env) directory requires a large amount of free disk space.
- name: Free up disk space
if: matrix.operating-system == 'ubuntu-latest'
run: |
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf /opt/hostedtoolcache/CodeQL
sudo docker image prune --all --force
df -h
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod
cache: false

View File

@@ -10,7 +10,7 @@ jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: ./.github/actions/trivy-triage
with:
discussion_num: ${{ github.event.inputs.discussion_num }}

View File

@@ -1 +1 @@
{".":"0.67.0"}
{".":"0.68.0"}

View File

@@ -1,5 +1,73 @@
# Changelog
## [0.68.0](https://github.com/aquasecurity/trivy/compare/v0.67.0...v0.68.0) (2025-12-02)
### Features
* add ArtifactID field to uniquely identify scan targets ([#9663](https://github.com/aquasecurity/trivy/issues/9663)) ([84a7d9a](https://github.com/aquasecurity/trivy/commit/84a7d9a5d6880ef4248ead6bcf2e580deed9107b))
* add ReportID field to scan reports ([#9670](https://github.com/aquasecurity/trivy/issues/9670)) ([fc976be](https://github.com/aquasecurity/trivy/commit/fc976bea480599e52365d306ad8d6031718d4303))
* allow ignoring findings by type in Rego ([#9578](https://github.com/aquasecurity/trivy/issues/9578)) ([c638fc6](https://github.com/aquasecurity/trivy/commit/c638fc646c3c0d56ea50c830a31609badb477c5e))
* **aws:** Add support for dualstack ECR endpoints ([#9862](https://github.com/aquasecurity/trivy/issues/9862)) ([e74e2b1](https://github.com/aquasecurity/trivy/commit/e74e2b1b0a8ca124b1299969abc9196789f30e8b))
* **cli:** Add trivy cloud suppport ([#9637](https://github.com/aquasecurity/trivy/issues/9637)) ([8e6a7ff](https://github.com/aquasecurity/trivy/commit/8e6a7ff670c64106d4dea6972ac3f6228f9c6269))
* **db:** enable concurrent access to vulnerability database ([#9750](https://github.com/aquasecurity/trivy/issues/9750)) ([d70d994](https://github.com/aquasecurity/trivy/commit/d70d994d8882a6e7a8b0c9a9b08524a2cae32ea4))
* **dotnet:** add dependency graph support for .deps.json files ([#9726](https://github.com/aquasecurity/trivy/issues/9726)) ([18c0ee8](https://github.com/aquasecurity/trivy/commit/18c0ee86f318c7d2b1dab979370f62dd00b73979))
* **flag:** add `--cacert` flag ([#9781](https://github.com/aquasecurity/trivy/issues/9781)) ([6048173](https://github.com/aquasecurity/trivy/commit/604817326683cdf5628550540aef63b97affc3b0))
* **fs:** change artifact type to repository when git info is detected ([#9613](https://github.com/aquasecurity/trivy/issues/9613)) ([cff91ac](https://github.com/aquasecurity/trivy/commit/cff91acdef91fbce22306a72000c43a26ac8d79b))
* **image:** add RepoTags support for Docker archives ([#9690](https://github.com/aquasecurity/trivy/issues/9690)) ([a9a3031](https://github.com/aquasecurity/trivy/commit/a9a3031675150e70a32df8d55b4aec2c4a33084b))
* **image:** add Sigstore bundle SBOM support ([#9516](https://github.com/aquasecurity/trivy/issues/9516)) ([e1f3f28](https://github.com/aquasecurity/trivy/commit/e1f3f28ae4b86dd7f518a261080dc8d24ac2cdad))
* **image:** pass global context to docker/podman image save func ([#9733](https://github.com/aquasecurity/trivy/issues/9733)) ([2690ac9](https://github.com/aquasecurity/trivy/commit/2690ac99341dcdf06eb16316d3ca20e6070969b3))
* include registry and repository in artifact ID calculation ([#9689](https://github.com/aquasecurity/trivy/issues/9689)) ([758f271](https://github.com/aquasecurity/trivy/commit/758f2710403d5f0e9b3e138a604f95cbcab6f275))
* **java:** add support remote repositories from settings.xml files ([#9708](https://github.com/aquasecurity/trivy/issues/9708)) ([eff52eb](https://github.com/aquasecurity/trivy/commit/eff52eb2e60a700d831cbc3d260217162b38e45c))
* **license:** use separate SPDX ids to ignore SPDX expressions ([#9087](https://github.com/aquasecurity/trivy/issues/9087)) ([012f3d7](https://github.com/aquasecurity/trivy/commit/012f3d75359e019df1eb2602460146d43cb59715))
* **misconf:** add agentpools to azure container schema ([#9714](https://github.com/aquasecurity/trivy/issues/9714)) ([69f400c](https://github.com/aquasecurity/trivy/commit/69f400c1839cc16013f2af3d1942c86f496e7017))
* **misconf:** Add RoleAssignments attribute ([#9396](https://github.com/aquasecurity/trivy/issues/9396)) ([3fb8703](https://github.com/aquasecurity/trivy/commit/3fb8703f8cd659a36d6a9affe0d2e20cd752a1e4))
* **misconf:** Add support for configurable Rego error limit ([#9657](https://github.com/aquasecurity/trivy/issues/9657)) ([445cd2b](https://github.com/aquasecurity/trivy/commit/445cd2b6b4faf78349245bc6541176e2fbf88715))
* **misconf:** include map key in manifest snippet for diagnostics ([#9681](https://github.com/aquasecurity/trivy/issues/9681)) ([197c9e1](https://github.com/aquasecurity/trivy/commit/197c9e1dce450737fc705184eed4c24fcfc1ecc1))
* **misconf:** support https_traffic_only_enabled in Az storage account ([#9784](https://github.com/aquasecurity/trivy/issues/9784)) ([c8d5ab7](https://github.com/aquasecurity/trivy/commit/c8d5ab7690b63a0af14d648eacabc62b868fdfe9))
* **misconf:** Update AppService schema ([#9792](https://github.com/aquasecurity/trivy/issues/9792)) ([c6d95d7](https://github.com/aquasecurity/trivy/commit/c6d95d7cd271c3d29ce147f1ad5983cafc1caf48))
* **misconf:** Update Azure Compute schema ([#9675](https://github.com/aquasecurity/trivy/issues/9675)) ([cb58bf6](https://github.com/aquasecurity/trivy/commit/cb58bf639eaea0a94584b4afbefe19d0010eef38))
* **misconf:** Update Azure Container Schema ([#9673](https://github.com/aquasecurity/trivy/issues/9673)) ([43a7546](https://github.com/aquasecurity/trivy/commit/43a7546d31f2cc8dd5f8d68f82822aff1bddc4d2))
* **misconf:** Update Azure network schema for new checks ([#9791](https://github.com/aquasecurity/trivy/issues/9791)) ([ea2dc58](https://github.com/aquasecurity/trivy/commit/ea2dc586b83fec6eac1b5de04fd9e5a06db4e16a))
* **misconf:** Update azure storage schema ([#9728](https://github.com/aquasecurity/trivy/issues/9728)) ([c3bfecf](https://github.com/aquasecurity/trivy/commit/c3bfecf3ef236f333ebf1ace7fa2f739fdcbdcca))
* **misconf:** Update SecurityCenter schema ([#9674](https://github.com/aquasecurity/trivy/issues/9674)) ([58819c5](https://github.com/aquasecurity/trivy/commit/58819c5285520b55bc6a5ed30aab82826aee3065))
* **report:** add fingerprint generation for vulnerabilities ([#9794](https://github.com/aquasecurity/trivy/issues/9794)) ([cbad9ca](https://github.com/aquasecurity/trivy/commit/cbad9ca3a888cb3fb6b8649e683efe4f7047a8ed))
* **report:** add image reference to report metadata ([#9729](https://github.com/aquasecurity/trivy/issues/9729)) ([d020f26](https://github.com/aquasecurity/trivy/commit/d020f2690e58c328f96e3083ce57fe2b71f308f3))
* **report:** switch ReportID from UUIDv4 to UUIDv7 ([#9749](https://github.com/aquasecurity/trivy/issues/9749)) ([6fb3fde](https://github.com/aquasecurity/trivy/commit/6fb3fde916f991ccca8f23e18ab4d46e0780e50d))
* **sbom:** add support for SPDX attestations ([#9829](https://github.com/aquasecurity/trivy/issues/9829)) ([d8eaaeb](https://github.com/aquasecurity/trivy/commit/d8eaaeb611151f1da3583ec50100a7be09ce9bc5))
* **sbom:** use SPDX license IDs list to validate SPDX IDs ([#9569](https://github.com/aquasecurity/trivy/issues/9569)) ([35db88c](https://github.com/aquasecurity/trivy/commit/35db88c81cc5cdb8ab25362aea455c586d2e1d32))
* **suse:** Add new openSUSE, Micro and SLES releases end of life dates ([#9788](https://github.com/aquasecurity/trivy/issues/9788)) ([019af7f](https://github.com/aquasecurity/trivy/commit/019af7fefdc1da55610446ca07f13b2ea84348b5))
### Bug Fixes
* add `buildInfo` for `BlobInfo` in `rpc` package ([#9608](https://github.com/aquasecurity/trivy/issues/9608)) ([6def66e](https://github.com/aquasecurity/trivy/commit/6def66e002427eadcc6dbabe56b01c37c1eae075))
* close all opened resources if an error occurs ([#9665](https://github.com/aquasecurity/trivy/issues/9665)) ([fa6f779](https://github.com/aquasecurity/trivy/commit/fa6f77902234f5bee70287a841e8cfa42ca4a505))
* **flag:** remove viper.SetDefault to fix IsSet() for config-only flags ([#9732](https://github.com/aquasecurity/trivy/issues/9732)) ([bf43629](https://github.com/aquasecurity/trivy/commit/bf43629d320426b18e7177b4b6f05affb6f93374))
* **java:** update order for resolving package fields from multiple demManagement ([#9575](https://github.com/aquasecurity/trivy/issues/9575)) ([e286c5e](https://github.com/aquasecurity/trivy/commit/e286c5e207b6d8a1ef01f3f634f874e2e3d4c0f0))
* **java:** use `true` as default value for Repository Release|Snapshot Enabled in pom.xml and settings.xml files ([#9751](https://github.com/aquasecurity/trivy/issues/9751)) ([d87d9b9](https://github.com/aquasecurity/trivy/commit/d87d9b97d1a61d05a9b1742caaa7e0125c481e2c))
* **license:** don't normalize `unlicensed` licenses into `unlicense` ([#9611](https://github.com/aquasecurity/trivy/issues/9611)) ([09162e5](https://github.com/aquasecurity/trivy/commit/09162e52ecf2a3e7a65dcf4ab2c2ea43ee6f5437))
* **license:** handle SPDX WITH exceptions as single license in category detection ([#9380](https://github.com/aquasecurity/trivy/issues/9380)) ([212f078](https://github.com/aquasecurity/trivy/commit/212f0781c552cd0395791a4a0276e1e39579f491))
* **misconf:** ensure boolean metadata values are correctly interpreted ([#9770](https://github.com/aquasecurity/trivy/issues/9770)) ([a6ceff7](https://github.com/aquasecurity/trivy/commit/a6ceff7e83121e2c9e618dcb0584aa62e7077bbf))
* **misconf:** ensure value used as ignore marker is non-null and known ([#9835](https://github.com/aquasecurity/trivy/issues/9835)) ([7aca801](https://github.com/aquasecurity/trivy/commit/7aca80151c2073999aa43213ae03a86b3d13a54c))
* **misconf:** handle unsupported experimental flags in Dockerfile ([#9769](https://github.com/aquasecurity/trivy/issues/9769)) ([08d51a8](https://github.com/aquasecurity/trivy/commit/08d51a8e08c1c7f159ca491810d0d08dc787f93e))
* **misconf:** map healthcheck start period flag to --start-period instead of --startPeriod ([#9837](https://github.com/aquasecurity/trivy/issues/9837)) ([7b2b4d4](https://github.com/aquasecurity/trivy/commit/7b2b4d4b459358ed0f561aa30639282211c80cc1))
* **nodejs:** fix npmjs parser.pkgNameFromPath() panic issue ([#9688](https://github.com/aquasecurity/trivy/issues/9688)) ([231492d](https://github.com/aquasecurity/trivy/commit/231492db52ce69c8d9186b039b038bf0153f8dfa))
* **nodejs:** use the default ID format to match licenses in pnpm packages. ([#9661](https://github.com/aquasecurity/trivy/issues/9661)) ([804ea4a](https://github.com/aquasecurity/trivy/commit/804ea4aa575e486fd888f59c9ceb495857b57f8c))
* **os:** Add photon 5.0 in supported OS ([#9724](https://github.com/aquasecurity/trivy/issues/9724)) ([29f0347](https://github.com/aquasecurity/trivy/commit/29f034796590bc6b7a17fa4fee8b43c822a77c13))
* **report:** correct field order in SARIF license results ([#9712](https://github.com/aquasecurity/trivy/issues/9712)) ([d20216e](https://github.com/aquasecurity/trivy/commit/d20216edf6fdbd0281173b25b796880bc6b2b210))
* restore compatibility for google.protobuf.Value ([#9559](https://github.com/aquasecurity/trivy/issues/9559)) ([aeeb2a1](https://github.com/aquasecurity/trivy/commit/aeeb2a1f842b56147996b600bd34db2cf05cd28e))
* **sbom:** add `buildInfo` info as properties ([#9683](https://github.com/aquasecurity/trivy/issues/9683)) ([2c43425](https://github.com/aquasecurity/trivy/commit/2c43425e051d80d45169a2c675dba79caa91b1e7))
* **sbom:** dont panic on SBOM format if scanned CycloneDX file has empty metadata ([#9562](https://github.com/aquasecurity/trivy/issues/9562)) ([fb0593b](https://github.com/aquasecurity/trivy/commit/fb0593bee68a24b7ecddeb737e1d8e3c3a3c0364))
* Trim the end-of-range suffix ([#9618](https://github.com/aquasecurity/trivy/issues/9618)) ([e18b038](https://github.com/aquasecurity/trivy/commit/e18b038ee2dce6c239246592fcef769853c11660))
* update all documentation links ([#9777](https://github.com/aquasecurity/trivy/issues/9777)) ([738b2b4](https://github.com/aquasecurity/trivy/commit/738b2b474a8ca94386a558c66442d8632acdce3c))
* Use `fetch-level: 1` to check out trivy-repo in the release workflow ([#9636](https://github.com/aquasecurity/trivy/issues/9636)) ([6e53686](https://github.com/aquasecurity/trivy/commit/6e53686526ef21e8a347fc07daa2f628e24eb9e5))
* use context for analyzers ([#9538](https://github.com/aquasecurity/trivy/issues/9538)) ([b885d3a](https://github.com/aquasecurity/trivy/commit/b885d3a3693a62bd2f506aeb238025242735ef1d))
* using SrcVersion instead of Version for echo detector ([#9552](https://github.com/aquasecurity/trivy/issues/9552)) ([66479f0](https://github.com/aquasecurity/trivy/commit/66479f050dc1f0faa314c5a4b9159f38bb1f146b))
* validate backport branch name ([#9548](https://github.com/aquasecurity/trivy/issues/9548)) ([f0fd432](https://github.com/aquasecurity/trivy/commit/f0fd432a7aeced7cca1acab5a52d72cd960e7171))
* **vex:** don't use reused BOM ([#9604](https://github.com/aquasecurity/trivy/issues/9604)) ([7422cc7](https://github.com/aquasecurity/trivy/commit/7422cc7168ab917ec96b75de784be72e9b6bdb2e))
* **vex:** use a separate `visited` set for each DFS path ([#9760](https://github.com/aquasecurity/trivy/issues/9760)) ([c274f5b](https://github.com/aquasecurity/trivy/commit/c274f5b986afb82a805f1f6d3a79d44231a7edf6))
## [0.67.0](https://github.com/aquasecurity/trivy/compare/v0.66.0...v0.67.0) (2025-09-30)

View File

@@ -1 +1 @@
See [Issues](https://trivy.dev/latest/community/contribute/issue/) and [Pull Requests](https://trivy.dev/latest/community/contribute/pr/)
See [Issues](https://trivy.dev/docs/latest/community/contribute/issue/) and [Pull Requests](https://trivy.dev/docs/latest/community/contribute/pr/)

View File

@@ -53,9 +53,9 @@ Trivy is integrated with many popular platforms and applications. The complete l
- See [Ecosystem] for more
### Canary builds
There are canary builds ([Docker Hub](https://hub.docker.com/r/aquasec/trivy/tags?page=1&name=canary), [GitHub](https://github.com/aquasecurity/trivy/pkgs/container/trivy/75776514?tag=canary), [ECR](https://gallery.ecr.aws/aquasecurity/trivy#canary) images and [binaries](https://github.com/aquasecurity/trivy/actions/workflows/canary.yaml)) as generated every push to main branch.
There are canary builds ([Docker Hub](https://hub.docker.com/r/aquasec/trivy/tags?page=1&name=canary), [GitHub](https://github.com/aquasecurity/trivy/pkgs/container/trivy/75776514?tag=canary), [ECR](https://gallery.ecr.aws/aquasecurity/trivy#canary) images and [binaries](https://github.com/aquasecurity/trivy/actions/workflows/canary.yaml)) generated with every push to the main branch.
Please be aware: canary builds might have critical bugs, it's not recommended for use in production.
Please be aware: canary builds might have critical bugs, so they are not recommended for use in production.
### General usage
@@ -107,7 +107,7 @@ trivy k8s --report summary cluster
## Want more? Check out Aqua
If you liked Trivy, you will love Aqua which builds on top of Trivy to provide even more enhanced capabilities for a complete security management offering.
You can find a high level comparison table specific to Trivy users [here](https://trivy.dev/latest/commercial/compare/).
You can find a high level comparison table specific to Trivy users [here](https://trivy.dev/docs/latest/commercial/compare/).
In addition check out the <https://aquasec.com> website for more information about our products and services.
If you'd like to contact Aqua or request a demo, please use this form: <https://www.aquasec.com/demo>
@@ -130,13 +130,13 @@ Please ensure to abide by our [Code of Conduct][code-of-conduct] during all inte
[license]: https://github.com/aquasecurity/trivy/blob/main/LICENSE
[license-img]: https://img.shields.io/badge/License-Apache%202.0-blue.svg
[homepage]: https://trivy.dev
[docs]: https://trivy.dev/latest/docs/
[docs]: https://trivy.dev/docs/latest/
[pronunciation]: #how-to-pronounce-the-name-trivy
[code-of-conduct]: https://github.com/aquasecurity/community/blob/main/CODE_OF_CONDUCT.md
[Installation]:https://trivy.dev/latest/getting-started/installation/
[Ecosystem]: https://trivy.dev/latest/ecosystem/
[Scanning Coverage]: https://trivy.dev/latest/docs/coverage/
[Installation]:https://trivy.dev/docs/latest/getting-started/installation/
[Ecosystem]: https://trivy.dev/docs/latest/ecosystem/
[Scanning Coverage]: https://trivy.dev/docs/latest/coverage/
[alpine]: https://ariadne.space/2021/06/08/the-vulnerability-remediation-lifecycle-of-alpine-containers/
[rego]: https://www.openpolicyagent.org/docs/latest/#rego

View File

@@ -2,9 +2,16 @@
## Supported Versions
This is an open source project that is provided as-is without warrenty or liability.
As such no supportability commitment. The maintainers will do the best they can to address any report promptly and responsibly.
This is an open source project that is provided as-is without warranty or liability.
As such, there is no supportability commitment. The maintainers will do the best they can to address any report promptly and responsibly.
## Reporting a Vulnerability
Please use the "Private vulnerability reporting" feature in the GitHub repository (under the "Security" tab).
Please use the "Private vulnerability reporting" feature in the GitHub repository (under the "Security" tab).
⚠️ **Important:**
This policy is intended for vulnerabilities in **Trivy itself** (e.g., core functionality, scanning logic, or security features).
If you discover a vulnerability in a **dependency module** (e.g., a third-party library used by Trivy), please **do not report it here**.
Instead, open a ticket in [GitHub Discussions](https://github.com/aquasecurity/trivy/discussions) so that the maintainers and community can evaluate and address it appropriately.

View File

@@ -1,210 +0,0 @@
/* glass_v2 */
.glass_v2 {
position: relative;
min-width: 100px;
min-height: 100px;
border-radius: 20px;
border: 1px solid rgba(#ffffff, 0.15);
padding: 2em;
background:
linear-gradient(235deg, rgba($aq-royal-blue, 0.18), rgba($aq-royal-blue, 0) 33%),
linear-gradient(45deg, rgba($aq-neon-blue, 0.18), rgba($aq-neon-blue, 0) 33%),
linear-gradient(rgba($aq-trivy-dark, 0.45));
backdrop-filter: blur(12px);
box-shadow:
rgba($aq-neon-blue, 0.08) 0px 8px 12px -6px,
rgba($aq-neon-blue, 0.12) 0px 16px 24px -10px,
inset 0 1px 0 rgba($aq-royal-blue, 0.4),
inset 1px 0 0 rgba($aq-royal-blue, 0.3),
inset 0 0 0 0.5px rgba(#ffffff, 0.1);
//top-right shine effect
&::before {
content: "";
pointer-events: none;
position: absolute;
right: -1px;
top: -1px;
width: 50%;
height: 50%;
border-radius: 0;
border-top-right-radius: inherit;
border-bottom-left-radius: inherit;
border: 1px solid transparent;
z-index: 1;
background: conic-gradient(
from -45deg at center in oklch,
transparent 8%,
rgba($aq-royal-blue, 0.5),
transparent 45%
) border-box;
mask:
linear-gradient(transparent),
linear-gradient(black);
mask-repeat: no-repeat;
mask-clip: padding-box, border-box;
mask-composite: subtract;
}
//bottom-left shine effect
&::after {
content: "";
pointer-events: none;
position: absolute;
left: -1px;
bottom: -1px;
width: 25%;
height: 25%;
border-radius: 0;
border-top-right-radius: inherit;
border-bottom-left-radius: inherit;
border: 1px solid transparent;
z-index: 1;
background: conic-gradient(
from 135deg at center in oklch,
transparent 15%,
rgba($aq-neon-blue, 0.15),
transparent 30%
) border-box;
mask:
linear-gradient(transparent),
linear-gradient(black);
mask-repeat: no-repeat;
mask-clip: padding-box, border-box;
mask-composite: subtract;
}
.glow_topright {
pointer-events: none;
position: absolute;
right: -12px;
top: -12px;
width: 40%;
height: 40%;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
border: 12px solid transparent;
opacity: 0.7;
filter: blur(8px) saturate(1.2) brightness(0.7);
mix-blend-mode: plus-lighter;
z-index: 3;
&::before {
content: "";
position: absolute;
inset: 0;
border: inherit;
border-radius: inherit;
background: conic-gradient(
from -45deg at center in oklch,
transparent 5%,
rgba($aq-royal-blue, 0.4),
transparent 40%
) border-box;
mask:
linear-gradient(transparent),
linear-gradient(black);
mask-repeat: no-repeat;
mask-clip: padding-box, border-box;
mask-composite: subtract;
}
&::after {
content: "";
position: absolute;
inset: -3px;
border: 18px solid transparent;
border-radius: 25px;
z-index: 4;
opacity: 0.5;
background: conic-gradient(
from -45deg at center in oklch,
transparent 8%,
rgba($aq-royal-blue, 0.6),
transparent 35%
) border-box;
mask:
linear-gradient(transparent),
linear-gradient(black);
mask-repeat: no-repeat;
mask-clip: padding-box, border-box;
mask-composite: subtract;
}
}
//bottom-left glow
.glow_bottomleft {
pointer-events: none;
position: absolute;
left: -4px;
bottom: -4px;
width: 20%;
height: 20%;
border-top-right-radius: 15px;
border-bottom-left-radius: 15px;
border: 4px solid transparent;
opacity: 0.2;
filter: blur(6px) saturate(1.0) brightness(0.4);
mix-blend-mode: plus-lighter;
z-index: 3;
&::before {
content: "";
position: absolute;
inset: 0;
border: inherit;
border-radius: inherit;
background: conic-gradient(
from 135deg at center in oklch,
transparent 12%,
rgba($aq-neon-blue, 0.15),
transparent 28%
) border-box;
mask:
linear-gradient(transparent),
linear-gradient(black);
mask-repeat: no-repeat;
mask-clip: padding-box, border-box;
mask-composite: subtract;
}
&::after {
content: "";
position: absolute;
inset: -1px;
border: 6px solid transparent;
border-radius: 18px;
z-index: 4;
opacity: 0.15;
background: conic-gradient(
from 135deg at center in oklch,
transparent 15%,
rgba($aq-neon-blue, 0.25),
transparent 25%
) border-box;
mask:
linear-gradient(transparent),
linear-gradient(black);
mask-repeat: no-repeat;
mask-clip: padding-box, border-box;
mask-composite: subtract;
}
} //glow_bottomleft
&.light_glass {
background:
linear-gradient(235deg, rgba(#ffffff, 0.6), rgba(#ffffff, 0.3) 33%),
linear-gradient(45deg, rgba(#ffffff, 0.7), rgba(#ffffff, 0.20) 33%),
linear-gradient(rgba(#ffffff, 0.25));
border: 1px solid rgba(#ffffff, 0.3);
color: $aq-blue-abyss;
}
} //glass_v2

View File

@@ -1,47 +0,0 @@
/* hubspot_form_wrap */
.hubspot_form_wrap {
padding-top:20px;padding-bottom:35px;position:relative;z-index:5;
* {
font-family: "Inter", sans-serif;
}
}
/* hubspot form styles */
.hs-form .hs-form-field {text-align:left;}
.hs-form .hs-form-required {opacity:0.5;padding-left:0.2em;}
.hs-form label {font-size: 14px;font-weight: 400;}
.hs-form input[type="text"],.hs-form input[type="password"], .hs-form input[type="datetime"], .hs-form input[type="datetime-local"], .hs-form input[type="date"], .hs-form input[type="month"], .hs-form input[type="time"], .hs-form input[type="week"], .hs-form input[type="number"], .hs-form input[type="email"], .hs-form input[type="url"], .hs-form input[type="search"], .hs-form input[type="tel"], .hs-form input[type="color"],.hs-form input[type="file"],.hs-form textarea,.hs-form select {width:100%;height:38px;padding:6px 10px;background-color:#fff;border:1px solid #D1D1D1 !important;border-radius:4px;box-shadow:none;box-sizing:border-box;}
.hs-form input[type="file"] {border:0px;padding:0px;}
.hs-form input[type="text"]:focus,.hs-form input[type="password"]:focus, .hs-form input[type="datetime"]:focus, .hs-form input[type="datetime-local"]:focus, .hs-form input[type="date"]:focus, .hs-form input[type="month"]:focus, .hs-form input[type="time"]:focus, .hs-form input[type="week"]:focus, .hs-form input[type="number"]:focus, .hs-form input[type="email"]:focus, .hs-form input[type="url"]:focus, .hs-form input[type="search"]:focus, .hs-form input[type="tel"]:focus, .hs-form input[type="color"]:focus,.hs-form input[type="file"]:focus,.hs-form textarea:focus,.hs-form select:focus {border:1px solid #08b1d5;outline:0;}
.hs-form textarea:focus {border:1px solid #08b1d5;outline:0;}
.hs-form input:focus:required:invalid:focus,
.hs-form textarea:focus:required:invalid:focus,
.hs-form select:focus:required:invalid:focus {border:1px solid #08b1d5;outline:0;}
.hs-form .hs-error-msgs {list-style-type:none;padding-left:0px;margin:5px 0 0 0;font-size: 14px;}
.hs-form .hs-error-msgs label {color:$aq-coral-red;font-weight:normal;font-size:90%;}
.hs-form .hs-recaptcha {margin-bottom: 20px;}
::-webkit-input-placeholder {color:#999999;}
:-moz-placeholder {color:#999999;}
::-moz-placeholder {color:#999999;}
:-ms-input-placeholder {color:#999999;}
.hs-form fieldset.form-columns-0, .hs-form fieldset.form-columns-1, .hs-form fieldset.form-columns-2 {margin-bottom:0px;max-width:100%;}
.hs-form fieldset.form-columns-3 {display:none;}
.hs-form .field {margin-bottom:20px;}
body .hs-form fieldset.form-columns-1 .hs-input {width:100%;}
.hs-form .hs_submit {text-align:center;}
.hs-form .hs-richtext {margin-bottom: 20px;}
.hs-form .hs-richtext span {background-color: transparent !important;}
.hs-form .hs-richtext a {color: $aq-neon-blue;}
.hs-form .hs-recaptcha {visibility: hidden;position: absolute;}
.hs-form .hs-fieldtype-textarea {min-height: 6em;}
.hs-form .hs-field-desc {font-size: 14px;margin-bottom:10px;}
.hs-button.primary {background-color:$aq-neon-blue;
border-color:$aq-neon-blue;
color:$aq-blue-abyss;-moz-user-select:none;background-image:none;border:1px solid rgba(0, 0, 0, 0);cursor:pointer;display:inline-block;font-weight:400;line-height:1.42857;margin-bottom:0;text-align:center;vertical-align:middle;white-space:nowrap;border-radius:4px;font-size:16px;padding:8px 15px;
}
/* ff fix */
@-moz-document url-prefix() {
fieldset {display:table-cell;}
}

View File

@@ -1,131 +0,0 @@
/* Slider */
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent;}
.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0;}
.slick-list:focus{outline:none;}
.slick-list.dragging{cursor:hand;}
.slick-slider .slick-track,.slick-slider .slick-list{transform:translate3d(0,0,0);}
.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto;}
.slick-track:before,.slick-track:after{display:table;content:'';}
.slick-track:after{clear:both;}
.slick-loading .slick-track{visibility:hidden;}
.slick-slide{display:none;float:left;height:100%;min-height:1px;}
.slick-slide:focus{outline:none;}
.slick-slide img{display:block;}
.slick-slide.slick-loading img{display:none;}
.slick-slide.dragging img{pointer-events:none;}
.slick-initialized .slick-slide{display:block;}
.slick-loading .slick-slide{visibility:hidden;}
.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent;}
.slick-arrow.slick-hidden{display:none;}
.slick-arrow {display:block;background-color:transparent;border:none;color:transparent;cursor:pointer;position:absolute;top:0px;height:330px;width:80px;z-index:20;outline:none;}
.slick-arrow:focus, .slick-arrow:active {outline:none;}
.slick-arrow.slick-prev {left:0px;background-image:linear-gradient(to right, rgba($aq-neo-background,1) 0%, rgba($aq-neo-background,0) 100%);}
.slick-arrow.slick-next {right:0px;background-image:linear-gradient(to left, rgba($aq-neo-background,1) 0%, rgba($aq-neo-background,0) 100%);}
.slick-arrow:before {content:"";display:block;position:absolute;left:0px;top:0px;width:100%;height:100%;z-index:21;background-repeat:no-repeat;}
.slick-arrow.slick-prev:before {background-image:url(../images/arrow_left.png);background-position:center left;}
.slick-arrow.slick-next:before {background-image:url(../images/arrow_right.png);background-position:center right;}
/* dots */
.slick-dotted.slick-slider
{
margin-bottom: 0px;
}
.slick-dots
{
//position: absolute;
//bottom: -25px;
position: relative;
display: block;
width: 100%;
padding: 0;
margin: 0;
list-style: none;
text-align: center;
}
.slick-dots li {
position: relative;
display: inline-block;
width: 24px;
height: 24px;
margin: 0px 4px;
padding: 0;
cursor: pointer;
}
.slick-dots li button
{
font-size: 0;
line-height: 0;
display: block;
width: 24px;
height: 24px;
padding: 0px;
cursor: pointer;
color: transparent;
border: 0;
outline: none;
background: transparent;
&:before {
position: relative;
top: 0px;
left: 0px;
width: 20px;
height: 20px;
content: "";
background-color: transparent;
border: 2px solid $aq-neon-blue;
border-radius: 50%;
display: block;
opacity: 0.7;
}
&:after {
position: absolute;
top: 7px;
left: 5px;
width: 10px;
height: 10px;
content: "";
background-color: $aq-neon-blue;
//border: 1px solid #666;
border-radius: 50%;
//box-shadow: inset 1px 1px 1px #888;
display: block;
opacity: 0;
transition: 0.2s ease-out;
}
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
outline: none;
&:after {
opacity: 1;
}
}
.slick-dots li.slick-active button:after {
opacity: 1;
}

View File

@@ -1,411 +0,0 @@
/* trivy homepage */
.trivy_v1_homepage_wrap {
position: relative;
z-index: 3;
* {
transition: all 0.2s ease !important;
}
.hero_wrap {
background-color: $aq-trivy-dark;
background-image: radial-gradient(1600px at 70% 120%, #031145 10%, $aq-trivy-dark 100%);
min-height: 1050px;
position: relative;
z-index: 10;
.homepage_background_image_wrap {
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 1;
pointer-events: none;
.stars_wrap {
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 1;
overflow: hidden;
.stars_bg {
position: absolute;
width: 400vw;
height: 400vh;
top: 50%;
left: 50%;
margin-top: -200vh;
margin-left: -200vw;
animation: stars_ani 240s linear infinite;
background-size: 240px;
backface-visibility: visible;
background-image:url(../images/homepage_hero_stars_02.svg);
background-repeat: repeat;
}
@keyframes stars_ani {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
} //stars_wrap
.terrain_wrap {
position: absolute;
left: 0px;
bottom: 0px;
width: 100%;
height: 680px;
background-image:url(../images/homepage_hero_terrain_08.svg);
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
z-index: 2;
} // terrain_wrap
.beams_wrap {
position: absolute;
left: 0px;
bottom: 0px;
width: 100%;
height: 100%;
z-index: 3;
overflow: hidden;
.beam {
position: absolute;
right: 200px;
top: 270px;
width: 3px;
height: 350%;
background: rgba(#3eabff,0.6);
box-shadow: 0px 0px 55px 0px rgba(#3eabff,1);
transform-origin: 0 0;
animation: beam_ani 10s infinite;
&.num2 {animation: beam_ani 11s infinite;}
&.num3 {animation: beam_ani 12s infinite;}
&.num4 {animation: beam_ani 13s infinite;}
} //beam
@keyframes beam_ani {
0% { transform: rotate(75deg); }
50% { transform: rotate(-15deg); }
100% { transform: rotate(75deg); }
}
.sphere {
z-index:999;
position: absolute;
top: 60px;
right: 50px;
width: 280px;
height: 280px;
background-image:url(../images/homepage_hero_orb_03.png);
background-position: center center;
background-repeat: no-repeat;
}
} //beams_wrap
.person_wrap {
position: absolute;
left: 0px;
bottom: 0px;
width: 100%;
height: 595px;
background-image:url(../images/homepage_v1_hero_person_01.png);
background-repeat: no-repeat;
background-position: center bottom;
z-index: 4;
} // person_wrap
} //hero_background_image_wrap
}
.hero {
.hero-body {
padding: 80px 0px;
// border: 1px solid red;
.header_title_wrap {
.header_title_content_wrap {
width: 50%;
position: relative;
z-index: 3;
.page_title {
color: #ffffff;
font-weight: $weight-bold;
font-size: 48px; //3rem
line-height: 1.3;
}//page_title
.page_subtitle {
color: #ffffff;
font-weight: $weight-normal;
font-size: 24px; //1.5rem
line-height: 1.3;
margin-bottom: 30px;
} //page_subtitle
@media screen and (max-width: $widescreen), print {
width: 70%;
} //until widescreen
@media screen and (max-width: $tablet), print { //769
width: 100%;
.page_title {
font-size: 32px; //2rem
}//page_title
.page_subtitle {
font-size: 18px; //1.125rem
}//page_subtitle
} //until tablet
} //header_title_content_wrap
} //header_title_wrap
@media screen and (min-width: $tablet), print { //769
padding: 48px 24px; //3rem 1.5rem
}
}
} //hero
// } //page-trivy_homepage
/* homepage_community */
.homepage_community_wrap {
position: relative;
background-color: $aq-trivy-dark;
color: #ffffff;
z-index: 5;
padding-top: 60px;
padding-bottom: 20px;
.container.wide_container {
max-width: 1640px;
padding-left: 20px;
padding-right: 20px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.community_titles_column {
width: 33.3333%;
padding-right: 32px;
@media screen and (max-width: $desktop), print {
width: 41.6666666667%;
} //until desktop
@media screen and (max-width: $tablet), print {
width: 100%;
} //until tablet
}
.community_slider_column {
width: 66.6666%;
@media screen and (max-width: $desktop), print {
width: 58.3333333333%;
} //until desktop
@media screen and (max-width: $tablet), print {
width: 100%;
} //until tablet
}
.community_title {
color: $aq-neon-blue;
font-size: 60px; //3.75rem
font-weight: $weight-bold;
margin-bottom: 24px; //1.5rem
line-height: 1.2;
}
.community_subtitle {
color: #ffffff;
font-size: 26px; //1.625rem
margin-bottom: 24px; //1.5rem
}
.community_cta_wrap {
.button {
font-weight: $weight-bold;
margin-right: 10px;
}
}
.community_quotes_wrap {
position: relative;
.community_quotes {
column-count: 3;
column-gap: 20px;
@media screen and (max-width: $widescreen), print { //1216
column-count: 2;
}
@media screen and (max-width: $tablet), print { //769
column-count: 1;
}
.quote_item_wrap {
display: inline-block;
margin: 0px 0px 20px 0px;
width: 100%;
}
.quote_item {
display: block;
position: relative;
color: #ffffff;
border: 1px solid rgba($aq-neon-blue,0.2);
background-color: rgba($aq-neon-blue,0.05);
border-radius: 4px;
padding: 25px;
.quote_name {
font-size: 16px; //1rem
font-weight: $weight-semibold;
}
.quote_twitter_handle {
opacity: 0.6;
font-size: 13px; //0.8125rem
}
.quote_company {
opacity: 0.6;
font-size: 13px; //0.8125rem
}
.quote_text {
font-size: 16px; //1rem
font-weight: $weight-normal;
line-height: 1.3;
}
.quote_avatar {
display: block;
position: absolute;
top: 25px;
left: 25px;
width: 40px;
height: 40px;
border-radius: 50%;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
}
&.is_tweet {
.quote_text {
padding-top: 10px;
}
&.has_avatar {
.quote_name,
.quote_twitter_handle {
padding-left: 50px;
}
} //has_avatar
} //&is_tweet
&.is_quote {
.quote_text {
position: relative;
padding-top: 40px;
padding-bottom: 10px;
&:before {
content: "";
display: block;
position: absolute;
top: -10px;
left: 0px;
width: 56px;
height: 42px;
background-image: url(../images/community_quote.png);
background-position: center center;
background-repeat: no-repeat;
}
} //quote_text
} //&is_quote
} //quote_item
}
} //community_quotes_wrap
@media screen and (max-width: $tablet), print { //tablet
.community_title {
font-size: 32px; //2rem
}
.community_subtitle {
font-size: 18px; //1.125rem
}
} //until
} //homepage_community_wrap
} //trivy_homepage_wrap

View File

@@ -1,491 +0,0 @@
/* trivy partners page */
.trivy_v1_homepage_wrap.partners_wrap {
position: relative;
z-index: 3;
background-color: $aq-trivy-dark;
color: #ffffff;
padding-bottom: 80px; //5rem
.generic_title {
color: #ffffff;
}
.section_title_wrap {
position: relative;
padding-bottom: $gap;
padding-top: $gap/2;
text-align: center;
z-index: 1;
.section_title, .section_subtitle {
position: relative;
z-index: 2;
}
.section_title_icon {
position: relative;
z-index: 2;
text-align: center;
img {
display: block;
animation: float 3s ease-out infinite;
margin: 0px auto;
}
&::after {
content: "";
position: relative;
margin: 30px auto 10px auto;
background-color: rgba(#ffffff,0.1);
width: 90px;
display: block;
height: 15px;
border-radius: 50%;
animation: shrink 3s ease-out infinite;
// transform-origin: center center;
}
}
@keyframes float {
50% {
transform: translate(0, 10px);
}
}
@keyframes shrink {
0% {
width: 80px;
}
50% {
width: 100px;
}
100% {
width: 80px;
}
}
.section_title_icon + .section_title {
margin-top: 0px;
}
&::before {
content: "";
position: absolute;
left: 20%;
width: 60%;
padding: 30% 0;
transform: translate(0, -70%) rotate(-45deg);
background: radial-gradient(circle at left bottom, rgba($aq-neon-blue, 0.5) 10%, rgba($aq-royal-blue, 0.4) 20%, rgba($aq-trivy-dark, 0) 60%);
filter: blur(40px);
z-index: 1;
pointer-events: none;
} //before
} //section_title_wrap
.partners_hero_wrap {
background-color: $aq-trivy-dark;
background-image: radial-gradient(60vw at 50%, #031145 10%, $aq-trivy-dark 100%);
min-height: 500px;
position: relative;
z-index: 10;
.partners_background_image_wrap {
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 1;
pointer-events: none;
.stars_wrap {
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 1;
overflow: hidden;
.stars_bg {
position: absolute;
width: 400vw;
height: 400vh;
top: 50%;
left: 50%;
margin-top: -200vh;
margin-left: -200vw;
animation: stars_ani 240s linear infinite;
background-size: 240px;
backface-visibility: visible;
background-image:url(../images/homepage_hero_stars_02.svg);
background-repeat: repeat;
}
@keyframes stars_ani {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
} //stars_wrap
} //hero_background_image_wrap
} //partners_hero_wrap
.hero {
.hero-body {
// padding: 80px 0px;
.header_title_wrap.with_columns {
display: flex;
flex-direction: row;
@media screen and (max-width: $desktop) {
flex-direction: column;
}
.header_title_content_wrap {
width: 50%;
position: relative;
z-index: 3;
.page_title {
font-size: 64px; //4rem
margin-bottom: 0px;
}
&.partners_hero_titles {
display: flex;
align-self: center;
justify-content: center;
flex-direction: column;
}
&.partners_hero_stage_image {
display: flex;
align-self: center;
justify-content: center;
img {
max-width: 100%;
height: auto;
}
}
@media screen and (max-width: $widescreen), print {
width: 70%;
.page_title {
font-size: 48px; //3rem
}
} //until widescreen
@media screen and (max-width: $tablet), print { //769
width: 100%;
.page_title {
font-size: 32px; //2rem
}//page_title
.page_subtitle {
font-size: 18px; //1.125rem
}//page_subtitle
} //until tablet
} //header_title_content_wrap
} //header_title_wrap
@media screen and (min-width: $tablet), print { //769
padding: 24px;
}
}
} //hero
} //trivy_v1_homepage_wrap partners_wrap
/* logos */
.partners_logos_wrap {
background-color: $aq-trivy-dark;
padding: 50px 0px;
.partners_logos_title {
text-align: center;
color: #ffffff;
}
.partners_logos {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 64px; //4rem
flex-wrap: wrap;
.logo_item {
display: inline-block;
padding: 20px;
margin: 0px;
// background-color: red;
img {
display: block;
margin: 0px auto;
width: auto;
max-height: 115px;
max-width: 200px;
transition: all 0.3s ease;
// overflow: hidden;
}
} //logo_item
@media screen and (max-width: $tablet) {
gap: 32px; //2rem
.logo_item {
img {
max-height: 80px;
max-width: 150px;
}
}
}
} //partners_logos
} //partners_logos_wrap
/* benefits */
.partners_benefits_wrap {
position: relative;
z-index: 10;
padding: $gap;
.benefit_items {
display: flex;
flex-direction: row;
gap: $gap;
padding: 12px; //.75rem
position: relative;
z-index: 5;
@media screen and (max-width: $desktop) {
flex-direction: column;
}
.benefit_item {
flex: 1;
.benefit_icon {
text-align: center;
img {
max-width: 150px;
margin-left: auto;
margin-right: auto;
height: auto;
}
}
.benefit_title {
text-align: center;
font-size: 32px; //2rem
}
.benefit_content {
font-size: 18px; //1.125rem
line-height: 1.3;
margin: 12px; //.75rem
text-align: center;
}
} //benefit_item
} //benefit_items
} //partners_benefits_wrap
/* plans */
.partners_plans_wrap {
position: relative;
z-index: 10;
padding: $gap;
.plan_items {
display: flex;
flex-direction: column;
gap: $gap;
padding: 12px; //.75rem
position: relative;
z-index: 5;
.plan_item {
// border: 1px solid orange;
padding-left: 60px;
.glass_content {
display: flex;
flex-direction: row;
align-items: center;
gap: $gap;
margin: 0 12px; //.75rem
min-height: 180px;
.plan_titles_wrap {
width: 80%;
.plan_title {
font-size: 32px; //2rem
margin: 12px 0px;
}
.plan_subtitle {
font-size: 26px; //1.625rem
margin: 12px 0px;
}
} //plan_titles_wrap
.plan_content {
font-size: 20px; //1.25rem
line-height: 1.3;
margin: 12px; //.75rem
width: 100%;
}
@media screen and (max-width: $desktop) {
flex-direction: column;
gap: 0px;
.plan_titles_wrap {
width: 100%;
}
} //desktop
} //glass_content
} //plan_item
} //plan_items
.plan_level {
position: absolute;
top: 10%;
left: 24px;
height: 80%;
width: 20px;
background-color: $aq-royal-blue;
border-radius: 10px;
pointer-events: none;
overflow: hidden;
&.level_1 {background-color: $aq-starfish-yellow;}
&.level_2 {background-color: $aq-coral-red;}
&.level_3 {background-color: $aq-legacy-blue;}
&::after {
content: '';
position: absolute;
top: -150%;
left: -150%;
width: 400%;
height: 400%;
background: linear-gradient(
-45deg,
transparent 40%,
rgba(255, 255, 255, 0.05) 47%,
rgba(255, 255, 255, 0.2) 50%,
rgba(255, 255, 255, 0.05) 53%,
transparent 60%
);
transform: rotate(-45deg);
animation: shimmer 1.2s ease-out infinite;
animation-delay: 2s;
opacity: 0;
}
@keyframes shimmer {
0% {
transform: translateX(-120%) rotate(-45deg);
opacity: 0;
}
20% {
opacity: 1;
}
80% {
opacity: 1;
}
100% {
transform: translateX(120%) rotate(-45deg);
opacity: 0;
}
}
} //plan_level
} //partners_plans_wrap
.partners_contact_wrap {
.partners_contact_title {
text-align: center;
}
.contact_form_wrap {
position: relative;
z-index: 5;
max-width: 60%;
margin: 0 auto;
.hubspot_form_wrap {
} //hubspot_form_wrap
@media screen and (max-width: $desktop) {
max-width: 90%;
}
} //contact_form_wrap
} //partners_contact_wrap

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,201 +0,0 @@
/* trivy styles */
//aqua brand colors
$aq-royal-blue: #1904da;
$aq-legacy-blue: #08b1d5;
$aq-coral-red: #ff445f;
$aq-starfish-yellow: #ffc900;
$aq-dark-abyss: #07242d;
$aq-blue-abyss: #031730;
$aq-deep-sea-blue: #183278;
$aq-ocean-ash: #405a75;
// $aq-sea-foam: #00ffe4;
$aq-neon-blue: #50f0ff;
$aq-neo-background: #ebf3fa;
$aq-neo-background-hover: #f0f8ff;
$aq-royal-blue-dark: #1503ba;
$aq-trivy-dark: #0a0b23;
$weight-normal: 400;
$weight-semibold: 600;
$weight-bold: 700;
$gap: 32px;
// 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16
$tablet: 769px;
// 960px container + 4rem
$desktop: 960px + 2 * $gap;
// 1152px container + 4rem
$widescreen: 1152px + 2 * $gap;
$widescreen-enabled: true;
// 1344px container + 4rem
$fullhd: 1344px + 2 * $gap;
$fullhd-enabled: true;
body {
font-family: "Inter", sans-serif;
}
.container {
width: 100%;
margin: 0 auto;
max-width: 1440px;
&.is-relative {
position: relative;
}
@media screen and (max-width: $tablet), print { //769
padding: 0 24px;
max-width: calc( 100% - 48px); //$tablet; //769
} //until tablet
}
.generic_title {
font-size: 28px; //1.75rem
font-weight: $weight-bold;
margin: 12px; //0.75rem
color: $aq-royal-blue;
}
.generic_subtitle {
font-size: 18px; //1.125rem
opacity: 0.8;
margin: 12px; //0.75rem
}
.section_title {
color: #ffffff; //$aq-neon-blue;
font-size: 48px; //3rem
font-weight: $weight-bold;
margin-bottom: 24px; //1.5rem
line-height: 1.2;
&.is_smaller {
font-size: 40px; //2.5rem
}
}
.section_subtitle {
color: #ffffff;
font-size: 26px; //1.625rem
margin-bottom: 24px; //1.5rem
}
@media screen and (max-width: $tablet) {
.section_title, .section_title.is_smaller {
font-size: 32px; //2rem
}
.section_subtitle {
font-size: 18px; //1.125rem
}
} //until
.button {
background-color: #ebf3fa;
border: 1px solid #dbdbdb;
border-width: 1px;
color: #363636;
cursor: pointer;
justify-content: center;
padding-bottom: calc(.5em - 1px);
padding-left: 1em;
padding-right: 1em;
padding-top: calc(.5em - 1px);
text-align: center;
white-space: nowrap;
border-radius: 4px;
transition: all .2s ease;
font-size: 16px;
display: inline-block;
font-weight: 700;
&.is-seafoam {
background-color: $aq-neon-blue;
border-color: $aq-neon-blue;
color: $aq-blue-abyss;
&.is-outlined {
background-color: rgba(0,0,0,0);
border-color: $aq-neon-blue;
color: $aq-neon-blue;
border-width: 2px;
&:hover {
background-color: $aq-neon-blue;
color: $aq-blue-abyss;
}
} //is-outlines
} //is-seafoam
&.large_btn {
font-size: 22px;
padding: 16px 27px;
margin-right: 12px;
@media screen and (max-width: $tablet), print {
font-size: 18px;
} //until tablet
}
&.solidseafoamarrowbutton {
background-color: $aq-neon-blue;
font-weight: 700;
border: 2px solid $aq-neon-blue;
font-size: 22px; //1.375rem
padding: 16px 27px;
color: $aq-blue-abyss;
&:after {
content: "";
border: solid $aq-blue-abyss;
border-width: 0 2px 2px 0;
display: inline-block;
padding: 4px;
transform: rotate(-45deg);
margin-left: 30px;
vertical-align: middle;
transition: all .2s;
}
} //solidseafoamarrowbutton
} //button
.margin-bottom-20 {
margin-bottom: 20px;
}
@import "_slick_slider";
@import "_glass_v2";
@import "_hubspot_form";
@import "_trivy_homepage";
@import "_trivy_partners";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1 +0,0 @@
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 240 240" enable-background="new 0 0 240 240" xml:space="preserve"><rect x="106" y="90" fill="#00ffe4" width="2" height="2"/><rect x="74" y="63" fill="#00ffe4" width="1" height="1"/><rect x="23" y="66" fill="#00ffe4" width="1" height="1"/><rect x="50" y="110" fill="#00ffe4" width="1" height="1"/><rect x="63" y="128" fill="#00ffe4" width="1" height="1"/><rect x="45" y="149" fill="#00ffe4" width="1" height="1"/><rect x="92" y="151" fill="#00ffe4" width="1" height="1"/><rect x="58" y="8" fill="#00ffe4" width="1" height="1"/><rect x="147" y="33" fill="#00ffe4" width="2" height="2"/><rect x="91" y="43" fill="#00ffe4" width="1" height="1"/><rect x="169" y="29" fill="#ffffff" width="1" height="1"/><rect x="182" y="19" fill="#00ffe4" width="1" height="1"/><rect x="161" y="59" fill="#00ffe4" width="1" height="1"/><rect x="138" y="95" fill="#00ffe4" width="1" height="1"/><rect x="199" y="71" fill="#ffffff" width="3" height="3"/><rect x="213" y="153" fill="#00ffe4" width="2" height="2"/><rect x="128" y="163" fill="#ffffff" width="1" height="1"/><rect x="205" y="174" fill="#00ffe4" width="1" height="1"/><rect x="152" y="200" fill="#00ffe4" width="1" height="1"/><rect x="52" y="211" fill="#00ffe4" width="2" height="2"/><rect y="191" fill="#00ffe4" width="1" height="1"/><rect x="110" y="184" fill="#00ffe4" width="1" height="1"/></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

View File

@@ -1,20 +0,0 @@
<svg width="214" height="63" viewBox="0 0 214 63" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_105_3432)">
<g clip-path="url(#clip1_105_3432)">
<path d="M91.1057 16.7456C93.9686 16.7456 96.4222 17.33 98.4665 18.4988C100.511 19.6676 102.079 21.2859 103.169 23.3538C104.305 25.3767 104.873 27.7143 104.873 30.3665C104.873 30.9509 104.851 31.5128 104.805 32.0523C104.759 32.5467 104.669 33.0188 104.533 33.4683H84.018C84.063 38.0985 84.9265 41.4251 86.6078 43.448C88.3341 45.4709 90.8333 46.4824 94.1048 46.4824C96.3765 46.4824 98.2166 46.1227 99.6255 45.4034C101.034 44.6393 102.329 43.5828 103.51 42.2343L104.601 43.2457C103.237 45.7182 101.374 47.6512 99.012 49.0447C96.6946 50.3933 93.923 51.0676 90.6971 51.0676C87.4706 51.0676 84.6309 50.3933 82.1773 49.0447C79.7238 47.6961 77.7931 45.7631 76.3842 43.2457C75.0209 40.6833 74.3398 37.6265 74.3398 34.0752C74.3398 30.389 75.1346 27.2647 76.7253 24.7024C78.3611 22.1401 80.451 20.1846 82.9952 18.8359C85.585 17.4424 88.2885 16.7456 91.1057 16.7456ZM90.7652 18.7011C89.4475 18.7011 88.2885 19.0832 87.2895 19.8474C86.3348 20.5667 85.5625 21.8703 84.9721 23.7584C84.4266 25.6015 84.1086 28.2088 84.018 31.5803H96.2172C96.7171 27.0399 96.5359 23.7584 95.6724 21.7354C94.8089 19.7125 93.1732 18.7011 90.7652 18.7011Z" fill="white"/>
<path d="M125.043 51.0676C121.953 51.0676 119.159 50.4158 116.66 49.1121C114.16 47.7635 112.184 45.8305 110.73 43.3131C109.321 40.7508 108.617 37.649 108.617 34.0078C108.617 30.3666 109.413 27.2647 111.003 24.7024C112.593 22.1401 114.706 20.1846 117.341 18.8359C120.022 17.4424 122.953 16.7456 126.133 16.7456C128.723 16.7456 130.927 17.1727 132.744 18.0268C134.561 18.8809 135.947 19.9823 136.902 21.3309C137.856 22.6345 138.333 24.0281 138.333 25.5116C138.333 26.7703 137.947 27.7367 137.174 28.4111C136.447 29.0853 135.493 29.4225 134.311 29.4225C133.039 29.4225 131.995 28.9729 131.177 28.0739C130.404 27.1748 129.95 26.0285 129.814 24.635C129.768 23.7359 129.768 22.9717 129.814 22.3423C129.904 21.713 129.904 21.1061 129.814 20.5217C129.632 19.7575 129.314 19.2406 128.859 18.9708C128.45 18.7011 127.86 18.5662 127.088 18.5662C124.225 18.5662 122.021 19.7125 120.477 22.0052C118.977 24.2528 118.227 27.9165 118.227 32.9963C118.227 37.3568 119.068 40.7058 120.749 43.0434C122.43 45.381 125.043 46.5498 128.586 46.5498C130.677 46.5498 132.403 46.1677 133.767 45.4034C135.129 44.5943 136.379 43.448 137.515 41.9645L138.606 42.7737C137.47 45.4709 135.72 47.5388 133.357 48.9772C131.04 50.3708 128.268 51.0676 125.043 51.0676Z" fill="white"/>
<path d="M140.628 50.1236V48.775L141.514 48.5053C143.15 48.0108 143.967 46.8869 143.967 45.1337V10.4072C143.967 9.46321 143.809 8.76643 143.491 8.31689C143.173 7.82236 142.559 7.46278 141.651 7.23798L140.628 6.96825V5.6871L152.146 2.7876L153.237 3.39447L152.964 12.9021V21.5332C154.555 20.2295 156.281 19.1057 158.144 18.1617C160.052 17.2177 162.097 16.7456 164.278 16.7456C167.277 16.7456 169.617 17.5773 171.298 19.2406C173.024 20.9039 173.888 23.4662 173.888 26.9276V45.2012C173.888 46.1002 174.07 46.8195 174.433 47.359C174.797 47.8984 175.433 48.303 176.342 48.5727L176.955 48.775V50.1236H161.416V48.775L162.234 48.5053C163.869 48.0557 164.687 46.9319 164.687 45.1337V25.6464C164.687 23.8034 164.369 22.5222 163.733 21.8029C163.097 21.0837 161.984 20.724 160.393 20.724C159.303 20.724 158.144 20.9263 156.917 21.3309C155.736 21.7355 154.487 22.4098 153.169 23.3538V45.2686C153.169 46.1677 153.351 46.8869 153.714 47.4264C154.077 47.9658 154.691 48.348 155.554 48.5727L156.167 48.775V50.1236L140.628 50.1236Z" fill="white"/>
<path d="M196.734 51.0676C193.372 51.0676 190.418 50.3708 187.874 48.9772C185.375 47.5837 183.421 45.6058 182.012 43.0434C180.649 40.4811 179.968 37.4242 179.968 33.8729C179.968 30.3215 180.694 27.2647 182.148 24.7024C183.648 22.1401 185.647 20.1846 188.146 18.8359C190.691 17.4424 193.553 16.7456 196.734 16.7456C199.915 16.7456 202.754 17.4424 205.253 18.8359C207.798 20.1846 209.797 22.1401 211.251 24.7024C212.75 27.2198 213.5 30.2766 213.5 33.8729C213.5 37.4242 212.796 40.5035 211.387 43.1109C210.024 45.6732 208.093 47.6512 205.594 49.0447C203.095 50.3933 200.142 51.0676 196.734 51.0676ZM196.734 49.1796C198.369 49.1796 199.687 48.7525 200.687 47.8984C201.732 46.9993 202.482 45.4484 202.936 43.2457C203.39 41.043 203.618 37.9636 203.618 34.0078C203.618 30.0069 203.39 26.9051 202.936 24.7024C202.482 22.4547 201.732 20.9038 200.687 20.0497C199.687 19.1507 198.369 18.7011 196.734 18.7011C195.098 18.7011 193.78 19.1507 192.781 20.0497C191.782 20.9038 191.032 22.4547 190.532 24.7024C190.078 26.9051 189.85 30.0069 189.85 34.0078C189.85 37.9636 190.078 41.043 190.532 43.2457C191.032 45.4484 191.782 46.9993 192.781 47.8984C193.78 48.7525 195.098 49.1796 196.734 49.1796Z" fill="white"/>
<path d="M19.851 31.1743C19.851 45.9125 27.2427 56.2352 30.8683 60.3905C32.079 61.7781 31.767 62.4352 29.9322 62.2793C13.4366 60.8757 0.5 47.4855 0.5 31.1743C0.5 14.5469 13.943 0.954861 30.8953 0.00118455C31.5519 -0.0357474 31.9018 0.79971 31.4502 1.27776C28.132 4.79122 19.851 15.1633 19.851 31.1743Z" fill="white"/>
<path d="M45.4656 31.1876C45.4656 42.1671 41.9304 51.0676 38.3656 51.0676C34.8008 51.0676 31.2656 42.1671 31.2656 31.1876C31.2656 20.2082 34.8009 11.3076 38.3656 11.3076C41.9303 11.3076 45.4656 20.2082 45.4656 31.1876Z" fill="white"/>
</g>
</g>
<defs>
<clipPath id="clip0_105_3432">
<rect width="213.24" height="61.9812" fill="white" transform="translate(0.612305 0.481934)"/>
</clipPath>
<clipPath id="clip1_105_3432">
<rect width="213" height="62.3018" fill="white" transform="translate(0.5)"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -1,17 +0,0 @@
<svg width="123" height="113" viewBox="0 0 123 113" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_105_3430)">
<path d="M15.33 112.944H13.0356V102.463C13.0356 101.776 12.8778 101.217 12.5647 100.784C12.2516 100.333 11.7506 100.107 11.0643 100.107C10.4181 100.107 9.887 100.353 9.47629 100.844C9.08299 101.315 8.88765 102.052 8.88765 103.051V112.944H6.59327V102.345C6.59327 101.699 6.41796 101.168 6.06471 100.756C5.71157 100.325 5.24067 100.109 4.65203 100.109C3.94574 100.109 3.39715 100.365 3.00395 100.875C2.63068 101.386 2.44535 102.052 2.44535 102.876V112.944H0.148438V98.3424H2.44282V99.9321H2.79607C3.05149 99.2448 3.42477 98.7441 3.91316 98.431C4.40409 98.0968 4.98271 97.9292 5.64895 97.9292C6.35534 97.9292 6.93387 98.1147 7.38473 98.4879C7.85562 98.8621 8.17883 99.3428 8.35667 99.9321H8.70981C9.37604 98.5986 10.4356 97.9292 11.8883 97.9292C12.9879 97.9292 13.8296 98.2824 14.4182 98.9897C15.0269 99.676 15.3299 100.578 15.3299 101.699L15.33 112.944Z" fill="white"/>
<path d="M24.2491 93.9842C24.2491 93.456 24.432 93.0101 24.7952 92.6433C25.1784 92.2606 25.6343 92.0698 26.1627 92.0698C26.6913 92.0698 27.1371 92.2606 27.5029 92.6433C27.8861 93.0101 28.0765 93.4561 28.0765 93.9842C28.0765 94.5134 27.8861 94.9698 27.5029 95.3525C27.1371 95.7183 26.6913 95.8996 26.1627 95.8996C25.6343 95.8996 25.1784 95.7162 24.7952 95.3525C24.4295 94.9698 24.2491 94.5134 24.2491 93.9842ZM20.1738 110.825H25.2936V100.463H21.2033V98.3431H27.588V110.825H32.3546V112.945H20.1738V110.825Z" fill="white"/>
<path d="M39.4916 112.943H37.1973V98.3422H39.4916V100.816H39.8448C40.7465 98.8946 42.317 97.9321 44.5513 97.9321C46.2395 97.9321 47.582 98.4603 48.5815 99.5207C49.5809 100.56 50.0819 102.132 50.0819 104.23V112.943H47.7875V104.701C47.7875 103.169 47.4444 102.021 46.758 101.257C46.0717 100.493 45.14 100.11 43.9627 100.11C42.57 100.11 41.4704 100.591 40.6664 101.553C39.8824 102.496 39.4891 103.761 39.4891 105.349V112.946L39.4916 112.943Z" fill="white"/>
<path d="M87.1294 112.944H84.8347V102.463C84.8347 101.776 84.6769 101.217 84.3638 100.784C84.0507 100.333 83.5498 100.107 82.8635 100.107C82.2172 100.107 81.6862 100.353 81.2754 100.844C80.8822 101.315 80.6869 102.052 80.6869 103.051V112.944H78.3925V102.345C78.3925 101.699 78.2171 101.168 77.8639 100.756C77.5108 100.325 77.0399 100.109 76.4513 100.109C75.7449 100.109 75.1964 100.365 74.8031 100.875C74.4299 101.386 74.2446 102.052 74.2446 102.876V112.944H71.9502V98.3424H74.2446V99.9321H74.5977C74.8533 99.2448 75.2264 98.7441 75.7148 98.431C76.2057 98.0968 76.7844 97.9292 77.4507 97.9292C78.157 97.9292 78.7356 98.1147 79.1865 98.4879C79.6574 98.8621 79.9805 99.3428 80.1583 99.9321H80.5115C81.1778 98.5986 82.2372 97.9292 83.6901 97.9292C84.7897 97.9292 85.6312 98.2824 86.2199 98.9897C86.829 99.676 87.1315 100.578 87.1315 101.699V112.944H87.1294Z" fill="white"/>
<path d="M102.564 97.9292H104.858V112.529H102.564V109.881H102.211C101.74 110.824 101.121 111.57 100.357 112.119C99.5933 112.667 98.6214 112.944 97.4439 112.944C96.6396 112.944 95.8932 112.806 95.207 112.533C94.5408 112.276 93.962 111.885 93.4708 111.354C93.0006 110.826 92.6275 110.167 92.3544 109.383C92.0983 108.597 91.9707 107.685 91.9707 106.646V97.9324H94.2656V106.352C94.2656 107.884 94.5787 109.001 95.207 109.708C95.8353 110.415 96.7946 110.768 98.0901 110.768C99.4827 110.768 100.573 110.297 101.356 109.354C102.16 108.393 102.564 107.116 102.564 105.528V97.9292Z" fill="white"/>
<path d="M112.703 101.699C112.703 102.405 112.996 102.944 113.585 103.318C114.193 103.691 115.29 103.937 116.88 104.055C118.587 104.192 119.881 104.603 120.766 105.29C121.667 105.956 122.118 106.939 122.118 108.234V108.409C122.118 109.117 121.971 109.753 121.678 110.325C121.401 110.873 121.011 111.344 120.5 111.737C120.009 112.132 119.401 112.425 118.676 112.62C117.97 112.836 117.196 112.943 116.352 112.943C115.215 112.943 114.233 112.796 113.409 112.502C112.606 112.189 111.929 111.786 111.377 111.295C110.849 110.783 110.446 110.214 110.17 109.588C109.895 108.941 109.739 108.292 109.699 107.645L111.876 107.117C111.974 108.234 112.404 109.139 113.172 109.826C113.935 110.492 114.957 110.825 116.232 110.825C117.311 110.825 118.174 110.62 118.822 110.207C119.488 109.776 119.821 109.177 119.821 108.409C119.821 107.585 119.498 106.997 118.849 106.643C118.203 106.289 117.153 106.064 115.701 105.966C114.013 105.849 112.72 105.455 111.816 104.788C110.915 104.122 110.463 103.149 110.463 101.874V101.699C110.463 101.011 110.611 100.412 110.904 99.9012C111.197 99.3731 111.59 98.9293 112.082 98.5761C112.593 98.2219 113.161 97.9563 113.787 97.7813C114.416 97.6063 115.072 97.5156 115.759 97.5156C116.72 97.5156 117.562 97.6537 118.289 97.9268C119.015 98.1819 119.623 98.5255 120.112 98.9567C120.602 99.3678 120.976 99.8485 121.229 100.4C121.505 100.949 121.68 101.498 121.758 102.05L119.581 102.578C119.483 101.635 119.1 100.898 118.434 100.37C117.788 99.8411 116.933 99.5755 115.873 99.5755C115.463 99.5755 115.06 99.6261 114.666 99.7241C114.293 99.801 113.96 99.9286 113.667 100.107C113.374 100.283 113.139 100.511 112.961 100.784C112.786 101.04 112.695 101.342 112.695 101.695L112.703 101.699Z" fill="white"/>
<path d="M58.9985 93.9842C58.9985 93.456 59.1814 93.0101 59.5446 92.6433C59.9278 92.2606 60.3837 92.0698 60.9122 92.0698C61.4407 92.0698 61.8865 92.2606 62.2522 92.6433C62.6355 93.0101 62.8259 93.4561 62.8259 93.9842C62.8259 94.5134 62.6355 94.9698 62.2522 95.3525C61.8865 95.7183 61.4407 95.8996 60.9122 95.8996C60.3837 95.8996 59.9278 95.7162 59.5446 95.3525C59.1789 94.9698 58.9985 94.5134 58.9985 93.9842ZM54.9258 110.825H60.0455V100.463H55.9553V98.3431H62.3399V110.825H67.1065V112.945H54.9258V110.825Z" fill="white"/>
<path d="M25.8652 0V71.4913H97.3429V0H25.8652ZM61.8864 47.5845H58.2681V31.0561C58.2681 29.9728 58.02 29.0909 57.5238 28.4104C57.0273 27.6993 56.2396 27.3439 55.1563 27.3439C54.1336 27.3439 53.2987 27.7294 52.6481 28.5041C52.0278 29.2484 51.7192 30.4088 51.7192 31.9849V47.5845H48.0976V30.8716C48.0976 29.8488 47.8191 29.0139 47.2627 28.3633C46.706 27.6826 45.9617 27.3405 45.0327 27.3405C43.9196 27.3405 43.051 27.7428 42.4341 28.5478C41.8473 29.3523 41.5521 30.4055 41.5521 31.7031V47.5812H37.9305V24.554H41.5521V27.0623H42.1087C42.511 25.9791 43.0981 25.191 43.8725 24.6948C44.6471 24.1683 45.5592 23.9065 46.6121 23.9065C47.7255 23.9065 48.6409 24.2017 49.3517 24.7885C50.0927 25.3756 50.6059 26.1332 50.8843 27.0623H51.4408C52.4939 24.9563 54.1637 23.9065 56.4539 23.9065C58.1875 23.9065 59.5189 24.4635 60.4477 25.5765C61.4069 26.6598 61.8864 28.0851 61.8864 29.8488V47.5845ZM85.2771 37.433H68.4942V34.0585H85.2771V37.433Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_105_3430">
<rect width="121.97" height="112.945" fill="white" transform="translate(0.148438)"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 6.6 KiB

View File

@@ -1,15 +0,0 @@
<svg width="195" height="45" viewBox="0 0 195 45" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_105_3431)">
<path d="M90.2387 8.59574C86.5111 8.59574 83.6196 9.64525 81.5667 11.7397C79.5094 13.8342 78.4814 16.7784 78.4814 20.5738V43.2223H83.6775V21.0333C83.6775 18.4579 84.3028 16.5279 85.561 15.2417C86.8162 13.9525 88.5701 13.3086 90.8226 13.3086C91.6905 13.3086 92.5979 13.4177 93.5527 13.6359V8.98758C92.7717 8.72485 91.6691 8.59424 90.2402 8.59424" fill="white"/>
<path d="M126.189 13.6696C122.833 10.289 118.644 8.59717 113.619 8.59717C108.594 8.59717 104.404 10.289 101.049 13.6696C97.6938 17.0534 96.0176 21.296 96.0176 26.4007C96.0176 31.5054 97.6815 35.7634 101.018 39.1655C104.352 42.5676 108.554 44.2702 113.619 44.2702C118.684 44.2702 122.885 42.5691 126.222 39.1655C129.556 35.7634 131.223 31.5069 131.223 26.4007C131.223 21.2945 129.547 17.0534 126.189 13.6696ZM122.455 35.7941C120.117 38.3035 117.17 39.5588 113.619 39.5588C110.068 39.5588 107.134 38.3127 104.816 35.828C102.501 33.34 101.343 30.1961 101.343 26.4007C101.343 22.6052 102.502 19.4642 104.816 16.9765C107.134 14.4887 110.068 13.2455 113.619 13.2455C117.17 13.2455 120.117 14.4887 122.455 16.9765C124.795 19.4642 125.964 22.6051 125.964 26.4007C125.964 30.1963 124.795 33.2848 122.455 35.7941Z" fill="white"/>
<path d="M166.919 13.6696C163.564 10.289 159.375 8.59717 154.349 8.59717C149.324 8.59717 145.134 10.289 141.78 13.6696C138.424 17.0534 136.748 21.296 136.748 26.4007C136.748 31.5054 138.412 35.7634 141.749 39.1655C145.082 42.5676 149.285 44.2702 154.349 44.2702C159.415 44.2702 163.616 42.5691 166.952 39.1655C170.287 35.7634 171.954 31.5069 171.954 26.4007C171.954 21.2945 170.275 17.0534 166.919 13.6696ZM163.187 35.7941C160.845 38.3035 157.9 39.5588 154.349 39.5588C150.799 39.5588 147.865 38.3127 145.547 35.828C143.232 33.34 142.074 30.1961 142.074 26.4007C142.074 22.6052 143.233 19.4642 145.547 16.9765C147.865 14.4887 150.799 13.2455 154.349 13.2455C157.9 13.2455 160.845 14.4887 163.187 16.9765C165.525 19.4642 166.694 22.6051 166.694 26.4007C166.694 30.1963 165.525 33.2848 163.187 35.7941Z" fill="white"/>
<path d="M182.225 9.6446L179.975 14.2284H194.612V9.6446H182.225ZM185.077 37.1658C183.778 35.8796 183.128 33.9727 183.128 31.4403V0.675293H177.932V31.9643C177.932 35.8042 178.959 38.7485 181.017 40.7983C183.074 42.8498 185.987 43.8731 189.754 43.8731C191.183 43.8731 192.436 43.655 193.521 43.2201V38.6378C192.74 38.9436 191.747 39.0974 190.532 39.0974C188.195 39.0974 186.379 38.455 185.075 37.1642" fill="white"/>
<path d="M43.0491 0.675293C30.0883 0.675293 19.5439 11.2994 19.5439 24.3582V43.417H33.8967V24.3582C33.8967 19.2737 38.0028 15.1366 43.0491 15.1366H53.3235V0.675293H43.0491Z" fill="white"/>
<path d="M0.118164 12.0776V26.5389H10.3926C15.4389 26.5389 19.545 30.6759 19.545 35.7604V43.4164H33.8978V35.7604C33.8978 22.7017 23.3534 12.0776 10.3926 12.0776L0.118164 12.0776Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_105_3431">
<rect width="194.494" height="43.5947" fill="white" transform="translate(0.118164 0.675293)"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -1 +0,0 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 1920 891" style="enable-background:new 0 0 1920 891" xml:space="preserve"><style>.st0{fill:#fff}.st1{fill:#50f0ff}</style><path class="st0" d="M1421.86 281.92h-46.97c-25.9 0-46.97-21.07-46.97-46.97s21.07-46.97 46.97-46.97 46.97 21.07 46.97 46.97v46.97zm-46.97-74.87c-15.38 0-27.9 12.52-27.9 27.9 0 15.38 12.52 27.9 27.9 27.9h27.9v-27.9c0-15.38-12.51-27.9-27.9-27.9zM1737.06 281.92h-46.97c-25.9 0-46.97-21.07-46.97-46.97s21.07-46.97 46.97-46.97 46.97 21.07 46.97 46.97v46.97zm-46.97-74.87c-15.38 0-27.9 12.52-27.9 27.9 0 15.38 12.52 27.9 27.9 27.9h27.9v-27.9c-.01-15.38-12.52-27.9-27.9-27.9zM1585.02 281.94c-25.91 0-46.99-21.08-46.99-46.99v-44.08h19.08v44.08c0 15.39 12.52 27.91 27.91 27.91s27.91-12.52 27.91-27.91v-44.08h19.09v44.08c-.01 25.91-21.1 46.99-47 46.99zM1479.94 187.98c-25.9 0-46.97 21.07-46.97 46.97s21.07 46.97 46.97 46.97l19.07-19.07h-19.07c-15.38 0-27.9-12.52-27.9-27.9 0-15.38 12.52-27.9 27.9-27.9 15.38 0 27.9 12.52 27.9 27.9v91.8h19.07v-91.8c0-25.9-21.07-46.97-46.97-46.97zM942.76 588.45v46.29c-31.53 0-59.94-11.34-82.34-30.14-28.15-23.63-46.04-59.08-46.04-98.71V274.06h46.04v105.2h82.34v46.59h-82.34v81.19c.63 45.06 37.13 81.41 82.34 81.41zM1106.82 379.26v45.98c-43.65.1-79.18 34.71-80.78 77.98v131.52h-46.12V379.26h46.12v29.16c21.93-18.18 50.08-29.12 80.78-29.16zM1136.4 353.72v-40.29h46.05v40.29h-46.05zm0 281.02V379.26h46.05v255.48h-46.05zM1464.76 379.26l-127.64 255.48-127.8-255.48h52.33l75.47 150.88 75.31-150.88h52.33zM1740.81 379.26v297.8c0 71.31-58.52 128.26-127.83 128.2-32.47.03-62.55-12.29-85.37-32.76l33.1-33.09c14.13 11.97 32.36 19.22 52.28 19.2 44.86 0 81.17-36.69 81.17-81.55v-71.39c-22.26 18.42-50.67 29.09-81.17 29.06-69.46.06-127.95-56-127.95-127.85V379.24h46.64l.02 127.64c0 44.67 36.39 81.6 81.28 81.55 44.86 0 81.17-36.69 81.17-81.55V379.26h46.66z"/><path class="st1" d="M428.54 364.9h.12c6.56.01 11.98-5.03 11.98-11.58V135.99l-12.23-6.83-12.18 6.8v217.36c0 6.56 5.43 11.61 11.98 11.58h.33z"/><path d="M355.18 463.55 153.55 598.87v15.41l11.49 6.29 203.73-136.73c5.23-3.51 6.53-10.52 3.15-15.84-.14-.23-.29-.45-.43-.68-3.5-5.62-10.81-7.46-16.31-3.77z" style="fill:#0744dd"/><path d="m488.27 483.95 203.55 136.61 11.45-6.28v-15.44L501.86 463.66c-5.51-3.7-12.82-1.87-16.32 3.76-.13.21-.27.43-.4.64-3.41 5.34-2.12 12.37 3.13 15.89z" style="fill:#ffc900"/><path class="st0" d="M727.69 282.29v-13.96l-12.5-6.98-.93-.49-273.93-152.99-11.92-6.64-11.87 6.64-273.98 152.99-.93.49-12.5 6.98v13.96l-.93.54.93.49v345.42l12.69 6.94 266.85 146.2 3.37 1.85 16.41 8.98 16.36-8.98 3.37-1.85 266.85-146.2 12.65-6.94V283.37l.98-.54-.97-.54zM440.95 758.05V511.4c0-6.72-5.5-12.22-12.22-12.21h-.32c-6.72-.01-12.22 5.49-12.22 12.21v246.64L165.04 620.57l-11.49-6.29V294.7l199.98 109.56c5.77 3.16 13.1 1.04 16.28-4.72l.14-.26c3.22-5.83 1.08-13.22-4.76-16.42L167.81 274.72l248.42-138.75 12.18-6.8 12.23 6.83 248.37 138.73-197.54 108.22c-5.81 3.18-7.63 10.45-4.41 16.24.05.1.11.2.16.29 3.16 5.73 10.22 8.01 15.96 4.86L703.27 294.7v319.59l-11.45 6.28-250.87 137.48z"/><circle cx="428.54" cy="432.05" r="35.42" style="fill:#ff0036"/><path class="st1" d="M617.65 262.99 426.32 155.74c-5.88-3.3-7.98-10.74-4.68-16.62 3.3-5.88 10.74-7.98 16.62-4.68l191.33 107.25c5.88 3.3 7.98 10.74 4.68 16.62-3.3 5.88-10.74 7.98-16.62 4.68zM533.81 271.27l-107.48-60.25c-5.88-3.3-7.98-10.74-4.68-16.62 3.3-5.88 10.74-7.98 16.62-4.68l107.48 60.25c5.88 3.3 7.98 10.74 4.68 16.62-3.3 5.88-10.74 7.97-16.62 4.68zM569.02 291c-5.88-3.3-7.98-10.74-4.68-16.62 3.3-5.88 10.74-7.98 16.62-4.68 5.88 3.3 7.98 10.74 4.68 16.62-3.3 5.88-10.74 7.98-16.62 4.68zM462.29 288.33l-35.7-20.01c-5.88-3.3-7.98-10.74-4.68-16.62 3.3-5.88 10.74-7.98 16.62-4.68l35.7 20.01c5.88 3.3 7.98 10.74 4.68 16.62-3.3 5.88-10.74 7.98-16.62 4.68zM516.16 321.21l-20.67-11.58c-5.88-3.3-7.98-10.74-4.68-16.62 3.3-5.88 10.74-7.98 16.62-4.68l20.67 11.58c5.88 3.3 7.98 10.74 4.68 16.62-3.3 5.88-10.74 7.98-16.62 4.68z"/></svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

File diff suppressed because one or more lines are too long

View File

@@ -72,7 +72,7 @@ pathspec==0.12.1
# mkdocs-macros-plugin
platformdirs==4.3.6
# via mkdocs-get-deps
pygments==2.18.0
pygments==2.19.2
# via mkdocs-material
pymdown-extensions==10.12
# via mkdocs-material

View File

@@ -66,7 +66,7 @@ If you'd like to learn more or request a demo, [click here to contact us](./cont
| Feature | Trivy OSS | Aqua |
| --- | --- | --- |
| Infrastructure as Code (IaC) | Many popular languages as detailed [here](https://trivy.dev/latest/docs/scanner/misconfiguration/check/builtin/) | In addition, Build Pipeline configuration scanning |
| Infrastructure as Code (IaC) | Many popular languages as detailed [here](https://trivy.dev/docs/latest/scanner/misconfiguration/check/builtin/) | In addition, Build Pipeline configuration scanning |
| Checks customization | Create custom checks with Rego | Create custom checks in no-code interface <br> Customize existing checks with organizational preferences |
| Cloud scanning | AWS (subset of services) | AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud |
| Compliance frameworks | CIS, NSA, vendor guides | More than 25 compliance programs |

View File

@@ -88,13 +88,13 @@ Running `make id` in the root of the trivy-checks repository will provide you wi
Rego Checks for Trivy can utilise Schemas to map the input to specific objects. The schemas available are listed [here.](https://github.com/aquasecurity/trivy/tree/main/pkg/iac/rego/schemas).
More information on using the builtin schemas is provided in the [main documentation.](../../../docs/scanner/misconfiguration/custom/schema.md)
More information on using the builtin schemas is provided in the [main documentation.](../../../guide/scanner/misconfiguration/custom/schema.md)
## Check Metadata
The metadata is the top section that starts with `# METADATA`, and has to be placed on top of the check. You can copy and paste from another check as a starting point. This format is effectively _yaml_ within a Rego comment, and is [defined as part of Rego itself](https://www.openpolicyagent.org/docs/latest/policy-language/#metadata).
For detailed information on each component of the Check Metadata, please refer to the [main documentation.](../../../docs/scanner/misconfiguration/custom/index.md)
For detailed information on each component of the Check Metadata, please refer to the [main documentation.](../../../guide/scanner/misconfiguration/custom/index.md)
Note that while the Metadata is optional in your own custom checks for Trivy, if you are contributing your check to the Trivy builtin checks, the Metadata section will be required.
@@ -123,7 +123,7 @@ Finally, you'll want to generate documentation for your newly added rule. Please
## Adding Tests
All Rego checks need to have tests. There are many examples of these in the `checks` directory for each check ([Link](https://github.com/aquasecurity/trivy-checks/tree/main/checks)). More information on how to write tests for Rego checks is provided in the [custom misconfiguration](../../../docs/scanner/misconfiguration/custom/testing.md) section of the docs.
All Rego checks need to have tests. There are many examples of these in the `checks` directory for each check ([Link](https://github.com/aquasecurity/trivy-checks/tree/main/checks)). More information on how to write tests for Rego checks is provided in the [custom misconfiguration](../../../guide/scanner/misconfiguration/custom/testing.md) section of the docs.
## Example PR

View File

@@ -24,7 +24,7 @@ There are 4 categories:
If you find any false positives or false negatives, please make sure to report them under the "False Detection" category, not "Bugs".
## False detection
Trivy depends on [multiple data sources](https://trivy.dev/latest/docs/scanner/vulnerability/#data-sources).
Trivy depends on [multiple data sources](https://trivy.dev/docs/latest/scanner/vulnerability/#data-sources).
Sometime these databases contain mistakes.
If Trivy can't detect any CVE-IDs or shows false positive result, at first please follow the next steps:

View File

@@ -3,7 +3,7 @@ Thank you for taking interest in contributing to Trivy!
1. Every Pull Request should have an associated GitHub issue link in the PR description. Note that issues are created by Trivy maintainers based on feedback provided in a GitHub discussion. Please refer to the [issue](./issue.md) and [discussion](./discussion.md) pages for explanation about this process. If you think your change is trivial enough, you can skip the issue and instead add justification and explanation in the PR description.
1. Your PR is more likely to be accepted if it focuses on just one change.
1. There's no need to add or tag reviewers.
1. If a reviewer commented on your code or asked for changes, please remember to respond with comment. Do not mark discussion as resolved. It's up to reviewer to mark it resolved (in case if suggested fix addresses problem properly). PRs with unresolved issues should not be merged (even if the comment is unclear or requires no action from your side).
1. If a reviewer commented on your code or asked for changes, please remember to respond with a comment. Do not mark the discussion as resolved. It's up to the reviewer to mark it resolved (in case the suggested fix addresses the problem properly). PRs with unresolved issues should not be merged (even if the comment is unclear or requires no action from your side).
1. Please include a comment with the results before and after your change.
1. Your PR is more likely to be accepted if it includes tests (We have not historically been very strict about tests, but we would like to improve this!).
1. If your PR affects the user experience in some way, please update the README.md and the CLI help accordingly.

View File

@@ -0,0 +1,144 @@
# Add Vulnerability Advisory Source
This guide walks through the process of adding a new vulnerability advisory source to Trivy.
!!! info
For an overview of how Trivy's vulnerability database works, see the [Overview](overview.md) page.
## Prerequisites
Before starting, ensure you have:
1. Identified the upstream advisory source and its API/format
2. Checked that the data source doesn't already exist in Trivy
3. Created a GitHub discussion or issue to discuss the addition
## Required Changes
To add a new vulnerability advisory source, you'll need to make changes across three repositories. Below we'll use the Echo OS support as an example.
### Step 1: Add Fetcher Script (vuln-list-update)
!!! note
Skip this step if your advisory source is already managed in a Git repository (e.g., GitHub, GitLab).
Create a fetcher script in [vuln-list-update] to collect advisories from the upstream source.
**Key tasks:**
- Fetch advisories from the upstream API or source
- Validate the advisory format and data
- Save advisories as JSON files in the [vuln-list] directory structure
- **Store original data as-is where possible**: Avoid preprocessing or modifying advisory fields. Save the raw data exactly as provided by the upstream source (format conversion like YAML to JSON is acceptable for consistency)
- Include all necessary metadata (CVE ID, affected versions, severity, etc.)
**Example PR:**
- [feat(echo): Add Echo Support (vuln-list-update#350)](https://github.com/aquasecurity/vuln-list-update/pull/350)
### Step 2: Add Parser (trivy-db)
Create a parser in [trivy-db] to transform raw advisories into Trivy's database format.
**Key tasks:**
- Create a new vulnerability source in `pkg/vulnsrc/`
- Implement the advisory parsing logic
- Map advisory fields to Trivy's vulnerability schema
- Handle version ranges and affected packages correctly
- Store CVE mappings if available
- Add unit tests for the parser
**Example PR:**
- [feat(echo): Add Echo Support (trivy-db#528)](https://github.com/aquasecurity/trivy-db/pull/528)
### Step 3: Add OS/Ecosystem Support (Trivy)
Update [trivy] to support the new operating system or package ecosystem.
**Key tasks:**
- Add OS analyzer in `pkg/fanal/analyzer/os/` to detect the OS
- Implement vulnerability detection logic if special handling is needed
- Add integration tests with test data
- Update documentation to include the new data source
**Example PR:**
- [feat(echo): Add Echo Support (trivy#8833)](https://github.com/aquasecurity/trivy/pull/8833)
## Complete Example: Echo OS Support
The Echo OS support was added through three coordinated PRs:
1. **vuln-list-update**: Fetches Echo advisories from `https://advisory.echohq.com/data.json`
- PR: https://github.com/aquasecurity/vuln-list-update/pull/350
2. **trivy-db**: Parses Echo advisories and stores them in the database
- PR: https://github.com/aquasecurity/trivy-db/pull/528
3. **Trivy**: Detects Echo OS and scans for vulnerabilities
- PR: https://github.com/aquasecurity/trivy/pull/8833
## Testing Your Changes
### Test vuln-list-update
First, fetch all existing advisories (required for building the database):
```bash
cd vuln-list-update
go run main.go -vuln-list-dir /path/to/vuln-list
```
Then, test your new data source by fetching only your target:
```bash
go run main.go -target your-source -vuln-list-dir /path/to/vuln-list
```
Verify that advisories are correctly saved in the vuln-list directory.
### Test trivy-db
```bash
cd trivy-db
make db-build CACHE_DIR=/path/to/cache
```
Check that the database is built without errors and contains your advisories.
!!! note
The `CACHE_DIR` should point to the parent directory of your vuln-list directory. For example, if your vuln-list is at `/tmp/test/vuln-list`, set `CACHE_DIR=/tmp/test`.
You can inspect the built database using BoltDB viewer tools like [boltwiz](https://github.com/Moniseeta/boltwiz):
```bash
# Open the database
boltwiz out/trivy.db
```
This allows you to verify that your vulnerabilities are correctly stored in the database.
### Test Trivy
```bash
# Build Trivy with your changes
mage build
# Use your local database
./trivy image --skip-db-update --cache-dir /path/to/cache your-test-image
```
Verify that vulnerabilities from your new data source are detected correctly.
## Getting Help
If you have questions or need help:
1. Check existing data sources for reference implementations
2. [Start a discussion](https://github.com/aquasecurity/trivy/discussions/new) in the Trivy repository
[vuln-list]: https://github.com/aquasecurity/vuln-list
[vuln-list-update]: https://github.com/aquasecurity/vuln-list-update
[trivy-db]: https://github.com/aquasecurity/trivy-db
[trivy]: https://github.com/aquasecurity/trivy

View File

@@ -0,0 +1,86 @@
# Vulnerability Data Sources
This section explains how Trivy's vulnerability database works and how to contribute new advisory data sources.
## Overview
Trivy's vulnerability database is built through a multi-repository workflow involving three main repositories:
```mermaid
graph LR
A[Advisory Sources] -->|vuln-list-update| B[vuln-list]
B --> C["trivy-db<br/>(Trivy DB)"]
C --> D["trivy<br/>(Trivy CLI)"]
E[GitHub-managed<br/>Advisories] --> C
```
### Workflow Steps
1. **Advisory Collection** ([vuln-list-update])
- Fetch raw advisories from upstream sources
- Store them in [vuln-list] repository
- Run periodically via cron to keep advisories up-to-date
- This step can be skipped if advisories are already managed in a Git repository (e.g., GitHub Security Advisories)
2. **Database Build** ([trivy-db])
- Parse advisories from [vuln-list] or directly from Git-managed sources
- Transform them into Trivy's database format
- Publish the built database periodically via cron
3. **Database Consumption** ([trivy])
- Download the latest vulnerability database at scan time
- Use it to detect vulnerabilities in scan targets
## Why Store Advisories in vuln-list?
For data sources that are not already Git-managed, storing advisories in the [vuln-list] repository provides several benefits:
- **Transparency**: Easy to track changes and differences between advisory versions
- **Web UI**: Browse advisories directly on GitHub with a user-friendly interface
- **Stability**: Mitigate issues when upstream advisory servers are unstable or unavailable
- **Shareability**: Provide stable URLs to reference specific advisories
- **Data Quality**: Validate advisory data before committing to vuln-list, preventing malformed data or unexpected format changes from breaking Trivy DB
- **Historical Data**: Preserve past advisories when upstream formats change
## Repository Overview
### [vuln-list-update]
This repository contains scripts that fetch advisories from various upstream sources. Each data source has its own package that handles:
- Fetching advisories from APIs or web sources
- Validating the advisory format and data
- Saving them to the [vuln-list] repository
### [vuln-list]
This repository serves as a data storage for raw advisories fetched by [vuln-list-update]. Key characteristics:
- Contains raw advisory data in JSON format
- Updated automatically by [vuln-list-update] scripts via cron
- **Not for manual contributions**: Direct pull requests to this repository are not accepted
- Used as the source for [trivy-db] to build the vulnerability database
### [trivy-db]
This repository contains parsers that transform raw advisories into Trivy's database format. Each data source has its own vulnerability source handler that:
- Reads advisory files from [vuln-list] or directly from Git-managed sources (e.g., GitHub Security Advisories)
- Maps advisory fields to Trivy's schema
- Stores vulnerability information in the database
### [trivy]
The main Trivy repository contains:
- OS and package analyzers to detect what's installed
- Vulnerability detection logic
## Next Steps
Ready to add a new vulnerability advisory source? See the [Add Vulnerability Advisory Source](add-vulnerability-source.md) guide for detailed steps.
[vuln-list]: https://github.com/aquasecurity/vuln-list
[vuln-list-update]: https://github.com/aquasecurity/vuln-list-update
[trivy-db]: https://github.com/aquasecurity/trivy-db
[trivy]: https://github.com/aquasecurity/trivy

View File

@@ -82,8 +82,8 @@ It has capabilities to fail the pipeline, create issues, alert communication cha
## SecObserve GitHub actions and GitLab templates (Community)
[SecObserve GitHub actions and GitLab templates](https://github.com/MaibornWolff/secobserve_actions_templates) run various vulnerability scanners, providing uniform methods and parameters for launching the tools.
[SecObserve GitHub actions and GitLab templates](https://github.com/SecObserve/secobserve_actions_templates) run various vulnerability scanners, providing uniform methods and parameters for launching the tools.
The Trivy integration supports scanning Docker images and local filesystems for vulnerabilities as well as scanning IaC files for misconfigurations.
👉 Get it at: <https://github.com/MaibornWolff/secobserve_actions_templates>
👉 Get it at: <https://github.com/SecObserve/secobserve_actions_templates>

View File

@@ -8,7 +8,7 @@ DefectDojo can parse Trivy JSON reports. The parser supports deduplication and a
## SecObserve (Community)
SecObserve can parse Trivy results as CycloneDX reports and provides an unified overview of vulnerabilities from different sources. Vulnerabilities can be evaluated with manual and rule based assessments.
👉 Get it at: <https://github.com/MaibornWolff/SecObserve>
👉 Get it at: <https://github.com/SecObserve/SecObserve>
## Scan2html (Community)
A Trivy plugin that scans and outputs the results to an interactive html file.

View File

@@ -6,7 +6,7 @@
### Does Trivy support X?
Check out the [Scanning coverage page](../docs/coverage/index.md).
Check out the [Scanning coverage page](../guide/coverage/index.md).
### Is there a paid version of Trivy?
@@ -16,10 +16,10 @@ In addition check out the <https://aquasec.com> website for more information abo
If you'd like to contact Aqua or request a demo, please use this form: <https://www.aquasec.com/demo>
### How to generate multiple reports?
See [here](../docs/configuration/reporting.md#converting).
See [here](../guide/configuration/reporting.md#converting).
### How to run Trivy under air-gapped environment?
See [here](../docs/advanced/air-gap.md).
See [here](../guide/advanced/air-gap.md).
### Why `trivy fs` and `trivy repo` does not scan JAR files for vulnerabilities?
See [here](../docs/target/repository.md#rationale).
See [here](../guide/target/repository.md#rationale).

View File

@@ -9,7 +9,7 @@ Trivy is available in most common distribution channels. The complete list of in
- Download binary from [GitHub Release](https://github.com/aquasecurity/trivy/releases/latest/)
- See [Installation](./installation.md) for more
Trivy is integrated with many popular platforms and applications. The complete list of integrations is available in the [Ecosystem](../ecosystem/index.md) page. Here are a few popular options examples:
Trivy is integrated with many popular platforms and applications. The complete list of integrations is available in the [Ecosystem](../ecosystem/index.md) page. Here are a few popular examples:
- [GitHub Actions](https://github.com/aquasecurity/trivy-action)
- [Kubernetes operator](https://github.com/aquasecurity/trivy-operator)
@@ -26,7 +26,7 @@ trivy <target> [--scanners <scanner1,scanner2>] <subject>
### Examples
Scan a container image from registry, with the default scanner which is Vulnerabilities scanner:
Scan a container image from a registry with the default scanner, which is the Vulnerabilities scanner:
```bash
trivy image python:3.4-alpine
@@ -58,10 +58,10 @@ For a more complete introduction, check out the basic Trivy Demo: <https://githu
## Learn more
Now that you up and ready, here are some resources to help you deepen your knowledge:
Now that you are up and ready, here are some resources to help you deepen your knowledge:
- Learn more about Trivy's capabilities by exploring the complete [documentation](../docs/index.md).
- Explore community questions and under [GitHub Discussions](https://github.com/aquasecurity/trivy/discussions).
- Learn more about Trivy's capabilities by exploring the complete [documentation](../guide/index.md).
- Explore community questions under [GitHub Discussions](https://github.com/aquasecurity/trivy/discussions).
- Stay up to date by watching for [New Releases & Announcements](https://github.com/aquasecurity/trivy/discussions/categories/announcements).
- Follow Trivy on Twitter/X: [@aquatrivy](https://x.com/aquatrivy)
- Explore and subscribe to our YouTube channel [@AquaSecOSS](http://youtube.com/@aquasecoss)

View File

@@ -16,7 +16,7 @@ Use one of the official Trivy images:
| AWS Elastic Container Registry (ECR) | `public.ecr.aws/aquasecurity/trivy` | https://gallery.ecr.aws/aquasecurity/trivy |
!!! Tip
It is advisable to mount a persistent [cache dir](../docs/configuration/cache.md) on the host into the Trivy container.
It is advisable to mount a persistent [cache dir](../guide/configuration/cache.md) on the host into the Trivy container.
!!! Tip
For scanning container images with Trivy, mount the container engine socket from the host into the Trivy container.

View File

@@ -31,7 +31,7 @@ Download the required tarball, associated signature and certificate files from t
Use the following command for keyless verification:
```shell
cosign verify-blob <path to binray> \
cosign verify-blob <path to binary> \
--certificate <path to cert> \
--signature <path to sig> \
--certificate-identity-regexp 'https://github\.com/aquasecurity/trivy/\.github/workflows/.+' \

View File

@@ -1,7 +1,7 @@
# Connectivity and Network considerations
Trivy requires internet connectivity in order to function normally. If your organizations blocks or restricts network traffic, that could prevent Trivy from working correctly.
This document explains Trivy's network connectivity requirements, and how to configure Trivy to work in restricted networks environments, including completely air-gapped environments.
Trivy requires internet connectivity in order to function normally. If your organization blocks or restricts network traffic, that could prevent Trivy from working correctly.
This document explains Trivy's network connectivity requirements, and how to configure Trivy to work in restricted network environments, including completely air-gapped environments.
The following table lists all external resources that are required by Trivy:
@@ -47,7 +47,7 @@ Checks Bundle is embedded in the Trivy binary (at build time), and will be used
### Connectivity Requirements
VEX Hub is hosted as at <https://github.com/aquasecurity/vexhub>.
VEX Hub is hosted at <https://github.com/aquasecurity/vexhub>.
Trivy is fetching VEX Hub GitHub Repository directly using simple HTTPS requests.
@@ -64,7 +64,7 @@ You can host a copy of VEX Hub on your own internal server. Please refer to the
## Maven Central / Remote Repositories
Trivy might call out to Maven central or other remote repositories to fetch in order to correctly identify Java packages during a vulnerability scan.
Trivy might call out to Maven Central or other remote repositories in order to correctly identify Java packages during a vulnerability scan.
### Connectivity requirements

View File

@@ -104,7 +104,8 @@ For Java DB the process is the same, except for the following:
1. Image location is `ghcr.io/aquasecurity/trivy-java-db:1`
2. Archive file name is `javadb.tar.gz`
3. DB file name is `trivy-java.db`
3. Java DB files names are `trivy-java.db` and `metadata.json`
4. The cache subdirectory is `java-db`.
## VEX Hub

View File

@@ -24,6 +24,7 @@
--pkg-types
--quiet
--redis-tls
--rego-error-limit
--removed-pkgs
--report
--scanners

View File

@@ -16,7 +16,7 @@ The following information could be collected:
### Captured scan options
The following flags will be included with their value:
--8<-- "./docs/docs/advanced/telemetry-flags.md"
--8<-- "./docs/guide/advanced/telemetry-flags.md"
## Privacy

View File

@@ -12,12 +12,12 @@ Compliance report is currently supported in the following targets (trivy sub-com
- `trivy image`
- `trivy k8s`
Add the `--compliance` flag to the command line, and set it's value to desired report.
Add the `--compliance` flag to the command line, and set its value to the desired report.
For example: `trivy k8s cluster --compliance k8s-nsa` (see below for built-in and custom reports)
### Options
The following flags are compatible with `--compliance` flag and allows customizing it's output:
The following flags are compatible with the `--compliance` flag and allow customizing its output:
| flag | effect |
|--------------------|--------------------------------------------------------------------------------------|
@@ -28,8 +28,8 @@ The following flags are compatible with `--compliance` flag and allows customizi
## Built-in compliance
Trivy has a number of built-in compliance reports that you can asses right out of the box.
to specify a built-in compliance report, select it by ID like `trivy --compliance <compliance_id>`.
Trivy has a number of built-in compliance reports that you can assess right out of the box.
To specify a built-in compliance report, select it by ID like `trivy --compliance <compliance_id>`.
For the list of built-in compliance reports, please see the relevant section:
@@ -264,7 +264,7 @@ You can create your own custom compliance report. A compliance report is a simpl
```yaml
spec:
id: "k8s-myreport" # report unique identifier. this should not container spaces.
id: "k8s-myreport" # report unique identifier. this should not contain spaces.
title: "My custom Kubernetes report" # report title. Any one-line title.
description: "Describe your report" # description of the report. Any text.
relatedResources :

View File

@@ -1,6 +1,6 @@
# Custom Compliance Spec
Trivy supports several different compliance specs. The details on compliance scanning with Trivy are provided in the [compliance documentation](../../docs/compliance/compliance.md).
Trivy supports several different compliance specs. The details on compliance scanning with Trivy are provided in the [compliance documentation](../../guide/compliance/compliance.md).
All of the Compliance Specs currently available in Trivy can be found in the `trivy-checks/pkg/specs/compliance/` directory ([Link](https://github.com/aquasecurity/trivy-checks/tree/main/pkg/specs/compliance)).
New checks are based on the custom compliance report detailed in the [main documentation.](./compliance.md#custom-compliance)

View File

@@ -86,7 +86,7 @@ If you want to use TLS with Redis, you can enable it by specifying the `--redis-
$ trivy server --cache-backend redis://localhost:6379 --redis-tls
```
Trivy also supports for connecting to Redis with your certificates.
Trivy also supports connecting to Redis with your certificates.
You need to specify `--redis-ca` , `--redis-cert` , and `--redis-key` options.
```
@@ -100,7 +100,7 @@ $ trivy server --cache-backend redis://localhost:6379 \
[trivy-java-db]: ./db.md
[misconf-checks]: ../scanner/misconfiguration/check/builtin.md
[boltdb]: https://github.com/etcd-io/bbolt
[parallel-run]: https://trivy.dev/{{ git.tag}}/docs/references/troubleshooting/#running-in-parallel-takes-same-time-as-series-run
[parallel-run]: https://trivy.dev/docs/{{ git.tag}}/guide/references/troubleshooting/#running-in-parallel-takes-same-time-as-series-run
[^1]: Downloaded when scanning for vulnerabilities
[^2]: Downloaded when scanning `jar/war/par/ear` files

View File

@@ -62,7 +62,7 @@ For example:
trivy image --db-repository registry.gitlab.com/gitlab-org/security-products/dependencies/trivy-db alpine
```
The flags accepts multiple values, which can be used to specify multiple alternative repository locations. In case of a transient errors (e.g. status 429 or 5xx), Trivy will fall back to alternative registries in the order specified.
The flag accepts multiple values, which can be used to specify multiple alternative repository locations. In case of transient errors (e.g. status 429 or 5xx), Trivy will fall back to alternative registries in the order specified.
For example:
@@ -72,8 +72,8 @@ trivy image --db-repository my.registry.local/trivy-db --db-repository registry.
The Checks Bundle registry location option does not support fallback through multiple options. This is because in case of a failure pulling the Checks Bundle, Trivy will use the embedded checks as a fallback.
!!! note
Setting the repository location flags override the default values which include the official db locations. In case you want to preserve the default locations, you should include them in the list the you set as repository locations.
!!! note
Setting the repository location flags overrides the default values which include the official db locations. In case you want to preserve the default locations, you should include them in the list you set as repository locations.
!!!note
When pulling `trivy-db` or `trivy-java-db`, if image tag is not specified, Trivy defaults to the db schema number instead of the `latest` tag.

View File

@@ -280,8 +280,7 @@ Trivy supports the [.trivyignore](#trivyignore) and [.trivyignore.yaml](#trivyig
| Vulnerability | ✓ |
| Misconfiguration | ✓ |
| Secret | ✓ |
| License | |
| License | |
```bash
$ cat .trivyignore
@@ -300,6 +299,10 @@ AVD-DS-0002
# Ignore secrets
generic-unwanted-rule
aws-account-id
# Ignore licenses
GPL-3.0
Apache-2.0 WITH LLVM-exception
```
```bash
@@ -324,7 +327,7 @@ Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
#### .trivyignore.yaml
| Scanner | Supported |
|:----------------:|:---------:|
| :--------------: | :-------: |
| Vulnerability | ✓ |
| Misconfiguration | ✓ |
| Secret | ✓ |
@@ -378,8 +381,24 @@ licenses:
- id: GPL-3.0 # License name is used as ID
paths:
- "usr/share/gcc/python/libstdcxx/v6/__init__.py"
- id: MIT AND GPL-2.0-or-later # Compound license expressions are supported
- id: Apache-2.0 WITH LLVM-exception # License expressions with exceptions are supported
- id: LLVM-exception # Individual license components or exceptions can be ignored
```
!!! info "Enhanced License Expression Support"
Trivy supports filtering complex SPDX license expressions including:
- **Compound expressions** with AND/OR operators: `MIT AND GPL-2.0-or-later`
- **License exceptions** with WITH operator: `Apache-2.0 WITH LLVM-exception`
- **Individual components**: You can ignore specific license components or exceptions from compound expressions
When filtering compound expressions:
- **AND/OR expressions**: All individual license components must be explicitly ignored for the entire expression to be ignored
- **WITH expressions**: License expressions with exceptions are treated as single entities and can be ignored as a whole
- **Component matching**: You can also ignore individual license names or exception names to filter specific parts of compound expressions
Since this feature is experimental, you must explicitly specify the YAML file path using the `--ignorefile` flag.
Once this functionality is stable, the YAML file will be loaded automatically.
@@ -480,6 +499,19 @@ ignore {
trivy image --ignore-policy examples/ignore-policies/basic.rego centos:7
```
To filter findings of a specific type based on a field that may exist in multiple structures (for example, `PkgName` in both `DetectedVulnerability` and `DetectedLicense`), you can use the `Type` field. This field is automatically added when exporting findings to Rego and indicates the kind of finding. Possible values are: `vulnerability`, `misconfiguration`, `secret`, and `license`.
For example, the following policy ignores vulnerabilities with a specific package name without affecting other finding types:
```rego
package trivy
ignore {
input.Type == "vulnerability"
input.PkgName == "foo"
}
```
For more advanced use cases, there is a built-in Rego library with helper functions that you can import into your policy using: `import data.lib.trivy`.
More info about the helper functions are in the library [here](https://github.com/aquasecurity/trivy/tree/{{ git.tag }}/pkg/result/module.go).

View File

@@ -9,7 +9,7 @@ Trivy's settings can be configured in any of the following methods, which will a
You can view the list of available flags by adding the `--help` flag to a Trivy command, or by exploring the [CLI reference](../references/configuration/cli/trivy.md).
## Environment Variables
Any CLI option can be set as an environment variable. The environment variable name are similar to the CLI option name, with the following augmentations:
Any CLI option can be set as an environment variable. The environment variable names are similar to the CLI option names, with the following augmentations:
- Add `TRIVY_` prefix
- All uppercase letters

Some files were not shown because too many files have changed in this diff Show More