Nesta página

O CI/CD deles era perfeito. O Snyk estava a correr. O Dependabot vigiava. Todos os indicadores verdes. Dez minutos depois de começar a auditoria, comprei o inventário inteiro por 0 €.
Auditei há pouco a base de código de um cliente. O pipeline de CI/CD era uma beleza. Tinham o Snyk a fazer SAST. Tinham o Dependabot para SCA. Todos os indicadores verdes. Zero vulnerabilidades críticas. «Estamos seguros», disse-me o lead dev.
Dez minutos depois, comprei o inventário todo por 0 €.
Não usei um buffer overflow. Não injetei SQL. Limitei-me a manipular o fluxo.
A lógica subtraía o preço do total. A sintaxe do código estava impecável, por isso o SAST não viu nada. As bibliotecas estavam atualizadas, por isso o SCA também não. Mas a lógica de negócio estava errada.
O problema do iceberg
Os scanners tradicionais (SAST e DAST) são verificadores de sintaxe. Procuram padrões dentro do código, chamadas a eval() ou inputs sem sanitização. Mas não compreendem o que o código deveria fazer.
- Erros de sintaxe e inputs sem sanitização
- CVE conhecidas em bibliotecas de terceiros
- Segredos escritos à mão no código
Salto do pagamento
Fechar a compra sem chegar a pagar.
Abuso de cupões
Empilhar 50 cupões de «10 % de desconto» até sair de graça.
Escalada de privilégios
Mudar user_id=123 → user_id=1 e passar a admin.
Manipulação do fluxo
Saltar passos obrigatórios de uma transação.
Não são erros de programação. São erros de lógica. O scanner vê uma função de pagamento válida a processar corretamente. Um atacante vê a forma de saltar o pagamento por completo. E até agora só pentesters humanos, a 5.000 € por semana, os encontravam.
Entra o BLSA: a próxima fronteira
Na CybeDefend acreditamos que o futuro do AppSec não está em encontrar mais erros de sintaxe, está em compreender o contexto. Estamos a construir o primeiro motor da indústria de Business Logic Security Analysis (BLSA).
Com fluxos de trabalho agênticos, o nosso scanner não se limita a ler código: compreende fluxos. Cruza o caminho dos dados com o papel do utilizador, com o estado da transação, com o campo do preço, e emite o veredicto antes de a linha chegar a ser integrada.
Passamos da análise estática para a análise inteligente. Não apenas ler código, raciocinar sobre o que ele deve proteger.
O impacto na tua carteira
Ignorar estas falhas não é só um risco de segurança, é uma decisão financeira. Corrigir uma vulnerabilidade em produção custa cerca de 60 vezes mais do que corrigi-la em desenvolvimento (regra empírica do setor, a partir do Software Engineering de Pressman e do NIST Planning Report 02-3 de 2002). Se esperares que um pentester encontre uma falha de lógica em produção, já pagaste o pentest (mais de 10.000 €) e ainda tens o custo da correção por cima.
Se o apanhas no PR com uma ferramenta automática, custa-te 0 €. Se chega a produção, pagas a resposta ao incidente, o hotfix, a indisponibilidade e os tickets de suporte. E isso antes de orçamentar o pentest que devias ter feito mais cedo.
Como verificar a tua lógica hoje mesmo
Enquanto a versão completa do BLSA está em alfa, é isto que qualquer equipa de engenharia devia fazer já:
- Desenha os teus fluxos críticos. Não te limites a analisar ficheiros: põe num quadro os fluxos de pagamento e de autenticação. Procura atalhos, qualquer passo que se possa saltar.
- Desconfia dos builds «verdes». Se o teu scanner não encontra nada, suspeita. O mais provável é que lhe tenham escapado as falhas de lógica, não que não existam.
- Experimenta a CybeDefend. Combinamos SAST, SCA e IaC com o nosso motor de análise cruzada. Correlacionamos descobertas para reduzir o ruído em 70 % e dar à tua equipa tempo para os problemas de lógica que realmente importam.


