mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-15 09:00:59 -08:00
fix: remove Highlighted from json output (#2131)
Co-authored-by: knqyf263 <knqyf263@gmail.com>
This commit is contained in:
4
go.mod
4
go.mod
@@ -7,7 +7,7 @@ require (
|
|||||||
github.com/Masterminds/sprig/v3 v3.2.2
|
github.com/Masterminds/sprig/v3 v3.2.2
|
||||||
github.com/NYTimes/gziphandler v1.1.1
|
github.com/NYTimes/gziphandler v1.1.1
|
||||||
github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986
|
github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986
|
||||||
github.com/aquasecurity/fanal v0.0.0-20220516110734-b18dcc16cd58
|
github.com/aquasecurity/fanal v0.0.0-20220516143651-a81c666fb9b5
|
||||||
github.com/aquasecurity/go-dep-parser v0.0.0-20220503151658-d316f5cc2cff
|
github.com/aquasecurity/go-dep-parser v0.0.0-20220503151658-d316f5cc2cff
|
||||||
github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce
|
github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce
|
||||||
github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798
|
github.com/aquasecurity/go-npm-version v0.0.0-20201110091526-0b796d180798
|
||||||
@@ -77,7 +77,7 @@ require (
|
|||||||
github.com/agext/levenshtein v1.2.3 // indirect
|
github.com/agext/levenshtein v1.2.3 // indirect
|
||||||
github.com/apparentlymart/go-cidr v1.1.0 // indirect
|
github.com/apparentlymart/go-cidr v1.1.0 // indirect
|
||||||
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
|
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
|
||||||
github.com/aquasecurity/defsec v0.57.6
|
github.com/aquasecurity/defsec v0.57.7
|
||||||
github.com/aws/aws-sdk-go v1.44.5 // indirect
|
github.com/aws/aws-sdk-go v1.44.5 // indirect
|
||||||
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
|
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
|
||||||
github.com/bmatcuk/doublestar v1.3.4 // indirect
|
github.com/bmatcuk/doublestar v1.3.4 // indirect
|
||||||
|
|||||||
8
go.sum
8
go.sum
@@ -180,10 +180,10 @@ github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6
|
|||||||
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
|
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
|
||||||
github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30xLN2sUZcMXl50hg+PJCIDdJgIvIbVcKqLJ/ZrtM=
|
github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30xLN2sUZcMXl50hg+PJCIDdJgIvIbVcKqLJ/ZrtM=
|
||||||
github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8=
|
github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8=
|
||||||
github.com/aquasecurity/defsec v0.57.6 h1:IeREWBMeJUmHHlG41FnjmsvndjoAs0aso6judsr82nc=
|
github.com/aquasecurity/defsec v0.57.7 h1:Y5D9YOUuU5oEtOQ6a+gjfKS5AAhsOK9gMcXUyiq20tY=
|
||||||
github.com/aquasecurity/defsec v0.57.6/go.mod h1:42FxKif2itz+MHFlJ3TJjdroL9Jzj3THoexlueBTU5w=
|
github.com/aquasecurity/defsec v0.57.7/go.mod h1:42FxKif2itz+MHFlJ3TJjdroL9Jzj3THoexlueBTU5w=
|
||||||
github.com/aquasecurity/fanal v0.0.0-20220516110734-b18dcc16cd58 h1:o6Y1tS1NuzDRDDb8pfKW/ElwBYW8fRI8etgaw9FlRJQ=
|
github.com/aquasecurity/fanal v0.0.0-20220516143651-a81c666fb9b5 h1:YAdyy3x91x8UiP5ol96yp5Quhuc35K+MyWmnMfzADhQ=
|
||||||
github.com/aquasecurity/fanal v0.0.0-20220516110734-b18dcc16cd58/go.mod h1:5E2NdTg9dgzGfMNpy+5egrezFBF1v8j+iiUYPLL1cs0=
|
github.com/aquasecurity/fanal v0.0.0-20220516143651-a81c666fb9b5/go.mod h1:GKzV4Pj8VdjxaHvzn7CpO/t7VX46hxhbtqbDq7RKWQg=
|
||||||
github.com/aquasecurity/go-dep-parser v0.0.0-20220503151658-d316f5cc2cff h1:YNlzRYB0n4mZtfuWx6AWaGEjnLVNekchyoFDlYFZegs=
|
github.com/aquasecurity/go-dep-parser v0.0.0-20220503151658-d316f5cc2cff h1:YNlzRYB0n4mZtfuWx6AWaGEjnLVNekchyoFDlYFZegs=
|
||||||
github.com/aquasecurity/go-dep-parser v0.0.0-20220503151658-d316f5cc2cff/go.mod h1:7EOQWQmyavVPY3fScbbPdd3dB/b0Q4ZbJ/NZCvNKrLs=
|
github.com/aquasecurity/go-dep-parser v0.0.0-20220503151658-d316f5cc2cff/go.mod h1:7EOQWQmyavVPY3fScbbPdd3dB/b0Q4ZbJ/NZCvNKrLs=
|
||||||
github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM=
|
github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM=
|
||||||
|
|||||||
@@ -17,14 +17,6 @@ type JSONWriter struct {
|
|||||||
|
|
||||||
// Write writes the results in JSON format
|
// Write writes the results in JSON format
|
||||||
func (jw JSONWriter) Write(report types.Report) error {
|
func (jw JSONWriter) Write(report types.Report) error {
|
||||||
// VendorSeverity includes all vendor severities.
|
|
||||||
// It would be noisy to users, so it should be removed from the JSON output.
|
|
||||||
for i := 0; i < len(report.Results); i++ {
|
|
||||||
for j := 0; j < len(report.Results[i].Vulnerabilities); j++ {
|
|
||||||
report.Results[i].Vulnerabilities[j].VendorSeverity = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
output, err := json.MarshalIndent(report, "", " ")
|
output, err := json.MarshalIndent(report, "", " ")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return xerrors.Errorf("failed to marshal json: %w", err)
|
return xerrors.Errorf("failed to marshal json: %w", err)
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package types
|
package types
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
|
||||||
v1 "github.com/google/go-containerregistry/pkg/v1" // nolint: goimports
|
v1 "github.com/google/go-containerregistry/pkg/v1" // nolint: goimports
|
||||||
|
|
||||||
ftypes "github.com/aquasecurity/fanal/types"
|
ftypes "github.com/aquasecurity/fanal/types"
|
||||||
@@ -53,6 +55,29 @@ type Result struct {
|
|||||||
CustomResources []ftypes.CustomResource `json:"CustomResources,omitempty"`
|
CustomResources []ftypes.CustomResource `json:"CustomResources,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *Result) MarshalJSON() ([]byte, error) {
|
||||||
|
// VendorSeverity includes all vendor severities.
|
||||||
|
// It would be noisy to users, so it should be removed from the JSON output.
|
||||||
|
for i := range r.Vulnerabilities {
|
||||||
|
r.Vulnerabilities[i].VendorSeverity = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove the Highlighted attribute from the json results
|
||||||
|
for i := range r.Misconfigurations {
|
||||||
|
for li := range r.Misconfigurations[i].CauseMetadata.Code.Lines {
|
||||||
|
r.Misconfigurations[i].CauseMetadata.Code.Lines[li].Highlighted = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Notice the Alias struct prevents MarshalJSON being called infinitely
|
||||||
|
type ResultAlias Result
|
||||||
|
return json.Marshal(&struct {
|
||||||
|
*ResultAlias
|
||||||
|
}{
|
||||||
|
ResultAlias: (*ResultAlias)(r),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
type MisconfSummary struct {
|
type MisconfSummary struct {
|
||||||
Successes int
|
Successes int
|
||||||
Failures int
|
Failures int
|
||||||
|
|||||||
Reference in New Issue
Block a user