Translate

Mostrar mensagens com a etiqueta Gestão de Riscos. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Gestão de Riscos. Mostrar todas as mensagens

domingo, 14 de junho de 2026

O Dia em que um Banco Declarou a Própria Liquidação: Lições de Engenharia, Governança e Confiabilidade a partir do Incidente do Nubank

Bellacosa Mainframe e o incidente informatico do Nubank

O Dia em que um Banco Declarou a Própria Liquidação: Lições de Engenharia, Governança e Confiabilidade a partir do Incidente do Nubank

Introdução

Em junho de 2026, um episódio incomum chamou a atenção do mercado financeiro brasileiro, dos profissionais de tecnologia e dos especialistas em gestão de riscos. Clientes do Nubank receberam comunicações oficiais informando que a instituição teria entrado em processo de liquidação. A mensagem, enviada por canais legítimos da empresa, parecia autêntica, utilizava terminologia regulatória correta e mencionava procedimentos relacionados ao Fundo Garantidor de Créditos (FGC).

O problema era simples e ao mesmo tempo alarmante: a informação era falsa.

Em poucas horas, a notícia se espalhou pelas redes sociais, grupos de investidores, fóruns especializados e veículos de imprensa. O Banco Central precisou esclarecer que não existia qualquer procedimento de liquidação em andamento. O Nubank confirmou que se tratava de um erro operacional decorrente de uma falha em processos internos.

À primeira vista, o incidente parece apenas um erro de comunicação. Entretanto, uma análise mais profunda revela um caso clássico de falha sistêmica envolvendo automação, governança, gestão de mudanças, segregação de ambientes e controles de produção.

Mais importante ainda: o episódio oferece uma oportunidade rara para discutir um tema frequentemente negligenciado em empresas digitais modernas — a diferença entre construir sistemas rápidos e construir sistemas confiáveis.


O que aconteceu

Segundo informações divulgadas publicamente, um fluxo responsável por notificações relacionadas a processos de liquidação institucional teria sido acionado indevidamente.

A comunicação foi distribuída para clientes reais utilizando canais oficiais.

Do ponto de vista do usuário final, todos os elementos indicavam legitimidade:

  • origem oficial;

  • identidade visual correta;

  • linguagem regulatória compatível;

  • referência ao FGC;

  • comunicação direta da instituição.

Em segurança da informação existe um princípio fundamental:

O usuário não possui mecanismos para diferenciar uma mensagem legítima de uma mensagem enviada legitimamente por engano.

Essa frase resume a gravidade do incidente.

Quando uma comunicação falsa vem de um atacante externo, o cliente pode desconfiar.

Quando a mesma comunicação vem do próprio banco, a confiança desaparece como mecanismo de defesa.


O erro informático por trás do incidente

Embora os detalhes técnicos completos não tenham sido divulgados, a descrição pública permite inferir algumas hipóteses plausíveis.

O problema parece ter ocorrido em uma combinação de:

  • automação de mensagens;

  • parametrização inadequada;

  • ausência de validações obrigatórias;

  • insuficiência de mecanismos de aprovação.

Em engenharia de software, isso é conhecido como um erro de "guard rails", ou seja, ausência de barreiras que impeçam uma ação perigosa.

Imagine um sistema com a seguinte lógica:

Evento:
Liquidação Institucional

Instituição:
[NOME_DO_BANCO]

Ação:
Enviar comunicação aos clientes

Se o campo da instituição estiver vazio, o sistema deveria interromper imediatamente o processo.

No entanto, em muitos sistemas corporativos existem valores padrão.

Exemplo:

if banco == null:
    banco = "Nubank"

Ou ainda:

if banco == "":
    utilizar_instituicao_padrao()

Pequenos atalhos criados durante desenvolvimento, testes ou homologação podem se transformar em bombas-relógio quando chegam à produção.


Quando ambientes de teste contaminam a produção

Uma das hipóteses mais discutidas é a existência de um fluxo originalmente criado para testes.

Esse cenário é extremamente comum.

Empresas desenvolvem sistemas utilizando ambientes distintos:

Desenvolvimento

Local onde programadores criam funcionalidades.

Homologação

Ambiente utilizado para validações.

Produção

Sistema real utilizado por clientes.

Na teoria, esses ambientes são completamente isolados.

Na prática, muitas organizações acabam criando atalhos.

Exemplos comuns:

  • cópia de bases produtivas;

  • reutilização de configurações;

  • compartilhamento de APIs;

  • uso de dados reais em homologação.

Quando isso acontece, uma fronteira crítica desaparece.

O resultado é que ações originalmente pensadas para teste passam a ter impacto real.


A armadilha da automação

O setor financeiro moderno depende de automação em larga escala.

Bancos digitais enviam diariamente:

  • notificações;

  • alertas;

  • extratos;

  • avisos regulatórios;

  • comunicações de segurança.

Uma única plataforma pode disparar milhões de mensagens por hora.

O benefício é evidente:

  • redução de custos;

  • velocidade operacional;

  • escalabilidade.

O problema é que a automação amplifica erros.

Um funcionário que envia uma mensagem errada manualmente afeta algumas pessoas.

Um sistema automatizado pode afetar milhões.

Existe uma máxima conhecida em operações de TI:

A automação não elimina erros humanos. Ela multiplica seus efeitos.

O incidente ilustra perfeitamente esse princípio.


O papel dos controles de mudança

Toda alteração em sistemas críticos deveria seguir um processo formal.

Esse processo normalmente inclui:

Revisão técnica

Validação por outros desenvolvedores.

Aprovação operacional

Análise dos impactos.

Aprovação de negócio

Validação da área responsável.

Testes

Verificação funcional.

Plano de rollback

Capacidade de reversão rápida.

Quando qualquer uma dessas etapas falha, o risco aumenta exponencialmente.

A questão não é impedir erros.

Erros são inevitáveis.

A questão é impedir que erros individuais alcancem clientes.


O conceito de “blast radius”

Engenheiros de confiabilidade utilizam o conceito de blast radius.

Traduzindo livremente:

"raio de explosão".

A pergunta é simples:

Se algo der errado, quantas pessoas serão afetadas?

Sistemas modernos devem ser projetados para minimizar esse impacto.

Exemplo:

Em vez de enviar uma comunicação para toda a base de clientes, o sistema deveria:

  1. enviar para um grupo piloto;

  2. validar resultados;

  3. liberar gradualmente;

  4. expandir para toda a população.

Essa técnica é utilizada por empresas como:

  • Google;

  • Amazon;

  • Microsoft;

  • Netflix.

Caso o disparo incorreto tivesse sido submetido a um rollout progressivo, o incidente provavelmente teria sido detectado nos primeiros minutos.


O problema dos dados reais em testes

Outro aprendizado importante envolve o uso de dados produtivos.

Muitas empresas utilizam bases reais para reproduzir cenários complexos.

Isso facilita testes.

Também aumenta riscos.

Dados reais possuem características imprevisíveis:

  • relacionamentos existentes;

  • integrações ativas;

  • gatilhos automáticos;

  • usuários legítimos.

Uma rotina criada para laboratório pode encontrar condições inesperadas quando executada em produção.

É por isso que organizações maduras investem em:

  • anonimização;

  • mascaramento de dados;

  • ambientes sintéticos.

O objetivo é reproduzir a realidade sem colocar clientes reais em risco.


O fator psicológico do incidente

Existe um aspecto pouco discutido.

O dano não foi apenas tecnológico.

Foi psicológico.

O sistema financeiro funciona baseado em confiança.

Quando um banco afirma que está sendo liquidado, o cliente não realiza uma análise técnica.

Ele reage emocionalmente.

As perguntas surgem imediatamente:

  • Meu dinheiro está seguro?

  • Preciso sacar recursos?

  • Minha conta continuará funcionando?

  • Meu cartão será cancelado?

  • Vou perder investimentos?

Em poucos minutos pode surgir um fenômeno conhecido como corrida informacional.

Não necessariamente uma corrida bancária tradicional.

Mas uma corrida por esclarecimentos.

Milhares de pessoas acessam simultaneamente:

  • aplicativo;

  • central de atendimento;

  • redes sociais;

  • imprensa.

O volume gerado pode se tornar um problema operacional por si só.


O impacto no mercado

Embora o incidente tenha sido rapidamente esclarecido, ele produziu repercussões relevantes.

Mercados financeiros são altamente sensíveis à informação.

Especialmente quando envolve:

  • liquidez;

  • solvência;

  • regulação.

Investidores institucionais monitoram continuamente sinais de risco.

Uma notícia sobre liquidação, ainda que falsa, pode provocar:

  • volatilidade;

  • aumento de dúvidas;

  • especulação;

  • pressão reputacional.

Mesmo após o esclarecimento, permanece uma questão:

Como um mecanismo tão crítico conseguiu ser acionado incorretamente?

Essa pergunta interessa mais ao mercado do que o próprio erro.

Porque ela trata da maturidade operacional da organização.


O custo invisível da reputação

Empresas costumam medir:

  • receita;

  • lucro;

  • crescimento;

  • número de clientes.

Poucas conseguem medir confiança.

Entretanto, confiança é um dos ativos mais valiosos do setor financeiro.

Uma instituição pode gastar bilhões em marketing.

Mas basta um único incidente de credibilidade para comprometer anos de construção de marca.

A reputação é semelhante a um sistema distribuído:

Leva muito tempo para convergir.

Pode ser afetada em segundos.


O que empresas podem aprender

O incidente produz diversas lições para organizações digitais.

1. Sistemas críticos precisam de múltiplas aprovações

Nenhuma comunicação regulatória deveria depender de uma única ação.

Princípio dos quatro olhos:

duas pessoas precisam validar.

2. Produção deve ser protegida contra operadores

O objetivo não é desconfiar das pessoas.

É reconhecer que erros acontecem.

Sistemas precisam impedir ações perigosas.

3. Rollouts graduais reduzem impacto

Nenhum disparo massivo deveria ocorrer instantaneamente.

4. Testes precisam ser isolados

Ambientes de homologação devem permanecer separados da produção.

5. Alertas precisam monitorar comportamentos anormais

Se uma mensagem de liquidação for enviada, alarmes automáticos deveriam disparar imediatamente.


O paradoxo dos bancos digitais

O caso revela um paradoxo interessante.

Os bancos digitais são extraordinariamente eficientes.

Conseguem:

  • abrir contas em minutos;

  • aprovar cartões rapidamente;

  • processar milhões de transações.

Mas velocidade e confiabilidade nem sempre evoluem no mesmo ritmo.

À medida que organizações crescem, seus sistemas tornam-se mais complexos.

Mais integrações.

Mais automações.

Mais dependências.

Mais pontos de falha.

O desafio deixa de ser construir funcionalidades.

Passa a ser controlar complexidade.


A maturidade dos sistemas modernos

Os maiores incidentes tecnológicos raramente acontecem por falhas sofisticadas.

Na maioria das vezes eles surgem de:

  • configurações incorretas;

  • permissões inadequadas;

  • processos incompletos;

  • validações ausentes.

A história da tecnologia está repleta de exemplos semelhantes.

Falhas milionárias já foram causadas por:

  • campos vazios;

  • scripts de manutenção;

  • comandos executados no ambiente errado;

  • parâmetros incorretos.

O problema não é a tecnologia.

O problema é a interação entre tecnologia, pessoas e processos.


Conclusão

O episódio envolvendo a falsa comunicação de liquidação do Nubank não deve ser interpretado apenas como um erro operacional isolado.

Ele representa um estudo de caso sobre os desafios da engenharia moderna em sistemas de missão crítica.

O incidente demonstrou como um único evento pode atravessar múltiplas camadas organizacionais:

  • tecnologia;

  • governança;

  • comunicação;

  • segurança;

  • reputação;

  • mercado financeiro.

Mais importante, revelou uma verdade frequentemente esquecida em ambientes digitais:

A confiabilidade não nasce da ausência de erros.

Ela nasce da capacidade de impedir que erros inevitáveis se transformem em crises.

Em um mundo onde bancos são plataformas de software, cada linha de código, cada configuração e cada processo operacional participa diretamente da construção da confiança do cliente.

E confiança, diferentemente do software, não pode ser restaurada simplesmente com um novo deploy.

Ela precisa ser reconquistada.

Para ir mais longe

Bellacosa Mainframe e o incidente do nubank







sexta-feira, 12 de junho de 2026

Blast Radius: Por Que um Pequeno Erro Pode Derrubar um Banco Inteiro

 

Bellacosa Mainframe e o blast radius em desenvolvimento de software

Blast Radius: Por Que um Pequeno Erro Pode Derrubar um Banco Inteiro

Uma das perguntas mais importantes da engenharia moderna

Imagine que você acabou de entrar em uma grande instituição financeira.

Você é um desenvolvedor COBOL Jr.

Recebe uma tarefa aparentemente simples.

Alterar uma rotina de validação em um programa batch.

O código possui apenas algumas linhas.

A mudança é pequena.

O teste passou.

O deploy foi aprovado.

Tudo parece sob controle.

Dois dias depois surge uma reunião de crise.

Executivos estão reunidos.

Gerentes estão nervosos.

Equipes de infraestrutura trabalham durante a madrugada.

Milhões de registros foram processados incorretamente.

O prejuízo é enorme.

E então alguém faz uma pergunta que todo arquiteto experiente conhece:

Qual era o Blast Radius dessa mudança?

Essa pergunta vale mais do que qualquer revisão de código.

Mais do que qualquer ferramenta de monitoramento.

Mais do que qualquer framework moderno.

Porque ela determina o tamanho potencial do desastre.


O que significa Blast Radius?

A tradução literal seria:

Raio de Explosão.

O termo vem do universo militar.

Quando ocorre uma explosão, existe uma área diretamente afetada.

Quanto maior a explosão, maior o raio de destruição.

A engenharia de software adotou exatamente a mesma ideia.

Quando um sistema falha, uma pergunta precisa ser respondida:

Quantas pessoas, sistemas, operações ou clientes serão impactados?

Essa área de impacto é chamada Blast Radius.


O erro que afeta um cliente

Imagine um programa COBOL responsável por atualizar dados cadastrais.

Um erro afeta:

1 cliente

Problema?

Sim.

Crise?

Provavelmente não.

O impacto é localizado.

O Blast Radius é pequeno.


O erro que afeta um banco inteiro

Agora imagine um programa responsável pela compensação financeira nacional.

Um erro afeta:

30 milhões de clientes

Mesma quantidade de linhas alteradas.

Mesmo programador.

Mesmo tipo de erro.

Resultado completamente diferente.

Por quê?

Porque o Blast Radius mudou.


A pergunta que diferencia um programador de um engenheiro

O desenvolvedor iniciante normalmente pergunta:

Meu código funciona?

O engenheiro experiente pergunta:

O que acontece se ele falhar?

Essa mudança de mentalidade é uma das maiores evoluções na carreira de tecnologia.

Porque sistemas críticos não são avaliados apenas pelo sucesso.

Eles são avaliados pela forma como falham.


O mito do pequeno erro

Existe uma crença perigosa em ambientes corporativos.

"Foi só uma alteração pequena."

O tamanho do código raramente determina o tamanho do impacto.

Um único caractere já derrubou sistemas inteiros.

Um único parâmetro incorreto já gerou perdas milionárias.

Uma única configuração errada já interrompeu operações globais.

O impacto depende do Blast Radius.

Não da quantidade de código.


O universo COBOL e o poder invisível

Desenvolvedores COBOL trabalham em uma situação peculiar.

Muitas vezes manipulam sistemas que movimentam bilhões de reais diariamente.

Mas a interface parece simples.

Uma tela verde.

Alguns arquivos.

JCLs.

Datasets.

Rotinas batch.

Tudo parece tranquilo.

Até que alguém descobre que aquele programa processa:

  • contas correntes;

  • cartões;

  • empréstimos;

  • investimentos;

  • liquidações;

  • compensações.

De repente o código ganha outra dimensão.


O efeito dominó

Imagine uma falha em um cadastro.

Cliente incorreto.

Esse dado alimenta:

  • CRM;

  • antifraude;

  • cobrança;

  • compliance;

  • atendimento;

  • relatórios regulatórios.

Agora uma pequena falha inicial se transforma em dezenas de falhas secundárias.

Isso é amplificação de Blast Radius.


O conceito de dependências

Sistemas modernos não vivem isolados.

Um programa chama outro.

Que chama outro.

Que alimenta outro.

Que gera arquivos para outro.

O resultado é uma rede gigantesca.

Quando um componente falha, o impacto se propaga.

Como peças de dominó.


O exemplo do CPF inválido

Imagine uma rotina simples.

Um CPF inválido passa pela validação.

O erro parece pequeno.

Mas esse dado segue adiante.

Abre conta.

Gera cartão.

Produz relatórios.

Entra em auditorias.

Alimenta modelos analíticos.

Meses depois ninguém sabe mais onde o problema começou.

O Blast Radius cresceu silenciosamente.


O incidente do Nubank como estudo de caso

O episódio envolvendo o falso aviso de liquidação trouxe uma lição interessante.

Independentemente dos detalhes internos, a pergunta arquitetural é:

Qual era o Blast Radius daquele processo?

Se a mensagem atingisse:

10 clientes

O incidente seria pequeno.

Se atingir milhões:

O cenário muda completamente.

A mesma falha produz consequências exponencialmente maiores.


Blast Radius e ambientes de produção

Uma regra simples:

Quanto mais próximo da produção, maior o Blast Radius.

Ambiente de desenvolvimento:

Impacto quase zero.

Homologação:

Impacto limitado.

Produção:

Impacto real.

Produção financeira:

Impacto potencialmente gigantesco.

É por isso que instituições financeiras possuem tantos controles.

Não por burocracia.

Mas porque o custo do erro é enorme.


O perigo dos batches

O mundo COBOL é dominado por processamento em massa.

Um programa pode executar durante horas.

Processando milhões de registros.

O problema é simples.

Se houver um erro:

Ele será repetido milhões de vezes.

Um erro individual torna-se um erro industrializado.


O erro multiplicado

Imagine:

1 registro incorreto

Sem batch:

impacto pequeno.

Agora imagine:

50 milhões de registros

Processados pela mesma lógica defeituosa.

O erro não mudou.

O Blast Radius mudou.


Como arquitetos pensam

Arquitetos raramente perguntam:

"Qual tecnologia usamos?"

Eles perguntam:

"Qual o pior cenário possível?"

Essa pergunta direciona toda a arquitetura.

Porque sistemas críticos são construídos para sobreviver a falhas.

Não apenas para funcionar.


Blast Radius e permissões

Um desenvolvedor possui acesso de leitura.

Blast Radius reduzido.

Um desenvolvedor possui acesso irrestrito.

Blast Radius elevado.

É por isso que ambientes maduros trabalham com:

  • menor privilégio;

  • segregação;

  • controle de acesso;

  • aprovações.

Tudo isso é gestão de Blast Radius.


Blast Radius e banco de dados

Imagine um comando SQL.

Primeiro cenário:

UPDATE CLIENTES
SET STATUS='A'
WHERE ID=100;

Impacto:

um cliente.

Segundo cenário:

UPDATE CLIENTES
SET STATUS='A';

Impacto:

todos os clientes.

A diferença visual é mínima.

A diferença operacional é gigantesca.


O princípio da contenção

Existe uma palavra muito importante.

Contenção.

Todo sistema moderno deveria conter falhas.

Não espalhá-las.

Por isso empresas investem em:

  • segmentação;

  • isolamento;

  • partições;

  • zonas independentes.

O objetivo é impedir que uma falha local se torne global.


O conceito de células

Empresas como Amazon popularizaram a ideia de Cell Architecture.

Em vez de uma estrutura única gigante.

Criam-se células menores.

Se uma célula falhar:

As demais continuam operando.

Isso reduz drasticamente o Blast Radius.


Mainframe já fazia isso há décadas

Curiosamente, ambientes mainframe utilizavam conceitos semelhantes muito antes da computação em nuvem.

Exemplos:

  • LPARs;

  • regiões CICS;

  • filas separadas;

  • ambientes segregados;

  • jobs independentes.

A filosofia era exatamente a mesma.

Conter impactos.


O problema do compartilhamento excessivo

Quanto mais sistemas compartilham recursos, maior o Blast Radius.

Banco compartilhado.

Fila compartilhada.

Storage compartilhado.

Processamento compartilhado.

Tudo isso cria pontos únicos de falha.

Um problema em um componente afeta dezenas de outros.


O conceito de Blast Radius Humano

Pouca gente fala sobre isso.

Mas pessoas também possuem Blast Radius.

Imagine:

Um único operador consegue executar qualquer comando em produção.

Blast Radius enorme.

Agora imagine:

Necessidade de aprovação dupla.

Blast Radius reduzido.

A governança existe para limitar o alcance dos erros humanos.


O papel dos Guard Rails

Blast Radius e Guard Rails caminham juntos.

Guard Rails tentam impedir erros.

Blast Radius tenta limitar consequências.

Exemplo:

Guard Rail:

impedir exclusão acidental.

Blast Radius:

caso a exclusão ocorra, limitar o impacto.

São conceitos complementares.


Rollout gradual

Uma das formas mais modernas de controlar Blast Radius é o rollout progressivo.

Em vez de liberar uma mudança para todos.

Liberamos para poucos.

Por exemplo:

1%.

Depois 5%.

Depois 10%.

Depois 100%.

Se houver erro, ele será detectado cedo.

O impacto permanece pequeno.


O medo saudável da produção

Existe uma característica interessante nos profissionais experientes de mainframe.

Eles respeitam produção.

Não porque tenham medo da tecnologia.

Mas porque entendem o Blast Radius.

Produção concentra:

  • clientes;

  • dinheiro;

  • contratos;

  • obrigações regulatórias;

  • reputação.

Uma pequena falha pode produzir consequências gigantescas.


Observabilidade e Blast Radius

Você não controla aquilo que não consegue enxergar.

Por isso monitoramento é fundamental.

Imagine um batch que normalmente processa:

500 mil registros

Hoje processou:

50 milhões

Algo claramente está errado.

Um sistema observável detecta rapidamente.

Quanto mais cedo o problema é identificado, menor o Blast Radius.


O custo da reputação

Em bancos existe um ativo invisível.

Confiança.

Quando uma falha afeta poucos clientes, a recuperação costuma ser simples.

Quando afeta milhões, surge um problema adicional.

Reputação.

O Blast Radius passa a incluir:

  • imprensa;

  • investidores;

  • reguladores;

  • mercado.

O dano deixa de ser apenas tecnológico.


O exercício mental que todo COBOL Jr deveria fazer

Antes de qualquer alteração, pergunte:

Se eu errar:

  • Quantos clientes serão impactados?

  • Quantos sistemas dependem disso?

  • Existe rollback?

  • Existe monitoramento?

  • Existe plano de contingência?

  • Existe limite operacional?

  • Existe validação?

  • Existe segregação?

Essas perguntas valem mais do que qualquer linha de código.


A verdadeira maturidade profissional

Existe um momento em que o desenvolvedor deixa de ser apenas um programador.

Ele passa a enxergar sistemas.

Passa a enxergar operações.

Passa a enxergar negócios.

Passa a enxergar riscos.

Nesse momento surge uma nova pergunta.

Não mais:

O programa funciona?

Mas sim:

Qual é o Blast Radius se ele parar de funcionar?

Essa mudança de perspectiva transforma a forma de desenvolver software.


Conclusão

Blast Radius é um dos conceitos mais importantes da engenharia moderna porque nos obriga a pensar além do código.

Ele nos força a enxergar impacto.

A enxergar consequências.

A enxergar riscos.

Para um desenvolvedor COBOL Jr, compreender Blast Radius significa entender que o tamanho de uma alteração não determina sua importância.

Uma linha de código pode alterar milhões de contas.

Um único parâmetro pode interromper operações nacionais.

Uma pequena falha pode se propagar por dezenas de sistemas.

Os melhores engenheiros não são aqueles que acreditam que nunca errarão.

São aqueles que projetam sistemas assumindo que erros inevitavelmente acontecerão.

E quando eles acontecerem, o objetivo não será impedir a explosão.

Será garantir que o raio da explosão seja o menor possível.

Esse é o verdadeiro significado de Blast Radius.