US$ 440 milhões em 45 minutos por uma flag de código morto
Knight Capital Group · 1º de agosto de 2012
Impacto: Cerca de US$ 440 milhões perdidos em 45 minutos. A empresa, líder do setor, foi vendida meses depois.
O que aconteceu
A Knight ia ativar um sistema novo de roteamento de ordens. O código foi implantado em oito servidores de produção — mas um deles não recebeu a atualização.
O novo código reaproveitava uma flag de configuração que, anos antes, ativava uma funcionalidade chamada Power Peg — um código antigo, morto, que nunca fora removido. Nos sete servidores atualizados, a flag ativava a lógica nova. No oitavo, que continuava com o binário antigo, ela ativava o Power Peg.
Quando o mercado abriu, o servidor desatualizado começou a executar o código morto, comprando e vendendo em volume enorme e sem os limites que a versão nova impunha. Em 45 minutos foram milhões de ordens em 154 papéis.
Durante o incidente, a equipe reverteu a implantação nos servidores — o que espalhou o binário antigo para os outros sete, ampliando o problema em vez de contê-lo.
A linha do tempo
- T-7 dias
Novo código implantado em 7 dos 8 servidores; o oitavo é esquecido.
- T+0
Mercado abre; a flag é ativada.
- T+1min
No servidor desatualizado, a flag ativa o Power Peg — código morto sem limites de posição.
- T+~20min
A reversão da implantação espalha o binário antigo e piora o quadro.
- T+45min
Sistemas desligados. Prejuízo de ~US$ 440 milhões.
A causa raiz
Três decisões estruturais se encontraram: código morto mantido no repositório por anos, uma flag de configuração reaproveitada para outro significado, e uma implantação sem verificação de que todos os nós receberam a mesma versão. Nenhuma delas isolada derrubaria a empresa.
Antes do incidente
O que você colocaria na pilha para conter o estrago?
O que mudou depois
- A SEC usou o caso para reforçar exigências de controle de risco pré-operacional no setor.
- Virou o exemplo canônico do custo de código morto e de flags reaproveitadas.
- Implantação com verificação de versão em todos os nós passou a ser prática padrão na indústria.
Fonte: SEC — *Administrative Proceeding File No. 3-15570, In the Matter of Knight Capital Americas LLC*, 2013