OPS-06: automatisiertes-schwachstellen-scanning-supply-chain (govulncheck+npm-audit CI-Gates, verwundbare Fixtures + Verifikationsskript fuer Pruefung 1)
Supply-Chain-Scan (Go) / govulncheck (push) Has been cancelled
Supply-Chain-Scan (Go) / govulncheck (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
name: Supply-Chain-Scan (Go)
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- "**/*.go"
|
||||
- "go.mod"
|
||||
- "go.sum"
|
||||
pull_request: {}
|
||||
|
||||
jobs:
|
||||
govulncheck:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "1.22"
|
||||
- name: govulncheck installieren
|
||||
run: go install golang.org/x/vuln/cmd/govulncheck@latest
|
||||
- name: Go-Module auf bekannte Schwachstellen pruefen
|
||||
shell: bash
|
||||
run: |
|
||||
# pipefail ist Pflicht: sonst liefert "govulncheck | tee" den Exit-Code
|
||||
# von tee (immer 0) statt den von govulncheck zurueck — der Gate-Zweck
|
||||
# (Akzeptanzkriterium 3: Fund blockiert den Merge) waere sonst wirkungslos.
|
||||
set -o pipefail
|
||||
govulncheck ./... | tee govulncheck-report.txt
|
||||
- name: Scan-Bericht als Artefakt ablegen
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: govulncheck-report
|
||||
path: govulncheck-report.txt
|
||||
@@ -0,0 +1,32 @@
|
||||
name: Supply-Chain-Scan (npm)
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- "web/**/package.json"
|
||||
- "web/**/package-lock.json"
|
||||
pull_request: {}
|
||||
|
||||
jobs:
|
||||
npm-audit:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "22"
|
||||
- name: Alle Next.js-Frontends auf bekannte Schwachstellen pruefen
|
||||
shell: bash
|
||||
run: |
|
||||
set -o pipefail
|
||||
status=0
|
||||
for pkg in $(find web -maxdepth 2 -name package.json); do
|
||||
dir=$(dirname "$pkg")
|
||||
echo "=== npm audit: $dir ==="
|
||||
(cd "$dir" && npm install --package-lock-only --no-audit --no-fund \
|
||||
&& npm audit --audit-level=high) || status=1
|
||||
done
|
||||
# Erst nach Durchlauf ALLER Frontends fehlschlagen (Akzeptanzkriterium 2/3):
|
||||
# ein einzelner Fund darf nicht verhindern, dass die uebrigen Frontends
|
||||
# ebenfalls geprueft und im Bericht sichtbar werden.
|
||||
exit $status
|
||||
Reference in New Issue
Block a user