Weak encryption (Blowfish) of a password detected.
- Rule ID: ruby_lang_weak_password_encryption_blowfish
- Languages: ruby
- Source: weak_password_encryption_blowfish.yml
Description
A weak encryption library can lead to data breaches and greater security risk. Moreover, since encryption is reversible, it is possible to retrieve the plaintext value. This makes encryption a bad choice for passwords. Instead, passwords should be hashed.
Remediations
❌ Do not use encryption for passwords, wherever possible.
✅ Use a recommended hashing library such as bcrypt or Argon2id for passwords
BCrypt::Password.create("password_123")
hasher = Argon2::Password.new()
hasher.create("password_123")
Resources
Associated CWE
- CWE-331: Insufficient Entropy
- CWE-326: Inadequate Encryption Strength
- CWE-916: Use of Password Hash With Insufficient Computational Effort
OWASP Top 10
Configuration
To skip this rule during a scan, use the following flag
bearer scan /path/to/your-project/ --skip-rule=ruby_lang_weak_password_encryption_blowfish
To run only this rule during a scan, use the following flag
bearer scan /path/to/your-project/ --only-rule=ruby_lang_weak_password_encryption_blowfish
Ready to take the next step? Learn more about Bearer Cloud.