Blog · Antifraude
SMS pumping: o que é e como proteger seu cadastro
Todo formulário que envia um SMS com um clique é, do ponto de vista de um fraudador, um botão que gasta dinheiro de outra pessoa. O SMS pumping explora exatamente isso. Neste artigo explicamos como a fraude funciona, como reconhecer os sinais e quais medidas reduzem o risco, sem prometer bala de prata.
O que é SMS pumping
SMS pumping, também chamado de tráfego inflado artificialmente, é uma fraude em que robôs usam formulários legítimos, como cadastro, login com código ou recuperação de senha, para disparar um grande volume de SMS. Os destinos não são pessoas querendo se cadastrar: são números controlados pelo fraudador ou por quem divide a receita com ele, muitas vezes faixas de números de tarifa elevada ou sequências de números em série.
O fraudador lucra com o tráfego que termina nesses números. Quem paga cada mensagem é a empresa dona do formulário. Como o código enviado nunca é usado, a empresa não ganha nada em troca: nenhum usuário novo, só a conta de envios.
Como o ataque costuma acontecer
- O fraudador encontra um formulário que envia SMS sem barreiras fortes.
- Um script chama esse formulário, ou a API por trás dele, repetidas vezes, trocando o número de destino a cada pedido.
- Os números seguem um padrão: sequências (final 0001, 0002, 0003…), prefixos incomuns para o seu público ou faixas de outros países quando o sistema aceita qualquer DDI.
- O volume cresce até alguém perceber a fatura ou o painel de envios.
Em muitos casos o ataque acontece fora do horário comercial e em rajadas, justamente para durar mais antes de ser notado.
Sinais de que você está sendo alvo
- Queda na taxa de conversão: esse é o indicador mais importante. Se normalmente boa parte dos códigos enviados é conferida e, de repente, quase nenhum é, algo está errado.
- Pico de envios sem pico de cadastros: o volume de SMS sobe, mas o número de contas concluídas não acompanha.
- Números sequenciais ou muito parecidos em um curto intervalo de tempo.
- Concentração em poucos IPs, poucos user agents ou em prefixos que não combinam com o seu público.
- Pedidos de envio sem a navegação normal que antecede o formulário, sinal de que alguém está chamando o endpoint diretamente.
Como proteger seu cadastro
Nenhuma medida isolada resolve. A defesa eficaz é em camadas, e cada camada aumenta o custo do ataque.
1. Valide o número antes de enviar
Não gaste envio com número impossível. Para um público brasileiro, confira DDD, comprimento, nono dígito do celular e formato de fixo, e recuse números especiais. Se o seu produto só atende o Brasil, não aceite outros DDIs no fluxo de verificação.
2. Limite envios por número
Um mesmo número raramente precisa de mais que alguns códigos por hora. Um teto baixo por número em cada canal corta o reenvio em loop.
3. Limite por IP e por sessão
O ataque troca de número a cada pedido, então o limite por número não basta. Limitar quantos envios um mesmo IP ou uma mesma sessão pode pedir em um intervalo ataca o outro lado do problema.
4. Coloque um CAPTCHA ou desafio antes do envio
Um desafio antirrobô antes do botão “enviar código” aumenta o custo de automatizar o ataque. Ele não é infalível, mas combinado com os limites faz diferença.
5. Tenha um teto global e monitore a conversão
Defina um limite de envios por conta ou por minuto que seja folgado para o seu tráfego real, mas que interrompa uma rajada. Acompanhe a razão entre códigos conferidos e códigos enviados e crie um alerta quando ela cair abaixo do normal.
6. Nunca exponha a chave da API no front-end
A chamada de envio deve partir do seu back-end, depois das checagens acima. Se a API key estiver no app ou no JavaScript do site, qualquer pessoa pode usá-la diretamente. Chaves com escopo restrito reduzem o estrago caso uma delas vaze.
7. Considere a ligação como alternativa
Oferecer a verificação por voz como segunda opção, com seus próprios limites, é útil para quem não recebeu o SMS. Veja os critérios em SMS ou ligação.
O que o ProValidPhone já faz por você
O ProValidPhone foi desenhado com esses riscos em mente. O endpoint /v1/validate faz a validação estrutural de números brasileiros e reconhece números especiais como 0800, 3003, 4004 e 190, que não recebem código. Cada número tem limite de 3 envios por hora em cada canal, as telas públicas têm limite por IP e cada conta tem limite de requisições por minuto. As API keys podem ter escopos separados (validação, SMS e voz), o header Idempotency-Key evita envios duplicados e os webhooks de resultado, assinados com HMAC-SHA256, ajudam a medir quantas verificações terminam de fato conferidas.
Essas proteções reduzem o risco, mas não substituem as camadas que ficam do seu lado, como o CAPTCHA no formulário e o monitoramento da conversão no seu produto.
Perguntas frequentes sobre SMS pumping
O que é SMS pumping?
É uma fraude em que robôs usam um formulário que envia SMS, como o de código de verificação, para disparar grande volume de mensagens a números controlados ou combinados com o fraudador, que lucra com o tráfego gerado. Quem paga os envios é a empresa dona do formulário.
Como saber se meu cadastro está sofrendo SMS pumping?
Os sinais típicos são um salto repentino de envios sem aumento de cadastros concluídos, queda forte na taxa de conversão (códigos enviados que nunca são conferidos), números sequenciais ou muito parecidos e concentração de pedidos em poucos IPs ou em prefixos incomuns.
CAPTCHA resolve o problema sozinho?
Não sozinho. O CAPTCHA aumenta o custo para o robô, mas deve ser combinado com limites por número, por IP e por conta, validação do número e monitoramento da taxa de conversão.
Validar o número antes de enviar ajuda contra SMS pumping?
Ajuda a barrar parte do tráfego inválido, como números com DDD inexistente, formato impossível ou serviços especiais, sem gastar envio. Não é suficiente contra números estruturalmente válidos, por isso deve ser combinada com limites de envio.
Quais proteções o ProValidPhone aplica por padrão?
Limite de 3 envios por hora por número em cada canal, limite de requisições por conta, limites por IP nas telas públicas, validação estrutural de números brasileiros, API keys com escopos e suporte a Idempotency-Key para evitar envios duplicados.
Proteja o seu fluxo de verificação
Veja na documentação os limites, os códigos de erro e o fluxo recomendado, ou confira os planos na página de preços.