SONARJAVA-6356 Update rule metadata#5609
SONARJAVA-6356 Update rule metadata#5609hashicorp-vault-sonar-prod[bot] wants to merge 2 commits intomasterfrom
Conversation
SummaryThis PR updates 108 Java rule metadata files to fix documentation reference URLs. The primary change is migrating CERT standard references from outdated wiki URLs ( What reviewers should knowKey areas to review:
|
ccc0f89 to
ecafbba
Compare
|
There was a problem hiding this comment.
The bulk of this PR is clean mechanical migration of CERT reference URLs from wiki.sei.cmu.edu/confluence to cmu-sei.github.io/secure-coding-standards. Based on spot-checking across multiple rules, the new URLs map correctly to the referenced rule IDs and categories. However, three changes go beyond URL updates and deserve explicit sign-off.
S4512 is promoted from SECURITY_HOTSPOT to VULNERABILITY, with the HTML rewritten in the standard vulnerability format. The change also removes an erroneous CERT MSC61-J reference (about cryptographic algorithms — unrelated to JavaBean property injection). The new content is accurate and well-written.
S2143 gets a content overhaul fixing factually incorrect class descriptions: the old table listed JodaTime-specific types (OffsetDate, DateTimeFields, Calendrical) as if they were java.time classes. The rewrite is accurate. Additionally, S2143 is added to Sonar_way_profile.json, activating it in the default quality profile for the first time — any project using java.util.Date, Calendar, or JodaTime will now receive issues from this rule by default.
S5042 is reclassified from SECURITY_HOTSPOT to CODE_SMELL with RELIABILITY: MEDIUM impact. The rule was already marked "status": "deprecated" before this PR, so the reclassification is cleanup for a retiring rule rather than a change to active behavior.
| "S2139", | ||
| "S2140", | ||
| "S2142", | ||
| "S2143", |
There was a problem hiding this comment.
S2143 is newly activated in the Sonar Way quality profile. This will raise issues on any project using java.util.Date, java.util.Calendar, or JodaTime — including code intentionally targeting Java 7 or older, where the java.time API isn't available. Is this activation intentional here, or should it ship separately with a migration notice?
- Mark as noise
| "title": "JavaBean properties should not be populated from untrusted input", | ||
| "type": "VULNERABILITY", |
There was a problem hiding this comment.
This rule is promoted from SECURITY_HOTSPOT to VULNERABILITY. That's a meaningful behavioral change: hotspots require manual "reviewed" confirmation in SonarQube, while vulnerabilities are automatically counted against the quality gate. Please confirm this promotion is intentional and has gone through the usual review process for rule type changes.
- Mark as noise
| <li>CERT - <a | ||
| href="https://cmu-sei.github.io/secure-coding-standards/sei-cert-oracle-coding-standard-for-java/rules/input-validation-and-data-sanitization-ids/ids04-j">CERT, IDS04-J.</a> - Safely extract files from ZipInputStream</li> |
There was a problem hiding this comment.
The list item mixes two different CERT link formatting conventions, producing duplicate "CERT" in the rendered output: CERT - CERT, IDS04-J. - Safely extract files from ZipInputStream.
All other changed rules follow one of two patterns:
- Pattern A (majority):
<li><a href="...">CERT, IDS04-J.</a> - Description</li> - Pattern B:
<li>CERT - <a href="...">IDS04-J. Description</a></li>
The current code combines both. Suggest using Pattern A:
| <li>CERT - <a | |
| href="https://cmu-sei.github.io/secure-coding-standards/sei-cert-oracle-coding-standard-for-java/rules/input-validation-and-data-sanitization-ids/ids04-j">CERT, IDS04-J.</a> - Safely extract files from ZipInputStream</li> | |
| <li><a | |
| href="https://cmu-sei.github.io/secure-coding-standards/sei-cert-oracle-coding-standard-for-java/rules/input-validation-and-data-sanitization-ids/ids04-j">CERT, IDS04-J.</a> - Safely extract files from ZipInputStream</li> |
- Mark as noise





Rule Metadata Update Summary
./sonarpedia.jsonRule API Version: 2.20.0.5857
This PR was automatically generated to update rule metadata across all supported languages.