Skip to content

Commit a794842

Browse files
authored
Merge pull request #989 from stackhpc/trivy-allow-lists
Support allowed vulnerabilities in Trivy
2 parents 42d2bf4 + 8ed7e8a commit a794842

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

.github/workflows/stackhpc-container-image-build.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,10 @@ jobs:
136136
run: |
137137
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b /usr/local/bin v0.49.0
138138
139+
- name: Install yq
140+
run: |
141+
curl -sL https://github.com/mikefarah/yq/releases/download/v4.42.1/yq_linux_amd64.tar.gz | tar xz && sudo mv yq_linux_amd64 /usr/bin/yq
142+
139143
- name: Install Kayobe
140144
run: |
141145
mkdir -p venvs &&
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
###############################################################################
3+
# Trivy allowed vulnerabilities list
4+
5+
# Example allowed vulnerabilities file setup
6+
#
7+
# global_allowed_vulnerabilities:
8+
# - CVE-2024-36039
9+
#
10+
# keystone_allowed_vulnerabilities:
11+
# - CVE-2022-2447
12+
#
13+
# barbican_api_allowed_vulnerabilities:
14+
# - CVE-2023-31047
15+
16+
###############################################################################
17+
# Dummy variable to allow Ansible to accept this file.
18+
workaround_ansible_issue_8743: yes

tools/scan-images.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,16 @@ touch image-scan-output/clean-images.txt image-scan-output/dirty-images.txt
3434
# generate a csv summary
3535
for image in $images; do
3636
filename=$(basename $image | sed 's/:/\./g')
37+
imagename=$(echo $filename | cut -d "." -f 1 | sed 's/-/_/g')
38+
global_vulnerabilities=$(yq .global_allowed_vulnerabilities[] src/kayobe-config/etc/kayobe/trivy/allowed-vulnerabilities.yml)
39+
image_vulnerabilities=$(yq .$imagename'_allowed_vulnerabilities[]' src/kayobe-config/etc/kayobe/trivy/allowed-vulnerabilities.yml)
40+
touch .trivyignore
41+
for vulnerability in $global_vulnerabilities; do
42+
echo $vulnerability >> .trivyignore
43+
done
44+
for vulnerability in $image_vulnerabilities; do
45+
echo $vulnerability >> .trivyignore
46+
done
3747
if $(trivy image \
3848
--quiet \
3949
--exit-code 1 \
@@ -76,4 +86,5 @@ for image in $images; do
7686
| .[]
7787
| @csv' image-scan-output/${filename}.json >> image-scan-output/${filename}.summary.csv
7888
fi
89+
rm .trivyignore
7990
done

0 commit comments

Comments
 (0)