Lỗ hổng 5 năm trên Coldcard: Khi 'tuyệt đối an toàn' chỉ là niềm tin, không phải bằng chứng
Dòng chảy thanh khoản không bao giờ đứng yên, nhưng có một thứ còn đáng sợ hơn: dòng chảy của sự tự mãn. Sáng nay, trong group chat các nhà nghiên cứu thanh khoản xuyên biên giới của tôi, một link về lỗ hổng trên Coldcard được ghim lên đầu. Không phải giá Bitcoin giảm 5%, không phải một quỹ đầu tư nào rút thanh khoản khỏi Aave. Mà là: một thiết bị được cả cộng đồng Bitcoin tôn sùng như 'bunker thép' — bỗng nhiên có một lỗ hổng tồn tại suốt năm năm mà không ai nhìn thấy.
Năm năm. Trong thế giới crypto, năm năm là một kỷ nguyên. Là cả một chu kỳ halving. Là lúc một đứa trẻ sinh ra đã biết đi. Và trong năm năm đó, các auditor liên tục kiểm tra Coldcard, xác nhận 'có tồn tại bộ tạo số ngẫu nhiên' — nhưng không một ai xác nhận rằng nó thực sự được gọi mỗi khi tạo chữ ký. Đây không chỉ là vấn đề của một công ty phần cứng. Đây là vấn đề của toàn bộ cách chúng ta đặt niềm tin vào công nghệ.
Hãy để tôi kể cho bạn nghe về lần đầu tiên tôi mua Coldcard. Năm 2019, sau khi chứng kiến sự sụp đổ của một sàn giao dịch nhỏ ở Vancouver làm bay hơi 200.000 CAD của một người bạn, tôi quyết định rằng không một sàn giao dịch nào đủ an toàn. Tôi mua một chiếc Coldcard MK2, cảm nhận sự nặng tay của nó như một thỏi vàng. Tôi tin rằng. Tôi thực sự tin rằng thiết bị này không thể bị hack. Tôi đã khuyên ít nhất 30 người trong cộng đồng crypto Vancouver mua nó. Và bây giờ, nhìn lại, tôi nhận ra một sự thật khó chịu: tôi không hề kiểm chứng — tôi chỉ tin.
Vấn đề nằm ở số ngẫu nhiên. Nghe có vẻ khô khan, nhưng đây là nền tảng của mọi thứ. Trong mật mã học, nếu số ngẫu nhiên không thực sự ngẫu nhiên, hoặc nếu code không gọi đúng hàm tạo số ngẫu nhiên vào đúng thời điểm quan trọng, thì toàn bộ hệ thống phòng thủ sụp đổ. Giống như một két sắt có ổ khóa siêu tân tiến — nhưng người thợ lại quên đóng cửa phía sau. Các auditor nhìn vào ổ khóa, xác nhận 'ổ khóa này tốt', nhưng không ai kiểm tra xem cánh cửa có thực sự được khép lại mỗi đêm hay không.
Kraken Security, đội ngũ bảo mật của sàn giao dịch Kraken, là người phát hiện ra. Họ không chỉ nhìn vào bề mặt. Họ theo dõi luồng dữ liệu: từ khi người dùng bấm nút ký, đến khi firmware gọi hàm tạo khóa, rồi xem số ngẫu nhiên đó được tạo ra — hay là một giá trị tĩnh, có thể đoán trước. Đây chính là khoảng cách giữa 'kiểm tra tồn tại' và 'kiểm tra hành vi'. Một khoảng cách mà 99% các đơn vị audit hiện nay đang bỏ qua.
Tôi nhớ một câu chuyện từ thời tôi còn làm nghiên cứu về thanh toán xuyên biên giới. Khi kiểm tra một hệ thống thanh toán giữa hai ngân hàng ở châu Á, tôi phát hiện ra rằng hệ thống chữ ký của họ — mặc dù dùng thuật toán ECDSA chuẩn — nhưng nonce (số dùng một lần trong mỗi chữ ký) lại được tạo từ một hàm PRNG không an toàn dựa trên timestamp. Điều đó có nghĩa là nếu bạn biết thời điểm ký, bạn có thể tái tạo lại chữ ký và rút tiền. Tôi đã báo cáo, họ đã sửa, nhưng câu hỏi đặt ra: tại sao các auditor của họ — thuộc một trong Big Four — không phát hiện ra? Vì họ kiểm tra 'sự tồn tại' của hàm tạo số ngẫu nhiên, chứ không kiểm tra 'sự gọi thực tế'.
Coldcard, cụ thể hơn, sử dụng thuật toán ED25519. Thuật toán này nổi tiếng với tốc độ và độ an toàn, nhưng nó cực kỳ nhạy cảm với nonce. Nếu nonce bị lặp lại hoặc có thể đoán trước, bạn chỉ cần hai chữ ký trên hai thông điệp khác nhau — bùm, bạn có thể tính ra khóa riêng. Không cần phá khóa vào nhà, không cần đoán PIN. Chỉ cần toán học. Và toán học thì không bao giờ sai.
Vậy tại sao không ai phát hiện trong 5 năm? Đây là lúc tôi cảm thấy cần nói một điều hơi 'ngược đời'. Tôi không nghĩ đây chỉ là sự cẩu thả của riêng một công ty. Tôi nghĩ đây là một khiếm khuyết mang tính hệ thống của toàn ngành audit blockchain. Hãy nhìn lại DeFi Summer 2020: hàng trăm protocol mọc lên, hàng trăm bản audit được phát hành, với các con dấu của CertiK, Trail of Bits, Hacken. Nhưng bao nhiêu lần các audit đó thực sự tìm ra lỗi? Hầu hết các vụ hack lớn — Ronin Bridge mất 600 triệu đô la, Euler Finance mất 200 triệu đô la — đều xảy ra trên những protocol đã được audit. Bởi vì phần lớn audit hiện nay đang kiểm tra 'cấu trúc' chứ không kiểm tra 'hành vi runtime'. Họ kiểm tra xem code có đúng chuẩn không, chứ không kiểm tra xem trên blockchain thực tế, với các điều kiện biên và tấn công kết hợp, code đó có chạy đúng không.
Và giờ chuyện này xảy ra trên Coldcard — một công ty nổi tiếng với việc tối ưu an toàn. Nếu Coldcard có lỗ hổng, thì Ledger? Trezor? Passport? BitBox? Không công ty nào thoát khỏi câu hỏi. Điều này đưa chúng ta đến một câu hỏi lớn hơn: chúng ta đang xây dựng cả một nền kinh tế trị giá hàng nghìn tỷ đô la trên một nền tảng mà lòng tin được xây bằng... niềm tin mù quáng vào các con dấu audit?
Đừng hiểu lầm tôi. Tôi không nói rằng tất cả các auditor đều vô dụng. Tôi nói rằng mô hình 'audit một lần, tin tưởng mãi mãi' đã chết. Một bản audit chỉ có giá trị tại một thời điểm, trên một commit cụ thể, với một bộ test cụ thể. Ngay sau đó, code thay đổi, quyền admin multi-sig thực hiện một cuộc nâng cấp nhỏ, và tất cả sự đảm bảo của bản audit trở thành giấy vụn. Tôi nhớ có lần tôi phân tích một protocol cho vay trên Avalanche, mọi thứ đều ổn — cho đến khi tôi thấy quyền nâng cấp smart contract nằm trong tay một ví multi-sig 3/5. Tôi hỏi: 'Nếu 3 trong 5 người giữ khóa bị mất khóa, ai chịu trách nhiệm?' Không ai trả lời được. 'Code is law' ư? Không, 'admin key is law' mới đúng.
Quay lại câu chuyện Coldcard. Điều khiến tôi thực sự lo lắng không phải là bản thân lỗ hổng — tôi cá là Coinkite đã hoặc sẽ sớm tung ra bản vá firmware. Điều khiến tôi lo lắng là thái độ của cộng đồng. Tôi đã thấy những người dùng Coldcard ngay lập tức nhảy vào phòng thủ, bảo vệ thương hiệu như thể nó là một phần danh tính của họ. Đây là một dạng cảm xúc nguy hiểm — nó giống hệt như 'đừng yêu token, hãy yêu dòng chảy'. Khi bạn yêu token, bạn sẽ bỏ qua các dấu hiệu rủi ro. Khi bạn yêu thương hiệu, bạn sẽ bỏ qua các dấu hiệu mất an toàn.
Trong bối cảnh vĩ mô hiện tại — thị trường đang giảm, thanh khoản toàn cầu bị thắt chặt, lãi suất duy trì ở mức cao — thì một sự kiện an ninh như thế này càng trở nên nghiêm trọng hơn. Bởi vì khi thị trường tăng, mọi người sẵn sàng bỏ qua rủi ro để theo đuổi lợi nhuận. Nhưng khi thị trường giảm, mọi người bắt đầu hoảng loạn tìm kiếm nơi trú ẩn an toàn — và phát hiện ra rằng nơi trú ẩn 'an toàn nhất' của họ cũng có lỗ hổng. Điều này tạo ra một làn sóng FUD rộng hơn. Không chỉ Coldcard bị nghi ngờ, mà toàn bộ khái niệm 'tự lưu trữ' bị đặt câu hỏi.
Nhưng đây mới là phần thú vị. Tôi tin rằng sự kiện này, ngược đời, là một tín hiệu tích cực cho dài hạn. Vì sao? Vì những lỗ hổng được phát hiện bởi hacker mũ trắng — không gây thiệt hại tức thì — sẽ buộc toàn bộ ngành nâng cấp tiêu chuẩn. Giống như trong lịch sử tài chính truyền thống, mỗi vụ sụp đổ ngân hàng đều dẫn đến các quy định chặt chẽ hơn. Hãy nhìn vào cú sốc Silicon Valley Bank (SVB) vào tháng 3 năm 2023 — chỉ trong vòng vài tuần, các nhà quản lý đã nâng cao yêu cầu về quản lý thanh khoản cho các ngân hàng khu vực. Trong thế giới crypto, sau vụ sụp đổ của FTX, chúng ta thấy sự trỗi dậy của các giải pháp self-custody, các yêu cầu về bằng chứng dự trữ, và các tiêu chuẩn minh bạch mới.
Sự kiện Coldcard này có thể sẽ thúc đẩy ba thay đổi lớn:
Thứ nhất, quy trình audit sẽ chuyển từ 'kiểm tra tồn tại' sang 'kiểm tra hành vi'. Các auditor sẽ buộc phải chạy thực nghiệm, mô phỏng các cuộc tấn công, theo dõi luồng dữ liệu thực tế trong suốt quá trình tạo khóa và ký. Điều này sẽ tốn kém hơn, mất thời gian hơn, nhưng đó là cái giá phải trả cho sự trưởng thành.
Thứ hai, khái niệm 'đa lớp tự vệ' sẽ trở thành tiêu chuẩn vàng. Thay vì tin tưởng vào một thiết bị duy nhất, người dùng sẽ chuyển sang sử dụng multi-sig — với nhiều khóa được phân phối trên nhiều thiết bị khác nhau. Nếu một thiết bị bị xâm nhập, kẻ tấn công vẫn chưa thể ký giao dịch. Đây là bài học tôi đã rút ra sau khi thấy quá nhiều người bạn mất toàn bộ tài sản chỉ vì đặt tất cả trứng vào một giỏ — và một chiếc giỏ duy nhất có vết nứt.
Thứ ba, cộng đồng sẽ đòi hỏi tính minh bạch cao hơn. Không chỉ từ Coldcard, mà từ tất cả các nhà sản xuất hardware wallet. Họ sẽ muốn biết: bộ tạo số ngẫu nhiên của bạn dùng chip nào? Bạn có công khai các bài kiểm tra của hãng sản xuất chip hay không? Khi bạn phát hành bản cập nhật firmware, bạn có công bố các dòng mã đã thay đổi để cộng đồng có thể tự kiểm tra hay không? Các công ty không thể thoát khỏi việc phải trở nên minh bạch hơn trước áp lực của thị trường.
Tôi nhớ lại câu chuyện về một trong những vụ lỗi RNG kinh điển nhất trong lịch sử Bitcoin: vụ hack Android Bitcoin wallet năm 2013, khi hệ điều hành Android sử dụng thiếu nguồn entropy trong hàm Java.secure.SecureRandom, dẫn đến việc nhiều ví Bitcoin được tạo ra bằng các khóa riêng có thể dự đoán. Hàng nghìn Bitcoin bị đánh cắp. Đó là một thảm họa. Nhưng nó cũng dẫn đến việc các thư viện mật mã di động được cải thiện đáng kể. Điều mà Coldcard vừa trải qua cũng có thể là một cột mốc tương tự cho ngành phần cứng.
Vậy người dùng Coldcard bây giờ nên làm gì? Câu trả lời ngắn gọn: bình tĩnh, không hoảng loạn, nhưng có hành động cụ thể. Đầu tiên, hãy kiểm tra xem bạn có đang chạy phiên bản firmware mới nhất hay không. Nếu chưa, hãy nâng cấp ngay lập tức. Thứ hai, nếu bạn nghi ngờ rằng khóa riêng của mình có thể đã được tạo ra trên một phiên bản firmware cũ — đặc biệt là nếu bạn dùng Có dấu hiệu lạ trên chuỗi — hãy chuyển tài sản sang một địa chỉ mới được tạo trên phiên bản firmware mới nhất. Không cần phải vứt bỏ Coldcard; chỉ cần tạo một ví mới trên cùng thiết bị sau khi nâng cấp. Thứ ba, hãy theo dõi các thông báo chính thức từ Coinkite để biết thêm chi tiết kỹ thuật và các biện pháp khắc phục.
Đối với những người chưa từng dùng Coldcard nhưng đang dùng Ledger hoặc Trezor: đừng vội mừng thầm. Hãy đặt câu hỏi cho chính nhà sản xuất của bạn: 'Liệu các bạn có gọi hàm tạo số ngẫu nhiên đúng cách trên tất cả các đường ký không?' Hãy hỏi họ về các bài kiểm tra entropy mà họ đã thực hiện. Nếu họ không trả lời rõ ràng, đó là một dấu hiệu cảnh báo.
Một điều quan trọng nữa: trong thị trường giảm, nhiều người có xu hướng bán tháo các tài sản kỹ thuật số — nhưng không nên bán tháo niềm tin vào sự an toàn của tự lưu trữ. Coldcard vẫn là một sản phẩm tốt. Coinkite vẫn có một trong những đội ngũ kỹ thuật mạnh nhất trong ngành. Điều cần thay đổi không phải là thương hiệu, mà là mindset: từ 'tuyệt đối an toàn' sang 'kiểm tra liên tục'. Sự an toàn không phải là một trạng thái, mà là một quá trình.
Nhìn về phía trước, tôi thấy một tương lai nơi mà các hardware wallet sẽ được kiểm tra như các ngân hàng trung ương kiểm tra hệ thống thanh toán của họ — với các bài kiểm tra căng thẳng (stress test), các kịch bản tấn công mô phỏng, và các quy trình xác minh độc lập được công bố công khai. Điều này không chỉ tốt cho người dùng cá nhân, mà còn tốt cho toàn bộ hệ sinh thái blockchain. Khi các tổ chức tài chính lớn nhìn vào crypto, họ sẽ không hỏi 'giá Bitcoin bao nhiêu' mà sẽ hỏi 'cơ sở hạ tầng lưu trữ của các bạn có đáp ứng tiêu chuẩn của ngân hàng không'. Sự kiện Coldcard — dù không mong muốn — sẽ giúp ngành tiến gần hơn đến câu trả lời tích cực cho câu hỏi đó.
Có một chi tiết mà tôi muốn nói rõ: vấn đề không chỉ nằm ở Coldcard. Nằm ở toàn bộ ngành audit. Kraken Security đã làm một việc đúng đắn khi tiết lộ — có trách nhiệm — và điều này nên trở thành tiêu chuẩn. Các công ty như Coinkite nên công khai cảm ơn Kraken và hợp tác chặt chẽ để đảm bảo mọi khía cạnh sản phẩm đều được kiểm tra lại. Đó là cách xây dựng niềm tin: không phải bằng cách che giấu, mà bằng cách minh bạch.
Tôi cũng muốn gửi lời cảnh báo đến những kẻ cơ hội. Trong thời gian tới, sẽ có những kẻ lừa đảo lợi dụng sự kiện này để phát tán các bản firmware giả mạo, các tool 'sửa lỗi' độc hại, hoặc các link phishing giả vờ là 'thông báo khẩn cấp' từ Coinkite. Nguyên tắc của tôi: luôn truy cập trực tiếp vào trang web chính thức, không bao giờ bấm link từ email hoặc tin nhắn. Nếu có gì đó khiến bạn nghi ngờ, hãy dừng lại và kiểm tra — tốn thêm 5 phút còn hơn mất toàn bộ tài sản.
Cuối cùng, tôi muốn nhấn mạnh một triết lý sống mà tôi rút ra từ nhiều năm lăn lộn trong thị trường này: 'Đừng yêu token, hãy yêu dòng chảy.' Mọi thứ trong crypto — bao gồm cả sự an toàn của ví — là một dòng chảy liên tục. Các mối đe dọa tiến hóa, các bản vá được phát hành, các auditor cập nhật phương pháp của họ. Chúng ta không thể bám vào một trạng thái tĩnh mà cho rằng 'bây giờ an toàn, sẽ luôn an toàn'. Sự an toàn trong thế giới blockchain không phải là xây một bức tường kiên cố một lần — mà là canh giữ bức tường đó mỗi ngày.
Vào cuối ngày, việc Coldcard bị phát hiện lỗ hổng sau 5 năm — không phải là một bằng chứng cho thấy hardware wallet không đáng tin. Đó là bằng chứng cho thấy tất cả chúng ta — nhà sản xuất, auditor, người dùng — cần phải làm tốt hơn. Và đó là một thông điệp đáng để lan tỏa, không chỉ trong cộng đồng Bitcoin Việt Nam mà còn trong toàn bộ cộng đồng tiền mã hóa toàn cầu.
Khi thị trường đang chìm trong sắc đỏ, khi các quỹ đầu tư rút thanh khoản khỏi các giao thức DeFi, khi thanh khoản toàn cầu bị thắt chặt — thì câu chuyện về lỗ hổng Coldcard càng quan trọng. Bởi vì trong một thị trường giảm, chúng ta không chỉ cần quản lý tài sản — chúng ta cần quản lý rủi ro. Và một phần của việc quản lý rủi ro là biết khi nào an toàn, khi nào không chắc chắn, và khi nào nên di chuyển.
Hãy nhìn vào bức tranh lớn. Đừng chăm chăm vào từng mảnh ghép.
Và hãy luôn đặt câu hỏi: 'Hôm nay, tôi đã kiểm tra lại niềm tin của mình chưa?'