# Weak Password Requirements (CWE-521) The product does not require that users should have strong passwords, which makes it easier for attackers to compromise user accounts. **Stack:** Go - Prevalence: Alta Frequentemente explorada - Impact: Alto 1 regras de severidade alta - Prevention: Documentada 2 exemplos de correção **OWASP:** Identification and Authentication Failures (A07:2021-Identification and Authentication Failures) - #7 ## Description Without strong password requirements, users often choose weak, easily guessable passwords. This makes brute-force and dictionary attacks more likely to succeed. ## Prevention Estratégias de prevenção para Weak Password Requirements baseadas em 1 regras de detecção do Shoulder. ### Go Enforce minimum 12-character passwords with complexity requirements ## Consequences - Obter privilégios - Burlar mecanismo de proteção ## Mitigations - Imponha tamanho mínimo de senha (recomendado 12+ caracteres) - Verifique senhas contra bases de dados de vazamentos conhecidas - Implemente autenticação multifator ## Detection - Total rules: 2 - Languages: go, javascript, typescript ## Rules by Language ### Go (1 rules) - **Weak Password Policy** [MEDIUM]: Password validation requires fewer than 8 characters. - Remediation: Enforce minimum password length of 12+ characters with complexity requirements. ```go func validatePassword(password string) error { if len(password) < 12 { return errors.New("password must be at least 12 characters") } // Add complexity checks: uppercase, lowercase, digit, special char return nil } ``` Learn more: https://shoulder.dev/learn/go/cwe-521/weak-password-policy