✨ Update unsafeblock probe to detect use of Java's Unsafe classes #4849
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What kind of change does this PR introduce?
This PR is adding Java support to the probe introduced by #4499. It looks for references to the classes
sun.misc.Unsafeorjdk.internal.misc.Unsafeclasses which can bypass the JVM's memory safety features (garbage collection, checks against out-of-bound read and write, etc.).Note that the PR includes a Java source code parser generated with Antlr4 that can be reused to add more Java probes and checks in the future.
What is the current behavior?
The probe looks for unsafe patterns in go and c# code.
What is the new behavior (if this is a feature change)?
The probe also looks for unsafe patterns in Java code.
Which issue(s) this PR fixes
Contributes to #3736.
Special notes for your reviewer
Does this PR introduce a user-facing change?
For user-facing changes, please add a concise, human-readable release note to
the
release-note(In particular, describe what changes users might need to make in their
application as a result of this pull request.)