-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Java GA Language Rules #197
Comments
This was referenced Jan 26, 2024
This was referenced Feb 2, 2024
This was referenced Feb 8, 2024
4 tasks
This was referenced Feb 15, 2024
Closed
This was referenced Feb 26, 2024
This was referenced Mar 11, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bringing the Java rules to GA will be a three-step process.
We currently have ~20 Java rules. The initial part of this work will be to expand our Java rule set to cover a wider area, predominantly Java lang rules (and not e.g. 3rd party API rules as this is step 2).
Focus - Java is missing rules for the following CWEs and these should be the initial focus.
CWEs to be supported that are known Java candidates:
Additional CWEs to be supported (some may not be good Java candidates):
As we did with Go, PHP and JS (in the case of Google Dataflow), we skip the Google APIs:
Google Analyticsworth of rule is unclear. API accessed through HTTP calls (which we would catch in other rules) or through a client. Client usage relies on builders making detection very fine grainedGoogle DataflowThe following third parties are not applicable in terms of Java rules:
HoneybadgerJava support hooks into config, so java_lang_exception will catch leakage casesScout APMno Java support https://scoutapm.com/And the following are not currently supported they require us to catch on sensitive data being entered into HashMap data structures
BigQueryfeat(java): add third parties Google BigQuery rule (CWE-201) #256Segmentfeat(java): third parties segment (CWE-201) #267String[] SECRETS = {"secret", "admin", "password", "123456", "passw0rd"};
- feat(java): extend hardcoded secret rule #330TextCodec.BASE64.encode("somePassword")
- feat(java): extend hardcoded secret rule #330"somePassword".equals(password)
- feat(java): extend hardcoded secret rule #330Spring cases from battle testing
@RequestParam
annotation (see Spring docs) as user input e.g.someMethod(@RequestParam String payload)
SQLi cases from battle testing
@RequestParam
annotation, but a lot were simply the function argument included in the query string. Likely a larger question across all languages whether we want to catch such cases, and how (warning-level, for example).The text was updated successfully, but these errors were encountered: