Knight Capital: el bug que costó 440 millones en 45 minutos
Por MatchCode
Knight Capital perdió unos 440 millones de dólares en solo 45 minutos, y no fue por un hacker ni por una crisis de mercado. Fue por un servidor que se quedó con el código viejo y un interruptor de configuración que despertó una función dormida desde 2003. Así pasó, paso a paso.
Qué pasó el 1 de agosto de 2012 en Knight Capital
Knight Capital Group compraba y vendía acciones con programas automáticos. El 1 de agosto de 2012, al abrir la bolsa, su sistema de órdenes se descontroló.
| Dato | Cifra | |---|---| | Duración | Unos 45 minutos | | Pérdida | Unos 440 millones de dólares | | Operaciones ejecutadas | Unos 4 millones | | Acciones afectadas | 154 | | Ritmo de pérdida | Casi 10 millones de dólares por minuto |
El ritmo sale de dividir 440 millones entre 45 minutos: unos 9,8 millones por minuto. Algunas fuentes hablan de 460 millones; aquí usamos 440, la cifra de la SEC.
El interruptor reutilizado: la raíz del bug de Knight Capital
Knight tenía 8 servidores mandando órdenes a la bolsa. Ese día entraba una funcionalidad nueva, y para prenderla el equipo reutilizó un interruptor de configuración (una «bandera» o flag) que ya existía.
El problema: ese mismo interruptor antes activaba Power Peg, un código que no se usaba desde 2003 y que nadie había borrado. Llevaba unos 9 años dormido.
Reutilizar una bandera parece un atajo inocente. Pero si en algún lado sigue vivo código viejo que responde a ella, quien la encienda puede despertar algo que nadie recuerda.
El octavo servidor: un despliegue manual sin revisión
La actualización la copió a mano un técnico, servidor por servidor, y nadie más revisó el despliegue. Llegó solo a 7 de los 8. El octavo siguió con el código viejo.
Al encender el interruptor, siete servidores entendieron «ejecuta la funcionalidad nueva». El número 8, que no la tenía, entendió otra cosa: «activa Power Peg».
Cuando abrió la bolsa
El código muerto de 2003 empezó a disparar órdenes sin parar desde ese servidor. De ahí salieron los 4 millones de operaciones en 154 acciones.
¿Y nadie se dio cuenta?
El sistema sí avisó: esa mañana mandó 97 correos automáticos por el error, y nadie actuó sobre ellos. Además, Knight no tenía procedimientos para responder a incidentes técnicos graves.
El fallo no fue solo técnico. Hubo tres huecos a la vez:
- Despliegue manual: nadie podía asegurar que los 8 servidores tuvieran la misma versión.
- Sin revisión: ninguna segunda persona verificó el trabajo.
- Sin plan de crisis: las alertas llegaron, pero no había protocolo para actuar.
Qué pasó con Knight Capital después
La empresa quedó contra las cuerdas. Días después, unos inversionistas la rescataron con 400 millones de dólares a cambio de más del 70 % de la compañía. Luego la vendieron a Getco: la venta se acordó en diciembre de 2012 y se cerró en julio de 2013, dando origen a KCG Holdings.
Lecciones de Knight Capital para quien programa
- Automatiza los despliegues. Si una persona copia archivos a mano, tarde o temprano se salta un servidor.
- No reutilices banderas. Una bandera nueva no despierta significados antiguos.
- Borra el código muerto. Lo que no se usa también se puede activar.
- Dale dueño a cada alerta. Un correo que nadie lee no es una alerta.
- Ten un plan de incidentes. Cuando algo se sale de control, no es momento de improvisar.
Preguntas frecuentes
¿Cuánto dinero perdió Knight Capital?
Unos 440 millones de dólares en unos 45 minutos, el 1 de agosto de 2012. Es la cifra de la SEC; algunas fuentes dicen 460 millones.
¿Qué fue Power Peg?
Una función antigua del sistema de órdenes de Knight, en desuso desde 2003 y nunca eliminada. Qué hacía exactamente no está verificado en nuestras fuentes.
¿Fue un ataque de hackers?
No. Fue un error de software y de proceso: una actualización que llegó a 7 de 8 servidores y una bandera reutilizada que revivió código viejo en el restante.
Un interruptor viejo en el servidor equivocado
En esencia, esto no fue un hacker. Fue un interruptor viejo, prendido en el servidor equivocado, a casi 10 millones de dólares por minuto. ¿Usted sabe qué código muerto sigue vivo en su sistema?
Mira el Short con todas las animaciones en el canal de MatchCode en YouTube y sigan a MatchCode en YouTube, TikTok e Instagram (@MatchCodeOficial) y en matchcode.dev.