Skip to content

Commit 916228a

Browse files
committed
ci: scan vulnerability
Signed-off-by: Kentaro Hayashi <[email protected]>
1 parent addb2b8 commit 916228a

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

.github/workflows/scan-images.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Scan image vulnerability
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
schedule:
8+
# Sunday, 18:00 JST
9+
- cron: '0 9 * * 0'
10+
11+
concurrency:
12+
group: ${{ github.head_ref || github.sha }}-${{ github.workflow }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
setup:
17+
name: Scan image with grype
18+
strategy:
19+
fail-fast: false
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Pull latest grype container image
23+
run: |
24+
docker pull anchore/grype:latest
25+
debian:
26+
needs: setup
27+
name: Scan debian image with grype
28+
strategy:
29+
fail-fast: false
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Pull and scan upstream trixie image
33+
run: |
34+
docker pull debian:trixie
35+
echo "# Scan debian image with grype (filter)" >> $GITHUB_STEP_SUMMARY
36+
echo "|NAME | INSTALLED | FIXED | IN | TYPE | VULNERABILITY | SEVERITY | EPSS | RISK | |" >> $GITHUB_STEP_SUMMARY
37+
echo "|---| ---|---|---|----|---|---|---|---|---|" >> $GITHUB_STEP_SUMMARY
38+
docker run --rm anchore/grype:latest debian:trixie | grep -v Negligible | grep -v "won't" | grep -v "^NAME" | sed 's/^/|/; s/ */ | /g; s/$/ |/' >> $GITHUB_STEP_SUMMARY
39+
echo "# Scan debian image with grype" >> $GITHUB_STEP_SUMMARY
40+
echo "|NAME | INSTALLED | FIXED | IN | TYPE | VULNERABILITY | SEVERITY | EPSS | RISK | |" >> $GITHUB_STEP_SUMMARY
41+
echo "|---| ---|---|---|----|---|---|---|---|---|" >> $GITHUB_STEP_SUMMARY
42+
docker run --rm anchore/grype:latest debian:trixie | grep -v "^NAME" | sed 's/^/|/; s/ */ | /g; s/$/ |/' >> $GITHUB_STEP_SUMMARY
43+
ruby:
44+
needs: setup
45+
name: Scan Ruby image with grype
46+
strategy:
47+
fail-fast: false
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Pull and scan upstream Ruby image
51+
run: |
52+
docker pull ruby:3.4-slim
53+
echo "# Scan Ruby image with grype (filter)" >> $GITHUB_STEP_SUMMARY
54+
echo "|NAME | INSTALLED | FIXED | IN | TYPE | VULNERABILITY | SEVERITY | EPSS | RISK | |" >> $GITHUB_STEP_SUMMARY
55+
echo "|---| ---|---|---|----|---|---|---|---|---|" >> $GITHUB_STEP_SUMMARY
56+
docker run --rm anchore/grype:latest ruby:3.4-slim | grep -v Negligible | grep -v "won't" | grep -v "^NAME" | sed 's/^/|/; s/ */ | /g; s/$/ |/' >> $GITHUB_STEP_SUMMARY
57+
echo "# Scan Ruby image with grype" >> $GITHUB_STEP_SUMMARY
58+
echo "|NAME | INSTALLED | FIXED | IN | TYPE | VULNERABILITY | SEVERITY | EPSS | RISK | |" >> $GITHUB_STEP_SUMMARY
59+
echo "|---| ---|---|---|----|---|---|---|---|---|" >> $GITHUB_STEP_SUMMARY
60+
docker run --rm anchore/grype:latest ruby:3.4-slim | grep -v "^NAME" | sed 's/^/|/; s/ */ | /g; s/$/ |/' >> $GITHUB_STEP_SUMMARY
61+
fluentd:
62+
needs: setup
63+
name: Scan Fluentd image with grype
64+
strategy:
65+
fail-fast: false
66+
runs-on: ubuntu-latest
67+
steps:
68+
- uses: actions/checkout@v6
69+
- name: Pull and scan Fluentd image
70+
run: |
71+
# v1.19.1-debian-amd64
72+
IMAGE=$(make echo-all-images | cut -d' ' -f1|cut -d',' -f3)
73+
echo "# Scan Fluentd image with grype (filter)" >> $GITHUB_STEP_SUMMARY
74+
echo "|NAME | INSTALLED | FIXED | IN | TYPE | VULNERABILITY | SEVERITY | EPSS | RISK | |" >> $GITHUB_STEP_SUMMARY
75+
echo "|---| ---|---|---|----|---|---|---|---|---|" >> $GITHUB_STEP_SUMMARY
76+
docker run --rm anchore/grype:latest fluent/fluentd:$IMAGE | grep -v Negligible | grep -v "won't" | grep -v "^NAME" | sed 's/^/|/; s/ */ | /g; s/$/ |/' >> $GITHUB_STEP_SUMMARY
77+
echo "# Scan Fluentd image with grype" >> $GITHUB_STEP_SUMMARY
78+
echo "|NAME | INSTALLED | FIXED | IN | TYPE | VULNERABILITY | SEVERITY | EPSS | RISK | |" >> $GITHUB_STEP_SUMMARY
79+
echo "|---| ---|---|---|----|---|---|---|---|---|" >> $GITHUB_STEP_SUMMARY
80+
docker run --rm anchore/grype:latest fluent/fluentd:$IMAGE | grep -v "^NAME" | sed 's/^/|/; s/ */ | /g; s/$/ |/' >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)