Weak Password Requirements
The product does not require that users should have strong passwords, which makes it easier for attackers to compromise user accounts.
Without strong password requirements, users often choose weak, easily guessable passwords. This makes brute-force and dictionary attacks more likely to succeed.
How to fix this vulnerability
Prevention strategies for Weak Password Requirements based on 2 Shoulder detection rules.
Enforce minimum 12-character passwords with complexity requirements
func validatePassword(password string) error { - if len(password) < 6 { - return errors.New("too short") + if len(password) < 12 { + return errors.New("password must be at least 12 characters") + } + var hasUpper, hasLower, hasDigit, hasSpecial bool + for _, c := range password { + switch { + case unicode.IsUpper(c): hasUpper = true + case unicode.IsLower(c): hasLower = true + case unicode.IsDigit(c): hasDigit = true + case unicode.IsPunct(c) || unicode.IsSymbol(c): hasSpecial = true + } + } + if !hasUpper || !hasLower || !hasDigit || !hasSpecial { + return errors.New("password must include upper, lower, digit, and special char") } return nil }
Require minimum 12 characters with complexity checks or use a password strength library
- if (password.length < 6) { - throw new Error('Password too short'); + const zxcvbn = require('zxcvbn'); + + if (password.length < 12 || zxcvbn(password).score < 3) { + throw new Error('Password too weak'); }
Find vulnerabilities in your code
Use Shoulder to scan your codebase for Weak Password Requirements patterns. 2 rules.
# Scan with Shoulder CLI npx @shoulderdev/cli trust --cwe=521 # Or scan entire project npx @shoulderdev/cli trust .
Detection Rules (2)
What to watch for in code reviews
These patterns indicate potential Weak Password Requirements vulnerabilities. Look for these during code reviews and security audits.
Scan your codebase for Weak Password Requirements
Shoulder CLI finds vulnerable patterns across your entire codebase.