diff --git a/.github/workflows/dependency-check-changes.yaml b/.github/workflows/dependency-check-changes.yaml index 0aa57d3697e..7091933861a 100644 --- a/.github/workflows/dependency-check-changes.yaml +++ b/.github/workflows/dependency-check-changes.yaml @@ -4,6 +4,9 @@ on: paths: - 'code-style/dependency-check-suppressions.xml' - 'java/**/pom.xml' + paths-ignore: + - '.github/workflows/dependency-check.yaml' + - '.github/workflows/dependency-check-workflow-changes.yaml' jobs: check: diff --git a/.github/workflows/dependency-check-workflow-changes.yaml b/.github/workflows/dependency-check-workflow-changes.yaml index de577bedda8..4e503d31a96 100644 --- a/.github/workflows/dependency-check-workflow-changes.yaml +++ b/.github/workflows/dependency-check-workflow-changes.yaml @@ -9,4 +9,4 @@ jobs: check: uses: ./.github/workflows/dependency-check.yaml with: - failOnCacheMiss: true + failOnCacheMiss: false diff --git a/.github/workflows/dependency-check.yaml b/.github/workflows/dependency-check.yaml index 501a190c6f5..d63aba519cd 100644 --- a/.github/workflows/dependency-check.yaml +++ b/.github/workflows/dependency-check.yaml @@ -15,42 +15,41 @@ jobs: runs-on: ubuntu-latest steps: - - run: echo "Disabled dependency checks temporarily, see https://github.com/gchq/sleeper/issues/6481" - # - uses: actions/checkout@v3 - # - uses: actions/setup-java@v3 - # with: - # java-version: '17' - # distribution: 'corretto' - # - name: Get current date - # id: date - # run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT - # - name: Restore cache of Maven dependencies & CVEs database - # uses: actions/cache/restore@v5 - # id: restore-cache - # with: - # path: ${{ runner.temp }}/.m2/repository - # key: ${{ runner.os }}-dependency-check-${{ steps.date.outputs.date }} - # fail-on-cache-miss: ${{ inputs.failOnCacheMiss }} - # restore-keys: | - # ${{ runner.os }}-dependency-check- - # - name: Resolve dependencies - # run: mvn de.qaware.maven:go-offline-maven-plugin:resolve-dependencies -Dmaven.repo.local=${{ runner.temp }}/.m2/repository - # working-directory: ./java - # - name: Update CVEs database - # run: mvn --batch-mode dependency-check:update-only -Dmaven.repo.local=${{ runner.temp }}/.m2/repository - # working-directory: ./java - # - name: Build with Maven - # run: mvn --batch-mode verify dependency-check:aggregate -Pquick,skipShade -DskipRust -Dmaven.repo.local=${{ runner.temp }}/.m2/repository - # working-directory: ./java - # - name: Cache Maven dependencies & CVEs database - # uses: actions/cache/save@v5 - # if: ${{ always() && inputs.writeCache }} - # with: - # path: ${{ runner.temp }}/.m2/repository - # key: ${{ steps.restore-cache.outputs.cache-primary-key }} - # - name: Upload dependency check report - # if: ${{ always() }} - # uses: actions/upload-artifact@v5 - # with: - # name: Dependency check report - # path: java/target/dependency-check-report.html + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'corretto' + - name: Get current date + id: date + run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT + - name: Restore cache of Maven dependencies & CVEs database + uses: actions/cache/restore@v5 + id: restore-cache + with: + path: ${{ runner.temp }}/.m2/repository + key: ${{ runner.os }}-dependency-check-${{ steps.date.outputs.date }} + fail-on-cache-miss: ${{ inputs.failOnCacheMiss }} + restore-keys: | + ${{ runner.os }}-dependency-check- + - name: Resolve dependencies + run: mvn de.qaware.maven:go-offline-maven-plugin:resolve-dependencies -Dmaven.repo.local=${{ runner.temp }}/.m2/repository + working-directory: ./java + - name: Update CVEs database + run: mvn --batch-mode dependency-check:update-only -Dmaven.repo.local=${{ runner.temp }}/.m2/repository + working-directory: ./java + - name: Build with Maven + run: mvn --batch-mode verify dependency-check:aggregate -Pquick,skipShade -DskipRust -Dmaven.repo.local=${{ runner.temp }}/.m2/repository + working-directory: ./java + - name: Cache Maven dependencies & CVEs database + uses: actions/cache/save@v5 + if: ${{ always() && inputs.writeCache }} + with: + path: ${{ runner.temp }}/.m2/repository + key: ${{ steps.restore-cache.outputs.cache-primary-key }} + - name: Upload dependency check report + if: ${{ always() }} + uses: actions/upload-artifact@v5 + with: + name: Dependency check report + path: java/target/dependency-check-report.html diff --git a/code-style/dependency-check-suppressions.xml b/code-style/dependency-check-suppressions.xml index 44e51dec909..1788b3d298e 100644 --- a/code-style/dependency-check-suppressions.xml +++ b/code-style/dependency-check-suppressions.xml @@ -159,6 +159,15 @@ ^pkg:maven/org\.eclipse\.jetty\.http2/http2-common@.*$ CVE-2025-5115 + + + ^pkg:maven/org\.eclipse\.jetty\.http2/http2-client@.*$ + CVE-2025-5115 + ^pkg:maven/org\.xmlunit/xmlunit-core@.*$ CVE-2024-9410 + + + CVE-2020-28267 + + + + ^pkg:javascript/handlebars@.*$ + CVE-2026-33937|CVE-2026-33938|CVE-2026-33940|CVE-2026-33939|CVE-2026-33916|CVE-2026-33941 + + + + ^pkg:maven/org\.eclipse\.jetty\.http2/http2-.*$|^pkg:maven/org\.eclipse\.jetty/jetty-.*$ + CVE-2025-11143 + + + + ^pkg:maven/org\.eclipse\.jetty\.http2/http2-.*$|^pkg:maven/org\.eclipse\.jetty/jetty-.*$ + CVE-2025-5115 + + + + ^pkg:maven/com\.google\.cloud\.tools/jib-build-plan@.*$ + CVE-2026-3136 + + + + ^pkg:maven/io\.opentelemetry\.semconv/opentelemetry-semconv@.*$ + CVE-2026-39883|CVE-2026-39882 + + + + ^pkg:javascript/DOMPurify@.*$ + CVE-2026-0540|CVE-2025-15599 +