Falhas do tipo CWE-337
13 resultadosGerador de números pseudoaleatórios com seed previsível
A fraqueza ocorre quando um gerador de números pseudoaleatórios (PRNG) é inicializado com uma seed (semente) previsível ou que se repete, como timestamp do sistema ou valores deriváveis. Isso torna a sequência de números gerada reproduzível por um atacante, comprometendo qualquer lógica que dependa de aleatoriedade criptográfica (tokens, nonces, IVs, chaves temporárias).
Um aplicativo gera tokens de sessão usando `Math.random()` com seed baseada em `System.currentTimeMillis()`. Como o timestamp é fácil de prever ou repetir, um atacante consegue regenerar os mesmos tokens e sequestrar sessões de outros usuários.
Use geradores criptograficamente seguros: em Java, `java.security.SecureRandom` sem configurar seed manualmente; em Python, `secrets` ou `os.urandom()`; evite seeds derivadas de tempo, PIDs ou valores observáveis. Para casos críticos, valide que o PRNG está usando entropy adequada do sistema operacional.