Symptom

Dependabot / Kraken nightly scan flagged org.bitbucket.b_c:jose4j:0.9.5 as a high-severity CVE (GHSA-3677-xxcr-wjqv, patched in 0.9.6). GitHub’s SBOM confirmed version 0.9.5 in the repo’s dependency graph. Kraken initially classified it as a shippable-runtime dependency; investigation showed it is build-classpath-only.

Root cause

com.android.tools.build:bundletool (pulled by AGP for Android packaging) transitively depends on jose4j. This lands in the Gradle buildscript classpath, not the server runtime classpath — it is never shipped in the deployed JAR or Debian package. Gradle’s project-level dependency resolution does not see buildscript classpaths; hence ./gradlew :server:dependencies reported nothing for jose4j even though GitHub’s SBOM correctly listed it.

Fix

Prevention