3636 run : echo "CREATED=$(date +'%Y-%m-%dT%H:%M:%S')" >> $GITHUB_ENV
3737 -
3838 name : Build and push backend
39- uses : docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15 .0
39+ uses : docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16 .0
4040 with :
4141 context : .
4242 file : ./docker/backend/prod/django/Dockerfile
7474 run : echo "CREATED=$(date +'%Y-%m-%dT%H:%M:%S')" >> $GITHUB_ENV
7575 -
7676 name : Build and push frontend
77- uses : docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15 .0
77+ uses : docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16 .0
7878 with :
7979 context : .
8080 file : ./docker/frontend/prod/Dockerfile
@@ -98,13 +98,13 @@ jobs:
9898 ref : ' v${{ github.event.inputs.release }}'
9999 -
100100 name : Run vulnerability scanners for images
101- uses : MaibornWolff/secobserve_actions_templates/actions/vulnerability_scanner@2f7b500fde2de2bdea7eef3b6df5503c2476916f # main
101+ uses : MaibornWolff/secobserve_actions_templates/actions/vulnerability_scanner@32595f58f393dbc99507c7ec574e47c3443808f1 # main
102102 with :
103103 so_configuration : ' so_configuration_sca_current.yml'
104104 SO_API_TOKEN : ${{ secrets.SO_API_TOKEN }}
105105 -
106106 name : Run vulnerability scanners for endpoints
107- uses : MaibornWolff/secobserve_actions_templates/actions/vulnerability_scanner@2f7b500fde2de2bdea7eef3b6df5503c2476916f # main
107+ uses : MaibornWolff/secobserve_actions_templates/actions/vulnerability_scanner@32595f58f393dbc99507c7ec574e47c3443808f1 # main
108108 with :
109109 so_configuration : ' so_configuration_endpoints.yml'
110110 SO_API_TOKEN : ${{ secrets.SO_API_TOKEN }}
@@ -115,7 +115,7 @@ jobs:
115115 permissions :
116116 contents : write
117117 steps :
118- - uses : actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3 .0
118+ - uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4 .0
119119 with :
120120 node-version : 20
121121 -
@@ -126,16 +126,18 @@ jobs:
126126 -
127127 name : Install programs
128128 env :
129- CDXGEN_VERSION : 10.9.4
130- SBOM_UTILITY_VERSION : 0.16.0
131- CYCLONE_DX_CLI_VERSION : 0.25.1
129+ CDXGEN_VERSION : 11.2.3
130+ TRIVY_VERSION : 0.61.0
131+ SBOM_UTILITY_VERSION : 0.17.0
132+ CYCLONE_DX_CLI_VERSION : 0.27.2
132133 run : |
133134 npm install -g @cyclonedx/cdxgen@"$CDXGEN_VERSION"
134135 cd /usr/local/bin
135136 wget --no-verbose https://github.com/CycloneDX/sbom-utility/releases/download/v"$SBOM_UTILITY_VERSION"/sbom-utility-v"$SBOM_UTILITY_VERSION"-linux-amd64.tar.gz -O - | tar -zxf -
136137 wget --no-verbose https://github.com/CycloneDX/cyclonedx-cli/releases/download/v"$CYCLONE_DX_CLI_VERSION"/cyclonedx-linux-x64
137138 cp cyclonedx-linux-x64 /usr/local/bin/cyclonedx
138139 chmod +x /usr/local/bin/cyclonedx
140+ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b /usr/local/bin v"$TRIVY_VERSION"
139141 -
140142 name : Generate SBOM for backend application
141143 env :
@@ -145,7 +147,7 @@ jobs:
145147 run : |
146148 mv ../backend/poetry_requirements.txt ../backend/poetry_requirements.sic
147149 sed -i "s|REPLACE_VERSION|$VERSION|g" ./configuration/patch_backend_application.json
148- cdxgen ../backend --type python --required-only --profile license-compliance --no-auto-compositions --output sbom_backend_application.json
150+ cdxgen ../backend --type python --required-only --profile license-compliance --no-auto-compositions --output sbom_backend_application.json --spec-version 1.6
149151 sbom-utility trim --keys=externalReferences,properties,evidence,authors,lifecycles --quiet --input-file sbom_backend_application.json \
150152 | sbom-utility patch --patch-file ./configuration/patch_supplier.json --quiet --input-file - \
151153 | sbom-utility patch --patch-file ./configuration/patch_backend_application.json --quiet --input-file - --output-file sbom_backend_application_"$VERSION".json
@@ -159,7 +161,7 @@ jobs:
159161 working-directory : ./sbom
160162 run : |
161163 sed -i "s|REPLACE_VERSION|$VERSION|g" ./configuration/patch_frontend_application.json
162- cdxgen ../frontend --type npm --no-babel --required-only --profile license-compliance --no-auto-compositions --project-name secobserve --output sbom_frontend_application.json
164+ cdxgen ../frontend --type npm --no-babel --required-only --profile license-compliance --no-auto-compositions --project-name secobserve --output sbom_frontend_application.json --spec-version 1.6
163165 sbom-utility trim --keys=externalReferences,properties,evidence,authors,lifecycles --quiet --input-file sbom_frontend_application.json \
164166 | sbom-utility patch --patch-file ./configuration/patch_supplier.json --quiet --input-file - \
165167 | sbom-utility patch --patch-file ./configuration/patch_frontend_application.json --quiet --input-file - --output-file sbom_frontend_application_"$VERSION".json
@@ -172,7 +174,7 @@ jobs:
172174 working-directory : ./sbom
173175 run : |
174176 sed -i "s|REPLACE_VERSION|$VERSION|g" ./configuration/patch_backend_container.json
175- cdxgen maibornwolff/secobserve-backend:$VERSION --type container --exclude-type python --exclude-type ruby --profile license-compliance --no-auto-compositions -- output sbom_backend_container.json
177+ trivy image --scanners license --pkg-types os --format cyclonedx --output sbom_backend_container.json maibornwolff/secobserve-backend:$VERSION
176178 sbom-utility trim --keys=externalReferences,properties,evidence,authors,lifecycles,services --quiet --input-file sbom_backend_container.json \
177179 | sbom-utility patch --patch-file ./configuration/patch_supplier.json --quiet --input-file - \
178180 | sbom-utility patch --patch-file ./configuration/patch_backend_container.json --quiet --input-file - --output-file sbom_backend_container_"$VERSION".json
@@ -185,7 +187,7 @@ jobs:
185187 working-directory : ./sbom
186188 run : |
187189 sed -i "s|REPLACE_VERSION|$VERSION|g" ./configuration/patch_frontend_container.json
188- cdxgen maibornwolff/secobserve-frontend:$VERSION --type container --exclude-type npm --exclude-type ruby --profile license-compliance --no-auto-compositions -- output sbom_frontend_container.json
190+ trivy image --scanners license --pkg-types os --format cyclonedx --output sbom_frontend_container.json maibornwolff/secobserve-frontend:$VERSION
189191 sbom-utility trim --keys=externalReferences,properties,evidence,authors,lifecycles,services --quiet --input-file sbom_frontend_container.json \
190192 | sbom-utility patch --patch-file ./configuration/patch_supplier.json --quiet --input-file - \
191193 | sbom-utility patch --patch-file ./configuration/patch_frontend_container.json --quiet --input-file - --output-file sbom_frontend_container_"$VERSION".json
@@ -199,12 +201,13 @@ jobs:
199201 run : |
200202 sed -i "s|REPLACE_VERSION|$VERSION|g" ./configuration/patch_complete.json
201203 cyclonedx merge --hierarchical --name "SecObserve" --version "$VERSION" --input-files sbom_backend_application_"$VERSION".json sbom_frontend_application_"$VERSION".json sbom_backend_container_"$VERSION".json sbom_frontend_container_"$VERSION".json --output-format json \
204+ | sbom-utility trim --keys=declarations,definitions --quiet --input-file - \
202205 | sbom-utility patch --patch-file ./configuration/patch_supplier.json --quiet --input-file - \
203206 | sbom-utility patch --patch-file ./configuration/patch_complete.json --quiet --input-file - --output-file sbom_"$VERSION".json
204207 sbom-utility validate --input-file sbom_"$VERSION".json
205208 -
206209 name : Commit SBOMs
207- uses : stefanzweifel/git-auto-commit-action@e348103e9026cc0eee72ae06630dbe30c8bf7a79 # v5
210+ uses : stefanzweifel/git-auto-commit-action@b863ae1933cb653a53c021fe36dbb774e1fb9403 # v5
208211 with :
209212 skip_fetch : true
210213 create_branch : true
0 commit comments