Skip to content
This repository was archived by the owner on Jul 18, 2025. It is now read-only.

Commit 6db7bb2

Browse files
committed
Make sure self references are showing as base images
1 parent 839925c commit 6db7bb2

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

query/async.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func ForCvesAndBaseImagesAsync(sb *types.Sbom, includeCves bool, includeBaseImag
5353
wg.Add(2)
5454
go func() {
5555
defer wg.Done()
56-
bi, err := ForBaseImageInGraphQL(sb.Source.Image.Config, true)
56+
bi, err := ForBaseImageInGraphQL(sb.Source.Image.Config)
5757
if err != nil {
5858
resultChan <- queryResult{
5959
Error: err,
@@ -95,5 +95,23 @@ func ForCvesAndBaseImagesAsync(sb *types.Sbom, includeCves bool, includeBaseImag
9595
}
9696
}
9797

98+
// filter out input image from the list of base images
99+
if sb.Source.Image.Details != nil && len(sb.Source.BaseImages) > 0 {
100+
digest := sb.Source.Image.Details.Digest
101+
baseImages := make([]types.BaseImageMatch, 0)
102+
for _, b := range sb.Source.BaseImages {
103+
selfRef := false
104+
for _, i := range b.Images {
105+
if i.Digest == digest {
106+
selfRef = true
107+
}
108+
}
109+
if !selfRef {
110+
baseImages = append(baseImages, b)
111+
}
112+
}
113+
sb.Source.BaseImages = baseImages
114+
}
115+
98116
return sb
99117
}

query/base.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,14 +217,11 @@ func ForRepositoryInDb(repo string, workspace string, apiKey string) (*types.Rep
217217
}
218218
}
219219

220-
func ForBaseImageInGraphQL(cfg *v1.ConfigFile, excludeSelf bool) (*types.BaseImagesByDiffIdsQuery, error) {
220+
func ForBaseImageInGraphQL(cfg *v1.ConfigFile) (*types.BaseImagesByDiffIdsQuery, error) {
221221
diffIds := make([]graphql.ID, 0)
222222
for _, d := range cfg.RootFS.DiffIDs {
223223
diffIds = append(diffIds, graphql.ID(d.String()))
224224
}
225-
if excludeSelf {
226-
// diffIds = diffIds[0 : len(diffIds)-1]
227-
}
228225

229226
if len(diffIds) == 0 {
230227
return nil, nil

0 commit comments

Comments
 (0)