Voltar ao site

Blog técnico

Notas de engenharia ofensiva

Análises sobre falhas lógicas, autorização e evidência técnica — escritas pela equipe que constrói os agentes.

business_logic2026-10-146 min de leitura

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
authorization2026-09-305 min de leitura

IDOR não é um endpoint: é uma falha de modelo de autorização

Trocar um identificador na URL é só o sintoma. A causa é a ausência de verificação de vínculo entre o objeto e o sujeito autenticado.

Ferramentas que varrem parâmetros numéricos encontram alguns casos, mas perdem o essencial: rotas com identificadores opacos, referências indiretas e objetos aninhados em payloads. O problema não é o formato do identificador — é a decisão de autorização tomada no lugar errado.

A análise correta começa pelo modelo de tenancy e pelas relações declaradas entre recursos. Um agente que compreende o grafo de entidades consegue testar combinações de sujeito, objeto e ação que um fuzzer de parâmetros jamais alcança.

A prova pericial precisa demonstrar acesso indevido a um recurso real, com captura antes e depois, e não apenas um código de resposta diferente.

  • Grafo de entidades e vínculos
  • Ações além de leitura
  • Evidência de acesso indevido
forensics2026-09-127 min de leitura

Cadeia de custódia em pentest: o que torna uma evidência admissível

Uma captura de tela não é prova. Admissibilidade exige integridade verificável, temporalidade e responsável identificado em cada etapa.

A evidência nasce no momento da captura e precisa provar três coisas: que o artefato é o que diz ser, que existia naquele instante e que não foi alterado depois. Hash criptográfico, carimbo de tempo e registro do agente responsável formam o mínimo verificável.

O elo mais frágil costuma ser a reprodução. Uma PoC que funciona uma vez e não se repete não sustenta conclusão técnica. Por isso cada achado carrega a taxa de reprodução e os parâmetros exatos da execução.

Quando a evidência é selada, o verificador independente consegue recalcular o hash e percorrer a cadeia sem confiar no operador. É isso que separa um relatório de um laudo.

  • Hash e timestamp por artefato
  • Taxa de reprodução registrada
  • Verificação independente sem confiança no operador