Weaknesses of type CWE-1068

4 results

Inconsistência entre implementação e design documentado

Ocorre quando o código implementado se desvia do comportamento descrito na documentação, especificação ou design do sistema. Isso cria uma lacuna de confiança: o que foi testado e validado segundo o design não corresponde ao que realmente executa, abrindo portas para comportamentos inesperados e exploráveis.

Example

Um desenvolvedor documenta que uma função deve rejeitar entradas maiores que 100 caracteres, mas implementa com limite de 1000. Um testador valida conforme a documentação, a entrada passa, mas em produção a lógica de negócio falha ou é contornada por um atacante que explora o limite real diferente.

How to mitigate

Mantenha design, código e testes alinhados: revise a documentação quando mudar código crítico, use testes parametrizados que cobrem as restrições descritas, e implemente verificações de contrato (assertions) que explicitam o comportamento esperado no próprio código. Code review focado em discrepâncias com a spec é essencial.