This JWT is verified for signature but its intended-recipient claims are never asserted: the Auth0 JWT.require(alg)...build() verifier pins no withIssuer(...)/withAudience(...), or the jjwt parser sets a signature key but pins no requireIssuer(...)/requireAudience(...).
Why AI tools produce this: AI coding tools produce this regularly, typically when prompted for a shortcut or a quick fix.
Why this matters
A valid signature only proves the token was minted by whoever holds the key, not that it was issued by the expected authority or meant for THIS service. A token your provider issued for a different audience (or one minted by any party that shares the key) will still verify, enabling token replay across services (CWE-345, Insufficient Verification of Data Authenticity). This is a common AI-generated mistake: the sample verifies the signature and stops there.
Pin the token's recipient. With Auth0 java-jwt chain .withIssuer("https://your-idp") and .withAudience("your-api") before .build(); with jjwt chain .requireIssuer(...) and .requireAudience(...) before .build().
If a finding is a genuine false positive, scope the suppression to the exact line and leave a reason, never disable the rule project-wide. Disable directives are line-scoped by design.