Por que Race Conditions sobrevivem a scanners de assinatura
Uma condição de corrida não tem payload característico. Ela emerge da ordem de execução e da ausência de atomicidade — algo que nenhum padrão estático descreve.
Em um fluxo de confirmação de pagamento, duas requisições simultâneas podem atravessar a verificação de estado antes que a primeira persista a mudança. O resultado é uma invariante violada: mais de uma confirmação para uma única transação. Nenhum payload específico causa isso; a falha está na janela entre leitura e escrita.
Detectar esse tipo de falha exige reconstruir a máquina de estados do backend, inferir qual invariante o fluxo promete manter e então testar concorrência controlada. É um problema de modelagem, não de assinatura. Scanners tradicionais continuam cegos porque procuram strings, não sequências.
A validação forense fecha o ciclo: a falha só é reportada quando reproduzida de forma determinística, com telemetria das requisições e evidência de impacto — por exemplo, o estado final inconsistente e o saldo duplicado.
- Invariante: uma confirmação por transação
- Janela: leitura → escrita → commit
- Prova: reprodução concorrente e estado final
