Pular para o conteúdo principal

Política de controle de consultas ao DICT — passo a passo

Este guia descreve, de forma operacional, como é controlada as consultas de chaves Pix ao DICT (Diretório de Identificadores de Contas Transacionais), atendendo integralmente ao item 13 do Manual Operacional do DICT (v8.2) — Mecanismos de prevenção a ataques de leitura.

A política é organizada em quatro camadas que atuam em sequência, antes do envio da consulta ou antes da efetivação da transação Pix.

Base regulatória: Regulamento do Pix (art. 84-B, inciso II) e Manual Operacional do DICT v8.2, seções 13.1, 13.2.1, 13.2.2, 13.2.3, 13.2.4 e 13.2.5.


Contexto — o que é um ataque de leitura​

Conforme o Manual, ataques de leitura ocorrem quando alguém — usuário ou invasor utilizando a estrutura do participante — captura vínculos do DICT para finalidades distintas da realização de pagamentos. Podem ser concentrados e de alta intensidade (elevado volume de consultas em poucas horas) ou distribuídos no tempo (ao longo de dias ou meses).

A proteção exige atuação conjunta entre o Banco Central (mantenedor da base) e os participantes (responsáveis por suas requisições).


Visão geral — quatro camadas de segurança​

CamadaFunçãoQuando atuaItem do Manual
1. Balde de Fichas (Token Bucket)Limita a taxa de consultas por CPF/CNPJ pagadorAntes do envio ao DICT13.1 e 13.2.2
2. Monitoramento comportamentalIdentifica padrões anômalos em janelas curtas e longasApós cada consulta13.2.3
3. Resposta automática ao ANTISCANReage à sinalização de esgotamento retornada pelo DICTImediatamente após o retornoCamada complementar
4. Antifraude do destinatárioCruza dados do DICT com listas internas e Receita FederalAntes da efetivação da transaçãoCamada complementar

Passo a passo — o que acontece a cada consulta​

Passo 1 — Usuário inicia a consulta em ambiente autenticado (item 13.2.1)​

Toda consulta exige usuário logado em ambiente autorizado, com:

  • Login e senha (mínimo);
  • MFA na efetivação da transação;
  • Validação de dispositivo (token embarcado);
  • Biometria/reconhecimento facial quando aplicável.

Consultas a partir de sessões não autenticadas ou de dispositivos não reconhecidos são bloqueadas antes de qualquer outra etapa.

Passo 2 — Sistema verifica o saldo do balde do usuário (item 13.2.2)​

Antes de qualquer comunicação com o DICT:

  1. Verifica se há bloqueio temporário ativo para o CPF/CNPJ;
  2. Lê o saldo atual do balde individual do usuário;
  3. Debita 1 ficha para autorizar a consulta.

Se o saldo ficar negativo, a consulta é interrompida internamente — não é repassada ao DICT — e o usuário recebe a mensagem "Limite de consultas atingido". Esse comportamento atende textualmente à exigência do item 13.2.2: o participante não deve enviar ao DICT consultas que excederiam os limites internos.

Passo 3 — Consulta é enviada ao DICT​

Se autorizada, a consulta é enviada com o CPF/CNPJ pagador no campo PI-PayerId, identificando individualmente o usuário final conforme exige o item 13.1.

Passo 4 — Sistema trata a resposta do DICT​

Resposta do DICTAção aplicada
Chave encontrada (FOUND)Segue para a Camada 4 (antifraude do destinatário)
Chave não encontrada (NOT FOUND)Penalidade adicional: 3 fichas (PF) ou 19 fichas (PJ)
ANTISCAN do usuárioZera o balde do usuário e instaura bloqueio temporário (default: 10s)
ANTISCAN do participanteBloqueio coletivo nas contas marcadas como alto volume (default: 30s)
Outros errosRegistro em log + mensagem genérica ao usuário

Passo 5 — Usuário recebe apenas os dados permitidos (item 13.2.5)​

Em consultas bem-sucedidas, apenas as informações permitidas pelo Manual são exibidas ao pagador:

  • Nome completo ou nome empresarial;
  • Título do estabelecimento (nome fantasia), quando aplicável;
  • CPF mascarado (formato ***.777.888-**) ou CNPJ;
  • Chave consultada;
  • Nome do PSP recebedor (opcional).

Demais dados retornados pelo DICT são de uso exclusivo do PSP e nunca são exibidos ao usuário.

Passo 6 — Sistema valida o destinatário (antifraude)​

Toda consulta bem-sucedida é cruzada com:

  • Lista interna de contas-laranja confirmadas;
  • Lista interna de contas envolvidas em fraudes confirmadas;
  • Lista interna de fraudes de aplicação;
  • Base da Receita Federal (situação cadastral).

Se houver qualquer marcação positiva, a transação é interrompida antes da efetivação do pagamento.

Passo 7 — Toda consulta é registrada​

Bem-sucedida ou não, a consulta é persistida em base permanente, com chave consultada, CPF/CNPJ, código de retorno e identificadores da conta e da transação. Esses dados alimentam dashboards e a análise comportamental.

Passo 8 — Após a transação liquidar, o usuário recebe ficha de volta​

Quando a consulta origina um Pix efetivamente liquidado no SPI, 1 ficha é devolvida ao balde, em linha com o item 13.1.

Passo 9 — Análise comportamental roda em paralelo (item 13.2.3)​

Em paralelo a tudo, uma rotina assíncrona avalia o histórico do usuário e dispara restrições automáticas se detectar padrões suspeitos (ver Camada 2 a seguir).


Camada 1 — Balde de Fichas (item 13.2.2)​

Para cada CPF ou CNPJ pagador, o sistema mantém um saldo individual de fichas.

Dinâmica do balde​

EventoEfeito no saldo
Solicitação de consulta a uma chave Pix−1 ficha
Consulta retorna NOT FOUND−3 fichas (PF) ou −19 fichas (PJ) adicionais
Pix efetivamente liquidado no SPI+1 ficha (devolução)
Reabastecimento periódico+2 fichas a cada execução (tipicamente a cada minuto)
Saldo ultrapassa o tetoSaldo redefinido para o teto
Saldo fica negativoBalde zerado + bloqueio temporário

Segmentação automática PF × PJ​

  • CPF (11 dígitos) → tratado como Pessoa Física
  • CNPJ (14 dígitos) → tratado como Pessoa Jurídica

Parâmetros — política mais restritiva que o DICT​

ParâmetroONZ — PFONZ — PJDICT — PFDICT — PJAderência
Tamanho máximo do balde101001001.000Mais restritivo
Penalidade NOT FOUND3192020Mais restritivo na prática
Devolução após Pix no SPI1112Mais restritivo p/ PJ
Reabastecimento periódico+2/min+2/min2/min20/minMais restritivo p/ PJ
Bloqueio individual após violação10s10sn/an/aCamada extra
Bloqueio coletivo30s30sn/an/aCamada extra
Pausa por concentração de consultas5s5sn/an/aCamada extra

O Manual exige (item 13.2.2) política interna igual ou mais restritiva que a do DICT — requisito plenamente atendido.

Aderência à Categoria E do participante​

A ONZ está enquadrada na categoria E: balde do participante de 5.000 fichas e reposição de 2.500/min. Como o controle da ONZ é feito por usuário pagador (granularidade superior à exigida), o consumo agregado do participante permanece muito abaixo desse teto em condições normais. Para chegar perto, seria necessário que mais de 2.500 PFs distintas apresentassem volume elevado de consultas simultaneamente — cenário que dispararia, antes disso, as defesas comportamentais da Camada 2.


Camada 2 — Monitoramento comportamental (item 13.2.3)​

Rotina assíncrona avalia, na janela das últimas 1 hora e em janelas longas (até 30 dias), quatro regras aplicadas individualmente a cada CPF/CNPJ pagador:

#RegraCondiçãoVolume mínimoBloqueio
1Consultas inválidas repetidas para a mesma chave5+ NOT FOUND para a mesma chave1 consulta30 min
2Excesso absoluto de consultas inválidasNOT FOUND > FOUND e mais de 10 inválidas no período10 inválidas60 min
3Baixa taxa de transações (VDC/EOS)Razão Pix efetivados / total de consultas < 50%10 transações ou 10 consultas30 min
4Baixa taxa de sucesso das consultasRazão consultas com sucesso / total < 50% (proxy direto de NOT FOUND/(NOT FOUND+FOUND))10 consultas30 min

Aderência aos indicadores exigidos pelo Manual​

Exigência do item 13.2.3Como é atendida
Razão VDC/EOSRegra 3
Razão NOT FOUND/(NOT FOUND+FOUND)Regras 2 e 4
Períodos curtos (horas)Janela de 60 min em todas as regras
Períodos longos (dias / meses)Tabelas de agregação por minuto, hora e dia, com retenção configurável
Monitoramento por usuário e por PSPTabelas de agregação dedicadas
Bloqueio imediato em caso de suspeitaGatilhos automáticos, sem intervenção humana

Funcionalidade checkKeys para pagamentos em lote​

Conforme recomendado pelo Manual, em casos de pagamentos em grande volume ou em lote, o time de risco utiliza a funcionalidade checkKeys (de uso exclusivo do PSP, não disponibilizada aos usuários) para confirmar previamente a existência de chaves antes do envio massivo de requisições. Isso evita altas quantidades de consultas inválidas e o consequente esgotamento dos baldes.

Os parâmetros das regras (percentuais e janelas) são ajustáveis pela equipe de risco por meio de tabela de configuração centralizada, permitindo resposta rápida à evolução da telemetria.


Camada 3 — Resposta automática ao ANTISCAN do DICT​

Quando o DICT retorna sinalização de esgotamento de balde do participante, o sistema:

  1. Zera os baldes de todas as contas marcadas como alto volume;
  2. Bloqueia novas consultas dessas contas pelo período configurado (default: 30 segundos);
  3. Restabelece automaticamente o serviço quando o bloqueio expira.

Quando a sinalização é específica de um usuário, o procedimento é equivalente, porém aplicado apenas àquele usuário (default: 10 segundos).


Camada 4 — Antifraude do destinatário​

Toda consulta DICT bem-sucedida é cruzada com listas internas de risco (contas-laranja, fraudadores identificados, fraudes de aplicação) e com a base da Receita Federal (situação cadastral).

Em caso de marcação positiva, a transação é interrompida antes da efetivação do pagamento.


Plano de ação para casos suspeitos (item 13.2.4)​

Gatilhos automáticos​

Toda violação dispara, sem intervenção humana, três ações em cascata:

  1. Aplicação imediata de marcador de bloqueio com prazo determinado (5 segundos a 60 minutos, conforme a regra violada);
  2. Persistência da restrição em base permanente, criando trilha de auditoria;
  3. Notificação automática ao usuário (mensagem no app + e-mail).
GatilhoDuração do bloqueioNotificação
Saldo do balde negativo (Camada 1)5 segundosMensagem no app
Consultas inválidas repetidas (Regra 1)30 minutosE-mail ao último contato cadastrado
Excesso absoluto de inválidas (Regra 2)60 minutosE-mail
Baixa taxa de transações (Regra 3)30 minutosE-mail
Baixa taxa de sucesso (Regra 4)30 minutosE-mail
ANTISCAN do usuário (Camada 3)10 segundos (default)Mensagem no app
ANTISCAN do participante (Camada 3)30 segundos (default)Mensagem padrão

Esse fluxo cumpre os três objetivos do item 13.2.4:

  • Cessação imediata do comportamento anômalo;
  • Preservação dos dados vinculados às chaves;
  • Prevenção de reincidência por meio de bloqueios escalonados e marcadores persistentes.

Mensagens exibidas ao usuário​

Motivo internoMensagem ao usuário
Balde esgotado"Limite de consultas atingido"
Restrição ANTISCAN do DICT"Restrição temporária por política de segurança"
Bloqueio comportamental — limite genérico"Limite de consultas atingido"
Consultas inválidas repetidas para a mesma chave"Consultas repetidas para chave inválida"
Excesso de consultas sem resultado"Excesso de consultas sem resultado"
Baixa taxa de transações"Padrão de consultas identificado como incomum"
Baixa taxa de sucesso"Muitas consultas sem resultado"

Quando o tempo restante é conhecido, a mensagem inclui essa informação (ex.: "Tente novamente em 30 minutos").

Notificação por e-mail​

Sempre que uma restrição comportamental é aplicada, o usuário recebe um e-mail automático com saudação personalizada, identificação institucional, motivo da restrição e duração em minutos.

Comunicação ao Banco Central em caso de ataque confirmado​

Em caso de confirmação de ataque de leitura, o time de risco:

  1. Aciona o plano de contenção emergencial (zeragem de baldes afetados + bloqueio coletivo via painel administrativo);
  2. Comunica imediatamente o Banco Central pelo endereço [email protected], descrevendo as medidas adotadas para contenção e prevenção de reincidência;
  3. Avalia obrigações adicionais previstas pela LGPD, em especial quanto a comunicação de incidente à ANPD e aos titulares afetados.

Painel administrativo de gerenciamento dos baldes​

Disponível para o time de risco e prevenção a fraudes, em tempo real:

  • Listar todos os baldes ativos com saldo atual;
  • Recompor manualmente o balde de um usuário, após investigação documentada;
  • Zerar o balde como medida de contenção em incidente;
  • Liberar bloqueios temporários após análise.

Toda ação no painel é registrada em logs estruturados permanentes (operador, CPF/CNPJ afetado, saldo anterior, saldo posterior, origem). Compõe a trilha de auditoria à disposição do Banco Central.


Trilha de auditoria — evidências sistêmicas permanentes​

EvidênciaConteúdoGranularidade
Log bruto de consultas ao DICTCada consulta com chave, CPF/CNPJ, código de retorno, IDs de conta e transação, data/horaPor consulta
Agregações por usuário pagadorTotais de consultas válidas, inválidas e bloqueadasMinuto / hora / dia
Agregações por chave consultadaPermite identificar varredura específica de chavesMinuto / hora / dia
Snapshots do saldo dos baldesSaldo de cada CPF/CNPJ a cada execução do reabastecedorPor execução
Histórico de restrições aplicadasCada restrição com motivo, duração, datas de aplicação e remoçãoPor restrição
Logs de operações administrativasOperador, CPF/CNPJ afetado, saldo anterior/posterior, origemPor ação
Notificações por e-mailTrilha de envio com data/hora e destinatárioPor envio

Todos os registros são permanentes e podem ser disponibilizados ao Banco Central, sob demanda, em formato analítico ou em base bruta.

Dashboards operacionais em tempo real​

  • Linha do tempo de consultas (válidas, inválidas e bloqueadas) por hora, dia ou mês;
  • Comparativo entre Volume de Consultas ao DICT (VDC) × Envio de Ordens ao SPI (EOS);
  • Listagem dos usuários com maior volume de consultas falhadas nas últimas 24 horas;
  • Detalhamento de picos de consultas inválidas (5+ consultas inválidas por minuto na mesma chave);
  • Distribuição percentual por status em qualquer janela temporal.