diff --git a/.github/workflows/nightly-trivy-scan.yml b/.github/workflows/nightly-trivy-scan.yml new file mode 100644 index 000000000..f4b2d9694 --- /dev/null +++ b/.github/workflows/nightly-trivy-scan.yml @@ -0,0 +1,36 @@ +name: Trivy Nightly Scan +on: + schedule: + - cron: '0 2 * * *' # run at 2 AM UTC + +jobs: + nightly-scan: + name: Trivy nightly scan + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + # maintain the versions of Velero those need security scan + versions: [main] + # list of images that need scan + images: [velero, velero-restore-helper] + permissions: + security-events: write # for github/codeql-action/upload-sarif to upload SARIF results + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@master + with: + image-ref: 'docker.io/velero/${{ matrix.images }}:${{ matrix.versions }}' + severity: 'CRITICAL,HIGH,MEDIUM' + format: 'template' + template: '@/contrib/sarif.tpl' + output: 'trivy-results.sarif' + + - name: Upload Trivy scan results to GitHub Security tab + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: 'trivy-results.sarif' \ No newline at end of file diff --git a/changelogs/unreleased/5740-jxun b/changelogs/unreleased/5740-jxun new file mode 100644 index 000000000..c1e359da9 --- /dev/null +++ b/changelogs/unreleased/5740-jxun @@ -0,0 +1 @@ +Add Trivy nightly scan. \ No newline at end of file