Skip to content

CVE Scan

CVE Scan #198

Workflow file for this run

name: CVE Scan
on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
# Run every Monday at 06:00 UTC
- cron: '0 6 * * 1'
permissions: {}
jobs:
ossf-scorecard:
name: OSSF Scorecard
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
id-token: write
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: Run OSSF Scorecard
uses: ossf/scorecard-action@v2.4.3
with:
results_file: results.sarif
results_format: sarif
publish_results: true
- name: Upload SARIF to GitHub Security
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: results.sarif
dependency-review:
name: Dependency Review
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Dependency Review
uses: actions/dependency-review-action@v4
with:
fail-on-severity: high
deny-licenses: GPL-2.0, GPL-3.0, AGPL-3.0
trivy:
name: Trivy Vulnerability Scan
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v6
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 25
- name: Cache Maven dependencies
uses: actions/cache@v5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build to resolve dependencies
run: mvn install -B -q -DskipTests
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@v0.35.0
with:
scan-type: fs
scan-ref: .
scanners: vuln
format: sarif
output: trivy-results.sarif
severity: CRITICAL,HIGH
- name: Upload Trivy SARIF to GitHub Security
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: trivy-results.sarif