airbyte-platform icon indicating copy to clipboard operation
airbyte-platform copied to clipboard

Introduced protections against predictable RNG abuse

Open pixeeai opened this issue 1 year ago • 2 comments
trafficstars

This change replaces all new instances of java.util.Random with the marginally slower, but much more secure java.security.SecureRandom.

We have to work pretty hard to get computers to generate genuinely unguessable random bits. The java.util.Random type uses a method of pseudo-random number generation that unfortunately emits fairly predictable numbers.

If the numbers it emits are predictable, then it's obviously not safe to use in cryptographic operations, file name creation, token construction, password generation, and anything else that's related to security. In fact, it may affect security even if it's not directly obvious.

Switching to a more secure version is simple and our changes all look something like this:

- Random r = new Random();
+ Random r = new java.security.SecureRandom();
More reading

🧚🤖 Powered by Pixeebot

Feedback | Community | Docs | Codemod ID: pixee:java/secure-random

Can this PR be safely reverted and rolled back?

  • [x] YES 💚
  • [ ] NO ❌

pixeeai avatar Jul 11 '24 01:07 pixeeai

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Jul 11 '24 01:07 CLAassistant