mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-23 07:29:00 -08:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60c57ad5ad | ||
|
|
f3ee80c8e0 | ||
|
|
cbed239f39 | ||
|
|
1a840935bb | ||
|
|
3bc1490c8c | ||
|
|
542eee7c38 | ||
|
|
f65dd05309 |
1
.github/workflows/release.yaml
vendored
1
.github/workflows/release.yaml
vendored
@@ -39,7 +39,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
repository: ${{ github.repository_owner }}/trivy-repo
|
repository: ${{ github.repository_owner }}/trivy-repo
|
||||||
path: trivy-repo
|
path: trivy-repo
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.ORG_REPO_TOKEN }}
|
token: ${{ secrets.ORG_REPO_TOKEN }}
|
||||||
|
|
||||||
- name: Setup git settings
|
- name: Setup git settings
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{".":"0.67.0"}
|
{".":"0.67.2"}
|
||||||
|
|||||||
17
CHANGELOG.md
17
CHANGELOG.md
@@ -1,5 +1,22 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [0.67.2](https://github.com/aquasecurity/trivy/compare/v0.67.1...v0.67.2) (2025-10-10)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* Use `fetch-level: 1` to check out trivy-repo in the release workflow [backport: release/v0.67] ([#9638](https://github.com/aquasecurity/trivy/issues/9638)) ([f3ee80c](https://github.com/aquasecurity/trivy/commit/f3ee80c8e0a92a7d61f2fee21bfb9a44d95067da))
|
||||||
|
|
||||||
|
## [0.67.1](https://github.com/aquasecurity/trivy/compare/v0.67.0...v0.67.1) (2025-10-09)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* add `buildInfo` for `BlobInfo` in `rpc` package [backport: release/v0.67] ([#9615](https://github.com/aquasecurity/trivy/issues/9615)) ([542eee7](https://github.com/aquasecurity/trivy/commit/542eee7c387de4ef885ee7364b0264c0fd614587))
|
||||||
|
* restore compatibility for google.protobuf.Value [backport: release/v0.67] ([#9631](https://github.com/aquasecurity/trivy/issues/9631)) ([1a84093](https://github.com/aquasecurity/trivy/commit/1a840935bbd93b26bdbe3994d68487ca134fc407))
|
||||||
|
* using SrcVersion instead of Version for echo detector [backport: release/v0.67] ([#9629](https://github.com/aquasecurity/trivy/issues/9629)) ([3bc1490](https://github.com/aquasecurity/trivy/commit/3bc1490c8ca941989e219b9fccacff0f72df950c))
|
||||||
|
* **vex:** don't use reused BOM [backport: release/v0.67] ([#9612](https://github.com/aquasecurity/trivy/issues/9612)) ([f65dd05](https://github.com/aquasecurity/trivy/commit/f65dd053096795e7beb88c92340430ee8d89c3e8))
|
||||||
|
|
||||||
## [0.67.0](https://github.com/aquasecurity/trivy/compare/v0.66.0...v0.67.0) (2025-09-30)
|
## [0.67.0](https://github.com/aquasecurity/trivy/compare/v0.66.0...v0.67.0) (2025-09-30)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ func (s *Scanner) Detect(ctx context.Context, _ string, _ *ftypes.Repository, pk
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("failed to get echo advisories: %w", err)
|
return nil, xerrors.Errorf("failed to get echo advisories: %w", err)
|
||||||
}
|
}
|
||||||
formattedInstalledVersion := utils.FormatVersion(pkg)
|
formattedInstalledVersion := utils.FormatSrcVersion(pkg)
|
||||||
installedVersion, err := version.NewVersion(formattedInstalledVersion)
|
installedVersion, err := version.NewVersion(formattedInstalledVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("failed to parse installed version: %w", err)
|
return nil, xerrors.Errorf("failed to parse installed version: %w", err)
|
||||||
|
|||||||
@@ -152,6 +152,7 @@ func TestScanner_Detect(t *testing.T) {
|
|||||||
SrcName: "nginx",
|
SrcName: "nginx",
|
||||||
SrcVersion: "1.14.2",
|
SrcVersion: "1.14.2",
|
||||||
Release: "1ubuntu1",
|
Release: "1ubuntu1",
|
||||||
|
SrcRelease: "1ubuntu1",
|
||||||
Layer: ftypes.Layer{
|
Layer: ftypes.Layer{
|
||||||
DiffID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
|
DiffID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
|
||||||
},
|
},
|
||||||
@@ -163,6 +164,7 @@ func TestScanner_Detect(t *testing.T) {
|
|||||||
Version: "2.4.24",
|
Version: "2.4.24",
|
||||||
SrcVersion: "2.4.24",
|
SrcVersion: "2.4.24",
|
||||||
Release: "2",
|
Release: "2",
|
||||||
|
SrcRelease: "2",
|
||||||
Layer: ftypes.Layer{
|
Layer: ftypes.Layer{
|
||||||
DiffID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
|
DiffID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
|
||||||
},
|
},
|
||||||
@@ -226,7 +228,7 @@ func TestScanner_Detect(t *testing.T) {
|
|||||||
name: "happy path - no matching packages",
|
name: "happy path - no matching packages",
|
||||||
args: args{
|
args: args{
|
||||||
pkgs: []ftypes.Package{
|
pkgs: []ftypes.Package{
|
||||||
{ID: "echo", Version: "1.0.0"},
|
{ID: "echo", Version: "1.0.0", SrcVersion: "1.0.0", SrcName: "echo"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: nil,
|
want: nil,
|
||||||
@@ -239,7 +241,7 @@ func TestScanner_Detect(t *testing.T) {
|
|||||||
},
|
},
|
||||||
args: args{
|
args: args{
|
||||||
pkgs: []ftypes.Package{
|
pkgs: []ftypes.Package{
|
||||||
{SrcName: "apache2", Version: "1.0.0"},
|
{SrcName: "apache2", Version: "1.0.0", SrcVersion: "1.0.0"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
wantErr: "failed to get echo advisories",
|
wantErr: "failed to get echo advisories",
|
||||||
|
|||||||
@@ -140,13 +140,13 @@ func TestScanner_Scan(t *testing.T) {
|
|||||||
CweIDs: []string{"CWE-78"},
|
CweIDs: []string{"CWE-78"},
|
||||||
LastModifiedDate: utils.MustTimeParse("2020-01-01T01:01:00Z"),
|
LastModifiedDate: utils.MustTimeParse("2020-01-01T01:01:00Z"),
|
||||||
PublishedDate: utils.MustTimeParse("2001-01-01T01:01:00Z"),
|
PublishedDate: utils.MustTimeParse("2001-01-01T01:01:00Z"),
|
||||||
Custom: []uint8(nil),
|
Custom: nil,
|
||||||
},
|
},
|
||||||
SeveritySource: "nvd",
|
SeveritySource: "nvd",
|
||||||
Layer: ftypes.Layer{
|
Layer: ftypes.Layer{
|
||||||
DiffID: "sha256:5216338b40a7b96416b8b9858974bbe4acc3096ee60acbc4dfb1ee02aecceb10",
|
DiffID: "sha256:5216338b40a7b96416b8b9858974bbe4acc3096ee60acbc4dfb1ee02aecceb10",
|
||||||
},
|
},
|
||||||
Custom: []uint8(nil),
|
Custom: nil,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
package rpc
|
package rpc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
jsonv2 "encoding/json/v2"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/package-url/packageurl-go"
|
"github.com/package-url/packageurl-go"
|
||||||
@@ -299,14 +300,17 @@ func ConvertToRPCVulns(vulns []types.DetectedVulnerability) []*common.Vulnerabil
|
|||||||
publishedDate = timestamppb.New(*vuln.PublishedDate) // nolint: errcheck
|
publishedDate = timestamppb.New(*vuln.PublishedDate) // nolint: errcheck
|
||||||
}
|
}
|
||||||
|
|
||||||
var customAdvisoryData, customVulnData []byte
|
var customAdvisoryData, customVulnData *structpb.Value
|
||||||
|
var builder strings.Builder
|
||||||
if vuln.Custom != nil {
|
if vuln.Custom != nil {
|
||||||
jsonBytes, _ := json.Marshal(vuln.Custom) // nolint: errcheck
|
builder.Reset()
|
||||||
customAdvisoryData = jsonBytes
|
_ = jsonv2.MarshalWrite(&builder, vuln.Custom) // nolint: errcheck
|
||||||
|
customAdvisoryData = structpb.NewStringValue(builder.String())
|
||||||
}
|
}
|
||||||
if vuln.Vulnerability.Custom != nil {
|
if vuln.Vulnerability.Custom != nil {
|
||||||
jsonBytes, _ := json.Marshal(vuln.Vulnerability.Custom) // nolint: errcheck
|
builder.Reset()
|
||||||
customVulnData = jsonBytes
|
_ = jsonv2.MarshalWrite(&builder, vuln.Vulnerability.Custom) // nolint: errcheck
|
||||||
|
customVulnData = structpb.NewStringValue(builder.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
rpcVulns = append(rpcVulns, &common.Vulnerability{
|
rpcVulns = append(rpcVulns, &common.Vulnerability{
|
||||||
@@ -600,6 +604,15 @@ func ConvertFromRPCVulns(rpcVulns []*common.Vulnerability) []types.DetectedVulne
|
|||||||
publishedDate = lo.ToPtr(vuln.PublishedDate.AsTime())
|
publishedDate = lo.ToPtr(vuln.PublishedDate.AsTime())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle custom data conversion from protobuf.Value
|
||||||
|
var customVulnData, customAdvisoryData any
|
||||||
|
if vuln.CustomVulnData != nil {
|
||||||
|
customVulnData = vuln.CustomVulnData.AsInterface()
|
||||||
|
}
|
||||||
|
if vuln.CustomAdvisoryData != nil {
|
||||||
|
customAdvisoryData = vuln.CustomAdvisoryData.AsInterface()
|
||||||
|
}
|
||||||
|
|
||||||
vulns = append(vulns, types.DetectedVulnerability{
|
vulns = append(vulns, types.DetectedVulnerability{
|
||||||
VulnerabilityID: vuln.VulnerabilityId,
|
VulnerabilityID: vuln.VulnerabilityId,
|
||||||
VendorIDs: vuln.VendorIds,
|
VendorIDs: vuln.VendorIds,
|
||||||
@@ -619,13 +632,13 @@ func ConvertFromRPCVulns(rpcVulns []*common.Vulnerability) []types.DetectedVulne
|
|||||||
CweIDs: vuln.CweIds,
|
CweIDs: vuln.CweIds,
|
||||||
LastModifiedDate: lastModifiedDate,
|
LastModifiedDate: lastModifiedDate,
|
||||||
PublishedDate: publishedDate,
|
PublishedDate: publishedDate,
|
||||||
Custom: vuln.CustomVulnData,
|
Custom: customVulnData,
|
||||||
VendorSeverity: vendorSeverityMap,
|
VendorSeverity: vendorSeverityMap,
|
||||||
},
|
},
|
||||||
Layer: ConvertFromRPCLayer(vuln.Layer),
|
Layer: ConvertFromRPCLayer(vuln.Layer),
|
||||||
SeveritySource: dbTypes.SourceID(vuln.SeveritySource),
|
SeveritySource: dbTypes.SourceID(vuln.SeveritySource),
|
||||||
PrimaryURL: vuln.PrimaryUrl,
|
PrimaryURL: vuln.PrimaryUrl,
|
||||||
Custom: vuln.CustomAdvisoryData,
|
Custom: customAdvisoryData,
|
||||||
DataSource: ConvertFromRPCDataSource(vuln.DataSource),
|
DataSource: ConvertFromRPCDataSource(vuln.DataSource),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -834,6 +847,7 @@ func ConvertFromRPCPutBlobRequest(req *cache.PutBlobRequest) ftypes.BlobInfo {
|
|||||||
CreatedBy: req.BlobInfo.CreatedBy,
|
CreatedBy: req.BlobInfo.CreatedBy,
|
||||||
OpaqueDirs: req.BlobInfo.OpaqueDirs,
|
OpaqueDirs: req.BlobInfo.OpaqueDirs,
|
||||||
WhiteoutFiles: req.BlobInfo.WhiteoutFiles,
|
WhiteoutFiles: req.BlobInfo.WhiteoutFiles,
|
||||||
|
BuildInfo: ConvertFromRPCBuildInfo(req.BlobInfo.BuildInfo),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -858,6 +872,18 @@ func ConvertToRPCRepository(repo *ftypes.Repository) *common.Repository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ConvertFromRPCBuildInfo converts *common.BuildInfo to *ftypes.BuildInfo
|
||||||
|
func ConvertFromRPCBuildInfo(buildInfo *common.BuildInfo) *ftypes.BuildInfo {
|
||||||
|
if buildInfo == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return &ftypes.BuildInfo{
|
||||||
|
ContentSets: buildInfo.ContentSets,
|
||||||
|
Nvr: buildInfo.Nvr,
|
||||||
|
Arch: buildInfo.Arch,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ConvertToRPCArtifactInfo returns PutArtifactRequest
|
// ConvertToRPCArtifactInfo returns PutArtifactRequest
|
||||||
func ConvertToRPCArtifactInfo(imageID string, imageInfo ftypes.ArtifactInfo) *cache.PutArtifactRequest {
|
func ConvertToRPCArtifactInfo(imageID string, imageInfo ftypes.ArtifactInfo) *cache.PutArtifactRequest {
|
||||||
|
|
||||||
@@ -947,10 +973,23 @@ func ConvertToRPCPutBlobRequest(diffID string, blobInfo ftypes.BlobInfo) *cache.
|
|||||||
CreatedBy: blobInfo.CreatedBy,
|
CreatedBy: blobInfo.CreatedBy,
|
||||||
OpaqueDirs: blobInfo.OpaqueDirs,
|
OpaqueDirs: blobInfo.OpaqueDirs,
|
||||||
WhiteoutFiles: blobInfo.WhiteoutFiles,
|
WhiteoutFiles: blobInfo.WhiteoutFiles,
|
||||||
|
BuildInfo: ConvertToRPCBuildInfo(blobInfo.BuildInfo),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ConvertToRPCBuildInfo converts *ftypes.BuildInfo to *common.BuildInfo
|
||||||
|
func ConvertToRPCBuildInfo(buildInfo *ftypes.BuildInfo) *common.BuildInfo {
|
||||||
|
if buildInfo == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return &common.BuildInfo{
|
||||||
|
ContentSets: buildInfo.ContentSets,
|
||||||
|
Nvr: buildInfo.Nvr,
|
||||||
|
Arch: buildInfo.Arch,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ConvertToMisconfResults returns common.MisconfResult
|
// ConvertToMisconfResults returns common.MisconfResult
|
||||||
func ConvertToMisconfResults(results []ftypes.MisconfResult) []*common.MisconfResult {
|
func ConvertToMisconfResults(results []ftypes.MisconfResult) []*common.MisconfResult {
|
||||||
var rpcResults []*common.MisconfResult
|
var rpcResults []*common.MisconfResult
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
package rpc
|
package rpc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
jsonv2 "encoding/json/v2"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
"google.golang.org/protobuf/types/known/structpb"
|
||||||
"google.golang.org/protobuf/types/known/timestamppb"
|
"google.golang.org/protobuf/types/known/timestamppb"
|
||||||
|
|
||||||
dbTypes "github.com/aquasecurity/trivy-db/pkg/types"
|
dbTypes "github.com/aquasecurity/trivy-db/pkg/types"
|
||||||
@@ -273,6 +276,14 @@ func TestConvertFromRpcPkgs(t *testing.T) {
|
|||||||
func TestConvertToRpcVulns(t *testing.T) {
|
func TestConvertToRpcVulns(t *testing.T) {
|
||||||
fixedPublishedDate := time.Unix(1257894000, 0)
|
fixedPublishedDate := time.Unix(1257894000, 0)
|
||||||
fixedLastModifiedDate := time.Unix(1257894010, 0)
|
fixedLastModifiedDate := time.Unix(1257894010, 0)
|
||||||
|
type customStruct struct {
|
||||||
|
Field string
|
||||||
|
Number int
|
||||||
|
}
|
||||||
|
customData := customStruct{Field: "value", Number: 1}
|
||||||
|
customJSONBytes, err := jsonv2.Marshal(customData)
|
||||||
|
require.NoError(t, err)
|
||||||
|
customJSON := string(customJSONBytes)
|
||||||
|
|
||||||
type args struct {
|
type args struct {
|
||||||
vulns []types.DetectedVulnerability
|
vulns []types.DetectedVulnerability
|
||||||
@@ -295,6 +306,7 @@ func TestConvertToRpcVulns(t *testing.T) {
|
|||||||
Title: "DoS",
|
Title: "DoS",
|
||||||
Description: "Denial of Service",
|
Description: "Denial of Service",
|
||||||
Severity: "MEDIUM",
|
Severity: "MEDIUM",
|
||||||
|
Custom: customData,
|
||||||
VendorSeverity: dbTypes.VendorSeverity{
|
VendorSeverity: dbTypes.VendorSeverity{
|
||||||
vulnerability.RedHat: dbTypes.SeverityMedium,
|
vulnerability.RedHat: dbTypes.SeverityMedium,
|
||||||
},
|
},
|
||||||
@@ -327,6 +339,7 @@ func TestConvertToRpcVulns(t *testing.T) {
|
|||||||
Name: "GitHub Security Advisory Maven",
|
Name: "GitHub Security Advisory Maven",
|
||||||
URL: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven",
|
URL: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven",
|
||||||
},
|
},
|
||||||
|
Custom: customData,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -363,9 +376,11 @@ func TestConvertToRpcVulns(t *testing.T) {
|
|||||||
Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812",
|
Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812",
|
||||||
DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079",
|
DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079",
|
||||||
},
|
},
|
||||||
PrimaryUrl: "https://avd.aquasec.com/nvd/CVE-2019-0001",
|
CustomVulnData: structpb.NewStringValue(customJSON),
|
||||||
PublishedDate: timestamppb.New(fixedPublishedDate),
|
CustomAdvisoryData: structpb.NewStringValue(customJSON),
|
||||||
LastModifiedDate: timestamppb.New(fixedLastModifiedDate),
|
PrimaryUrl: "https://avd.aquasec.com/nvd/CVE-2019-0001",
|
||||||
|
PublishedDate: timestamppb.New(fixedPublishedDate),
|
||||||
|
LastModifiedDate: timestamppb.New(fixedLastModifiedDate),
|
||||||
DataSource: &common.DataSource{
|
DataSource: &common.DataSource{
|
||||||
Name: "GitHub Security Advisory Maven",
|
Name: "GitHub Security Advisory Maven",
|
||||||
Url: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven",
|
Url: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven",
|
||||||
@@ -434,6 +449,7 @@ func TestConvertToRpcVulns(t *testing.T) {
|
|||||||
func TestConvertFromRPCResults(t *testing.T) {
|
func TestConvertFromRPCResults(t *testing.T) {
|
||||||
fixedPublishedDate := time.Date(2009, 11, 10, 23, 0, 0, 0, time.UTC)
|
fixedPublishedDate := time.Date(2009, 11, 10, 23, 0, 0, 0, time.UTC)
|
||||||
fixedLastModifiedDate := time.Date(2009, 11, 10, 23, 0, 10, 0, time.UTC)
|
fixedLastModifiedDate := time.Date(2009, 11, 10, 23, 0, 10, 0, time.UTC)
|
||||||
|
customJSON := `{"Field":"value","Number":1}`
|
||||||
|
|
||||||
type args struct {
|
type args struct {
|
||||||
rpcResults []*scanner.Result
|
rpcResults []*scanner.Result
|
||||||
@@ -480,9 +496,11 @@ func TestConvertFromRPCResults(t *testing.T) {
|
|||||||
Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812",
|
Digest: "sha256:154ad0735c360b212b167f424d33a62305770a1fcfb6363882f5c436cfbd9812",
|
||||||
DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079",
|
DiffId: "sha256:b2a1a2d80bf0c747a4f6b0ca6af5eef23f043fcdb1ed4f3a3e750aef2dc68079",
|
||||||
},
|
},
|
||||||
PrimaryUrl: "https://avd.aquasec.com/nvd/CVE-2019-0001",
|
CustomVulnData: structpb.NewStringValue(customJSON),
|
||||||
PublishedDate: timestamppb.New(fixedPublishedDate),
|
CustomAdvisoryData: structpb.NewStringValue(customJSON),
|
||||||
LastModifiedDate: timestamppb.New(fixedLastModifiedDate),
|
PrimaryUrl: "https://avd.aquasec.com/nvd/CVE-2019-0001",
|
||||||
|
PublishedDate: timestamppb.New(fixedPublishedDate),
|
||||||
|
LastModifiedDate: timestamppb.New(fixedLastModifiedDate),
|
||||||
DataSource: &common.DataSource{
|
DataSource: &common.DataSource{
|
||||||
Name: "GitHub Security Advisory Maven",
|
Name: "GitHub Security Advisory Maven",
|
||||||
Url: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven",
|
Url: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven",
|
||||||
@@ -530,13 +548,13 @@ func TestConvertFromRPCResults(t *testing.T) {
|
|||||||
References: []string{"http://example.com"},
|
References: []string{"http://example.com"},
|
||||||
PublishedDate: &fixedPublishedDate,
|
PublishedDate: &fixedPublishedDate,
|
||||||
LastModifiedDate: &fixedLastModifiedDate,
|
LastModifiedDate: &fixedLastModifiedDate,
|
||||||
Custom: []uint8(nil),
|
Custom: customJSON,
|
||||||
},
|
},
|
||||||
DataSource: &dbTypes.DataSource{
|
DataSource: &dbTypes.DataSource{
|
||||||
Name: "GitHub Security Advisory Maven",
|
Name: "GitHub Security Advisory Maven",
|
||||||
URL: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven",
|
URL: "https://github.com/advisories?query=type%3Areviewed+ecosystem%3Amaven",
|
||||||
},
|
},
|
||||||
Custom: []uint8(nil),
|
Custom: customJSON,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -618,9 +636,9 @@ func TestConvertFromRPCResults(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
References: []string{"http://example.com"},
|
References: []string{"http://example.com"},
|
||||||
Custom: []uint8(nil),
|
Custom: any(nil),
|
||||||
},
|
},
|
||||||
Custom: []uint8(nil),
|
Custom: any(nil),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -56,8 +56,7 @@ func NewMarshaler(version string) Marshaler {
|
|||||||
// MarshalReport converts the Trivy report to the CycloneDX format
|
// MarshalReport converts the Trivy report to the CycloneDX format
|
||||||
func (m *Marshaler) MarshalReport(ctx context.Context, report types.Report) (*cdx.BOM, error) {
|
func (m *Marshaler) MarshalReport(ctx context.Context, report types.Report) (*cdx.BOM, error) {
|
||||||
// Convert into an intermediate representation
|
// Convert into an intermediate representation
|
||||||
opts := core.Options{GenerateBOMRef: true}
|
bom, err := sbomio.NewEncoder(sbomio.WithBOMRef()).Encode(report)
|
||||||
bom, err := sbomio.NewEncoder(opts).Encode(report)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("failed to marshal report: %w", err)
|
return nil, xerrors.Errorf("failed to marshal report: %w", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,21 +19,49 @@ import (
|
|||||||
"github.com/aquasecurity/trivy/pkg/types"
|
"github.com/aquasecurity/trivy/pkg/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Encoder struct {
|
type EncoderOption func(*Encoder)
|
||||||
bom *core.BOM
|
|
||||||
opts core.Options
|
// WithBOMRef enables BOM-Ref generation for CycloneDX components
|
||||||
|
func WithBOMRef() EncoderOption {
|
||||||
|
return func(e *Encoder) {
|
||||||
|
e.bomOpts.GenerateBOMRef = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewEncoder(opts core.Options) *Encoder {
|
// WithParents enables holding parent maps in the BOM structure
|
||||||
return &Encoder{opts: opts}
|
func WithParents() EncoderOption {
|
||||||
|
return func(e *Encoder) {
|
||||||
|
e.bomOpts.Parents = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ForceRegenerate forces regeneration of BOM instead of reusing existing one
|
||||||
|
func ForceRegenerate() EncoderOption {
|
||||||
|
return func(e *Encoder) {
|
||||||
|
e.forceRegenerate = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type Encoder struct {
|
||||||
|
bom *core.BOM
|
||||||
|
bomOpts core.Options
|
||||||
|
forceRegenerate bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewEncoder(opts ...EncoderOption) *Encoder {
|
||||||
|
e := &Encoder{}
|
||||||
|
for _, opt := range opts {
|
||||||
|
opt(e)
|
||||||
|
}
|
||||||
|
return e
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Encoder) Encode(report types.Report) (*core.BOM, error) {
|
func (e *Encoder) Encode(report types.Report) (*core.BOM, error) {
|
||||||
// When report.BOM is not nil, reuse the existing BOM structure.
|
// When report.BOM is not nil, reuse the existing BOM structure unless ForceRegenerate is set.
|
||||||
// This happens in two scenarios:
|
// This happens in two scenarios:
|
||||||
// 1. SBOM scanning: When scanning an existing SBOM file to refresh vulnerabilities
|
// 1. SBOM scanning: When scanning an existing SBOM file to refresh vulnerabilities
|
||||||
// 2. Library usage: When using Trivy as a library with a custom BOM in the report
|
// 2. Library usage: When using Trivy as a library with a custom BOM in the report
|
||||||
if report.BOM != nil {
|
if report.BOM != nil && !e.forceRegenerate {
|
||||||
return e.reuseExistingBOM(report)
|
return e.reuseExistingBOM(report)
|
||||||
}
|
}
|
||||||
// Metadata component
|
// Metadata component
|
||||||
@@ -42,7 +70,7 @@ func (e *Encoder) Encode(report types.Report) (*core.BOM, error) {
|
|||||||
return nil, xerrors.Errorf("failed to create root component: %w", err)
|
return nil, xerrors.Errorf("failed to create root component: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
e.bom = core.NewBOM(e.opts)
|
e.bom = core.NewBOM(e.bomOpts)
|
||||||
if report.BOM != nil {
|
if report.BOM != nil {
|
||||||
e.bom.SerialNumber = report.BOM.SerialNumber
|
e.bom.SerialNumber = report.BOM.SerialNumber
|
||||||
e.bom.Version = report.BOM.Version
|
e.bom.Version = report.BOM.Version
|
||||||
|
|||||||
@@ -1466,8 +1466,7 @@ func TestEncoder_Encode(t *testing.T) {
|
|||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
uuid.SetFakeUUID(t, "3ff14136-e09f-4df9-80ea-%012d")
|
uuid.SetFakeUUID(t, "3ff14136-e09f-4df9-80ea-%012d")
|
||||||
|
|
||||||
opts := core.Options{GenerateBOMRef: true}
|
got, err := sbomio.NewEncoder(sbomio.WithBOMRef()).Encode(tt.report)
|
||||||
got, err := sbomio.NewEncoder(opts).Encode(tt.report)
|
|
||||||
if tt.wantErr != "" {
|
if tt.wantErr != "" {
|
||||||
require.ErrorContains(t, err, tt.wantErr)
|
require.ErrorContains(t, err, tt.wantErr)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ func NewMarshaler(version string, opts ...marshalOption) *Marshaler {
|
|||||||
|
|
||||||
func (m *Marshaler) MarshalReport(ctx context.Context, report types.Report) (*spdx.Document, error) {
|
func (m *Marshaler) MarshalReport(ctx context.Context, report types.Report) (*spdx.Document, error) {
|
||||||
// Convert into an intermediate representation
|
// Convert into an intermediate representation
|
||||||
bom, err := sbomio.NewEncoder(core.Options{}).Encode(report)
|
bom, err := sbomio.NewEncoder().Encode(report)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, xerrors.Errorf("failed to marshal report: %w", err)
|
return nil, xerrors.Errorf("failed to marshal report: %w", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ func Filter(ctx context.Context, report *types.Report, opts Options) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: This method call has a side effect on the report
|
// NOTE: This method call has a side effect on the report
|
||||||
bom, err := sbomio.NewEncoder(core.Options{Parents: true}).Encode(*report)
|
bom, err := sbomio.NewEncoder(sbomio.WithParents(), sbomio.ForceRegenerate()).Encode(*report)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return xerrors.Errorf("unable to encode the SBOM: %w", err)
|
return xerrors.Errorf("unable to encode the SBOM: %w", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -665,13 +665,18 @@ func createCycloneDXBOMWithSpringComponent() *core.BOM {
|
|||||||
bom := core.NewBOM(core.Options{})
|
bom := core.NewBOM(core.Options{})
|
||||||
bom.SerialNumber = "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79"
|
bom.SerialNumber = "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79"
|
||||||
bom.Version = 1
|
bom.Version = 1
|
||||||
|
pkgIdentifier := ftypes.PkgIdentifier{
|
||||||
|
// Components got from scanned SBOM files don't have UID
|
||||||
|
BOMRef: springPackage.Identifier.BOMRef,
|
||||||
|
PURL: springPackage.Identifier.PURL,
|
||||||
|
}
|
||||||
// Add the spring component to match vuln1's BOM-Ref
|
// Add the spring component to match vuln1's BOM-Ref
|
||||||
springComponent := &core.Component{
|
springComponent := &core.Component{
|
||||||
Type: core.TypeLibrary,
|
Type: core.TypeLibrary,
|
||||||
Name: springPackage.Identifier.PURL.Name,
|
Name: springPackage.Identifier.PURL.Name,
|
||||||
Group: springPackage.Identifier.PURL.Namespace,
|
Group: springPackage.Identifier.PURL.Namespace,
|
||||||
Version: springPackage.Version,
|
Version: springPackage.Version,
|
||||||
PkgIdentifier: springPackage.Identifier,
|
PkgIdentifier: pkgIdentifier,
|
||||||
}
|
}
|
||||||
bom.AddComponent(springComponent)
|
bom.AddComponent(springComponent)
|
||||||
return bom
|
return bom
|
||||||
|
|||||||
148
rpc/cache/service.pb.go
vendored
148
rpc/cache/service.pb.go
vendored
@@ -193,6 +193,7 @@ type BlobInfo struct {
|
|||||||
Licenses []*common.LicenseFile `protobuf:"bytes,13,rep,name=licenses,proto3" json:"licenses,omitempty"`
|
Licenses []*common.LicenseFile `protobuf:"bytes,13,rep,name=licenses,proto3" json:"licenses,omitempty"`
|
||||||
Size int64 `protobuf:"varint,14,opt,name=size,proto3" json:"size,omitempty"`
|
Size int64 `protobuf:"varint,14,opt,name=size,proto3" json:"size,omitempty"`
|
||||||
CreatedBy string `protobuf:"bytes,15,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
|
CreatedBy string `protobuf:"bytes,15,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
|
||||||
|
BuildInfo *common.BuildInfo `protobuf:"bytes,16,opt,name=build_info,json=buildInfo,proto3" json:"build_info,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *BlobInfo) Reset() {
|
func (x *BlobInfo) Reset() {
|
||||||
@@ -332,6 +333,13 @@ func (x *BlobInfo) GetCreatedBy() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *BlobInfo) GetBuildInfo() *common.BuildInfo {
|
||||||
|
if x != nil {
|
||||||
|
return x.BuildInfo
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type PutBlobRequest struct {
|
type PutBlobRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@@ -637,7 +645,7 @@ var file_rpc_cache_service_proto_rawDesc = []byte{
|
|||||||
0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79,
|
0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79,
|
||||||
0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
|
0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
|
||||||
0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
|
0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
|
||||||
0x49, 0x6e, 0x66, 0x6f, 0x22, 0xb6, 0x05, 0x0a, 0x08, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x66,
|
0x49, 0x6e, 0x66, 0x6f, 0x22, 0xee, 0x05, 0x0a, 0x08, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x66,
|
||||||
0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
|
0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
|
||||||
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d,
|
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d,
|
||||||
0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02,
|
0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x02,
|
||||||
@@ -680,56 +688,60 @@ var file_rpc_cache_service_proto_rawDesc = []byte{
|
|||||||
0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69,
|
0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69,
|
||||||
0x7a, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d,
|
0x7a, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d,
|
||||||
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0f, 0x20, 0x01,
|
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0f, 0x20, 0x01,
|
||||||
0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x22, 0x60, 0x0a,
|
0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x36, 0x0a,
|
||||||
0x0e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28,
|
||||||
0x17, 0x0a, 0x07, 0x64, 0x69, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
0x0b, 0x32, 0x17, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
||||||
0x52, 0x06, 0x64, 0x69, 0x66, 0x66, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x62,
|
0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c,
|
||||||
0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x72,
|
0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x60, 0x0a, 0x0e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62,
|
||||||
0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f,
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x69, 0x66, 0x66, 0x5f,
|
||||||
0x62, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x22,
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x66, 0x66, 0x49, 0x64,
|
||||||
0x43, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20,
|
0x12, 0x35, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20,
|
||||||
0x0a, 0x02, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x72, 0x69,
|
0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68,
|
||||||
0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73,
|
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x62,
|
||||||
0x12, 0x12, 0x0a, 0x04, 0x65, 0x6f, 0x73, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
|
0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x43, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x52, 0x65,
|
||||||
0x65, 0x6f, 0x73, 0x6c, 0x22, 0x51, 0x0a, 0x13, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42,
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01,
|
||||||
0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
|
0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
|
||||||
0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
0x6e, 0x2e, 0x4f, 0x53, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x6f, 0x73, 0x6c,
|
||||||
0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x6f, 0x73, 0x6c, 0x22, 0x51, 0x0a, 0x13,
|
||||||
0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
|
0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x62, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0x6b, 0x0a, 0x14, 0x4d, 0x69, 0x73, 0x73, 0x69,
|
0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f,
|
||||||
0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
|
||||||
0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66,
|
0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73,
|
||||||
0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69,
|
0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22,
|
||||||
0x6e, 0x67, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69,
|
0x6b, 0x0a, 0x14, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52,
|
||||||
0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69,
|
||||||
0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f,
|
0x6e, 0x67, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x62, 0x49, 0x64, 0x73, 0x22, 0x2f, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c,
|
0x08, 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
|
||||||
0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c,
|
0x63, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c,
|
||||||
0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c,
|
0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69,
|
||||||
0x6f, 0x62, 0x49, 0x64, 0x73, 0x32, 0xbb, 0x02, 0x0a, 0x05, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12,
|
0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0x2f, 0x0a, 0x12,
|
||||||
0x49, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x22,
|
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01,
|
||||||
0x50, 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x32, 0xbb, 0x02,
|
||||||
0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
0x0a, 0x05, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x41, 0x72,
|
||||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x07, 0x50, 0x75,
|
0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x22, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63,
|
||||||
0x74, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x1e, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61,
|
0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66,
|
||||||
0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65,
|
0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x59, 0x0a,
|
0x74, 0x79, 0x12, 0x41, 0x0a, 0x07, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x1e, 0x2e,
|
||||||
0x0c, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x2e,
|
0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50,
|
||||||
0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
|
0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
|
||||||
0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||||
0x73, 0x74, 0x1a, 0x24, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65,
|
0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x59, 0x0a, 0x0c, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67,
|
||||||
0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73,
|
0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x23, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61,
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65,
|
0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x6c,
|
||||||
0x74, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12, 0x22, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e,
|
0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x74, 0x72, 0x69,
|
||||||
0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42,
|
0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x69, 0x73, 0x73,
|
||||||
0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
|
0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||||
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
|
0x12, 0x49, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x12,
|
||||||
0x70, 0x74, 0x79, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
|
0x22, 0x2e, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x76, 0x31,
|
||||||
0x6d, 0x2f, 0x61, 0x71, 0x75, 0x61, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74,
|
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x72, 0x69, 0x76, 0x79, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x3b, 0x63,
|
0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
||||||
0x61, 0x63, 0x68, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x2f, 0x5a, 0x2d, 0x67,
|
||||||
|
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x71, 0x75, 0x61, 0x73, 0x65,
|
||||||
|
0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x74, 0x72, 0x69, 0x76, 0x79, 0x2f, 0x72, 0x70, 0x63,
|
||||||
|
0x2f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x3b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x62, 0x06, 0x70, 0x72,
|
||||||
|
0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -764,7 +776,8 @@ var file_rpc_cache_service_proto_goTypes = []interface{}{
|
|||||||
(*common.Misconfiguration)(nil), // 15: trivy.common.Misconfiguration
|
(*common.Misconfiguration)(nil), // 15: trivy.common.Misconfiguration
|
||||||
(*common.CustomResource)(nil), // 16: trivy.common.CustomResource
|
(*common.CustomResource)(nil), // 16: trivy.common.CustomResource
|
||||||
(*common.LicenseFile)(nil), // 17: trivy.common.LicenseFile
|
(*common.LicenseFile)(nil), // 17: trivy.common.LicenseFile
|
||||||
(*emptypb.Empty)(nil), // 18: google.protobuf.Empty
|
(*common.BuildInfo)(nil), // 18: trivy.common.BuildInfo
|
||||||
|
(*emptypb.Empty)(nil), // 19: google.protobuf.Empty
|
||||||
}
|
}
|
||||||
var file_rpc_cache_service_proto_depIdxs = []int32{
|
var file_rpc_cache_service_proto_depIdxs = []int32{
|
||||||
8, // 0: trivy.cache.v1.ArtifactInfo.created:type_name -> google.protobuf.Timestamp
|
8, // 0: trivy.cache.v1.ArtifactInfo.created:type_name -> google.protobuf.Timestamp
|
||||||
@@ -779,21 +792,22 @@ var file_rpc_cache_service_proto_depIdxs = []int32{
|
|||||||
16, // 9: trivy.cache.v1.BlobInfo.custom_resources:type_name -> trivy.common.CustomResource
|
16, // 9: trivy.cache.v1.BlobInfo.custom_resources:type_name -> trivy.common.CustomResource
|
||||||
10, // 10: trivy.cache.v1.BlobInfo.secrets:type_name -> trivy.common.Secret
|
10, // 10: trivy.cache.v1.BlobInfo.secrets:type_name -> trivy.common.Secret
|
||||||
17, // 11: trivy.cache.v1.BlobInfo.licenses:type_name -> trivy.common.LicenseFile
|
17, // 11: trivy.cache.v1.BlobInfo.licenses:type_name -> trivy.common.LicenseFile
|
||||||
2, // 12: trivy.cache.v1.PutBlobRequest.blob_info:type_name -> trivy.cache.v1.BlobInfo
|
18, // 12: trivy.cache.v1.BlobInfo.build_info:type_name -> trivy.common.BuildInfo
|
||||||
11, // 13: trivy.cache.v1.PutResponse.os:type_name -> trivy.common.OS
|
2, // 13: trivy.cache.v1.PutBlobRequest.blob_info:type_name -> trivy.cache.v1.BlobInfo
|
||||||
1, // 14: trivy.cache.v1.Cache.PutArtifact:input_type -> trivy.cache.v1.PutArtifactRequest
|
11, // 14: trivy.cache.v1.PutResponse.os:type_name -> trivy.common.OS
|
||||||
3, // 15: trivy.cache.v1.Cache.PutBlob:input_type -> trivy.cache.v1.PutBlobRequest
|
1, // 15: trivy.cache.v1.Cache.PutArtifact:input_type -> trivy.cache.v1.PutArtifactRequest
|
||||||
5, // 16: trivy.cache.v1.Cache.MissingBlobs:input_type -> trivy.cache.v1.MissingBlobsRequest
|
3, // 16: trivy.cache.v1.Cache.PutBlob:input_type -> trivy.cache.v1.PutBlobRequest
|
||||||
7, // 17: trivy.cache.v1.Cache.DeleteBlobs:input_type -> trivy.cache.v1.DeleteBlobsRequest
|
5, // 17: trivy.cache.v1.Cache.MissingBlobs:input_type -> trivy.cache.v1.MissingBlobsRequest
|
||||||
18, // 18: trivy.cache.v1.Cache.PutArtifact:output_type -> google.protobuf.Empty
|
7, // 18: trivy.cache.v1.Cache.DeleteBlobs:input_type -> trivy.cache.v1.DeleteBlobsRequest
|
||||||
18, // 19: trivy.cache.v1.Cache.PutBlob:output_type -> google.protobuf.Empty
|
19, // 19: trivy.cache.v1.Cache.PutArtifact:output_type -> google.protobuf.Empty
|
||||||
6, // 20: trivy.cache.v1.Cache.MissingBlobs:output_type -> trivy.cache.v1.MissingBlobsResponse
|
19, // 20: trivy.cache.v1.Cache.PutBlob:output_type -> google.protobuf.Empty
|
||||||
18, // 21: trivy.cache.v1.Cache.DeleteBlobs:output_type -> google.protobuf.Empty
|
6, // 21: trivy.cache.v1.Cache.MissingBlobs:output_type -> trivy.cache.v1.MissingBlobsResponse
|
||||||
18, // [18:22] is the sub-list for method output_type
|
19, // 22: trivy.cache.v1.Cache.DeleteBlobs:output_type -> google.protobuf.Empty
|
||||||
14, // [14:18] is the sub-list for method input_type
|
19, // [19:23] is the sub-list for method output_type
|
||||||
14, // [14:14] is the sub-list for extension type_name
|
15, // [15:19] is the sub-list for method input_type
|
||||||
14, // [14:14] is the sub-list for extension extendee
|
15, // [15:15] is the sub-list for extension type_name
|
||||||
0, // [0:14] is the sub-list for field type_name
|
15, // [15:15] is the sub-list for extension extendee
|
||||||
|
0, // [0:15] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_rpc_cache_service_proto_init() }
|
func init() { file_rpc_cache_service_proto_init() }
|
||||||
|
|||||||
1
rpc/cache/service.proto
vendored
1
rpc/cache/service.proto
vendored
@@ -46,6 +46,7 @@ message BlobInfo {
|
|||||||
repeated common.LicenseFile licenses = 13;
|
repeated common.LicenseFile licenses = 13;
|
||||||
int64 size = 14;
|
int64 size = 14;
|
||||||
string created_by = 15;
|
string created_by = 15;
|
||||||
|
common.BuildInfo build_info = 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
message PutBlobRequest {
|
message PutBlobRequest {
|
||||||
|
|||||||
113
rpc/cache/service.twirp.go
vendored
113
rpc/cache/service.twirp.go
vendored
@@ -1926,60 +1926,61 @@ func callClientError(ctx context.Context, h *twirp.ClientHooks, err twirp.Error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
var twirpFileDescriptor0 = []byte{
|
var twirpFileDescriptor0 = []byte{
|
||||||
// 871 bytes of a gzipped FileDescriptorProto
|
// 896 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xef, 0x8f, 0xdb, 0x44,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x6d, 0x6f, 0xe3, 0x44,
|
||||||
0x10, 0x55, 0x92, 0xbb, 0x4b, 0x32, 0xf9, 0x71, 0xc7, 0x52, 0x5a, 0x37, 0x94, 0x36, 0x0a, 0x20,
|
0x10, 0x56, 0x92, 0xb6, 0x49, 0x26, 0x2f, 0x0d, 0xcb, 0x71, 0xf5, 0x85, 0xe3, 0x2e, 0x32, 0x20,
|
||||||
0x05, 0x09, 0x6c, 0x71, 0x50, 0x09, 0x09, 0x81, 0xb8, 0xbb, 0x02, 0x8a, 0xd4, 0x8a, 0x63, 0x8b,
|
0x05, 0x09, 0x6c, 0x51, 0x38, 0x84, 0x84, 0x40, 0xb4, 0x3d, 0x40, 0x91, 0xee, 0x44, 0xd9, 0x43,
|
||||||
0x90, 0xe0, 0x4b, 0x70, 0xd6, 0xeb, 0x64, 0x75, 0xb1, 0xd7, 0xb7, 0xb3, 0x3e, 0x08, 0x7f, 0x58,
|
0x48, 0xf0, 0x25, 0xd8, 0xeb, 0x75, 0xb2, 0xaa, 0xed, 0x75, 0x77, 0xd7, 0x85, 0xf0, 0xc3, 0xf8,
|
||||||
0xbf, 0xf0, 0xcf, 0xa1, 0x5d, 0xaf, 0x93, 0x38, 0x49, 0x4f, 0xf0, 0x25, 0xf2, 0xce, 0x3c, 0xcf,
|
0xc2, 0x7f, 0xe2, 0x37, 0xa0, 0x5d, 0xaf, 0x93, 0x38, 0xc9, 0x55, 0xdc, 0x97, 0x6a, 0x77, 0xe6,
|
||||||
0xbe, 0x79, 0xf3, 0xc6, 0x81, 0x47, 0x2a, 0x63, 0x01, 0x0b, 0xd9, 0x82, 0x07, 0xc8, 0xd5, 0x9d,
|
0xd9, 0x79, 0x79, 0xe6, 0x19, 0xa7, 0x70, 0x26, 0x72, 0xe2, 0x93, 0x80, 0x2c, 0xa9, 0x2f, 0xa9,
|
||||||
0x60, 0xdc, 0xcf, 0x94, 0xd4, 0x92, 0xf4, 0xb5, 0x12, 0x77, 0x2b, 0xdf, 0xa6, 0xfc, 0xbb, 0xcf,
|
0xb8, 0x63, 0x84, 0x7a, 0xb9, 0xe0, 0x8a, 0xa3, 0xa1, 0x12, 0xec, 0x6e, 0xe5, 0x19, 0x97, 0x77,
|
||||||
0x07, 0xef, 0xcf, 0xa5, 0x9c, 0x2f, 0x79, 0x60, 0xb3, 0xb3, 0x3c, 0x0e, 0x78, 0x92, 0xe9, 0x55,
|
0xf7, 0xe9, 0xf8, 0xdd, 0x05, 0xe7, 0x8b, 0x84, 0xfa, 0xc6, 0x1b, 0x16, 0xb1, 0x4f, 0xd3, 0x5c,
|
||||||
0x01, 0x1e, 0x3c, 0xdb, 0x4d, 0x6a, 0x91, 0x70, 0xd4, 0x61, 0x92, 0x39, 0x80, 0x67, 0xaf, 0x91,
|
0xad, 0x4a, 0xf0, 0xf8, 0xe9, 0xae, 0x53, 0xb1, 0x94, 0x4a, 0x15, 0xa4, 0xb9, 0x05, 0x38, 0x26,
|
||||||
0x49, 0x22, 0xd3, 0xea, 0x3d, 0xa3, 0x37, 0x75, 0xe8, 0x5e, 0x28, 0x2d, 0xe2, 0x90, 0xe9, 0x49,
|
0x0d, 0x4f, 0x53, 0x9e, 0xd5, 0xf3, 0xb8, 0x7f, 0x37, 0xa1, 0x7f, 0x21, 0x14, 0x8b, 0x03, 0xa2,
|
||||||
0x1a, 0x4b, 0xf2, 0x31, 0xf4, 0x91, 0x2d, 0x78, 0x12, 0x4e, 0xef, 0xb8, 0x42, 0x21, 0x53, 0xaf,
|
0x66, 0x59, 0xcc, 0xd1, 0x87, 0x30, 0x94, 0x64, 0x49, 0xd3, 0x60, 0x7e, 0x47, 0x85, 0x64, 0x3c,
|
||||||
0x36, 0xac, 0x8d, 0x8f, 0x69, 0xaf, 0x88, 0xfe, 0x5a, 0x04, 0xc9, 0x08, 0xba, 0xa1, 0x62, 0x0b,
|
0x73, 0x1a, 0x93, 0xc6, 0xf4, 0x18, 0x0f, 0x4a, 0xeb, 0x2f, 0xa5, 0x11, 0xb9, 0xd0, 0x0f, 0x04,
|
||||||
0xa1, 0x39, 0xd3, 0xb9, 0xe2, 0x5e, 0x7d, 0x58, 0x1b, 0xb7, 0x69, 0x25, 0x46, 0xbe, 0x84, 0x26,
|
0x59, 0x32, 0x45, 0x89, 0x2a, 0x04, 0x75, 0x9a, 0x93, 0xc6, 0xb4, 0x8b, 0x6b, 0x36, 0xf4, 0x39,
|
||||||
0x53, 0x3c, 0xd4, 0x3c, 0xf2, 0x1a, 0xc3, 0xda, 0xb8, 0x73, 0x3e, 0xf0, 0x0b, 0xa2, 0x7e, 0x49,
|
0xb4, 0x89, 0xa0, 0x81, 0xa2, 0x91, 0xd3, 0x9a, 0x34, 0xa6, 0xbd, 0xf3, 0xb1, 0x57, 0x16, 0xea,
|
||||||
0xd4, 0xff, 0xa5, 0x24, 0x4a, 0x4b, 0xa8, 0x21, 0x10, 0x49, 0x76, 0xc3, 0xd5, 0x9a, 0xc0, 0x91,
|
0x55, 0x85, 0x7a, 0x3f, 0x57, 0x85, 0xe2, 0x0a, 0xaa, 0x0b, 0x88, 0x38, 0xb9, 0xa1, 0x62, 0x5d,
|
||||||
0xad, 0xdd, 0x2b, 0xa2, 0x25, 0x81, 0x3e, 0xd4, 0x25, 0x7a, 0xc7, 0x36, 0x55, 0x97, 0x48, 0xbe,
|
0xc0, 0x91, 0x89, 0x3d, 0x28, 0xad, 0x55, 0x01, 0x43, 0x68, 0x72, 0xe9, 0x1c, 0x1b, 0x57, 0x93,
|
||||||
0x83, 0xb3, 0x85, 0x40, 0x2d, 0xd5, 0x6a, 0x9a, 0x85, 0xec, 0x26, 0x9c, 0x73, 0xf4, 0x4e, 0x86,
|
0x4b, 0xf4, 0x2d, 0x8c, 0x96, 0x4c, 0x2a, 0x2e, 0x56, 0xf3, 0x3c, 0x20, 0x37, 0xc1, 0x82, 0x4a,
|
||||||
0x8d, 0x71, 0xe7, 0xfc, 0x3d, 0xdf, 0x69, 0x69, 0xfb, 0xf7, 0xaf, 0x8b, 0x2c, 0x3d, 0x75, 0x70,
|
0xe7, 0x64, 0xd2, 0x9a, 0xf6, 0xce, 0xdf, 0xf1, 0x2c, 0x97, 0xa6, 0x7f, 0xef, 0xba, 0xf4, 0xe2,
|
||||||
0x77, 0x46, 0xf2, 0x29, 0x9c, 0x20, 0x67, 0x8a, 0x6b, 0xaf, 0x69, 0xd9, 0x3e, 0xa8, 0xbe, 0xf7,
|
0x53, 0x0b, 0xb7, 0x77, 0x89, 0x3e, 0x86, 0x13, 0x49, 0x89, 0xa0, 0xca, 0x69, 0x9b, 0x6a, 0x1f,
|
||||||
0xda, 0xe6, 0xa8, 0xc3, 0x8c, 0xfe, 0x02, 0x72, 0x9d, 0xeb, 0x52, 0x3a, 0xca, 0x6f, 0x73, 0x8e,
|
0xd4, 0xdf, 0xbd, 0x32, 0x3e, 0x6c, 0x31, 0xee, 0x9f, 0x80, 0xae, 0x0b, 0x55, 0x51, 0x87, 0xe9,
|
||||||
0x9a, 0x3c, 0x83, 0x4e, 0xe8, 0x42, 0x53, 0x11, 0x59, 0xe9, 0xda, 0x14, 0xca, 0xd0, 0x24, 0x22,
|
0x6d, 0x41, 0xa5, 0x42, 0x4f, 0xa1, 0x17, 0x58, 0xd3, 0x9c, 0x45, 0x86, 0xba, 0x2e, 0x86, 0xca,
|
||||||
0x17, 0xd0, 0xdb, 0x00, 0xd2, 0x58, 0x5a, 0xe1, 0x3a, 0xe7, 0x4f, 0xfc, 0xea, 0xbc, 0xfd, 0xed,
|
0x34, 0x8b, 0xd0, 0x05, 0x0c, 0x36, 0x80, 0x2c, 0xe6, 0x86, 0xb8, 0xde, 0xf9, 0x63, 0xaf, 0x3e,
|
||||||
0x99, 0x18, 0x59, 0x37, 0xa7, 0xd1, 0x9b, 0x63, 0x68, 0x5d, 0x2e, 0xe5, 0xec, 0xff, 0x8c, 0x6b,
|
0x6f, 0x6f, 0x7b, 0x26, 0x9a, 0xd6, 0xcd, 0xcd, 0xfd, 0xf7, 0x18, 0x3a, 0x97, 0x09, 0x0f, 0xdf,
|
||||||
0x68, 0xd5, 0x2a, 0xee, 0x3a, 0xab, 0xf6, 0xf5, 0xd3, 0x6b, 0xab, 0xdf, 0x57, 0x00, 0x8a, 0x67,
|
0x64, 0x5c, 0x13, 0xc3, 0x56, 0x99, 0x6b, 0x54, 0xef, 0xeb, 0xc7, 0x57, 0x86, 0xbf, 0x2f, 0x01,
|
||||||
0x12, 0x85, 0xd1, 0xc4, 0xeb, 0x58, 0xa4, 0x57, 0x45, 0xd2, 0x75, 0x9e, 0x6e, 0x61, 0xc9, 0xb7,
|
0x04, 0xcd, 0xb9, 0x64, 0x9a, 0x13, 0xa7, 0x67, 0x90, 0x4e, 0x1d, 0x89, 0xd7, 0x7e, 0xbc, 0x85,
|
||||||
0xd0, 0x73, 0x8a, 0xdb, 0x8e, 0xd0, 0x6b, 0x58, 0xd9, 0x1f, 0x1f, 0x94, 0xbd, 0xe8, 0x27, 0xdb,
|
0x45, 0xdf, 0xc0, 0xc0, 0x32, 0x6e, 0x3a, 0x92, 0x4e, 0xcb, 0xd0, 0xfe, 0xe8, 0x20, 0xed, 0x65,
|
||||||
0x1c, 0x90, 0x7c, 0x03, 0xdd, 0x30, 0xcb, 0x96, 0x82, 0x85, 0x5a, 0xc8, 0x14, 0xbd, 0xa3, 0x43,
|
0x3f, 0xf9, 0xe6, 0x22, 0xd1, 0xd7, 0xd0, 0x0f, 0xf2, 0x3c, 0x61, 0x24, 0x50, 0x8c, 0x67, 0xd2,
|
||||||
0xaf, 0x5f, 0x6c, 0x10, 0xb4, 0x02, 0x27, 0x2f, 0xe1, 0x9d, 0x44, 0x20, 0x93, 0x69, 0x2c, 0xe6,
|
0x39, 0x3a, 0xf4, 0xfc, 0x62, 0x83, 0xc0, 0x35, 0x38, 0x7a, 0x01, 0x6f, 0xa5, 0x4c, 0x12, 0x9e,
|
||||||
0xb9, 0x72, 0x35, 0xda, 0xb6, 0xc6, 0xd3, 0x6a, 0x8d, 0x57, 0x3b, 0x30, 0xba, 0xff, 0xa2, 0x19,
|
0xc5, 0x6c, 0x51, 0x08, 0x1b, 0xa3, 0x6b, 0x62, 0x3c, 0xa9, 0xc7, 0x78, 0xb9, 0x03, 0xc3, 0xfb,
|
||||||
0xa0, 0xcc, 0xc2, 0xdb, 0x9c, 0x4f, 0x23, 0xa1, 0x8c, 0xbf, 0x1a, 0x66, 0x80, 0x45, 0xe8, 0x85,
|
0x0f, 0xf5, 0x00, 0x79, 0x1e, 0xdc, 0x16, 0x74, 0x1e, 0x31, 0xa1, 0xf5, 0xd5, 0xd2, 0x03, 0x2c,
|
||||||
0x50, 0x68, 0x04, 0xff, 0xd3, 0x58, 0x5c, 0xe6, 0x7a, 0x1a, 0x8b, 0xa5, 0x73, 0x59, 0x9b, 0xf6,
|
0x4d, 0xcf, 0x99, 0x90, 0x9a, 0xf0, 0x3f, 0xb4, 0xc4, 0x79, 0xa1, 0xe6, 0x31, 0x4b, 0xac, 0xca,
|
||||||
0xca, 0xe8, 0x0f, 0x26, 0x48, 0x1e, 0xc2, 0x49, 0x24, 0xe6, 0x1c, 0x0b, 0x33, 0xb5, 0xa9, 0x3b,
|
0xba, 0x78, 0x50, 0x59, 0xbf, 0xd7, 0x46, 0xf4, 0x10, 0x4e, 0x22, 0xb6, 0xa0, 0xb2, 0x14, 0x53,
|
||||||
0x91, 0x47, 0xd0, 0x8c, 0x44, 0x1c, 0x1b, 0x73, 0xb4, 0xca, 0x44, 0x1c, 0x4f, 0x22, 0xf2, 0x23,
|
0x17, 0xdb, 0x1b, 0x3a, 0x83, 0x76, 0xc4, 0xe2, 0x58, 0x8b, 0xa3, 0x53, 0x39, 0xe2, 0x78, 0x16,
|
||||||
0x9c, 0xb1, 0x1c, 0xb5, 0x4c, 0xa6, 0x8a, 0xa3, 0xcc, 0x15, 0xe3, 0xe8, 0x81, 0xed, 0xe2, 0x49,
|
0xa1, 0x1f, 0x60, 0x44, 0x0a, 0xa9, 0x78, 0x3a, 0x17, 0x54, 0xf2, 0x42, 0x10, 0x2a, 0x1d, 0x30,
|
||||||
0xb5, 0x8b, 0x2b, 0x8b, 0xa2, 0x0e, 0x44, 0x4f, 0x59, 0xe5, 0x8c, 0xc4, 0x87, 0x66, 0x61, 0x51,
|
0x5d, 0x3c, 0xae, 0x77, 0x71, 0x65, 0x50, 0xd8, 0x82, 0xf0, 0x29, 0xa9, 0xdd, 0x25, 0xf2, 0xa0,
|
||||||
0xf4, 0xba, 0xf6, 0xfd, 0xc3, 0x3e, 0x2e, 0x41, 0xe4, 0x39, 0xb4, 0x96, 0x82, 0xf1, 0x14, 0x39,
|
0x5d, 0x4a, 0x54, 0x3a, 0x7d, 0xf3, 0xfe, 0xb0, 0x8e, 0x2b, 0x10, 0x7a, 0x06, 0x9d, 0x84, 0x11,
|
||||||
0x7a, 0xbd, 0x43, 0xd2, 0xbf, 0x2c, 0xb2, 0xa6, 0x2f, 0xba, 0x86, 0x12, 0x02, 0x47, 0x28, 0xfe,
|
0x9a, 0x49, 0x2a, 0x9d, 0xc1, 0x21, 0xea, 0x5f, 0x94, 0x5e, 0xdd, 0x17, 0x5e, 0x43, 0x11, 0x82,
|
||||||
0xe6, 0x5e, 0x7f, 0x58, 0x1b, 0x37, 0xa8, 0x7d, 0x26, 0x1f, 0x00, 0xb8, 0x2d, 0x9e, 0xce, 0x56,
|
0x23, 0xc9, 0xfe, 0xa2, 0xce, 0x70, 0xd2, 0x98, 0xb6, 0xb0, 0x39, 0xa3, 0xf7, 0x00, 0xec, 0x16,
|
||||||
0xde, 0xa9, 0xed, 0xaf, 0xed, 0x22, 0x97, 0xab, 0xd1, 0x1f, 0xd0, 0xbf, 0xce, 0xb5, 0xb1, 0x6e,
|
0xcf, 0xc3, 0x95, 0x73, 0x6a, 0xfa, 0xeb, 0x5a, 0xcb, 0xe5, 0x0a, 0x7d, 0x01, 0x10, 0x16, 0x2c,
|
||||||
0xb9, 0x2e, 0x5b, 0x6a, 0xd4, 0x2a, 0x6a, 0x3c, 0x87, 0xf6, 0x6c, 0x29, 0x67, 0xc5, 0x8a, 0x34,
|
0x89, 0x4a, 0xe1, 0x8f, 0x8c, 0xc4, 0xce, 0xea, 0xb9, 0x2e, 0xb5, 0xdf, 0x68, 0xa4, 0x1b, 0x56,
|
||||||
0xaa, 0x66, 0x2c, 0x57, 0xa4, 0xdc, 0x01, 0xda, 0x9a, 0xb9, 0xa7, 0xd1, 0x15, 0x74, 0xae, 0x73,
|
0x47, 0xf7, 0x77, 0x18, 0x5e, 0x17, 0x4a, 0x4b, 0xbe, 0x5a, 0xb3, 0x2d, 0x16, 0x1b, 0x35, 0x16,
|
||||||
0x4d, 0x39, 0x66, 0x32, 0x45, 0xee, 0x5c, 0x5f, 0xbb, 0xc7, 0xf5, 0x04, 0x8e, 0xb8, 0xc4, 0xa5,
|
0x9f, 0x41, 0x37, 0x4c, 0x78, 0x58, 0x66, 0x68, 0xd5, 0x45, 0x5c, 0xad, 0x56, 0xb5, 0x3b, 0xb8,
|
||||||
0xdd, 0x8c, 0x16, 0xb5, 0xcf, 0xa3, 0x9f, 0xe1, 0xdd, 0x57, 0x02, 0x51, 0xa4, 0x73, 0x73, 0x03,
|
0x13, 0xda, 0x93, 0x7b, 0x05, 0xbd, 0xeb, 0x42, 0x61, 0x2a, 0x73, 0x9e, 0x49, 0x6a, 0xb7, 0xa5,
|
||||||
0xfe, 0xe7, 0xd5, 0x7e, 0x0c, 0xad, 0x82, 0x73, 0x64, 0x36, 0xcd, 0x78, 0xa2, 0x69, 0x89, 0x45,
|
0x71, 0xcf, 0xb6, 0x20, 0x38, 0xa2, 0x5c, 0x26, 0x66, 0xa3, 0x3a, 0xd8, 0x9c, 0xdd, 0x9f, 0xe0,
|
||||||
0x38, 0xba, 0x81, 0x07, 0xd5, 0x92, 0x8e, 0xe0, 0x27, 0x70, 0x96, 0x14, 0xf1, 0x69, 0x59, 0xc8,
|
0xed, 0x97, 0x4c, 0x4a, 0x96, 0x2d, 0x74, 0x06, 0xf9, 0xbf, 0x3f, 0x09, 0x8f, 0xa0, 0x53, 0xd6,
|
||||||
0x16, 0x6e, 0xd1, 0x53, 0x17, 0x2f, 0xbf, 0x03, 0x64, 0xbc, 0x81, 0xee, 0xdc, 0xd2, 0x4f, 0x36,
|
0x1c, 0xe9, 0x0d, 0xd5, 0x5a, 0x6a, 0x9b, 0xc2, 0x22, 0xe9, 0xde, 0xc0, 0x83, 0x7a, 0x48, 0x5b,
|
||||||
0xa5, 0xcd, 0x65, 0x01, 0x90, 0x17, 0x7c, 0xc9, 0x35, 0xaf, 0xd0, 0xdf, 0x66, 0x57, 0xab, 0xb0,
|
0xe0, 0x47, 0x30, 0x4a, 0x4b, 0xfb, 0xbc, 0x0a, 0x64, 0x02, 0x77, 0xf0, 0xa9, 0xb5, 0x57, 0xdf,
|
||||||
0x3b, 0xff, 0xa7, 0x0e, 0xc7, 0x57, 0x46, 0x55, 0x32, 0xb1, 0xfa, 0xad, 0xef, 0x1c, 0xed, 0x4a,
|
0x0f, 0x34, 0xdd, 0x40, 0x77, 0xb2, 0x0c, 0xd3, 0x4d, 0x68, 0x9d, 0xcc, 0x07, 0xf4, 0x9c, 0x26,
|
||||||
0xbe, 0xff, 0xc5, 0x1b, 0x3c, 0xdc, 0xfb, 0xa6, 0x7f, 0x6f, 0xfe, 0x99, 0xc8, 0x05, 0x34, 0xdd,
|
0x54, 0xd1, 0x5a, 0xf9, 0xdb, 0xd5, 0x35, 0x6a, 0xd5, 0x9d, 0xff, 0xd3, 0x84, 0xe3, 0x2b, 0xcd,
|
||||||
0xb0, 0xc9, 0xd3, 0x03, 0x65, 0xb6, 0x5c, 0xf0, 0xd6, 0x12, 0xbf, 0x41, 0x77, 0x5b, 0x35, 0xf2,
|
0x2a, 0x9a, 0x19, 0xfe, 0xd6, 0x39, 0xdd, 0x5d, 0xca, 0xf7, 0xbf, 0x94, 0xe3, 0x87, 0x7b, 0xbf,
|
||||||
0xe1, 0x6e, 0x9d, 0x03, 0x63, 0x1a, 0x7c, 0x74, 0x3f, 0xc8, 0x09, 0x3f, 0x81, 0xce, 0x96, 0x46,
|
0x05, 0xdf, 0xe9, 0x5f, 0x34, 0x74, 0x01, 0x6d, 0x3b, 0x6c, 0xf4, 0xe4, 0x40, 0x98, 0x2d, 0x15,
|
||||||
0xfb, 0x8d, 0xee, 0x0b, 0xf8, 0x36, 0x96, 0x97, 0xc1, 0xef, 0x9f, 0xcd, 0x85, 0x5e, 0xe4, 0x33,
|
0xbc, 0x36, 0xc4, 0xaf, 0xd0, 0xdf, 0x66, 0x0d, 0xbd, 0xbf, 0x1b, 0xe7, 0xc0, 0x98, 0xc6, 0x1f,
|
||||||
0x63, 0xad, 0x20, 0xbc, 0xcd, 0x43, 0xe4, 0x2c, 0x57, 0x42, 0xaf, 0x02, 0x5b, 0x34, 0x58, 0xff,
|
0xdc, 0x0f, 0xb2, 0xc4, 0xcf, 0xa0, 0xb7, 0xc5, 0xd1, 0x7e, 0xa3, 0xfb, 0x04, 0xbe, 0xae, 0xca,
|
||||||
0xc5, 0x7f, 0x6d, 0x7f, 0x67, 0x27, 0xb6, 0xc0, 0x17, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xe5,
|
0x4b, 0xff, 0xb7, 0x4f, 0x16, 0x4c, 0x2d, 0x8b, 0x50, 0x4b, 0xcb, 0x0f, 0x6e, 0x8b, 0x40, 0x52,
|
||||||
0xb0, 0xd7, 0x0b, 0xfc, 0x07, 0x00, 0x00,
|
0x52, 0x08, 0xa6, 0x56, 0xbe, 0x09, 0xea, 0xaf, 0xff, 0x35, 0xf8, 0xca, 0xfc, 0x0d, 0x4f, 0x4c,
|
||||||
|
0x80, 0xcf, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xb5, 0xf0, 0xeb, 0x72, 0x34, 0x08, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -69,6 +69,12 @@ message Location {
|
|||||||
int32 end_line = 2;
|
int32 end_line = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message BuildInfo {
|
||||||
|
repeated string content_sets = 1;
|
||||||
|
string nvr = 2;
|
||||||
|
string arch = 3;
|
||||||
|
}
|
||||||
|
|
||||||
message Misconfiguration {
|
message Misconfiguration {
|
||||||
string file_type = 1;
|
string file_type = 1;
|
||||||
string file_path = 2;
|
string file_path = 2;
|
||||||
@@ -134,8 +140,8 @@ message Vulnerability {
|
|||||||
string primary_url = 14;
|
string primary_url = 14;
|
||||||
google.protobuf.Timestamp published_date = 15;
|
google.protobuf.Timestamp published_date = 15;
|
||||||
google.protobuf.Timestamp last_modified_date = 16;
|
google.protobuf.Timestamp last_modified_date = 16;
|
||||||
bytes custom_advisory_data = 17;
|
google.protobuf.Value custom_advisory_data = 17;
|
||||||
bytes custom_vuln_data = 18;
|
google.protobuf.Value custom_vuln_data = 18;
|
||||||
repeated string vendor_ids = 19;
|
repeated string vendor_ids = 19;
|
||||||
DataSource data_source = 20;
|
DataSource data_source = 20;
|
||||||
map<string, Severity> vendor_severity = 21;
|
map<string, Severity> vendor_severity = 21;
|
||||||
|
|||||||
Reference in New Issue
Block a user