Mở đầu: Khi một đoạn mã 12 năm tuổi trở thành lỗ thoát hiểm của cả một hệ sinh thái
Nếu một thư viện mã hóa JavaScript, được viết từ hơn một thập kỷ trước, vẫn đang âm thầm bảo vệ khóa riêng tư của hàng nghìn ví Web cho đến tận hôm nay, thì câu hỏi quan trọng nhất không phải là “vì sao hacker nhắm vào nó”, mà là “vì sao một hạ tầng quan trọng đến vậy lại được phép nằm ngoài vòng kiểm soát của toàn bộ ngành tài chính phi tập trung?”.
Bài báo gốc kể về một lỗ hổng tấn công nhắm vào ví Web-based, gắn với khiếm khuyết trong mã nguồn CryptoJS – một thư viện mã hóa đã 12 năm tuổi. Kết quả: hơn 2.100 ví bị lộ hạt giống (seed phrase), tổng thiệt hại khoảng 5,7 triệu USD. Tôi đọc bản tin này không phải để hoảng sợ, mà để hành nghề. Trước khi mổ xẻ, tôi phải nói thẳng một điều về phương pháp: nguồn tin gốc không công bố ngày tháng, tên ví cụ thể, mã khai thác hay bất kỳ bằng chứng kỹ thuật nào. Tôi không thể xác thực sự kiện. Vì vậy, toàn bộ phân tích dưới đây vận hành trên giả định rằng sự kiện đã thực sự xảy ra. Nếu giả định sai, các mẫu hình rủi ro, đòn bẩy phụ thuộc chuỗi cung ứng và bài học quản trị vẫn còn nguyên giá trị.
Đừng gọi đây là một vụ hack. Gọi đúng hơn là sự sụp đổ của niềm tin vào hạ tầng mã hóa mà không ai trong chúng ta thực sự kiểm toán. Một khi hạt giống rò rỉ, mọi bản vá chỉ là nghi thức.
Bối cảnh: Vì sao CryptoJS vẫn còn sống sau 12 năm?
CryptoJS không phải là một giao thức DeFi, không có token, không có TVL, không có đội ngũ danh tiếng. Nó là một thư viện mã nguồn mở bằng JavaScript, cung cấp các thuật toán mã hóa như AES, SHA-256, PBKDF2 và các hàm băm phổ biến. Trong giai đoạn đầu của Web3, khi trình duyệt chưa tích hợp sẵn Web Crypto API đầy đủ, CryptoJS trở thành lựa chọn mặc định cho các lập trình viên muốn tạo ví, mã hóa cục bộ hoặc xử lý khóa riêng ngay trên front-end.
Sự phổ biến đó tạo ra một nghịch lý: càng nhiều dự án dùng, càng ít người kiểm tra. Vì nó “đã được kiểm chứng qua thời gian”, các nhóm phát triển không dành ngân sách để audit. Vì nó là mã nguồn mở, trách nhiệm bảo trì bị đẩy cho một nhóm tình nguyện viên mỏng. Và vì nó hoạt động trên front-end, giới bảo mật tự nhiên xem nó là “phần yếu” nhưng lại chấp nhận như một tất yếu. Đây chính là mảnh đất màu mỡ nhất cho thảm họa.
Các ví Web mà bài báo nhắc đến thường có kiến trúc đơn giản: người dùng duyệt web, nhập mật khẩu, ví dùng CryptoJS để sinh khóa, mã hóa hạt giống, hoặc ký giao dịch ngay trong trình duyệt. Toàn bộ quy trình diễn ra trong môi trường mà kẻ tấn công có thể can thiệp nếu chiếm được nguồn cung cấp mã JavaScript – qua npm, CDN, hoặc công cụ xây dựng (build pipeline). Khi một trong số những mắt xích đó bị đầu độc, mọi ví sử dụng CryptoJS đều có thể trở thành nạn nhân.
CryptoJS không nằm trong hệ sinh thái tài chính phi tập trung theo nghĩa thông thường. Nó là một khối xây dựng. Nhưng chính các khối xây dựng này lại quyết định sự an toàn của toàn bộ tòa nhà. Một căn nhà có cửa chống đạn không có nghĩa gì nếu nền móng trộn cát với xi măng kém chất lượng. Hệ sinh thái ví Web của chúng ta đang đứng trên hàng nghìn nền móng như vậy.
Phần lõi: Mổ xẻ có hệ thống lỗ hổng CryptoJS
1. Giải phẫu kỹ thuật: “Cũ” không đồng nghĩa với “an toàn”
CryptoJS ra đời khi JavaScript chưa có bộ API mã hóa chuẩn. Nó giải quyết một bài toán thực tế. Nhưng giải quyết được bài toán ở thời điểm 12 năm trước không có nghĩa là nó phù hợp với bối cảnh bảo mật năm 2026. Trái lại, tính “cũ kỹ” của CryptoJS là một cờ đỏ.
Thứ nhất, CryptoJS không được thiết kế để phòng thủ trước các cuộc tấn công hiện đại vào chuỗi cung ứng. Môi trường front-end vốn dĩ không an toàn: mọi script chạy trong trình duyệt đều có thể bị chèn bởi phần mở rộng độc hại, tên miền bị chiếm, hoặc gói npm bị thay thế. Khi một thư viện mã hóa chạy trong môi trường không tin cậy, độ an toàn của nó bằng 0, bất kể thuật toán bên trong có mạnh đến đâu.
Thứ hai, CryptoJS thiếu các cơ chế hiện đại mà Web Crypto API cung cấp: khóa không thể xuất trực tiếp, các thuật toán ngẫu nhiên an toàn, và một lớp kiểm soát quyền truy cập do trình duyệt quản lý. Khi lập trình viên dùng CryptoJS, họ thường tự quản lý entropy, tự chọn tham số KDF, tự xử lý lưu trữ khóa. Một sai sót nhỏ trong tham số PBKDF2, một nguồn ngẫu nhiên yếu, hoặc một lệnh gọi không đúng cách, có thể khiến hạt giống được mã hóa với độ an toàn không cao hơn một mật khẩu đoán được.
Câu chuyện chúng ta đang bàn có thể không dừng ở việc một gói npm nào đó bị nhiễm độc. Mô hình tấn công phổ biến nhất vẫn là chuỗi cung ứng: kẻ tấn công tìm cách công bố một phiên bản độc hại của một thư viện phụ thuộc, hoặc chiếm quyền tài khoản của maintainer – một ví dụ kinh điển về “social engineering” vào hạ tầng mở. Nhưng dù vector chính xác là gì, kết quả đều giống nhau: kẻ tấn công có thể đọc được hạt giống ngay tại thời điểm nó được sinh ra hoặc được giải mã trên trình duyệt.
Mẫu hình phát hiện: các thư viện mã hóa càng cũ, càng được tin dùng rộng rãi, thì càng ít ai đặt câu hỏi về vòng đời bảo trì của nó. Chúng ta gọi sự chú ý dồn vào các giao thức mới nổi là “fear of missing out”, nhưng lại bỏ quên nỗi sợ lớn hơn: nỗi sợ một đoạn mã đã 12 năm không ai chạm tới.
2. Tính không thể đảo ngược: Vì sao vá lỗi là vô nghĩa?
Lỗ hổng hợp đồng thông minh có thể dừng, có thể nâng cấp, có thể cứu tiền trong một số trường hợp. Lỗ hổng rò rỉ hạt giống thì không. Khi hạt giống xuất hiện trên máy của kẻ tấn công, kẻ đó có toàn quyền với tài sản. Không một bản cập nhật nào có thể thu hồi một khóa riêng đã lộ. Điều đó biến sự kiện này từ một lỗi kỹ thuật thành một thảm họa mang tính cấu trúc.
Hãy tưởng tượng bạn có một ngân hàng nhưng thẻ ATM của bạn bị sao chép. Ngân hàng có thể khóa thẻ, phát hành thẻ mới, và tiền trong tài khoản vẫn an toàn. Với ví Web tự quản lý, câu chuyện khác hẳn: tài sản được bảo vệ bởi chính hạt giống. Nếu hạt giống bị copy, không có ngân hàng trung ương nào can thiệp. Sổ cái phi tập trung không phân biệt chủ sở hữu thật hay kẻ trộm – nó chỉ xác thực chữ ký. Và kẻ trộm có chữ ký.
Đây là điểm mà nhiều người dùng, kể cả những người đã quen với DeFi, vẫn nhầm lẫn. Họ nghĩ rằng các đội ngũ ví sẽ “vá lỗi” và mọi thứ trở lại bình thường. Sai. Với 2.100 ví đã bị lộ, không có bản vá nào hồi sinh 2.100 hạt giống đó. Cách duy nhất là người dùng di cư tài sản sang ví mới, cắt đứt mọi liên hệ với cụm từ ghi nhớ cũ. Nhưng điều đó đòi hỏi họ phải biết mình bị ảnh hưởng, phải thao tác kỹ thuật nhanh, và phải làm trước khi kẻ tấn công rút tiền. Trong thực tế, một phần lớn nạn nhân chỉ phát hiện ra khi số dư đã về không.
Với 5,7 triệu USD, số tiền bị đánh cắp có vẻ khiêm tốn so với các vụ hack cầu nối hàng trăm triệu USD. Nhưng nếu tính trên quy mô 2.100 ví, trung bình mỗi ví mất khoảng 2.714 USD. Với một người dùng ở một quốc gia đang phát triển, đó có thể là toàn bộ số tiền tiết kiệm cả đời. Điều này cho thấy rủi ro của “hạ tầng ngầm” không phân bổ đều; nó giáng xuống những người ít khả năng tự bảo vệ nhất.
3. Đo lường quy mô thật: 2.100 ví là mảnh nổi của tảng băng chìm
Con số 2.100 ví trong bài báo gốc là số nạn nhân đã được xác nhận. Nhưng câu hỏi mang tính hệ thống hơn là: có bao nhiêu ví sử dụng CryptoJS và có cùng một mô hình rủi ro? Có bao nhiêu dự án ví Web đang chạy với các phiên bản CryptoJS cũ, không được kiểm tra, không có kế hoạch di cư?
Nếu 2.100 ví là những người bị hại trực tiếp, thì con số thực tế của những người có thể bị ảnh hưởng trong tương lai có thể lớn hơn gấp mười lần. Đây là quy luật của chuỗi cung ứng phần mềm: một lỗ hổng trong một thư viện phổ biến thường không tạo ra một vụ nổ duy nhất, mà tạo ra một vùng nhiễm độc kéo dài. Những dự án không còn bảo trì sẽ không bao giờ phát hành bản vá. Những dự án vẫn hoạt động nhưng không có danh sách dependency đầy đủ có thể không biết mình đang gặp rủi ro.
Trong quá trình kiểm toán hợp đồng thông minh của tôi, bao gồm các báo cáo kéo dài hàng tháng cho các dự án ICO và giao thức DeFi, tôi nhận ra một sự thật đau đớn: hầu hết các đội ngũ không nắm rõ dependency tree của chính họ. Họ biết mình dùng OpenZeppelin, dùng Web3.js, dùng CryptoJS, nhưng không biết các thư viện con bên trong những thư viện đó đang ở phiên bản nào, do ai duy trì, và có đang được cập nhật bảo mật hay không. Điều này không phải lỗi của lập trình viên cá biệt; đó là khuyết tật của một nền văn hóa coi trọng tốc độ phát hành sản phẩm hơn tốc độ đánh giá rủi ro.
4. Hệ sinh thái phụ thuộc: CryptoJS là “hạ tầng ngầm” của ví Web
CryptoJS không xuất hiện trong các bảng xếp hạng TVL, không có trên CoinMarketCap, không được thảo luận trên mạng xã hội. Nhưng nó nằm ở lớp dưới cùng của nhiều sản phẩm ví và ứng dụng Web3. Nếu bạn mở trình duyệt, mở một DApp, kết nối ví, ký một thông điệp, có thể trong đó có CryptoJS hoặc một thư viện con phụ thuộc vào CryptoJS. Hãy hình dung một chuỗi phụ thuộc đơn giản:
npm Registry → CryptoJS → Ví Web-based → DApp DeFi → Người dùng
Đây là một cấu trúc phân tầng, nhưng rủi ro truyền từ dưới lên trên. Khi tầng dưới cùng bị tổn thương, toàn bộ hệ sinh thái ở trên đều có thể bị tê liệt. Sự kiện 2.100 ví vỡ chỉ là một lát cắt nhỏ của một vấn đề lớn hơn: không ai chịu trách nhiệm cho việc bảo trì các khối xây dựng nền tảng. Hạ tầng ngầm là thứ ai cũng dùng, nhưng không ai trả tiền để nuôi dưỡng.
Cuộc tấn công này, nếu được xác nhận, không chỉ nói về một lỗ hổng trong CryptoJS. Nó nói về cách cả một thế hệ ví Web lớn lên trên nền cát. Các nhà phát triển tin rằng dùng một thư viện mã hóa có lịch sử lâu đời thì “chắc chắn hơn”. Nhưng lịch sử lâu đời cũng có nghĩa là bề mặt tấn công rộng hơn, các maintainer đã rời đi, không có ai trả lời issue, và không có ai chịu trách nhiệm khi một zero-day bị khai thác.
5. Thất bại quản trị mã nguồn mở: “Bi kịch mảnh đất chung” trong Web3
Một trong những lý do khiến CryptoJS vẫn còn tồn tại là vì cơ chế tài trợ cho mã nguồn mở không theo kịp tầm quan trọng của nó. Các quỹ đầu tư rót hàng tỷ USD vào các giao thức DeFi mà không hề xem xét đội ngũ duy trì thư viện mật mã ở dưới cùng. Các dự án ví tận dụng miễn phí CryptoJS, không đóng góp ngược lại, không tài trợ audit, không tuyển maintainer. Đây là một mô hình “kéo quần” phổ biến, và nó đã vỡ ngay trước mắt chúng ta.
Mẫu hình phát hiện: thứ gì càng quan trọng, càng được sử dụng rộng rãi và càng ít người trả tiền để duy trì, thì thứ đó càng trở thành điểm tấn công tiềm năng.
Về mặt quản trị, không có một hội đồng bảo mật nào đứng ra tuyên bố chịu trách nhiệm cho lỗ hổng CryptoJS. Các nhà duy trì thư viện, nếu chỉ là tình nguyện viên, sẽ không có nguồn lực để phản hồi nhanh. Các dự án ví sử dụng thư viện này lại đang phát triển với tốc độ nhanh, nhưng không hề có một kênh phối hợp khẩn cấp với cộng đồng mã nguồn mở. Sự chênh lệch giữa tốc độ sản phẩm và tốc độ bảo mật chính là cái bẫy chết người.
Nếu chúng ta đặt câu hỏi về độ bền vững của DeFi, câu trả lời không đến từ việc TVL tăng trưởng bao nhiêu phần trăm qua mỗi quý. Nó đến từ việc các khối móng, các thư viện mật mã, các chuỗi phụ thuộc có được nuôi dưỡng đầy đủ hay không. Một hệ thống tài chính phi tập trung có thể chịu được các cuộc tấn công quy mô lớn nếu hạ tầng gốc của nó được bảo trì bởi những người có trách nhiệm, được trả lương xứng đáng, và được kiểm toán định kỳ. Nhưng nếu chúng ta vẫn xem mã nguồn mở như một món quà miễn phí, thì sẽ có thêm nhiều “sự kiện 5,7 triệu USD” nữa xảy ra, chỉ với con số lớn hơn.
6. Tác động thị trường: 5,7 triệu USD không đủ gây sốc, nhưng đủ để thay đổi hành vi
Trong lịch sử các vụ hack tiền mã hóa, 5,7 triệu USD là một con số nhỏ. Ronin Network mất hơn 600 triệu USD. FTX sụp đổ để lại khoảng trống 8 tỷ USD. Nhưng quy mô tổn thất không phải thước đo duy nhất. Sự kiện này có khả năng tạo ra một làn sóng hoảng sợ cục bộ đối với nhóm người dùng ví Web-based, đặc biệt là những người mới tham gia thị trường trong chu kỳ tăng giá hiện tại.
Khi thị trường tăng, người dùng FOMO, họ tạo ví nhanh bằng các tiện ích mở rộng, họ ký giao dịch trên các trang DApp mà không hề biết bên dưới là gì. Họ không có thời gian để đọc mã nguồn, không đủ năng lực để đánh giá rủi ro của CryptoJS. Họ đến vì lợi nhuận. Và họ ra đi vì một lỗ hổng mà họ không thể nhìn thấy. Vì vậy, thông tin về 2.100 ví bị lộ hạt giống, nếu được lan truyền rộng, có thể đẩy một bộ phận người dùng quay trở lại với ví lạnh hoặc sàn giao dịch tập trung. Điều đó ngược lại với tinh thần tự quản lý mà DeFi hướng tới.
Nhưng “DeFi sẽ thay đổi tài chính” – câu nói này vẫn đúng, chỉ có điều nó cần được hiểu theo một cách chín chắn hơn: DeFi sẽ thay đổi tài chính khi nó chứng minh được khả năng tự bảo vệ hạ tầng của mình, chứ không phải khi nó chỉ đơn thuần thay thế ngân hàng trung gian bằng một dòng code mỏng manh.
Từ góc nhìn cạnh tranh, các nhà cung cấp ví cứng như Ledger hay Trezor có thể hưởng lợi từ sự cố này. Những người dùng từng xem nhẹ rủi ro front-end sẽ bắt đầu đặt câu hỏi: nếu một thư viện JavaScript có thể bị xâm nhiễm, vậy tại sao tôi không lưu hạt giống trên một thiết bị vật lý không kết nối Internet? Câu trả lời hợp lý khiến dòng vốn dịch chuyển từ ví Web sang ví lạnh. Điều này không phải là sự kết thúc của tự quản lý; nó là một sự trưởng thành. Tự quản lý không có nghĩa là tự đặt mình vào rủi ro không cần thiết.
7. Góc độ pháp lý: Từ GDPR đến trách nhiệm hình sự của một lỗ hổng mở
Việc lộ hạt giống không chỉ là vấn đề kỹ thuật, mà còn là vụ việc pháp lý tiềm năng. Nếu các nạn nhân nằm trong phạm vi Liên minh châu Âu, thì các nhà cung cấp ví Web có thể bị ràng buộc bởi các nghĩa vụ thông báo vi phạm dữ liệu theo GDPR, cụ thể là Điều 33 và 34. Hạt giống không chỉ là tài sản tiền mã hóa; nó có thể được coi là dữ liệu cá nhân có độ nhạy cao, bởi vì nó cho phép truy cập vào những thông tin nhận dạng khác trên chuỗi.
Với số tiền 5,7 triệu USD, hành vi chiếm đoạt tài sản tiền mã hóa chắc chắn vượt qua ngưỡng xử lý hình sự ở nhiều quốc gia. Nhưng vấn đề thực thi là một câu chuyện khác. Mạng blockchain là vô biên, kẻ tấn công có thể sử dụng máy trộn, cầu nối xuyên chuỗi hoặc sàn giao dịch phi KYC để che dấu dòng tiền. Việc truy vết kẻ trộm có thể thành công trong một số trường hợp, nhưng chi phí điều tra thường vượt xa số tiền bị đánh cắp, nhất là khi nạn nhân không phải là một tổ chức lớn.
Còn với các nhà phát triển ví, trách nhiệm pháp lý của họ là một vùng xám. Nếu họ sử dụng một thư viện mã nguồn mở không được bảo trì, và điều đó khiến người dùng mất tiền, liệu họ có bị xem là vi phạm nghĩa vụ chăm sóc khách hàng? Phần lớn các dự án đều có điều khoản miễn trừ trách nhiệm rất dày, nhưng các tòa án và cơ quan quản lý ngày càng tỏ ra không mấy thiện cảm với những “lời xin lỗi” kỹ thuật. Một chuẩn mực mới đang hình thành: trách nhiệm của ví Web không dừng lại ở việc “giao diện hoạt động tốt”, mà bao gồm cả việc quản lý rủi ro chuỗi cung ứng phần mềm. Khi một thư viện không còn được duy trì, việc sử dụng nó phải bị xem là một quyết định thiếu thận trọng, không phải là một lựa chọn vô hại.
Góc nhìn đối lập: Phe bò tót nói gì? Và họ có lý?
Trong một thị trường tăng, mọi sự kiện tiêu cực thường được người lạc quan biến thành cơ hội. Họ sẽ nói: 5,7 triệu USD chỉ là hạt cát trong đại dương. Họ sẽ nói: mỗi lần ví bị hack là một lần hệ sinh thái học được bài học, và tương lai của DeFi sẽ an toàn hơn. Họ có điểm gì đúng không? Có.
Thứ nhất, sự kiện này có thể đẩy nhanh quá trình di cư khỏi CryptoJS. Nếu các dự án ví bắt đầu chuyển sang Web Crypto API hoặc các thư viện chuyên dụng có ngân sách bảo trì, thì hàng nghìn ví tương lai sẽ an toàn hơn. Một cuộc khủng hoảng nhỏ hôm nay có thể ngăn chặn một cuộc khủng hoảng lớn hơn vào ngày mai. Đây là logic của thanh lọc thị trường: các dự án yếu kém bị phơi bày, những người sống sót sẽ phải nâng cấp.
Thứ hai, sự kiện này không nói lên sự thất bại của DeFi như một mô hình tài chính. Nó nói lên sự thất bại của một lớp hạ tầng cụ thể. Tiền không biến mất do một khoản nợ xấu, không phải do một ngân hàng sụp đổ, mà do một lỗ hổng kỹ thuật có thể sửa chữa trong thiết kế của các thế hệ ví tiếp theo. Điều đó có nghĩa là vấn đề nằm trong tầm kiểm soát của con người, không phải là một đặc tính không thể tránh khỏi của sự phi tập trung.
Thứ ba, phe bò có thể chỉ ra rằng việc người dùng rời bỏ ví Web để chuyển sang ví lạnh thực chất là một hành vi đúng đắn. Nếu sự cố này khiến người dùng phổ thông hiểu rằng khóa riêng phải được lưu trữ ngoài môi trường có thể bị tấn công qua JavaScript, thì đó là một thắng lợi về giáo dục bảo mật. Nỗi đau hôm nay trở thành bài học mà không một bài viết hướng dẫn nào có thể truyền tải nhanh bằng.
Nhưng tôi không thể hoàn toàn đồng ý với luận điệu “sự cố là bài học lớn”. Vấn đề là ở chỗ bài học này đã được dạy đi dạy lại hơn mười năm nay. Kể từ các vụ tấn công ví trên chuỗi, từ năm 2018 đến nay, ngành công nghiệp tiền mã hóa vẫn lặp lại đúng một kịch bản: một thư viện yếu kém, một chuỗi cung ứng không được giám sát, một đám đông nạn nhân không được đền bù. Gọi đó là “bài học” sẽ là một cách nói quá lịch sự. Đó là một sự lặp lại, không phải sự tiến hóa.
Kết luận: Trách nhiệm của một hệ sinh thái quên mất hạ tầng của chính mình
Sự kiện CryptoJS 12 năm tuổi làm rò rỉ hạt giống của hơn 2.100 ví và khiến 5,7 triệu USD bị đánh cắp không chỉ là một bản tin tội phạm mạng. Nó là một lời nhắc nhở có phép toán: một thư viện càng phổ biến, càng ít người bảo trì, thì nguy cơ tập trung của nó càng cao. Chúng ta có thể chi hàng triệu USD cho một cuộc audit giao thức DeFi, nhưng lại không có một cơ chế ngân sách nhỏ để giữ cho CryptoJS hoặc những thư viện tương tự được sống sót. Đây chính là khoảng trống chết người.
Chúng ta đã nghe quá nhiều lần rằng “DeFi sẽ thay đổi tài chính”. Nhưng sẽ thay đổi theo cách nào? Nếu nó thay đổi theo cách chấp nhận rủi ro kỹ thuật mơ hồ như một phần của cuộc chơi, thì câu cách ngôn đó chỉ là một khẩu hiệu tiếp thị. Nếu nó thay đổi theo cách loại bỏ những lớp hạ tầng không thể giải thích được, kiểm toán lại từng dòng dependency, và coi việc bảo trì mã nguồn mở là một phần quan trọng của tăng trưởng, thì đó mới là sự thay đổi thực sự đáng giá.
Câu hỏi cuối cùng không phải là “CryptoJS có an toàn không?”. Câu hỏi đúng hơn là: “Liệu ngành công nghiệp blockchain có đủ trưởng thành để trả tiền cho những người giữ gìn hạ tầng nền tảng của nó, hay nó vẫn sẽ tiếp tục xây dựng trên cát, chờ đợi con sóng tiếp theo cuốn trôi mọi thứ?”. Nếu chúng ta không trả lời được câu hỏi này, thì 5,7 triệu USD hôm nay chỉ là tiền để trả cho một bài kiểm tra mà chúng ta đã trượt nhiều lần.
Phương pháp nghiên cứu
Tôi sử dụng phương pháp đối chiếu chéo các dữ liệu có sẵn trong bài báo gốc và kiến thức kỹ thuật về chuỗi cung ứng JavaScript, tiêu chuẩn quản trị mã nguồn mở và hồ sơ các vụ tấn công ví Web trong quá khứ. Tất cả các kết luận được xây dựng trên giả định “sự kiện có thật” và có thể mất đi độ chính xác nếu các chi tiết kỹ thuật của vụ tấn công được công bố đầy đủ trong tương lai. Độc giả nên giữ một thái độ hoài nghi lành mạnh với cả bài báo gốc lẫn bài phân tích này.
Dựa trên kinh nghiệm kiểm toán hợp đồng thông minh và các cuộc điều tra độc lập của tôi từ năm 2018 đến nay, tôi tin rằng bài học lớn nhất không đến từ một lỗ hổng cụ thể, mà đến từ một thói quen tư duy: chúng ta quá tôn thờ những gì mới mẻ và quá lãng quên những gì đang âm thầm chống đỡ. Trong thế giới blockchain, sự bền vững không đến từ việc tạo ra nhiều mã hơn, mà đến từ việc dám xóa bỏ những đoạn mã đã hết thời. Cái giá của việc giữ lại một thư viện 12 năm tuổi mà không ai trông coi có thể không chỉ là 5,7 triệu USD. Nó có thể là niềm tin của toàn bộ thế hệ người dùng tiếp theo.