Skip to content

Commit 91b12df

Browse files
mnasiadkaAlex-Welsh
authored andcommitted
Merge global, family and image-specific allowed vulnerabilities
1 parent bc586dc commit 91b12df

1 file changed

Lines changed: 15 additions & 12 deletions

File tree

tools/scan-images.sh

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,21 @@ get_images() {
5858
# Generate ignored vulnerabilities file
5959
generate_trivy_ignore() {
6060
local imagename=$1
61-
local global_vulnerabilities
62-
global_vulnerabilities=$(yq .global_allowed_vulnerabilities[] src/kayobe-config/etc/kayobe/trivy/allowed-vulnerabilities.yml 2> /dev/null)
63-
local image_vulnerabilities
64-
image_vulnerabilities=$(yq ."$imagename"'_allowed_vulnerabilities[]' src/kayobe-config/etc/kayobe/trivy/allowed-vulnerabilities.yml 2> /dev/null)
65-
66-
truncate -s 0 .trivyignore # ensure we start from a clean slate
67-
for vulnerability in $global_vulnerabilities; do
68-
echo "$vulnerability" >> .trivyignore
69-
done
70-
for vulnerability in $image_vulnerabilities; do
71-
echo "$vulnerability" >> .trivyignore
72-
done
61+
local family
62+
family="${imagename%%_*}"
63+
local global_vulnerabilities family_vulnerabilities image_vulnerabilities
64+
65+
global_vulnerabilities=$(yq '.global_allowed_vulnerabilities[]' src/kayobe-config/etc/kayobe/trivy/allowed-vulnerabilities.yml 2> /dev/null)
66+
if [[ "$family" != "$imagename" ]]; then
67+
family_vulnerabilities=$(yq ".${family}_allowed_vulnerabilities[]" src/kayobe-config/etc/kayobe/trivy/allowed-vulnerabilities.yml 2> /dev/null)
68+
else
69+
family_vulnerabilities=""
70+
fi
71+
image_vulnerabilities=$(yq ".${imagename}_allowed_vulnerabilities[]" src/kayobe-config/etc/kayobe/trivy/allowed-vulnerabilities.yml 2> /dev/null)
72+
73+
for vulnerability in $global_vulnerabilities $family_vulnerabilities $image_vulnerabilities; do
74+
echo "$vulnerability"
75+
done | sort -u > .trivyignore
7376
}
7477

7578
# Put results into CSV

0 commit comments

Comments
 (0)