diff --git a/.gitea/workflows/security-scan.yaml b/.gitea/workflows/security-scan.yaml index 0cdde52..c30b2ec 100644 --- a/.gitea/workflows/security-scan.yaml +++ b/.gitea/workflows/security-scan.yaml @@ -19,9 +19,27 @@ jobs: - name: Checkout Repository uses: actions/checkout@v7 + # setup-trivy (intern von trivy-action genutzt) installiert Trivy bei Cache-Miss über + # einen Git-Checkout von github.com/aquasecurity/trivy mit github.token als Auth. + # Unter Gitea ist github.token der lokale Gitea-Runner-Token, für github.com ungültig + # -> 401. Ein leerer token-setup-trivy-Input sollte eigentlich einen anonymen Checkout + # auslösen, wird vom act_runner aber als "nicht angegeben" gewertet, wodurch + # actions/checkout am eigenen required-Input "token" scheitert. Daher Trivy hier + # manuell installieren (wie im TruffleHog-Workflow) und den setup-trivy-Schritt der + # Action per skip-setup-trivy komplett umgehen. + - name: Install Trivy + run: | + curl -fsSL -o trivy.tar.gz \ + "https://github.com/aquasecurity/trivy/releases/download/v0.70.0/trivy_0.70.0_Linux-64bit.tar.gz" + tar -xzf trivy.tar.gz trivy + chmod +x trivy + sudo mv trivy /usr/local/bin/trivy + rm trivy.tar.gz + - name: Run Trivy Scanner uses: aquasecurity/trivy-action@v0.36.0 with: + skip-setup-trivy: "true" scan-type: fs scan-ref: . scanners: vuln,secret,misconfig @@ -29,12 +47,6 @@ jobs: format: json output: trivy-results.json exit-code: "0" - # github.token ist unter Gitea Actions der Gitea-Runner-Token, nicht gültig für - # github.com. Leer lassen, damit der interne setup-trivy-Fallback (Klon von - # aquasecurity/trivy zwecks Install-Skript, falls der Binary-Cache-Restore - # fehlschlägt) anonym gegen das öffentliche GitHub-Repo läuft statt mit einem - # ungültigen Token einen 401 zu provozieren. - token-setup-trivy: "" - name: Install OSV-Scanner run: |