Weaknesses of type CWE-480
8 resultsUso de operador incorreto
O desenvolvedor usa um operador lógico ou aritmético errado no código, resultando em comportamento não intencional. Por exemplo, usar `|` (OR bitwise) quando deveria ser `||` (OR lógico), ou `=` (atribuição) em vez de `==` (comparação). Isso causa lógica de negócio quebrada, desvios de autenticação ou validação ineficaz.
Um código que valida permissão usa `if (user.role = ADMIN)` em vez de `if (user.role == ADMIN)`, atribuindo ADMIN ao role em vez de comparar. Qualquer usuário passa na validação porque a atribuição sempre retorna verdadeiro.
Use ferramentas de análise estática (linters, SonarQube) configuradas para alertar operadores suspeitos. Implemente code review obrigatório e testes unitários que cobrem todos os caminhos de validação e lógica condicional crítica.