BETA Shoulder is in beta — Findings may sometimes be wrong. Your feedback shapes what we fix next. Share feedback
🔓

Weak Password Requirements

🛡️ 2 rules detect this

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.

Prevalence
High
Frequently exploited
Impact
High
1 high-severity rules
Prevention
Documented
2 fix examples
2 Prevention
2 Prevention

How to fix this vulnerability

Prevention strategies for Weak Password Requirements based on 2 Shoulder detection rules.

Weak Password Policy MEDIUM

Enforce minimum 12-character passwords with complexity requirements

+14 -2 go
  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
  }
  
Weak Password Policy HIGH

Require minimum 12 characters with complexity checks or use a password strength library

+4 -2 javascript
- 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');
  }
  
3 Detection
3 Detection

Find vulnerabilities in your code

Use Shoulder to scan your codebase for Weak Password Requirements patterns. 2 rules.

terminal
# Scan with Shoulder CLI
npx @shoulderdev/cli trust --cwe=521

# Or scan entire project
npx @shoulderdev/cli trust .
4 Warning Signs
4 Warning Signs

What to watch for in code reviews

These patterns indicate potential Weak Password Requirements vulnerabilities. Look for these during code reviews and security audits.

🟠
Password validation at ... lacks proper complexity requirements javascript-weak-password-policy
🟠
password validation that lacks proper complexity requirements, making accounts vulnerable to brute f javascript-weak-password-policy
🔍

Scan your codebase for Weak Password Requirements

Shoulder CLI finds vulnerable patterns across your entire codebase.