Thảm họa 09 · Thảm họa kỹ thuật
Đoạn mã bị bỏ quên làm mất cả gia tài trong 45 phút
Một bản cập nhật phần mềm sót một trong tám máy chủ, đánh thức đoạn mã cũ gửi đi hàng triệu lệnh mua bán cổ phiếu ngoài ý muốn, làm công ty mất khoảng 460 triệu USD trong chưa đầy một giờ.
- Knight Capital Group
- New York, Hoa Kỳ
- 2012
- 4 phút đọc
Trong trang này
Trước khi đọcBạn sẽ làm gì?
Nhóm bạn dùng một quy trình tự động gửi tin nhắc thanh toán cho khách. Bạn cập nhật mẫu tin nhắn, nhưng bản cũ vẫn chạy trên một tài khoản mà không ai nhớ ra. Biện pháp nào giúp được nhiều nhất?
Chọn một đáp án ngay bây giờ. Hồ sơ sẽ cho bạn biết mình đúng hay sai.
01Hồ sơ trong một phút
1Sót một máy chủ
Bản cập nhật lên được bảy trên tám máy chủ. Ở máy thứ tám, một công tắc dùng lại đánh thức mã cũ.
245 phút
Mã cũ gửi đi hàng loạt lệnh, và Knight mất khoảng 460 triệu USD, theo SEC.
3Cảnh báo bị bỏ qua
Email báo lỗi tự động được gửi trước giờ mở cửa nhưng không ai coi là gấp.
4Bài học
Xác nhận mọi thay đổi ở mọi nơi, xóa mã cũ không dùng, và có giới hạn cứng để dừng quy trình chạy loạn.
02Dòng thời gian
2003
Knight thôi dùng chức năng giao dịch cũ tên Power Peg, nhưng để nguyên đoạn mã.
Cuối tháng 7/2012
Mã mới được chép lên bảy trong tám máy chủ.
1/8/2012
Máy chủ thứ tám gửi lệnh ồ ạt trong khoảng 45 phút.
Tháng 10/2013
SEC cáo buộc Knight, công ty nộp phạt 12 triệu USD.
03Chuyện gì đã xảy ra
Năm 2012, Knight Capital là một trong những công ty giao dịch cổ phiếu Mỹ lớn nhất. Để tham gia một chương trình mới của Sở Giao dịch Chứng khoán New York bắt đầu từ ngày 1/8, công ty cập nhật phần mềm giao dịch. Một kỹ thuật viên chép mã mới lên bảy trong tám máy chủ. Không ai nhận ra chiếc thứ tám bị sót.
Mã mới dùng lại một "công tắc" mà nhiều năm trước từng điều khiển một chức năng cũ tên là Power Peg, không còn dùng từ năm 2003. Trên máy chủ thứ tám, bật công tắc lên lại đánh thức đoạn mã cũ.
Khi thị trường mở cửa, máy chủ đó bắt đầu gửi đi một loạt lệnh ồ ạt. Trong khoảng 45 phút, hệ thống của Knight thực hiện hàng triệu giao dịch trên chừng 150 mã cổ phiếu. Trước giờ mở cửa, các email tự động đã cảnh báo nhân viên về một lỗi, nhưng không ai coi đó là chuyện gấp. Đến lúc ngừng được giao dịch, công ty đã mất khoảng 460 triệu USD, theo Ủy ban Chứng khoán và Giao dịch Hoa Kỳ (SEC).
Knight phải nhận vốn cứu trợ khẩn cấp để tồn tại và bị sáp nhập trong vòng một năm. Năm 2013, SEC cáo buộc công ty vi phạm quy định thị trường về kiểm soát rủi ro, và công ty nộp phạt 12 triệu USD.
04Vì sao lại xảy ra
SEC thấy Knight không có quy trình bằng văn bản cho việc triển khai mã, không kiểm tra để chắc mọi máy chủ chạy cùng một phiên bản, và không có giới hạn tự động nào dừng giao dịch khi lỗ tăng lớn. Mã cũ không dùng nữa vẫn bị để lại nhiều năm.
Trong lúc khủng hoảng, nhân viên không nhanh chóng tìm ra chuyện gì đang hỏng, và một lần thử sửa còn làm tình hình tệ hơn khi đưa đoạn mã cũ lên cả tám máy chủ. Không có cách đơn giản để dừng mọi thứ cùng lúc, từng phút trôi qua biến thành hàng trăm triệu USD.
Ý tưởng đằng sau vụ nàyBài học: Duyệt bài AI như một người quản lý →

05Bài học khi ra quyết định
- Dùng danh sách kiểm tra cho mọi thay đổi, và xác nhận thay đổi đã có mặt ở mọi nơi cần có.
- Xóa những thứ cũ không còn dùng, như tệp, tài khoản hay quy trình tự động cũ, để chúng không vô tình sống lại.
- Đặt giới hạn cứng để dừng một quy trình tự động khi có gì bất thường, như hạn mức chi tiêu mỗi ngày.
- Có một nút tắt to, đơn giản và tập dùng nó, để không ai phải loay hoay tìm cách dừng mọi thứ giữa lúc khủng hoảng.
07 — Nguồn
- SEC Charges Knight Capital With Violations of Market Access Rule · U.S. Securities and Exchange Commission · 2013-10-16
- Knight Capital Group · Wikipedia · 2026